/* Continuum: one source for visual tokens, with bridges for existing components. */
html:root {
  color-scheme:dark;
  --ds-bg:#08080c; --ds-surface:#111118; --ds-raised:#191923; --ds-hover:#22212e;
  --ds-ink:#f4f2fa; --ds-muted:#b6b2c6; --ds-subtle:#9994ac;
  --ds-line:#32303f; --ds-line-soft:#25232f; --ds-line-strong:#545063;
  --ds-brand:#a697ff; --ds-brand-hover:#c4b8ff; --ds-brand-soft:rgba(157,131,255,.12);
  --ds-violet:#c8a6e9; --ds-midnight:#10101d;
  --ds-positive:#6bdab0; --ds-positive-soft:rgba(64,190,141,.12);
  --ds-warning:#f0c17b; --ds-warning-soft:rgba(220,163,70,.12);
  --ds-danger:#ff9da8; --ds-danger-soft:rgba(240,97,119,.12);
  --ds-action-bg:#d8cfff; --ds-action-ink:#241b38; --ds-action-hover:#eee7ff;
  --ds-type-caption:12px; --ds-type-label:14px; --ds-type-body:15px; --ds-type-title:34px; --ds-type-metric:28px;
  --ds-control-height:44px; --ds-layer-dialog:80;
  --ds-font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ds-serif:Georgia,"Times New Roman",serif;
  --ds-space-1:4px; --ds-space-2:8px; --ds-space-3:12px; --ds-space-4:16px;
  --ds-space-5:24px; --ds-space-6:32px; --ds-space-7:48px; --ds-space-8:64px;
  --ds-radius-sm:8px; --ds-radius:12px; --ds-radius-lg:18px;
  --ds-shadow:0 8px 30px rgba(0,0,0,.18); --ds-shadow-floating:0 24px 80px rgba(0,0,0,.5);
  --ds-focus:0 0 0 3px rgba(166,151,255,.22);
  --ds-ease:cubic-bezier(.2,.7,.2,1); --ds-transition:180ms var(--ds-ease);
}
html:root[data-theme="light"] {
  color-scheme:light;
  --ds-bg:#f5f3fa; --ds-surface:#fff; --ds-raised:#f0edf7; --ds-hover:#e7e2f2;
  --ds-ink:#201d2b; --ds-muted:#625b75; --ds-subtle:#716982;
  --ds-line:#d5cfdf; --ds-line-soft:#e4dfec; --ds-line-strong:#ada3bf;
  --ds-brand:#6144cb; --ds-brand-hover:#4d30b5; --ds-brand-soft:rgba(100,70,200,.08);
  --ds-positive:#177354; --ds-warning:#855714; --ds-danger:#b33351;
  --ds-shadow:0 8px 30px rgba(40,20,70,.05);
}
@media(prefers-color-scheme:light) {
  html:root[data-theme="system"] {
    color-scheme:light;
    --ds-bg:#f5f3fa; --ds-surface:#fff; --ds-raised:#f0edf7; --ds-hover:#e7e2f2;
    --ds-ink:#201d2b; --ds-muted:#625b75; --ds-subtle:#716982;
    --ds-line:#d5cfdf; --ds-line-soft:#e4dfec; --ds-line-strong:#ada3bf;
    --ds-brand:#6144cb; --ds-brand-hover:#4d30b5; --ds-brand-soft:rgba(100,70,200,.08);
    --ds-positive:#177354; --ds-warning:#855714; --ds-danger:#b33351;
    --ds-shadow:0 8px 30px rgba(40,20,70,.05);
  }
}
/* Alias layer keeps existing rendering and theme controls compatible. */
html:root,html:root[data-theme] {
  --rq-bg:var(--ds-bg); --rq-bg-elevated:var(--ds-surface); --rq-bg-subtle:var(--ds-raised);
  --rq-bg-hover:var(--ds-hover); --rq-bg-active:var(--ds-brand-soft);
  --rq-text:var(--ds-ink); --rq-text-primary:var(--ds-ink); --rq-text-secondary:var(--ds-muted);
  --rq-text-tertiary:var(--ds-subtle); --rq-text-disabled:var(--ds-subtle);
  --rq-border:var(--ds-line); --rq-border-soft:var(--ds-line-soft); --rq-border-strong:var(--ds-line-strong);
  --rq-primary:var(--ds-brand); --rq-primary-hover:var(--ds-brand-hover); --rq-primary-soft:var(--ds-brand-soft);
  --rq-primary-medium:var(--ds-brand-soft); --rq-primary-border:var(--ds-line-strong);
  --rq-success:var(--ds-positive); --rq-success-soft:var(--ds-positive-soft);
  --rq-warning:var(--ds-warning); --rq-warning-soft:var(--ds-warning-soft);
  --rq-danger:var(--ds-danger); --rq-danger-soft:var(--ds-danger-soft);
  --rq-sidebar:#08080e; --rq-sidebar-elevated:#11111b; --rq-sidebar-hover:#191724;
  --rq-sidebar-active:#242032; --rq-sidebar-text:#f4f2fa; --rq-sidebar-muted:#b6b2c6; --rq-sidebar-border:#272330;
  --rq-chart-primary:var(--ds-brand); --rq-chart-secondary:var(--ds-violet); --rq-chart-grid:var(--ds-line-soft); --rq-chart-axis:var(--ds-subtle);
  --rq-shadow-xs:0 1px 3px rgba(0,0,0,.1); --rq-shadow-sm:var(--ds-shadow); --rq-shadow-md:var(--ds-shadow); --rq-shadow-floating:var(--ds-shadow-floating);
  --rq-radius-sm:var(--ds-radius-sm); --rq-radius-md:var(--ds-radius); --rq-radius-lg:var(--ds-radius-lg); --rq-transition:var(--ds-transition);
  --primary:var(--ds-brand); --primary-hover:var(--ds-brand-hover); --primary-active:var(--ds-brand-hover); --primary-soft:var(--ds-brand-soft); --primary-border:var(--ds-line-strong);
  --background:var(--ds-bg); --surface:var(--ds-surface); --surface-secondary:var(--ds-raised); --surface-accent:var(--ds-raised);
  --text:var(--ds-ink); --text-secondary:var(--ds-muted); --text-muted:var(--ds-subtle);
  --border:var(--ds-line); --border-strong:var(--ds-line-strong);
  --success:var(--ds-positive); --success-soft:var(--ds-positive-soft); --success-border:var(--ds-positive);
  --warning:var(--ds-warning); --warning-soft:var(--ds-warning-soft); --danger:var(--ds-danger); --danger-soft:var(--ds-danger-soft);
  --info:var(--ds-brand); --info-soft:var(--ds-brand-soft); --radius:var(--ds-radius); --radius-small:var(--ds-radius-sm);
  --shadow:var(--ds-shadow); --shadow-hover:var(--ds-shadow); --shadow-primary:var(--ds-focus);
}
html body.requote-app,html body.requote-landing {
  --m-ink:var(--ds-ink); --m-muted:var(--ds-muted); --m-line:var(--ds-line);
  --m-surface:var(--ds-surface); --m-background:var(--ds-bg); --m-brand:var(--ds-brand);
  --m-radius:var(--ds-radius-lg); --m-gap:var(--ds-space-5); --m-touch:48px;
}
*,*::before,*::after{box-sizing:border-box}
body{font-family:var(--ds-font);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:inherit}
.rq-icon{display:inline-block;flex:none;width:20px;height:20px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
:is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--ds-brand-hover);outline-offset:3px;box-shadow:var(--ds-focus)}
button,a,input,select,textarea{transition:background-color var(--ds-transition),border-color var(--ds-transition),color var(--ds-transition),box-shadow var(--ds-transition)}
input::placeholder,textarea::placeholder{color:var(--ds-subtle);opacity:1}
[hidden]{display:none!important}
[data-feedback=success]{color:var(--ds-positive)!important}
[data-feedback=error]{color:var(--ds-danger)!important}
[role=status][aria-busy=true]{border-left:2px solid var(--ds-brand);padding-left:12px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Shared product primitives: landing, access, operations and administration. */
:is(.requote-app,.requote-admin,.requote-landing,.login-page) :is(button,input,select,textarea){font-family:var(--ds-font)}
:is(.rq-analysis-fact,.rq-operating-metrics,.rq-preview-value,.rq-quotes-summary-item,.stat) strong{font-variant-numeric:tabular-nums;letter-spacing:-.035em}
:is(.rq-primary-button,.rq-button-primary,.login-button,.primary-button,.save-button):disabled{cursor:not-allowed;opacity:.6;box-shadow:none;transform:none}
:is(.rq-primary-button,.rq-button-primary,.login-button,.primary-button,.save-button):active:not(:disabled){transform:translateY(1px)}
:is(.rq-analysis-state,.rq-state-pill,.rq-preview-state){font-variant-numeric:tabular-nums}
@media(hover:hover){:is(.rq-primary-button,.rq-button-primary,.login-button,.primary-button,.save-button):not(:disabled):hover{filter:brightness(1.06)}}
@media(max-width:820px){:is(.requote-app,.requote-admin,.login-page) :is(input[type=email],input[type=password],input[type=text],textarea){font-size:16px}}
