/* V3 shared tokens and migration adapter for existing client components.
   Replaces reference-ui.css in public shell; no business component is forked. */
:root{--page-bg:#f8faff;--surface:#fff;--surface-muted:#f4f7fc;--surface-strong:#eaf3ff;--text-primary:#091639;--text-secondary:#596984;--border:#e3e9f2;--brand:#0861e9;--brand-hover:#0452cc;--brand-ink:#0757c4;--navy:#062765;--success:#14754e;--danger:#b32745;--shadow-soft:0 8px 24px #18385e0c;--focus:#1765ed;--radius-sm:10px;--radius-md:14px;--radius-lg:18px}
html[data-theme=dark]{--page-bg:#0b1220;--surface:#111d2e;--surface-muted:#162338;--surface-strong:#1a3150;--text-primary:#edf3ff;--text-secondary:#aab9cf;--border:#293b52;--brand:#2470ec;--brand-hover:#4388f7;--brand-ink:#8ebaff;--navy:#16489c;--success:#50cda0;--danger:#ff8ca1;--shadow-soft:0 8px 24px #0002}
html,body.cv1-body{--cv1-bg:var(--page-bg);--cv1-surface:var(--surface);--cv1-surface-subtle:var(--surface-muted);--cv1-surface-raised:var(--surface-strong);--cv1-ink:var(--text-primary);--cv1-muted:var(--text-secondary);--cv1-faint:var(--text-secondary);--cv1-line:var(--border);--cv1-line-strong:var(--border);--cv1-brand:var(--brand);--cv1-brand-dark:var(--brand-hover);--cv1-brand-soft:var(--surface-strong);--cv1-sidebar:var(--surface);--cv1-sidebar-muted:var(--text-secondary);--cv1-positive:var(--success);--cv1-critical:var(--danger);background:var(--page-bg);color:var(--text-primary)}
body.pf-body{--cp-navy:var(--page-bg);--cp-navy-2:var(--surface-muted);--cp-panel:var(--surface);--cp-panel-soft:var(--surface-muted);--cp-panel-raised:var(--surface-strong);--cp-blue:var(--brand);--cp-blue-hover:var(--brand-hover);--cp-text:var(--text-primary);--cp-muted:var(--text-secondary);--cp-line:var(--border);--cp-max:1320px;--pf-max:1320px;--pf-text:var(--text-primary);--pf-muted:var(--text-secondary);--pf-bg:var(--page-bg);font-size:15px;color:var(--text-primary);background:var(--page-bg)}
.pf-header{position:sticky;top:0;z-index:50;background:var(--surface);border-bottom:1px solid var(--border)}.pf-header-inner{width:min(1320px,calc(100% - 48px));min-height:72px;display:flex;align-items:center;margin-inline:auto;padding:0;gap:26px}.pf-brand{display:flex;align-items:center;gap:8px;font-size:25px;line-height:1;min-height:44px;min-width:120px}.pf-brand strong{color:var(--text-primary);font-weight:780;letter-spacing:-1.1px}.pf-brand small{display:block;color:var(--text-secondary);font-size:10px;letter-spacing:-.1px;margin-top:5px}.kv-brand-mark{font-size:40px;font-weight:900;color:var(--brand);letter-spacing:-6px;padding-right:6px;line-height:1;font-family:Arial,sans-serif}.pf-navigation{flex:1;display:flex;gap:18px;justify-content:center;align-items:center}.pf-navigation>a{font-size:13px;font-weight:500;min-height:44px;color:var(--text-primary)}.pf-header-actions{display:flex;align-items:center;gap:8px;flex:none}.pf-header-actions .pf-login{background:var(--surface-muted);color:var(--brand-ink);border-radius:10px;padding:10px;min-height:44px}.pf-header-actions .hp-header-cta{min-height:44px;padding-inline:18px;background:var(--navy);border-color:var(--navy);color:#fff;font-size:13px}.hp-theme-trigger{padding:0 10px;background:var(--surface);color:var(--text-secondary);border-color:var(--border);border-radius:10px}.hp-theme-trigger [data-theme-label]{display:none}.pf-main{width:min(1320px,calc(100% - 48px));margin-inline:auto;padding:20px 0 28px;min-height:calc(100vh - 230px)}.pf-footer{width:min(1320px,calc(100% - 48px));margin-inline:auto;border-color:var(--border);display:grid;grid-template-columns:1fr auto;gap:14px;padding:24px 0 30px}.pf-footer>div{display:flex;align-items:center;gap:22px}.pf-footer p{font-size:13px;max-width:330px;color:var(--text-secondary);margin:0}.pf-footer nav{font-size:13px;display:flex;gap:16px;align-items:center}.pf-footer small{font-size:13px;color:var(--text-secondary)}
.cv1-body a.cv1-button-primary,.cv1-body button.cv1-button-primary,.cv1-body .cp-button-primary{color:#fff;background:var(--brand);border-color:var(--brand)}.cv1-body a.cv1-button-primary:hover,.cv1-body button.cv1-button-primary:hover{color:#fff;background:var(--brand-hover);border-color:var(--brand-hover)}.cv1-body a.cv1-button-secondary,.cv1-body button.cv1-button-secondary{background:var(--surface);color:var(--text-primary);border-color:var(--border)}.cv1-button{min-height:44px;border-radius:10px;font-weight:600}.cv1-body :is(input,select,textarea){max-width:100%;font-size:16px}.cv1-body :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--focus);outline-offset:3px}.cv1-body button{cursor:pointer}.cv1-body button:disabled{cursor:wait;opacity:.65}.cv1-body :is(h2,h3,h4){color:var(--text-primary)}
.cv1-sidebar{background:var(--surface);border-right:1px solid var(--border)}.cv1-sidebar .cv1-logo-word,.cv1-sidebar .cv1-nav-link{color:var(--text-primary)}.cv1-sidebar .cv1-nav-link.is-active{background:var(--surface-strong);color:var(--brand-ink)}.cv1-sidebar .cv1-nav-label,.cv1-sidebar .cv1-logo-copy small{color:var(--text-secondary)}.cv1-topbar{background:var(--surface);border-color:var(--border)}.cv1-topbar-title{color:var(--text-primary)}.cv1-sidebar-note{background:var(--surface-muted);color:var(--text-primary);border-color:var(--border)}.cv1-main{max-width:1360px}.cv1-account-popover,.cv1-mobile-nav{background:var(--surface);border-color:var(--border)}
.cw-page .cw-hero{padding:4px 0 22px}.cw-page .cw-hero h1{font-size:36px;letter-spacing:-1px}.cw-page .cw-hero p{font-size:15px;max-width:660px}.cw-mode-tabs{flex-wrap:wrap}.cw-mode-tabs>a{min-height:44px}.cp-page-hero{padding-block:16px 24px}.cp-page-hero h1,.pf-page-hero h1{font-size:38px;line-height:1.15;letter-spacing:-1px}.cp-card{background:var(--surface);border-color:var(--border)}
html[data-theme=dark] .pf-body :is(.cp-empty,.cp-form-card,.cp-login-card,.pf-card,.pf-result-card,.cp-prose,.cp-directory-card,.cp-article-card){background:var(--surface);border-color:var(--border);color:var(--text-primary)}
.ps-dialog h2,.ps-dialog h3{color:inherit}.ps-dialog{color-scheme:dark}.cp-mobile-menu[open]>nav{background:var(--surface);border-color:var(--border);color:var(--text-primary)}.cp-mobile-menu nav a{min-height:44px;color:var(--text-primary)}
@media(max-width:1180px){.pf-navigation{display:none}.pf-header-inner{justify-content:space-between}.cp-mobile-menu{display:block}.pf-header-actions{gap:8px}.pf-main,.pf-header-inner,.pf-footer{width:calc(100% - 40px)}}
@media(max-width:768px){.pf-header-inner{min-height:64px}.pf-header-actions .hp-header-cta{display:none}.pf-footer{grid-template-columns:1fr}.pf-footer>div{align-items:flex-start}.pf-footer nav{flex-wrap:wrap}.cv1-topbar-title{font-size:15px}.cw-page .cw-hero h1,.cp-page-hero h1,.pf-page-hero h1{font-size:30px}.cv1-topbar-actions{gap:6px}}
@media(max-width:480px){.pf-main,.pf-header-inner,.pf-footer{width:calc(100% - 24px)}.pf-main{padding-top:12px}.pf-brand{font-size:23px;min-width:100px}.pf-brand .kv-brand-mark{font-size:34px}.pf-header-inner{gap:10px}.pf-header-actions>.pf-login[aria-label]{display:none}.pf-header-actions .pf-login{padding-inline:8px;font-size:13px}.pf-footer>div{flex-direction:column;gap:12px}.pf-footer nav{gap:8px 14px}.cv1-topbar .cv1-credit-pill{display:none}.cv1-topbar .cv1-topbar-cta{min-width:44px}.cv1-main{padding-inline:14px}}
.kv-auth-theme{position:fixed;z-index:60;top:14px;right:18px}.cv1-auth-page,.cv1-error-page{--cpa-bg:var(--page-bg);--cpa-panel:var(--surface);--cpa-panel-soft:var(--surface-muted);--cpa-panel-raised:var(--surface-strong);--cpa-text:var(--text-primary);--cpa-muted:var(--text-secondary);--cpa-faint:var(--text-secondary);--cpa-line:var(--border);--cpa-blue:var(--brand);--cpa-blue-hover:var(--brand-hover)}
.cv1-auth-page .cv1-auth-form label span,.cv1-auth-page .cv1-consent-list legend{font-size:13px}.cv1-auth-page .cv1-auth-form input{font-size:16px}.cv1-auth-page .cv1-auth-context{background:linear-gradient(135deg,var(--surface-strong),var(--surface-muted));color:var(--text-primary)}.cv1-auth-page .cv1-auth-context h2{font-size:34px;line-height:1.15}.cv1-auth-page .cv1-auth-preview{background:var(--surface);border-color:var(--border)}
.cw-page .cw-hero{padding:22px 24px}.cw-workbench{align-items:start;background:transparent}.cw-form-card{height:auto}.cw-result-card{min-width:0}
.cp-legal-main{display:flex;flex-direction:column}.cp-legal-rail{position:static;width:100%}.cp-legal-rail nav{display:flex;flex-wrap:wrap;gap:12px}.cp-legal-content{width:100%}
@media(max-width:480px){.kv-auth-theme{position:absolute;top:12px;right:14px}.cv1-auth-page .cv1-auth-context h2{font-size:28px}.cw-page .cw-hero{padding:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.pf-header-inner{flex-wrap:wrap;row-gap:4px;padding-block:6px}.pf-header-actions{min-width:0;flex-wrap:wrap;max-width:100%;margin-left:auto}.pf-navigation{min-width:0}.pf-header-actions .hp-header-cta{white-space:normal;text-align:center}.pf-header-actions .hp-theme-menu{max-width:calc(100vw - 32px)}
.kv-calculator-offers{border-top:1px solid var(--border);margin-top:20px;padding-top:18px}.kv-calculator-offers h3{font-size:18px;margin:0 0 8px}.kv-calculator-offers p{font-size:13px;color:var(--text-secondary)}.kv-calculator-offer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.kv-calculator-offer-list article{padding:12px;background:var(--surface-muted);border-radius:12px;display:grid;gap:6px}.kv-calculator-offer-list span{font-size:13px;color:var(--text-secondary)}
@media(max-width:480px){.pf-main,.pf-header-inner,.pf-footer{width:calc(100% - 32px)}.kv-calculator-offer-list{grid-template-columns:1fr}}

/* Existing signed-in components use the same V3 palette, not fixed light tokens. */
.cv1-body.cpg-app {
  color-scheme: light;
  --cpg-bg: var(--page-bg);
  --cpg-surface: var(--surface);
  --cpg-surface-raised: var(--surface-muted);
  --cpg-line: var(--border);
  --cpg-line-strong: var(--border);
  --cpg-text: var(--text-primary);
  --cpg-muted: var(--text-secondary);
  --cpg-faint: var(--text-secondary);
  --cpg-brand: var(--brand-ink);
  --cpg-positive: var(--success);
  --cpg-danger: var(--danger);
}
html[data-theme=dark] .cv1-body.cpg-app { color-scheme: dark; --cpg-warning: #f1c777; }
.cv1-body.cpg-app .cpg-start-card { background: var(--surface-strong); border-color: var(--border); }
.cv1-body.cpg-app :is(.cpg-start-icon,.cpg-empty-icon,.cpg-source-chips span) {
  background: var(--surface); border-color: var(--border); color: var(--text-primary);
}
.cv1-body.cpg-app .cpg-button--primary { background: var(--brand); border-color: var(--brand); color: #fff; }
.cv1-body.cp-workspace-page .cpg-button--primary { background: var(--brand); border-color: var(--brand); color: #fff; }
html[data-theme=dark] .cpg-app :is(.cpg-status--positive,.cpg-status--stable,.cpg-badge--positive) {
  background: #163a31; border-color: #2d5d4d;
}
html[data-theme=dark] .cpg-app :is(.cpg-status--attention,.cpg-status--review,.cpg-status--warning,.cpg-badge--warning) {
  background: #3b3020; border-color: #695338;
}
html[data-theme=dark] .cpg-app :is(.cpg-status--critical,.cpg-status--risk) {
  background: #3e2431; border-color: #674050;
}
.cv1-body .cv1-technical { background: var(--surface-muted); border-color: var(--border); }
.cv1-body .cv1-technical > summary,
.cv1-body .cv1-technical-content ul,
.cv1-body .cv1-technical-actions a { color: var(--text-secondary); }
.cv1-body .cv1-history-table-head { background: var(--surface-muted); }
.cv1-body .cv1-settings-nav { background: var(--surface); border-color: var(--border); }
.cv1-body :is(.cv1-source-badges > span,.cv1-bureau-state,.cv1-bureau-icon,
  .cv1-field-grid input,.cv1-history-row,.cv1-payment-method,
  .cv1-payment-method-actions button,.cv1-detach-dialog-card) {
  background: var(--surface); color: var(--text-primary); border-color: var(--border);
}
.cv1-body :is(.cv1-local-billing-note,.cv1-subscription-state,.cv1-period-toggle,
  .cv1-upload-progress li) { background: var(--surface-muted); border-color: var(--border); }
.cv1-body :is(.cv1-field-grid label > span,.cv1-local-billing-note,.cv1-local-billing-note strong,
  .cv1-upload-progress strong,.cv1-document-links a,.cv1-plan-card-commercial ul,
  .cv1-current-plan-actions button,.cv1-renew-consent small) { color: var(--text-secondary); }
.cv1-body .cv1-period-toggle button.is-active { background: var(--surface); }
.cv1-body :is(.cv1-bureau-slot:hover,.cv1-bureau-slot.is-dragging,.cv1-bureau-slot.has-file,
  .cv1-upload-progress li.is-active) { background: var(--surface-strong); border-color: var(--border); }
.cv1-body .cv1-upload-progress li.is-active strong { color: var(--text-primary); }
.cv1-body .cv1-sidebar-note strong { color: var(--text-primary); }
.cv1-body :is(.cv1-parameter-fields label > div,.cv1-extra-parameters input) {
  background: var(--surface); border-color: var(--border);
}
.cv1-body :is(.cv1-parameter-fields label > span,.cv1-extra-parameters label > span) {
  color: var(--text-secondary);
}
.cv1-body .cv1-partial-warning { color: var(--cv1-attention); border-color: var(--border); }
.cv1-partial-warning[hidden] { display: none; }
html[data-theme=dark] .cv1-body {
  color-scheme: dark;
  --cv1-positive-soft: #163a31;
  --cv1-attention: #f1c777;
  --cv1-attention-soft: #3b3020;
  --cv1-critical-soft: #3e2431;
}

/* A long native select must never impose its intrinsic width on the page. */
.cv1-history-filters {
  display: grid;
  grid-template-columns: minmax(160px,1fr) minmax(130px,.6fr) minmax(170px,.9fr) auto;
  gap: 12px;
}
.cv1-history-filters > * { min-width: 0; }
.cv1-history-filters .cv1-search-field { min-width: 0; grid-column: auto; }
.cv1-history-filters .cv1-search-field input { width: 0; flex: 1; }
.cv1-history-filters select { width: 100%; color: var(--text-primary); }
.cv1-history-filters .cv1-filter-reset { grid-column: 1 / -1; justify-self: start; }
@media(max-width:1100px) {
  .cv1-history-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cv1-history-filters .cv1-search-field { grid-column: 1 / -1; }
  .cv1-history-filters .cv1-button { grid-column: 1 / -1; }
}
@media(max-width:480px) {
  .cv1-history-filters { grid-template-columns: minmax(0,1fr); }
}
