/* ============ PREMIUM LIGHT THEME ============
   Designed as its own palette (not an inversion): soft off-white app
   background, pure-white surfaces, subtle gray borders, dark neutral
   typography, and the same brand blue tuned for contrast on white. */
[data-theme="light"]{
  color-scheme:light;
  --bg:#F7F8FA;
  --toast-bg:#DCE7F7;
  --bg-side:#E8F0FE;   /* side menu: soft light-blue accent */
  --side-border:#D2DEF5;
  --side-hover:#D9E6FB;
  --period-sel:rgba(15,23,42,.08);
  --sel-grad:linear-gradient(135deg,color-mix(in srgb,var(--accent) 88%,#fff),color-mix(in srgb,var(--accent) 65%,var(--accent-dim)));   /* selected tab / period pill (light: soft accent) */
  --card:#FFFFFF;
  --card-2:#F3F4F6;
  --border:#E6E8EC;
  --text:#2c313b;
  --text-dim:#5B6070;
  --text-faint:#6B7280;
  --text-strong:#1e222a;
  --on-accent:#f1f3f7;
  --accent:#2563EB;
  --accent-dim:#1D4ED8;
  --accent-glow:rgba(37,99,235,.10);
  --accent-glow-rgb:37,99,235;
  --green:#2563EB;
  --red:#b01e1e;
  --calendar-red:#DC2626;
  --amber:#B45309;
  --amber-glow-rgb:217,140,44;
  --purple:#7C3AED;
  --bar-a:#0EA5E9;   /* sky -> violet reads clearly on white */
  --bar-b:#7C3AED;
  --bar-strong-a:#5CCBF7;   /* light sky end of the reversed bar gradients */
  --bar-strong-b:#6D28D9;   /* stronger violet */

  --input-bg:#F3F4F6;
  --input-bg-strong:#F7F8FA;
  --input-bg-disabled:#EEF0F3;
  --input-bg-focus:#FFFFFF;
  --input-bg-cooldown-focus:#FEF2F2;
  --hover-surface:#F1F2F5;
  --hover-surface-2:#E9EBEF;
  --hover-surface-3:#F7F8FA;
  --surface-muted:#EDEEF1;
  --surface-tag:#EEF0F3;
  --surface-panel:#FFFFFF;
  --scrollbar-thumb:#D1D5DB;
  --overlay-bg:rgba(20,23,31,.32);
  --day-circle-border:#DDE0E6;
  --border-hover:#C7CBD3;
  --border-hover-2:#C7CBD3;
  --input-border-hover:#C7CBD3;
  --subtle-surface:rgba(15,23,42,.035);
  --be-good-text:#1D4ED8;
  --be-warn-text:#941616;
  --cooldown-text:#b01e1e;
  --brand-grad-a:#1e222a;
  --brand-grad-b:#5B6070;
  --card-shadow:0 1px 2px rgba(15,23,42,.04), 0 10px 24px -8px rgba(15,23,42,.10);
  --jfield-border:rgba(15,23,42,.10);
  --shadow-hover:0 8px 16px -8px rgba(15,23,42,.22), 0 1px 3px rgba(15,23,42,.06), 0 0 0 1px rgba(37,99,235,.16);
  --jfield-border-hover:rgba(15,23,42,.20);
  --shadow-modal:0 20px 50px rgba(15,23,42,.14), 0 0 0 1px rgba(15,23,42,.04) inset;
}

*{box-sizing:border-box;margin:0;padding:0;}
body{
  background:var(--bg);
  color:var(--text);
  font-size:14px;
  min-height:100vh;
  overflow-x:hidden;
  font-variant-numeric:tabular-nums;
  -webkit-font-smoothing:antialiased;
}

/* Smooth, professional theme transition — only active for the brief window
   right after the toggle is pressed (see JS), so it never interferes with
   the sidebar collapse animation, hover states, or page-load. */
html.theme-transitioning,
html.theme-transitioning *,
html.theme-transitioning *::before,
html.theme-transitioning *::after{
  transition:background-color .35s ease, color .28s ease, border-color .35s ease, box-shadow .35s ease, fill .28s ease, stroke .28s ease !important;
}

::-webkit-scrollbar{width:8px;height:8px;}
::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:8px;}
::-webkit-scrollbar-track{background:transparent;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
input,select,textarea{font-family:inherit;}
