:root{
  color-scheme:light;

  /* Brand: #18ebb0 is the signature accent. Darker steps exist for readable text/actions. */
  --oilora-primary-50:#effffb;
  --oilora-primary-100:#d7fff5;
  --oilora-primary-200:#afffeb;
  --oilora-primary-300:#79f9d9;
  --oilora-primary-400:#3ff2c4;
  --oilora-primary-500:#18ebb0;
  --oilora-primary-600:#0cc895;
  --oilora-primary-700:#079b75;
  --oilora-primary-800:#087b60;
  --oilora-primary-900:#09644f;
  --oilora-primary-950:#033a2f;

  /* Graphite is neutral with a subtle Oilora green cast, never a second brand color. */
  --oilora-graphite-0:#ffffff;
  --oilora-graphite-50:#f7faf9;
  --oilora-graphite-100:#eef3f1;
  --oilora-graphite-200:#dce5e1;
  --oilora-graphite-300:#c2cfca;
  --oilora-graphite-400:#93a59e;
  --oilora-graphite-500:#687c74;
  --oilora-graphite-600:#4a5e56;
  --oilora-graphite-700:#344840;
  --oilora-graphite-800:#20332c;
  --oilora-graphite-900:#10221c;
  --oilora-graphite-950:#071510;

  /* Semantic colors are intentionally not recolored as brand green. */
  --oilora-success:#0b8f6a;
  --oilora-warning:#b86b08;
  --oilora-danger:#c43f35;
  --oilora-info:#2563eb;
  --oilora-gold:#c88b18;

  /* White-first surface model. */
  --oilora-canvas:#ffffff;
  --oilora-app-canvas:#f7faf9;
  --oilora-surface:#ffffff;
  --oilora-surface-raised:#ffffff;
  --oilora-surface-subtle:#f7faf9;
  --oilora-surface-muted:#eef4f1;
  --oilora-border:#dfe8e4;
  --oilora-border-strong:#c9d7d1;
  --oilora-text:#10221c;
  --oilora-text-secondary:#344840;
  --oilora-text-muted:#687c74;
  --oilora-text-faint:#93a59e;

  /* Typography / rhythm. Yekan Bakh remains first-class; fallbacks are local/system safe. */
  --oilora-font-family:"Yekan Bakh","YekanBakh","IRANYekanX","Vazirmatn",Tahoma,"Segoe UI",Arial,sans-serif;
  --oilora-font-regular:400;
  --oilora-font-medium:500;
  --oilora-font-semibold:600;
  --oilora-font-bold:700;
  --oilora-font-extrabold:800;
  --oilora-font-black:900;
  --oilora-text-xs:12px;
  --oilora-text-sm:13px;
  --oilora-text-md:14px;
  --oilora-text-base:16px;
  --oilora-text-lg:18px;
  --oilora-text-xl:20px;
  --oilora-text-2xl:24px;
  --oilora-text-3xl:30px;
  --oilora-leading-tight:1.35;
  --oilora-leading-body:1.85;

  /* 4px spatial grid. */
  --oilora-space-1:4px;
  --oilora-space-2:8px;
  --oilora-space-3:12px;
  --oilora-space-4:16px;
  --oilora-space-5:20px;
  --oilora-space-6:24px;
  --oilora-space-8:32px;
  --oilora-space-10:40px;
  --oilora-space-12:48px;
  --oilora-space-16:64px;

  /* Geometry: fewer radii, less visual noise. */
  --oilora-radius-xs:7px;
  --oilora-radius-sm:10px;
  --oilora-radius-md:14px;
  --oilora-radius-lg:18px;
  --oilora-radius-xl:24px;
  --oilora-radius-pill:999px;

  /* Elevation is quiet; borders do most of the structure work. */
  --oilora-shadow-xs:0 1px 2px rgba(7,35,26,.035);
  --oilora-shadow-sm:0 5px 16px rgba(7,35,26,.045);
  --oilora-shadow-md:0 12px 30px rgba(7,35,26,.07);
  --oilora-shadow-lg:0 26px 70px rgba(7,35,26,.12);
  --oilora-shadow-brand:0 14px 34px rgba(24,235,176,.16);

  /* Motion / focus. */
  --oilora-motion-fast:120ms;
  --oilora-motion-normal:180ms;
  --oilora-motion-slow:280ms;
  --oilora-ease:cubic-bezier(.2,.8,.2,1);
  --oilora-focus:rgba(24,235,176,.34);

  /* Brand gradients: use sparingly. */
  --oilora-gradient-brand:linear-gradient(135deg,#087b60 0%,#0cc895 54%,#18ebb0 100%);
  --oilora-gradient-night:linear-gradient(145deg,#071510 0%,#10221c 100%);

  /* Backward-compatible aliases: legacy UI now resolves through the canonical DNA. */
  --bg:var(--oilora-app-canvas);
  --panel:var(--oilora-surface-raised);
  --panel2:var(--oilora-surface-subtle);
  --text:var(--oilora-text);
  --muted:var(--oilora-text-muted);
  --line:var(--oilora-border);
  --green:var(--oilora-primary-800);
  --green2:var(--oilora-primary-600);
  --green3:var(--oilora-primary-50);
  --danger:var(--oilora-danger);
  --warn:var(--oilora-warning);
  --blue:var(--oilora-info);
  --shadow:var(--oilora-shadow-md);
  --radius:var(--oilora-radius-lg);
}

html,body,button,input,select,textarea{font-family:var(--oilora-font-family)!important}
body{font-size:var(--oilora-text-md);line-height:var(--oilora-leading-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
::selection{background:var(--oilora-primary-200);color:var(--oilora-graphite-950)}
:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--oilora-focus);outline-offset:2px}

.brand-logo{display:block;object-fit:contain;flex:none}.brand-logo-mark{width:48px;height:48px}.brand-logo-lockup{width:176px;height:auto}.brand-word{font-weight:850;letter-spacing:-.025em}.brand-subtitle{font-size:11px;color:var(--oilora-text-muted);letter-spacing:.02em}.brand-mark{padding:0!important;background:none!important;box-shadow:none!important;overflow:visible!important}.brand-mark img{width:100%;height:100%;display:block}.side-brand .brand-logo-mark{width:44px;height:44px}.login-hero .brand-logo-mark{width:58px;height:58px}.boot .brand-logo-mark{width:68px;height:68px}.oilora-brand-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);font-size:12px;color:#e8fff8}

/* Public experience is always white-first. Dark mode is an app preference, not public brand chrome. */
body.oilora-surface-public{--bg:#fff;--panel:#fff;--panel2:var(--oilora-surface-subtle);--text:var(--oilora-text);--muted:var(--oilora-text-muted);--line:var(--oilora-border);background:#fff!important;color:var(--oilora-text)!important;color-scheme:light}

/* Signature accent utilities used by legacy and upcoming component layers. */
.oilora-accent{color:var(--oilora-primary-800)}
.oilora-accent-surface{background:var(--oilora-primary-50);border-color:var(--oilora-primary-200)}
.oilora-accent-dot{background:var(--oilora-primary-500);box-shadow:0 0 0 5px var(--oilora-primary-100)}

@media (prefers-reduced-motion:reduce){:root{--oilora-motion-fast:1ms;--oilora-motion-normal:1ms;--oilora-motion-slow:1ms}}
