/* Gerado por design-system/build.js a partir de tokens.json. */
:root, :root[data-theme="light"] {
  color-scheme: light;
  --brand-cream: var(--brand-cool-gray);
  --brand-black: #0D0D0D;
  --brand-blue: #0031E8;
  --brand-orange: #FF8D00;
  --white: #FFFFFF;
  --sand-50: #F9FAFC;
  --sand-100: var(--brand-cream);
  --sand-200: #F1F3F7;
  --sand-300: #E2E6EE;
  --sand-400: #CED5E1;
  --sand-500: #98A3B3;
  --sand-600: #7B8595;
  --sand-700: #626C7C;
  --sand-800: #495366;
  --sand-900: #202838;
  --ink-800: #202632;
  --ink-700: #30394A;
  --blue-50: #EEF2FE;
  --blue-25: #F5F7FF;
  --blue-100: #DCE4FD;
  --blue-200: #B9C8FC;
  --blue-300: #8CA4FF;
  --blue-400: #4C72FF;
  --blue-600: var(--brand-blue);
  --blue-700: #0027BA;
  --blue-800: #001E8C;
  --blue-on-muted: #C9D3FB;
  --orange-50: #FFF3E3;
  --orange-100: #FFE3BF;
  --orange-500: var(--brand-orange);
  --orange-600: #EE8300;
  --orange-700: #A35400;
  --green-50: #E5F3EE;
  --green-600: #0B7A5C;
  --green-700: #086148;
  --yellow-50: #FDF5DC;
  --yellow-400: #F2C230;
  --yellow-700: #8F6A00;
  --yellow-800: #6E5200;
  --red-50: #FCECEA;
  --red-600: #C8281E;
  --red-700: #A41F17;
  --bg-canvas: var(--brand-cool-gray);
  --surface: var(--white);
  --surface-glow-start: var(--white);
  --surface-glow-end: var(--sand-200);
  --surface-subtle: var(--sand-50);
  --surface-muted: var(--sand-200);
  --surface-inverse: var(--brand-black);
  --surface-inverse-raised: var(--ink-800);
  --surface-hero: var(--brand-blue);
  --hero-shape: rgba(255,255,255,.08);
  --hero-shape-strong: rgba(255,255,255,.12);
  --overlay: rgba(13, 13, 13, 0.48);
  --state-hover: rgba(13, 13, 13, 0.05);
  --state-pressed: rgba(13, 13, 13, 0.09);
  --state-hover-inverse: rgba(255, 255, 255, 0.06);
  --border-subtle: var(--sand-300);
  --border-strong: var(--sand-400);
  --border-control: var(--sand-600);
  --border-control-hover: var(--sand-800);
  --border-inverse: var(--ink-700);
  --text-primary: var(--brand-black);
  --text-secondary: var(--sand-800);
  --text-muted: var(--sand-700);
  --text-disabled: var(--sand-500);
  --text-inverse: var(--white);
  --text-inverse-secondary: var(--sand-400);
  --text-inverse-muted: var(--sand-500);
  --text-link: var(--primary-text);
  --text-on-hero: var(--white);
  --text-on-hero-muted: var(--blue-on-muted);
  --primary: var(--brand-blue);
  --primary-hover: var(--blue-700);
  --primary-active: var(--blue-800);
  --primary-subtle: var(--blue-50);
  --primary-subtle-hover: var(--blue-100);
  --primary-border: var(--blue-200);
  --on-primary: var(--white);
  --accent: var(--brand-orange);
  --accent-hover: var(--orange-600);
  --accent-active: #D97000;
  --accent-subtle: var(--orange-50);
  --accent-text: var(--orange-700);
  --on-accent: var(--brand-black);
  --focus-ring: var(--brand-blue);
  --focus-ring-inverse: var(--blue-300);
  --success: var(--green-600);
  --success-text: var(--green-700);
  --success-subtle: var(--green-50);
  --warning: var(--yellow-700);
  --warning-fill: var(--yellow-400);
  --warning-text: var(--yellow-800);
  --warning-subtle: var(--yellow-50);
  --danger: var(--red-600);
  --danger-hover: var(--red-700);
  --on-danger: #FFFFFF;
  --danger-text: var(--red-700);
  --danger-subtle: var(--red-50);
  --info: var(--primary-text);
  --chart-primary: var(--brand-blue);
  --chart-ink: #263449;
  --chart-highlight: #D46A00;
  --chart-track: var(--sand-200);
  --chart-grid: var(--sand-300);
  --brand-cool-gray: #F5F7FA;
  --primary-text: var(--brand-blue);
  --app-line: var(--border-subtle);
  --app-muted: var(--text-muted);
  --up-offwhite: #F7F3EE;
  --up-black: #0D0D0D;
  --up-electric: #0031E8;
  --up-orange: #FF8D00;
  --staff-action-hover: #FFA42E;
  --staff-warm-muted: #625A52;
  --staff-warm-orange: #A14C00;
  --staff-warm-success: #067646;
  --staff-sidebar-border: #252A31;
  --staff-sidebar-muted: #ACB1BA;
  --staff-sidebar-hover: #1C2028;
  --staff-series-1: var(--up-electric);
  --staff-series-2: var(--up-orange);
  --staff-series-3: #91969E;
  --staff-popover-shadow: 0 16px 48px rgba(0,0,0,.22);
  --staff-card-shadow: 0 3px 18px rgba(0,0,0,.06);
  --staff-backdrop: rgba(0,0,0,.65);
  --staff-canvas: #F2F3F6;
  --staff-card: #FFFFFF;
  --staff-header: #FFFFFF;
  --staff-search: #F5F6F8;
  --staff-subtle: #F5F6F8;
  --staff-text: #0D0D0D;
  --staff-muted: #58616E;
  --staff-border: #DCE0E6;
  --staff-control-border: #7D8794;
  --staff-input: #FFFFFF;
  --staff-hover: #EAEFF8;
  --staff-keycap: #E6E8ED;
  --staff-orange-ink: #934600;
  --staff-blue-ink: #0031E8;
  --staff-focus: #0031E8;
  --staff-grid: #E6E9EE;
  --staff-success: #067646;
  --staff-success-surface: #E2F5EB;
  --staff-error: #B42318;
  --shadow-glow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 1px 2px rgba(13, 13, 13, 0.04);
  --shadow-sm: 0 1px 2px rgba(13, 13, 13, 0.05);
  --shadow-md: 0 2px 4px rgba(13, 13, 13, 0.04), 0 12px 32px rgba(13, 13, 13, 0.08);
  --shadow-lg: 0 2px 6px rgba(13, 13, 13, 0.06), 0 20px 48px rgba(13, 13, 13, 0.16);
  --glass-fill: rgba(255,255,255,.82);
  --glass-edge: rgba(255,255,255,.94);
  --glass-shadow: 0 8px 28px rgba(20,35,60,.06),inset 0 1px 0 rgba(255,255,255,.98);
  --glass-blur: 16px;
  --glass-blur-mobile: 8px;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg-canvas: #0B1220;
  --surface: #152134;
  --surface-subtle: #19273B;
  --surface-muted: #223149;
  --surface-inverse: #081226;
  --surface-inverse-raised: #16243A;
  --border-subtle: #2B3C55;
  --border-strong: #3C506E;
  --border-control: #647998;
  --border-control-hover: #93A7C4;
  --border-inverse: #283C5B;
  --text-primary: #F0F4FC;
  --text-secondary: #C1CDE0;
  --text-muted: #A1B0C7;
  --text-disabled: #7F90AA;
  --primary-text: #8CA4FF;
  --text-link: var(--primary-text);
  --primary-subtle: #18264A;
  --primary-subtle-hover: #20325F;
  --primary-border: #3D5BC9;
  --focus-ring: #8CA4FF;
  --accent-subtle: #33261A;
  --accent-text: #FFB259;
  --success: #48D4A1;
  --success-text: #76E3BC;
  --success-subtle: #12372F;
  --warning: #FFD16B;
  --warning-text: #FFD98A;
  --warning-subtle: #392F1C;
  --danger: #FF8D87;
  --danger-hover: #E77A76;
  --on-danger: #181B22;
  --danger-text: #FFAAA5;
  --danger-subtle: #3D242D;
  --info: var(--primary-text);
  --chart-primary: #6F8DFF;
  --chart-highlight: #FFA640;
  --chart-ink: #E3EAF5;
  --chart-track: #26354D;
  --chart-grid: #384963;
  --state-hover: rgba(255,255,255,.055);
  --state-pressed: rgba(255,255,255,.09);
  --glass-fill: rgba(21,33,52,.82);
  --glass-edge: rgba(160,181,213,.20);
  --glass-shadow: 0 8px 28px rgba(0,0,0,.13),inset 0 1px 0 rgba(193,213,246,.06);
  --shadow-sm: 0 1px 3px rgba(0,0,0,.2);
  --shadow-md: 0 8px 24px rgba(0,0,0,.23);
  --shadow-lg: 0 16px 40px rgba(0,0,0,.3);
  --app-muted: var(--text-muted);
  --app-line: var(--border-subtle);
  --staff-canvas: #0D0D0D;
  --staff-card: #0D1218;
  --staff-header: #0A0D11;
  --staff-search: #0C1016;
  --staff-subtle: #141A22;
  --staff-text: #F7F3EE;
  --staff-muted: #B1B6C0;
  --staff-border: #303640;
  --staff-control-border: #697586;
  --staff-input: #0B1017;
  --staff-hover: #202836;
  --staff-keycap: #2A3039;
  --staff-orange-ink: #FFAA3F;
  --staff-blue-ink: #82A5FF;
  --staff-focus: #82A5FF;
  --staff-grid: #242C36;
  --staff-success: #50DA97;
  --staff-success-surface: #12342A;
  --staff-error: #FF9B91;
}
:root {
  --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-xs: 6px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-full: 9999px;
  --control-sm: 32px;
  --control-md: 40px;
  --control-lg: 48px;
  --touch-min: 44px;
  --icon-sm: 16px;
  --icon-md: 20px;
  --icon-lg: 24px;
  --sidebar-width: 248px;
  --header-height: 64px;
  --header-height-mobile: 56px;
  --mobile-nav-height: 64px;
  --content-max: 1200px;
  --form-max: 560px;
  --reading-max: 680px;
  --border-1: 1px;
  --border-2: 2px;
  --bp-sm: 480px;
  --bp-md: 768px;
  --bp-lg: 1024px;
  --bp-xl: 1280px;
  --z-sticky: 10;
  --z-nav: 20;
  --z-dropdown: 30;
  --z-overlay: 40;
  --z-modal: 50;
  --z-toast: 60;
  --duration-fast: 120ms;
  --duration-base: 200ms;
  --duration-slow: 280ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-exit: cubic-bezier(0.4, 0, 1, 1);
  --font-display: "Inter Display", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-text: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
}
@font-face { font-family:"Inter"; src:url("fonts/Inter-Regular.woff") format("woff"); font-style:normal; font-weight:400; font-display:swap; }
@font-face { font-family:"Inter"; src:url("fonts/Inter-Medium.woff") format("woff"); font-style:normal; font-weight:500; font-display:swap; }
@font-face { font-family:"Inter"; src:url("fonts/Inter-SemiBold.woff") format("woff"); font-style:normal; font-weight:600; font-display:swap; }
@font-face { font-family:"Inter Display"; src:url("fonts/InterDisplay-Regular.woff") format("woff"); font-style:normal; font-weight:400; font-display:swap; }
@font-face { font-family:"Inter Display"; src:url("fonts/InterDisplay-Medium.woff") format("woff"); font-style:normal; font-weight:500; font-display:swap; }
@font-face { font-family:"Inter Display"; src:url("fonts/InterDisplay-SemiBold.woff") format("woff"); font-style:normal; font-weight:600; font-display:swap; }
.display { font-family:var(--font-display); font-size:52px; line-height:56px; font-weight:400; letter-spacing:-0.035em; }
.title-1 { font-family:var(--font-display); font-size:32px; line-height:38px; font-weight:500; letter-spacing:-0.025em; }
.title-2 { font-family:var(--font-display); font-size:24px; line-height:30px; font-weight:500; letter-spacing:-0.02em; }
.title-3 { font-family:var(--font-display); font-size:20px; line-height:26px; font-weight:600; letter-spacing:-0.015em; }
.title-4 { font-family:var(--font-display); font-size:16px; line-height:22px; font-weight:600; letter-spacing:-0.005em; }
.figure-xl { font-family:var(--font-display); font-size:48px; line-height:52px; font-weight:500; letter-spacing:-0.03em; }
.figure-lg { font-family:var(--font-display); font-size:32px; line-height:36px; font-weight:500; letter-spacing:-0.025em; }
.figure-md { font-family:var(--font-display); font-size:24px; line-height:30px; font-weight:500; letter-spacing:-0.015em; }
.figure-sm { font-family:var(--font-display); font-size:17px; line-height:24px; font-weight:500; letter-spacing:0em; }
.body-lg { font-family:var(--font-text); font-size:18px; line-height:28px; font-weight:400; }
.body { font-family:var(--font-text); font-size:16px; line-height:24px; font-weight:400; }
.body-sm { font-family:var(--font-text); font-size:14px; line-height:20px; font-weight:400; }
.label { font-family:var(--font-text); font-size:14px; line-height:20px; font-weight:500; }
.label-sm { font-family:var(--font-text); font-size:13px; line-height:18px; font-weight:500; }
.label-xs { font-family:var(--font-text); font-size:12px; line-height:16px; font-weight:500; }
.caption { font-family:var(--font-text); font-size:13px; line-height:18px; font-weight:400; }
.overline { font-family:var(--font-text); font-size:12px; line-height:16px; font-weight:600; letter-spacing:0.08em; }
