:root {
  color-scheme: light;
  --color-primary: #224f93;
  --color-primary-strong: #193e76;
  --color-secondary: #a7c7d9;
  --color-accent-soft: #eaf2f7;
  --color-bg: #f3f6fa;
  --color-bg-alt: #edf2f7;
  --color-surface: #ffffff;
  --color-surface-glass: rgb(255 255 255 / .84);
  --color-surface-glass-strong: rgb(255 255 255 / .94);
  --color-glass-edge: rgb(255 255 255 / .76);
  --color-nav-glass: rgb(236 244 252 / .64);
  --color-on-surface: #20344d;
  --color-muted: #61738a;
  --color-line: #dce5ef;
  --color-line-strong: #b9cfe7;
  --color-halo: #dceafd;
  --color-on-brand: #f7faff;
  --color-auth-copy: #e8eef8;
  --gradient-brand: linear-gradient(135deg, #3c79c4 0%, #285da4 55%, #1c457d 100%);
  --gradient-brand-hover: linear-gradient(135deg, #4385d5 0%, #2b63ab 55%, #1d477f 100%);
  --gradient-app: radial-gradient(circle at 83% -9%, #dceafd 0%, transparent 34%), radial-gradient(circle at 15% 94%, #e6f0fa 0%, transparent 38%), linear-gradient(160deg, #f8fbff, #f0f4f9);
  --gradient-panel: linear-gradient(145deg, rgb(255 255 255 / .97), rgb(255 255 255 / .78));
  --gradient-panel-head: linear-gradient(115deg, #f8fbff, #eaf3fb 58%, #ffffff);
  --gradient-user: linear-gradient(140deg, #f1f8fd, #e8f2fa);
  --gradient-auth: radial-gradient(circle at 76% 17%, rgb(140 193 237 / .3), transparent 34%), radial-gradient(circle at 12% 86%, rgb(82 146 213 / .23), transparent 39%), linear-gradient(145deg, #17345a, #224f93);
  --shadow-panel: 0 10px 32px rgb(26 62 108 / .09), inset 0 1px 0 rgb(255 255 255 / .9);
  --shadow-button: 0 6px 13px rgb(34 79 147 / .22), inset 0 1px 0 rgb(255 255 255 / .25);
  --shadow-button-hover: 0 8px 18px rgb(34 79 147 / .27);
  --shadow-composer: 0 -8px 22px rgb(29 59 89 / .07);
  --color-success: #2c7057;
  --color-success-soft: #e6f3eb;
  --color-warning: #8a6123;
  --color-warning-soft: #f9f1e2;
  --color-danger: #a63f45;
  --color-danger-soft: #fbeced;
  --color-action-success: #17684b;
  --color-action-explore: #5b49a5;
  --color-action-warning: #825305;
  --color-action-danger: #a63f45;
  --gradient-action-success: linear-gradient(135deg, #258b67, #17684b);
  --gradient-action-explore: linear-gradient(135deg, #7866c3, #5b49a5);
  --gradient-action-warning: linear-gradient(135deg, #ab751a, #825305);
  --gradient-action-danger: linear-gradient(135deg, #c4545a, #a63f45);
  --font-sans: "Segoe UI", Arial, system-ui, sans-serif;
  --font-display: "Segoe UI", Arial, system-ui, sans-serif;
  --ui-font: .8125rem;
  --ui-small: .75rem;
  --ui-title: clamp(1.25rem, 1.7vw, 1.375rem);
  --ui-subtitle: .9375rem;
  --ui-control: 38px;
  --ui-panel-padding: 20px;
  --ui-section-gap: 24px;
  --topbar-height: 60px;
  --radius-base: 10px;
  --radius-large: 14px;
  --hairline: 1px solid var(--color-line);
  --respiro-x: clamp(14px, 2vw, 24px);
  --largura-max: 1480px;
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --dur-toque: 160ms;
  --ease-saida: cubic-bezier(.2, .75, .3, 1);
}

html[data-theme="dark"] {
  color-scheme: dark;
  --color-primary: #9bc3ff;
  --color-primary-strong: #c1d9ff;
  --color-secondary: #729bc2;
  --color-accent-soft: #1c3955;
  --color-bg: #0b1523;
  --color-bg-alt: #172a40;
  --color-surface: #14263b;
  --color-surface-glass: rgb(19 37 58 / .86);
  --color-surface-glass-strong: rgb(19 36 56 / .95);
  --color-glass-edge: rgb(148 187 226 / .18);
  --color-nav-glass: rgb(25 46 71 / .76);
  --color-on-surface: #e8f0fa;
  --color-muted: #afc0d3;
  --color-line: #2b4560;
  --color-line-strong: #456584;
  --color-halo: #244769;
  --color-on-brand: #ffffff;
  --color-auth-copy: #d6e5f6;
  --gradient-brand: linear-gradient(135deg, #3b82d2 0%, #2c67b1 58%, #24518d 100%);
  --gradient-brand-hover: linear-gradient(135deg, #4a92df 0%, #3577c4 58%, #2a5b9a 100%);
  --gradient-app: radial-gradient(circle at 82% -8%, rgb(38 87 140 / .33), transparent 35%), radial-gradient(circle at 10% 92%, rgb(25 73 120 / .23), transparent 40%), linear-gradient(160deg, #0b1523, #101f31);
  --gradient-panel: linear-gradient(145deg, rgb(28 48 70 / .97), rgb(17 34 53 / .92));
  --gradient-panel-head: linear-gradient(115deg, #1b334e, #152c45 58%, #172b41);
  --gradient-user: linear-gradient(140deg, #213e5b, #19344f);
  --gradient-auth: radial-gradient(circle at 76% 17%, rgb(72 141 209 / .27), transparent 34%), linear-gradient(145deg, #0c1a2d, #1a4274);
  --shadow-panel: 0 14px 38px rgb(0 7 18 / .28), inset 0 1px 0 rgb(174 207 241 / .08);
  --shadow-button: 0 6px 16px rgb(0 7 18 / .32), inset 0 1px 0 rgb(255 255 255 / .16);
  --shadow-button-hover: 0 9px 22px rgb(0 7 18 / .38);
  --shadow-composer: 0 -8px 24px rgb(0 7 18 / .26);
  --color-success: #a6dfbd;
  --color-success-soft: #173a2d;
  --color-warning: #f4cd8f;
  --color-warning-soft: #3b3020;
  --color-danger: #ffaaa9;
  --color-danger-soft: #42262d;
  --color-action-success: #247657;
  --color-action-explore: #6551ac;
  --color-action-warning: #936211;
  --color-action-danger: #a84750;
  --gradient-action-success: linear-gradient(135deg, #328a68, #247657);
  --gradient-action-explore: linear-gradient(135deg, #7b67c6, #6551ac);
  --gradient-action-warning: linear-gradient(135deg, #ae791b, #936211);
  --gradient-action-danger: linear-gradient(135deg, #c65a63, #a84750);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--color-bg); background-image: var(--gradient-app); color: var(--color-on-surface); font: 400 var(--ui-font)/1.5 var(--font-sans); }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
img, svg { max-width: 100%; }
a { color: var(--color-primary); text-decoration-thickness: 1px; text-underline-offset: .2em; }
a:hover { color: var(--color-primary-strong); }
:focus-visible { outline: 3px solid var(--color-primary); outline-offset: 3px; }
::selection { background: var(--color-secondary); color: var(--color-on-surface); }
input, textarea { caret-color: var(--color-primary); }
* { scrollbar-width: thin; scrollbar-color: var(--color-secondary) var(--color-bg); }
time, .big-number { font-variant-numeric: tabular-nums; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--font-display); line-height: 1.15; letter-spacing: -.03em; }
h1 { font-size: var(--ui-title); }
h2 { font-size: var(--ui-subtitle); }
h3 { font-size: var(--ui-subtitle); }
small { font-size: .8em; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
