/* Generated by scripts/sync-design-assets.mjs; edit central frontend tokens. */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url('./fonts/roboto-cyrillic-ext-wght-normal.woff2') format('woff2-variations');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url('./fonts/roboto-cyrillic-wght-normal.woff2') format('woff2-variations');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url('./fonts/roboto-latin-wght-normal.woff2') format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}


/* Owner reference palette. Full ramps also theme Nuxt UI soft/outline/hover states. */
:root {
  --font-sans: Roboto, sans-serif;
  --color-ocean-50:#effbfe; --color-ocean-100:#caf0f8; --color-ocean-200:#90e0ef;
  --color-ocean-300:#48cce3; --color-ocean-400:#00b4d8; --color-ocean-500:#0077b6;
  --color-ocean-600:#00699f; --color-ocean-700:#005b8c; --color-ocean-800:#06466b;
  --color-ocean-900:#073352; --color-ocean-950:#03045e;
  --color-ink-50:#f5f7f9; --color-ink-100:#e9eef2; --color-ink-200:#d8e1e8;
  --color-ink-300:#b6c6d2; --color-ink-400:#7b8e9e; --color-ink-500:#586e80;
  --color-ink-600:#465a6d; --color-ink-700:#334a5e; --color-ink-800:#243b50;
  --color-ink-900:#152c40; --color-ink-950:#0b1b2b;
  --color-midnight-50:#efefff; --color-midnight-100:#e0e0fc; --color-midnight-200:#c4c4f8;
  --color-midnight-300:#a0a0f0; --color-midnight-400:#7778df; --color-midnight-500:#5152c3;
  --color-midnight-600:#3a3b9f; --color-midnight-700:#272880; --color-midnight-800:#17186d;
  --color-midnight-900:#03045e; --color-midnight-950:#02033e;
}
:root {
  color-scheme:light;
  --navy:#03045e; --blue:#0077b6; --cyan:#00b4d8; --aqua:#90e0ef; --ice:#caf0f8;
  --bg:#eef3f6; --surface:#ffffff; --surface-soft:#f7f9fb; --text:#152c40; --muted:#586e80;
  --border:#d8e1e8; --primary:var(--blue); --on-primary:#fff;
  --success:#18704a; --warning:#875a08; --danger:#b4233b;
  --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;
  --text-xs:12px; --text-sm:14px; --text-base:16px; --text-lg:18px; --text-xl:20px;
  --text-2xl:24px; --text-3xl:30px; --text-4xl:36px; --text-5xl:48px;
  --control-height:44px; --control-height-lg:48px; --control-height-xl:52px;
  --radius:12px; --card-radius:28px; --shell-radius:36px; --pill-radius:999px;
  --shadow:0 8px 32px #03045e06; --shadow-overlay:0 20px 64px #03045e24;
  --duration:160ms;
  --ui-primary:var(--primary); --ui-secondary:var(--navy); --ui-info:var(--blue);
  --ui-success:var(--success); --ui-warning:var(--warning); --ui-error:var(--danger);
  --ui-text:var(--text); --ui-text-highlighted:var(--text); --ui-text-toned:var(--muted);
  --ui-text-muted:var(--muted); --ui-text-dimmed:var(--muted); --ui-text-inverted:var(--on-primary);
  --ui-bg:var(--surface); --ui-bg-muted:var(--surface-soft); --ui-bg-elevated:var(--surface);
  --ui-bg-accented:var(--ice); --ui-bg-inverted:var(--navy);
  --ui-border:var(--border); --ui-border-muted:var(--border); --ui-border-accented:#b6c6d2;
  --ui-border-inverted:var(--navy); --ui-radius:0.5rem; --ui-container:1440px;
  --ui-chart-1:var(--blue); --ui-chart-2:var(--cyan); --ui-chart-3:var(--navy);
  --ui-chart-4:var(--success); --ui-chart-5:var(--warning); --ui-chart-6:var(--danger);
  font-family:Roboto,sans-serif; font-size:16px; color:var(--text); background:var(--bg); line-height:1.5;
}
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); }
button,a { touch-action:manipulation; }
button { cursor:pointer; }
button:disabled { cursor:not-allowed; }
:focus-visible { outline:3px solid var(--primary); outline-offset:3px; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { text-wrap:balance; }
h1 { font-size:var(--text-3xl); line-height:1.2; font-weight:700; letter-spacing:-.03em; }
h2 { font-size:var(--text-xl); line-height:1.3; font-weight:600; letter-spacing:-.02em; }
h3 { font-size:var(--text-base); line-height:1.4; font-weight:600; }
small,.muted { color:var(--muted); }
.stack { display:grid; gap:var(--space-4); }
.row { display:flex; align-items:center; gap:var(--space-3); flex-wrap:wrap; }
.spread { justify-content:space-between; }
.panel-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:var(--space-4); }
.error { color:var(--danger); }
.table-wrap { overflow:auto; }
a { color:var(--primary); }
@media(max-width:760px) { .panel-grid { grid-template-columns:1fr; } h1 { font-size:var(--text-2xl); } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; scroll-behavior:auto!important; } }
