/* Semantic colors are shared by every screen and dialog. */
:root{
  --font-scale:1;--font-ui:Inter,ui-sans-serif,system-ui,sans-serif;
  --canvas:#f5f7fa;--surface:#ffffff;--surface-soft:#f1f5fb;--surface-hover:#e9eef6;
  --text:#1a2a41;--muted:#52657e;--subtle:#596c84;--border:#d8e1ed;
  --sidebar:#142238;--sidebar-text:#e5edf8;--sidebar-muted:#aebdd1;--sidebar-active:#294767;
  --accent:#205bc9;--accent-hover:#16479f;--accent-soft:#eaf1ff;--accent-ink:#2053a8;--on-accent:#ffffff;
  --notice-bg:#fff8e9;--notice-text:#74561f;--notice-border:#e3d2aa;
  --success-bg:#e6f5ec;--success-text:#28613d;--danger-bg:#fff0ed;--danger-text:#963d35;
  --shadow:0 12px 36px #14223818;--focus:#2262df;--control-border:#7c8ba0;
}
:root[data-color-mode="dark"]{
  --canvas:#111722;--surface:#1a2230;--surface-soft:#222d3d;--surface-hover:#2c394d;
  --text:#edf2fa;--muted:#b7c5d8;--subtle:#a4b6cd;--border:#39475b;
  --sidebar:#0c111a;--sidebar-text:#edf2fa;--sidebar-muted:#afbed2;--sidebar-active:#273a54;
  --accent:#93b9ff;--accent-hover:#b2cdff;--accent-soft:#263d62;--accent-ink:#c0d6ff;--on-accent:#0c1b32;
  --notice-bg:#332b1b;--notice-text:#edce92;--notice-border:#6f5a32;
  --success-bg:#183c2a;--success-text:#a5e2bc;--danger-bg:#412729;--danger-text:#ffb9b0;
  --shadow:0 12px 36px #00000050;--focus:#a4c7ff;--control-border:#7a8ba3;
}
:root[data-color-mode="oled"]{
  --canvas:#000000;--surface:#000000;--surface-soft:#101010;--surface-hover:#1b1b1b;
  --text:#f5f5f5;--muted:#c2c2c2;--subtle:#aeaeae;--border:#404040;
  --sidebar:#000000;--sidebar-text:#f5f5f5;--sidebar-muted:#c0c0c0;--sidebar-active:#171d29;
  --accent:#a3c2ff;--accent-hover:#c0d6ff;--accent-soft:#12213b;--accent-ink:#c4d9ff;--on-accent:#07152a;
  --notice-bg:#211b0e;--notice-text:#f4d89f;--notice-border:#6f5a32;
  --success-bg:#0b2517;--success-text:#afe9c3;--danger-bg:#2c1112;--danger-text:#ffc2bb;
  --shadow:none;--focus:#bed6ff;--control-border:#757575;
}
:root[data-accent="emerald"]{--accent:#126741;--accent-hover:#0d5032;--accent-soft:#e5f5ed;--accent-ink:#125333;--focus:#126741}
:root[data-accent="violet"]{--accent:#6b3ac6;--accent-hover:#54259f;--accent-soft:#f1eaff;--accent-ink:#5c2da8;--focus:#6b3ac6}
:root[data-accent="amber"]{--accent:#865009;--accent-hover:#683c04;--accent-soft:#fff2da;--accent-ink:#734407;--focus:#865009}
:root:is([data-color-mode="dark"],[data-color-mode="oled"])[data-accent="emerald"]{--accent:#8bd6ad;--accent-hover:#b0e7c8;--accent-soft:#15362a;--accent-ink:#b8ecd0;--focus:#9ce3bd}
:root:is([data-color-mode="dark"],[data-color-mode="oled"])[data-accent="violet"]{--accent:#c9a9ff;--accent-hover:#dfcaff;--accent-soft:#352548;--accent-ink:#e2ccff;--focus:#d2b8ff}
:root:is([data-color-mode="dark"],[data-color-mode="oled"])[data-accent="amber"]{--accent:#f0c681;--accent-hover:#ffe0aa;--accent-soft:#3d2d16;--accent-ink:#ffdfa7;--focus:#ffdda0}
:root[data-contrast="high"]{--muted:var(--text);--subtle:var(--text);--border:#61728a;--control-border:var(--text);--sidebar-muted:var(--sidebar-text)}
:root[data-contrast="high"]:is([data-color-mode="dark"],[data-color-mode="oled"]){--border:#a9b8ce}
html{background:var(--canvas)}body{background:var(--canvas);color:var(--text);font-family:var(--font-ui)}
button,input,select,textarea{font-family:inherit}a{color:var(--accent)}
:focus-visible{outline:3px solid var(--focus)!important;outline-offset:3px}
.sidebar,.login{background:var(--sidebar)}.sidebar{color:var(--sidebar-text)}
.brand,.sidebar-bottom strong,.owner{color:var(--sidebar-text)}.brand-mark{color:var(--accent)}
.workspace-label,.sidebar-bottom p,.owner small{color:var(--sidebar-muted)}
nav button{color:var(--sidebar-text)}nav button:hover{background:var(--sidebar-active)}nav button.active{background:var(--sidebar-active);box-shadow:inset 3px 0 0 var(--accent)}
.owner{border-color:var(--border)}.avatar{background:var(--sidebar-active);color:var(--sidebar-text);border-color:var(--border)}
.avatar.small{background:var(--surface-soft);color:var(--text);border-color:var(--border)}
.topbar,.panel,.metric,.login-box,dialog{background:var(--surface);color:var(--text);border-color:var(--border)}
.topbar,.topbar strong,.breadcrumb,.mobile-menu{color:var(--muted)}.slash{color:var(--subtle)}
.environment,.notice.warning{background:var(--notice-bg);color:var(--notice-text);border-color:var(--notice-border)}
.environment>span:last-of-type,.environment .text-button{color:var(--notice-text)}
.environment .status-dot{background:var(--notice-text)}
.button{background:var(--surface);color:var(--text);border-color:var(--border)}.button:hover{background:var(--surface-hover)}
.button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:none}.button.primary:hover{background:var(--accent-hover)}
.eyebrow,.text-button,.tab.active{color:var(--accent)}.tab.active:after{background:var(--accent)}
.subtitle,.metric-label,.metric-note,.overline,.pipeline-item span,.pipeline-item small,.legend,.connection-row small,.connection-foot,.hint,.tag,.ledger th,.ledger td small,.table-foot,.accounting-note,.provider-card p,.provider-card dt,.customer-card p,.tab,.audit-item small,.footer,.login-box p,label,label small{color:var(--muted)}
.metric-icon,.icon-button,.base-currency{color:var(--subtle)}
.panel-head,.pipeline-item,.connection-foot,.tabs,.ledger th,.ledger td,.table-foot,.form-actions,.audit-item,.dialog-heading,.divider,.footer{border-color:var(--border)}
.provider-logo,.empty-mark,.tab .count,.tag{background:var(--surface-soft);color:var(--accent-ink);border-color:var(--border)}
.progress-line{background:var(--surface-soft)}.progress-line span{background:var(--accent)}
.ledger th,.footer{background:var(--surface)}.empty,.empty p{color:var(--muted)}.empty h3{color:var(--text)}
.filters input,.filters select,label input,label select,label textarea{background:var(--surface);color:var(--text);border-color:var(--border)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
.notice{background:var(--surface-soft);color:var(--muted);border-color:var(--border)}
.tag.ready,.tag.paid,.tag.succeeded,.tag.completed{background:var(--success-bg);color:var(--success-text)}
.tag.pending,.tag.unknown,.tag.review,.tag.unverified{background:var(--notice-bg);color:var(--notice-text)}
.tag.blocked,.tag.failed,.tag.refunded{background:var(--danger-bg);color:var(--danger-text)}
.tag.sandbox{background:var(--accent-soft);color:var(--accent-ink)}.danger-text,#login-error{color:var(--danger-text)}
.provider-card dd,.stats-inline,.stats-inline b{color:var(--text)}.review-flags,.quote-notice{color:var(--notice-text)}
.preview-frame{background:var(--surface)}.skip{background:var(--surface);color:var(--text)}
#toast{background:var(--text);color:var(--canvas);border-color:var(--border);box-shadow:var(--shadow)}
dialog{box-shadow:var(--shadow)}dialog::backdrop{background:#00000088}
.route-option{background:var(--surface);border-color:var(--border)}.route-option small{color:var(--muted)}
.button:not(.primary),.filters input,.filters select,label input:not([type="radio"]):not([type="checkbox"]),label select,label textarea{border-color:var(--control-border)}
/* Preferences surface. */
.settings-tabs{margin-bottom:26px}.settings-tabs .tab{font-size:calc(13px * var(--font-scale));padding-inline:3px}
.preferences-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr);gap:22px;align-items:start}
.preferences-layout .panel-body{padding:25px}.preferences-layout h2{font-size:calc(16px * var(--font-scale))}
.preferences-layout fieldset{border:0;margin:0;padding:0;min-width:0}.preferences-layout legend{font-size:calc(13px * var(--font-scale));font-weight:600;color:var(--text);margin-bottom:15px}
.mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.theme-choice{display:block;position:relative;border:2px solid var(--border);border-radius:10px;overflow:hidden;cursor:pointer;gap:0;color:var(--text);background:var(--surface)}
.theme-choice:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.theme-choice:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:4px}
.theme-choice input{position:absolute;bottom:17px;left:14px;width:15px;height:15px;margin:0;accent-color:var(--accent)}
.theme-preview{display:grid;place-items:center;height:104px;background:#e9edf3;padding:18px 23px}
.theme-preview-box{display:flex;gap:9px;align-items:center;width:100%;border-radius:6px;padding:14px;background:#fff;border:1px solid #cfd7e2}
.theme-preview-icon{height:24px;width:24px;background:#edf0f5;border-radius:5px;flex-shrink:0}.theme-preview-lines{flex:1;display:grid;gap:7px}.theme-preview-lines i{display:block;height:6px;background:#40516b;border-radius:3px}.theme-preview-lines i:last-child{width:64%;opacity:.65}
.theme-preview[data-preview="dark"]{background:#17202e}.theme-preview[data-preview="dark"] .theme-preview-box{background:#263347;border-color:#40506a}.theme-preview[data-preview="dark"] .theme-preview-icon{background:#40506a}.theme-preview[data-preview="dark"] i{background:#c1cfe1}
.theme-preview[data-preview="oled"]{background:#000}.theme-preview[data-preview="oled"] .theme-preview-box{background:#080808;border-color:#3c3c3c}.theme-preview[data-preview="oled"] .theme-preview-icon{background:#242424}.theme-preview[data-preview="oled"] i{background:#c7c7c7}
.theme-preview[data-preview="system"]{background:linear-gradient(120deg,#e9edf3 0 50%,#17202e 50%)}.theme-preview[data-preview="system"] .theme-preview-box{background:linear-gradient(120deg,#fff 0 50%,#263347 50%);border-color:#8c9ab0}.theme-preview[data-preview="system"] i{background:#7e8da4}
.theme-choice-label{display:flex;justify-content:space-between;align-items:center;min-height:52px;padding:12px 13px 12px 39px;font-size:calc(13px * var(--font-scale));font-weight:550;line-height:1.5}.selected-mark{opacity:0;color:var(--accent)}.theme-choice:has(input:checked) .selected-mark{opacity:1}
.preference-help{font-size:calc(12px * var(--font-scale));color:var(--muted);line-height:1.7;margin:0 0 20px}
.accent-grid{display:flex;flex-wrap:wrap;gap:10px}.accent-choice{display:flex;flex-direction:row;align-items:center;gap:7px;padding:9px 11px;border:1px solid var(--border);border-radius:6px;font-size:calc(12px * var(--font-scale));cursor:pointer}.accent-choice input{width:14px;accent-color:var(--accent);margin:0}.accent-swatch{height:13px;width:13px;border-radius:50%;background:var(--swatch);display:inline-block}
.preference-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:18px 0;border-bottom:1px solid var(--border)}.preference-row:last-child{border-bottom:0}.preference-row strong{display:block;font-size:calc(13px * var(--font-scale));color:var(--text);font-weight:550}.preference-row small{display:block;color:var(--muted);font-size:calc(11px * var(--font-scale));line-height:1.7;margin-top:4px;max-width:360px}
.preference-row>div{flex:1;min-width:0}
.switch{position:relative;display:block;align-self:center;flex:0 0 44px;width:44px;height:44px;margin:0}
.switch input{position:absolute;inset:0;z-index:1;opacity:0;width:100%;height:100%;margin:0;padding:0;border:0;cursor:pointer}
.switch-track{position:absolute;display:block;top:10px;left:1px;height:24px;width:42px;border-radius:14px;background:var(--surface-hover);border:1px solid var(--subtle);pointer-events:none}
.switch-track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--muted);transition:transform .15s ease}
.switch input:checked+.switch-track{background:var(--accent);border-color:var(--accent)}
.switch input:checked+.switch-track:after{background:var(--on-accent);transform:translateX(18px)}
.switch:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px;border-radius:8px}
[data-focus="strong"] .switch:has(input:focus-visible){outline-width:4px;outline-offset:5px;box-shadow:0 0 0 7px var(--surface)}
.font-preview{border:1px solid var(--border);border-radius:7px;padding:20px;background:var(--surface-soft);margin-top:18px}.font-preview strong{display:block;font-size:calc(19px * var(--font-scale));font-weight:550}.font-preview p{font-size:calc(13px * var(--font-scale));color:var(--muted);margin:8px 0 0;line-height:1.8}.font-preview a{font-size:calc(12px * var(--font-scale))}
.preferences-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.preference-status{font-size:calc(11px * var(--font-scale));color:var(--muted);margin-top:17px}
[data-spacing="wide"] body{line-height:1.9}[data-spacing="wide"] :is(p,small,label,.hint,.subtitle,.review-flags){line-height:1.9}
[data-underline="true"] a,[data-underline="true"] .text-button{text-decoration:underline!important;text-underline-offset:3px}
[data-focus="strong"] :focus-visible{outline-width:4px!important;outline-offset:5px!important;box-shadow:0 0 0 7px var(--surface)!important}
[data-motion="reduce"] *,[data-motion="reduce"] *:before,[data-motion="reduce"] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(max-width:1100px){.preferences-layout{grid-template-columns:1fr}.preferences-layout .panel-body{padding:22px}}
@media(max-width:650px){.mode-grid{gap:11px}.theme-preview{height:85px;padding:15px}.theme-preview-box{padding:10px}.theme-choice-label{font-size:calc(12px * var(--font-scale));padding-left:35px}.theme-choice input{left:11px;bottom:18px}.preference-row{gap:17px}.preferences-layout .panel-body{padding:18px}.accent-choice{padding:9px}}
@media(forced-colors:active){.theme-choice,.accent-choice,.switch-track{border:2px solid ButtonText}.theme-choice:has(input:checked){border-color:Highlight}.theme-choice input,.accent-choice input{forced-color-adjust:auto}.switch input{opacity:1;position:static}.switch-track{display:none}.selected-mark{color:Highlight}}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
