/* Silvie Design System 1.1 — neutrals first, semantic color only where it carries meaning. */
:root{
 --neutral-0:#ffffff;--neutral-25:#fcfcfd;--neutral-50:#f5f6f7;--neutral-100:#eef0f2;--neutral-200:#dce0e4;--neutral-400:#a2a9b1;--neutral-600:#606771;--neutral-900:#252b32;
 --green-50:#f0f5f2;--green-700:#285b40;--green-800:#204b35;--green-900:#173b29;
 --amber-50:#fcf4e5;--amber-700:#805713;--red-50:#fbefec;--red-700:#a23f30;--blue-50:#edf2f7;--blue-700:#465e77;--focus-blue:#375e96;
 --surface-canvas:var(--neutral-50);--surface-card:var(--neutral-0);--surface-subtle:var(--neutral-25);--text-primary:var(--neutral-900);--text-secondary:var(--neutral-600);--text-placeholder:var(--neutral-600);--action-primary:var(--green-700);--action-hover:var(--green-800);--action-pressed:var(--green-900);--border-subtle:var(--neutral-200);--border-interactive:#8d959f;--focus-ring:var(--focus-blue);
 --status-stable-text:var(--green-700);--status-stable-surface:var(--green-50);--status-deviation-text:var(--amber-700);--status-deviation-surface:var(--amber-50);--status-priority-text:var(--red-700);--status-priority-surface:var(--red-50);--status-data-text:var(--blue-700);--status-data-surface:var(--blue-50);
 --font-ui:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;--font-editorial:Georgia,'Times New Roman',serif;--font-numeric:var(--font-ui);
 --text-display:48px;--text-title:32px;--text-section:24px;--text-heading:18px;--text-body:14px;--text-label:13px;--text-caption:12px;--leading-title:1.2;--leading-body:1.6;--weight-regular:400;--weight-medium:500;--weight-semibold:600;
 --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;
 --radius-badge:6px;--radius-control:8px;--radius-field:8px;--radius-small-card:12px;--radius-card:16px;--radius-dialog:16px;--border-width:1px;
 --icon-small:16px;--icon-default:20px;--icon-large:24px;--icon-stroke:1.75;--touch-target:44px;--motion-fast:160ms;--motion-standard:220ms;--ease-out:cubic-bezier(.16,1,.3,1);--focus-width:3px;--shadow-dialog:0 20px 64px #151b2426;
 /* Existing implementation aliases keep the same semantic contract. */
 --color-white:var(--neutral-0);--bg:var(--surface-canvas);--card:var(--surface-card);--ink:var(--text-primary);--muted:var(--text-secondary);--line:var(--border-subtle);--brand:var(--action-primary);--soft:var(--status-stable-surface);--warn:var(--status-deviation-text);--warn-bg:var(--status-deviation-surface);--high:var(--status-priority-text);--high-bg:var(--status-priority-surface);--unknown:var(--status-data-text);--unknown-bg:var(--status-data-surface);--r:var(--radius-card);
}
::selection{background:#dce6f3;color:var(--text-primary)}input,textarea{caret-color:var(--focus-ring)}input::placeholder,textarea::placeholder{color:var(--text-placeholder);opacity:1}input,textarea,select{font-family:var(--font-ui)}:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:3px}
.ds-icon{display:inline-block;width:var(--icon-default);height:var(--icon-default);fill:none;stroke:currentColor;stroke-width:var(--icon-stroke);stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:middle}.badge .ds-icon,.status .ds-icon{width:14px;height:14px}
.primary{color:var(--neutral-0);border:0;border-radius:var(--radius-control);background:var(--action-primary);min-height:var(--touch-target);font-weight:var(--weight-medium);transition:background var(--motion-fast) var(--ease-out)}.primary:hover{background:var(--action-hover)}.primary:active{background:var(--action-pressed)}.primary:disabled{background:var(--neutral-100);color:var(--text-secondary);cursor:default}.secondary{min-height:var(--touch-target);border-radius:var(--radius-control);border:1px solid var(--border-interactive);background:var(--surface-card);color:var(--text-primary)}.secondary:hover{background:var(--neutral-50)}.badge{border-radius:var(--radius-badge);display:inline-flex;align-items:center;gap:5px}.card{border-radius:var(--radius-card);background:var(--surface-card);border-color:var(--border-subtle)}.note-field{border-radius:var(--radius-field);border-color:var(--border-interactive)}.note-field[aria-invalid=true]{border-color:var(--status-priority-text)}.number,.big-value,.metric-number,.summary strong{font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
