/* Local, offline fonts (SIL OFL 1.1, see fonts/OFL-*.txt). Paths are relative to this file. */
@font-face{font-family:'Inter';src:url('fonts/Inter-Variable.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:'Fraunces';src:url('fonts/Fraunces-Variable.woff2') format('woff2');font-weight:600 900;font-style:normal;font-display:swap}
@font-face{font-family:'Nunito Sans';src:url('fonts/NunitoSans-Variable.woff2') format('woff2');font-weight:400 800;font-style:normal;font-display:swap}
:root {
  --color-bg: #F6F4EF;
  --color-surface: #FFFFFF;
  --color-surface-sunken: #EFECE5;
  --color-border: #E2DED5;
  --color-text: #1C2421;
  --color-text-muted: #59645F;
  --color-text-subtle: #7A847F;
  --color-primary: #1d4e7a;
  --color-primary-hover: #0f2a44;
  --color-on-primary: #FFFFFF;
  --color-accent: #D9653B;
  --color-accent-text: #A9441F;
  --color-focus: #2F6FB0;
  --color-dark-bg: #121815;
  --color-dark-surface: #1B2420;
  --color-dark-border: #2C3833;
  --color-dark-text: #ECEFEC;
  --color-dark-text-muted: #A7B1AC;
  --color-dark-primary: #7FD8C9;
  --status-ok-fg: #1E6B45;
  --status-ok-bg: #E3F3EA;
  --status-ok-dot: #2E9E63;
  --status-needs-attention-fg: #8A4B00;
  --status-needs-attention-bg: #FDF0D7;
  --status-needs-attention-dot: #E39A1B;
  --status-waiting-approval-fg: #4A3DA6;
  --status-waiting-approval-bg: #ECE9FB;
  --status-waiting-approval-dot: #6E5FD6;
  --status-blocked-fg: #B42318;
  --status-blocked-bg: #FDE6E3;
  --status-blocked-dot: #D92D20;
  --status-done-fg: #475467;
  --status-done-bg: #ECEEF2;
  --status-done-dot: #98A2B3;
  --font-ui: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-display: 'Fraunces', Georgia, serif;
  --font-mono: ui-monospace, 'SFMono-Regular', Menlo, monospace;
  --text-xs-size: 12px;
  --text-xs-line: 16px;
  --text-xs-weight: 500;
  --text-sm-size: 14px;
  --text-sm-line: 20px;
  --text-sm-weight: 400;
  --text-base-size: 16px;
  --text-base-line: 24px;
  --text-base-weight: 400;
  --text-lg-size: 18px;
  --text-lg-line: 26px;
  --text-lg-weight: 600;
  --text-xl-size: 22px;
  --text-xl-line: 28px;
  --text-xl-weight: 600;
  --text-2xl-size: 28px;
  --text-2xl-line: 34px;
  --text-2xl-weight: 700;
  --text-3xl-size: 36px;
  --text-3xl-line: 42px;
  --text-3xl-weight: 700;
  --space-0: 0;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 20px;
  --radius-pill: 999px;
  --shadow-sm: 0 1px 2px rgba(28,36,33,.06);
  --shadow-md: 0 2px 8px rgba(28,36,33,.08), 0 1px 2px rgba(28,36,33,.06);
  --shadow-lg: 0 8px 24px rgba(28,36,33,.12);
  --bp-sm: 390px;
  --bp-md: 768px;
  --bp-lg: 1024px;
  --bp-xl: 1440px;
  /* cards */
  --card-bg: var(--color-surface); --card-border: 1px solid var(--color-border); --card-radius: var(--radius-lg); --card-padding: var(--space-5); --card-shadow: var(--shadow-sm);
  --kanban-bg: var(--color-surface-sunken); --kanban-radius: var(--radius-xl); --kanban-padding: var(--space-3); --kanban-gap: var(--space-3); --kanban-min-width: 280px;
  --card-compact-radius: var(--radius-md); --card-compact-padding: var(--space-3) var(--space-4);
}
@media (prefers-color-scheme: dark) {
  :root { --color-bg: var(--color-dark-bg); --color-surface: var(--color-dark-surface); --color-border: var(--color-dark-border); --color-text: var(--color-dark-text); --color-text-muted: var(--color-dark-text-muted); --color-primary: var(--color-dark-primary); --color-on-primary: #10201A; }
}
.card{background:var(--card-bg);border:var(--card-border);border-radius:var(--card-radius);padding:var(--card-padding);box-shadow:var(--card-shadow)}
.kanban-col{background:var(--kanban-bg);border-radius:var(--kanban-radius);padding:var(--kanban-padding);display:flex;flex-direction:column;gap:var(--kanban-gap);min-width:var(--kanban-min-width)}
@media (max-width: 767px){.card{border-radius:var(--card-compact-radius);padding:var(--card-compact-padding);box-shadow:none}}
.chip{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:var(--radius-pill);font:600 var(--text-xs-size)/var(--text-xs-line) var(--font-ui)}
.chip--ok{color:var(--status-ok-fg);background:var(--status-ok-bg)}
.chip--needs-attention{color:var(--status-needs-attention-fg);background:var(--status-needs-attention-bg)}
.chip--waiting-approval{color:var(--status-waiting-approval-fg);background:var(--status-waiting-approval-bg)}
.chip--blocked{color:var(--status-blocked-fg);background:var(--status-blocked-bg)}
.chip--done{color:var(--status-done-fg);background:var(--status-done-bg)}
