/* Kessef v2, Concept D design tokens. Components use these variables only, never raw colors. */
@font-face{font-family:Heebo;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/heebo-hebrew-400-normal.woff2) format('woff2');unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:Heebo;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/heebo-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Heebo;font-style:normal;font-weight:500;font-display:swap;src:url(fonts/heebo-hebrew-500-normal.woff2) format('woff2');unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:Heebo;font-style:normal;font-weight:500;font-display:swap;src:url(fonts/heebo-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Heebo;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/heebo-hebrew-600-normal.woff2) format('woff2');unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:Heebo;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/heebo-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Heebo;font-style:normal;font-weight:700;font-display:swap;src:url(fonts/heebo-hebrew-700-normal.woff2) format('woff2');unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:Heebo;font-style:normal;font-weight:700;font-display:swap;src:url(fonts/heebo-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  color-scheme:dark;
  /* surfaces */
  --bg:#08070D; --bg-page:#07060B; --surface:#16141E; --surface-2:#110F17; --sheet:#0E0C14; --control:#15131D;
  --nav:rgba(22,20,30,.85);
  --border:rgba(255,255,255,.07); --border-strong:rgba(255,255,255,.12); --border-pill:rgba(255,255,255,.14);
  --fill-soft:rgba(255,255,255,.04); --fill-track:rgba(255,255,255,.1); --fill-future:rgba(255,255,255,.14);
  --scrim:rgba(4,3,8,.6);
  /* text (--text-muted #8D879E passes 4.5:1 on --surface at 5.28:1, so it is kept; see tests/contrast.test.js) */
  --text:#F4F2FA; --text-2:#C9C4D9; --text-3:#A9A3BD; --text-muted:#8D879E; --text-faint:#7C7690; --text-on-light:#0B0A12;
  /* brand */
  --brand:#7C5CFF; --brand-hi:#8B6CFF; --brand-lo:#6D4AFF; --brand-soft:#A78BFA; --brand-tint:#B9A6FF;
  --brand-grad:linear-gradient(180deg,#7656F5,#5B38F0);
  --brand-glow:0 0 24px rgba(124,92,255,.65);
  --btn-glow:0 0 32px rgba(124,92,255,.5), inset 0 1px 0 rgba(255,255,255,.25);
  --hero-glow:radial-gradient(120% 55% at 50% -5%, #4A2496 0%, #22104A 38%, transparent 70%);
  --page-glow:radial-gradient(50% 60% at 28% 45%, rgba(109,74,255,.38), transparent 70%),
              radial-gradient(40% 40% at 85% 0%, rgba(139,108,255,.18), transparent 70%);
  --statement-card:radial-gradient(120% 120% at 80% 0%, #9B7BFF 0%, #6A43E8 40%, #3D1E9E 100%);
  --statement-shadow:0 20px 50px rgba(109,74,255,.35);
  --phone-shadow:0 0 0 1px rgba(255,255,255,.06), 0 40px 80px rgba(10,12,30,.45);
  --text-grad:linear-gradient(180deg,#B9A6FF,#8B6CFF);
  /* status */
  --paid:#4ADE9B; --paid-bg:rgba(52,211,153,.10); --paid-border:rgba(52,211,153,.30); --paid-bar:#34D399;
  --partial:#F5B451; --partial-bar:#F5A35B; --partial-bg:rgba(245,180,81,.12);
  --open:#8B6CFF; --open-bg:rgba(124,92,255,.14);
  --recurring:#5AA9FF; --late:#FF7A8A; --late-bg:rgba(255,122,138,.12);
  --pink:#EC6FB6; --neutral-seg:#4A4658;
  --av-1-bg:#2A1F4D; --av-1-fg:#B9A6FF; --av-2-bg:#10302A; --av-2-fg:#4ADE9B; --av-3-bg:#3A2A12; --av-3-fg:#F5B451;
  --showcase-bg:#485A85;
  /* shape */
  --r-card:20px; --r-statement:24px; --r-sheet:28px; --r-icon:12px; --r-input:14px; --r-pill:999px;
  /* spacing */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:24px; --s7:32px; --s8:40px; --s9:48px; --s10:64px; --s11:96px; --s12:128px;
  --gutter:20px;
  /* motion */
  --ease-out:cubic-bezier(.2,.8,.2,1); --ease-in:cubic-bezier(.4,0,1,1);
  --t-fast:120ms; --t-base:200ms; --t-slow:250ms;
  --focus:0 0 0 2px var(--bg), 0 0 0 4px var(--brand-tint);
  --font:Heebo, system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
  --nav-h:64px;
}

/* Light theme (phase 4, optional): brand kept, glows at 30%. */
:root[data-theme=light]{
  color-scheme:light;
  --bg:#F7F6FB; --bg-page:#F7F6FB; --surface:#FFFFFF; --surface-2:#FFFFFF; --sheet:#FFFFFF; --control:#FFFFFF;
  --nav:rgba(255,255,255,.9);
  --border:rgba(20,18,28,.08); --border-strong:rgba(20,18,28,.14); --border-pill:rgba(20,18,28,.16);
  --fill-soft:rgba(20,18,28,.04); --fill-track:rgba(20,18,28,.08); --fill-future:rgba(20,18,28,.1);
  --scrim:rgba(20,18,28,.35);
  --text:#14121C; --text-2:#3D3950; --text-3:#4F4A63; --text-muted:#6B6680; --text-faint:#8A859C; --text-on-light:#FFFFFF;
  --brand:#6D4AFF; --brand-tint:#5B3BE0; --brand-soft:#5B3BE0; --recurring:#1F6FD1; --paid:#0B7A50; --partial:#A86400; --late:#C8283E; --open:#6D4AFF;
  --brand-glow:0 0 24px rgba(124,92,255,.2); --btn-glow:0 0 32px rgba(124,92,255,.15), inset 0 1px 0 rgba(255,255,255,.25);
  --hero-glow:radial-gradient(120% 55% at 50% -5%, rgba(124,92,255,.18), transparent 70%);
  --page-glow:radial-gradient(50% 60% at 28% 45%, rgba(109,74,255,.11), transparent 70%);
  --av-1-bg:#ECE7FF; --av-1-fg:#5B3BE0; --av-2-bg:#DDF6EC; --av-2-fg:#0F7A52; --av-3-bg:#FCEFD9; --av-3-fg:#8A5200;
}
