/* MORPHEUS: additive presentation only; original bundles remain immutable. */
html:root {
  --qc-bg:#f5f7fa; --qc-card:#fff; --qc-subtle:#edf1f6;
  --qc-ink:#192638; --qc-muted:#536174; --qc-border:#d5dde7;
  --qc-faint:#e1e7ef; --qc-input-bg:#fff; --qc-placeholder:#65748a;
  --qc-accent:#2453dd; --qc-accent-hover:#1c42b5;
  --qc-accent-soft:#eaf0ff; --qc-accent-border:#c6d4fc;
  --qc-r-card:12px; --qc-r-btn:8px; --qc-r-input:8px;
  --qc-shadow:0 3px 12px rgba(25,38,56,.045);
  color-scheme:light;
}
html.qc-dark {
  --qc-bg:#0d1523; --qc-card:#152135; --qc-subtle:#1c2b41;
  --qc-ink:#edf2fa; --qc-muted:#b3c0d2; --qc-border:#35465f;
  --qc-faint:#293a53; --qc-input-bg:#152135; --qc-placeholder:#a5b4c9;
  --qc-accent:#9bb9ff; --qc-accent-hover:#b5cbff;
  --qc-accent-soft:#203357; --qc-accent-border:#405d90;
  color-scheme:dark;
}
html body { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif; }
html .qc-h1, html main h1 { font-size:clamp(1.85rem,3.5vw,3.1rem); line-height:1.16; letter-spacing:-.035em; }
html .qc-h1 .qc-ghost { opacity:1; }
html .qc-eyebrow { letter-spacing:.12em; }
html .qc-nav-inner { height:60px; gap:14px; }
html .qc-theme-btn, html .qc-menu-btn, html .qc-cat-link { min-height:44px; }
html .qc-theme-btn { min-width:44px; border-radius:8px; }
html .qc-nav-dropdown a, html .qc-mobile-links a { min-height:44px; display:flex; align-items:center; }
html :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid var(--qc-accent); outline-offset:3px; }
html :is(.card,.calculator-card,.result-card,.qc-card,.calc-card,.qc-hub-card) {
  border-radius:var(--qc-r-card)!important; box-shadow:var(--qc-shadow)!important;
  background:var(--qc-card)!important;
}
html .qc-panel-navy { background:var(--qc-navy,#102339)!important; box-shadow:none!important; }
html :is(.calculate-button,.btn-primary,.qc-btn,.cta) { background:#2453dd!important; color:#fff!important; min-height:46px; border-radius:8px; }
html :is(.calculate-button,.btn-primary,.qc-btn,.cta):hover { background:#1c42b5!important; }
html :is(input,select,textarea):not([type=range]):not([type=checkbox]):not([type=radio]):not(.input-wrap :is(input,select)) {
  min-height:44px; max-width:100%; min-width:0; font-size:16px; border-radius:8px;
}
html main .input-wrap { min-height:44px; }
html main .input-wrap :is(input,select) { max-height:38px; }
html input[type=range] { min-height:28px; accent-color:#2453dd; cursor:pointer; }
html :is(input[type=checkbox],input[type=radio]) { accent-color:#2453dd; }
html :is(.input-block,.form-group) > label { display:block; margin-bottom:6px; font-size:14px; line-height:1.5; }
html :is(.toggle-group,.term-row) { flex-wrap:wrap; }
html :is(.toggle-group,.term-row) button { min-height:44px; }
html :is(.result-big strong,.big,.stat b) { font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
html .breakdown li { flex-wrap:wrap; gap:4px 12px; }
html :is(.input-grid,.form-grid,.grid,.card,.calculator-card,.result-card,.qc-hero-left,.qc-hero-right)>* { min-width:0; }
html :is(.table-wrap,.table-container,.amortization) { max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; }
html :is(.qc-depth,.qc-editorial,.seo-section) { line-height:1.7; }
html .qc-depth { padding:24px; border-radius:12px; box-shadow:none; }
html .qc-depth .section-card { padding:20px; border-radius:10px; }
html .qc-depth :is(p,li), html .qc-prose { font-size:16px; }
html :is(.qc-depth,.qc-editorial) h2 { line-height:1.35; }
html details summary { min-height:44px; padding-block:9px; }
html details { border-radius:8px; }
html table { font-variant-numeric:tabular-nums; }
html :is(.qc-depth,.qc-editorial) table { display:block; max-width:100%; overflow-x:auto; }
html :is(.qc-depth,.qc-editorial) :is(td,th) { min-width:90px; padding:10px 12px; }
html footer { margin-top:48px; }
html footer a, html footer button { padding-block:6px!important; min-height:32px; }
html .calc-card:hover { transform:none; box-shadow:var(--qc-shadow); }
html .background-glow { display:none; }
/* Support pages and category hubs retain every original heading and paragraph. */
html main.max-w-3xl { padding-top:36px; padding-bottom:48px; }
html main[style*="1100"] { padding-top:36px!important; }
html .hero { background:none; }
html .hero p:not([class]) { margin-bottom:16px; }
html .hero.qc-hero-grid { padding-top:36px; }
html .hero-icon { width:44px; height:44px; margin-bottom:16px; }
/* Independent wage template: map its existing variables to the shared palette. */
html[data-qc-template=wage] {
  --bg:var(--qc-bg); --panel:var(--qc-card); --text:var(--qc-ink);
  --dim:var(--qc-muted); --text-78:var(--qc-ink); --text-85:var(--qc-ink);
  --line:var(--qc-border); --soft:var(--qc-card); --soft-4:var(--qc-card);
  --border2:var(--qc-border); --accent:var(--qc-accent); --link:var(--qc-accent);
  --hl:var(--qc-accent-soft); --hl2:var(--qc-subtle); --foot:var(--qc-subtle);
  --thead:var(--qc-muted); --nav-a:var(--qc-muted); --crumb:var(--qc-muted);
  --crumb-a:var(--qc-muted); --lede:var(--qc-muted); --stat-span:var(--qc-muted);
  --note:var(--qc-muted); --big-small:var(--qc-muted); --foot-a:var(--qc-muted);
  --header-bg:var(--qc-card); --calc-label:var(--qc-muted); --input-bg:var(--qc-card);
}
html[data-qc-template=wage] header { padding:8px max(16px,calc((100vw - 1120px)/2)); gap:20px; min-height:60px; }
html[data-qc-template=wage] .brand { font-weight:500; font-size:21px; white-space:nowrap; }
html[data-qc-template=wage] .logo { position:relative; background:none; border:5px solid var(--qc-accent); border-radius:9px; font-size:0; width:29px; height:29px; margin-right:3px; }
html[data-qc-template=wage] .logo::after { content:''; position:absolute; width:13px; height:5px; background:var(--qc-accent); border-radius:3px; transform:rotate(45deg); right:-10px; bottom:-5px; }
html[data-qc-template=wage] .mainnav { flex:1; align-items:center; }
html[data-qc-template=wage] .mainnav a { min-height:44px; display:flex; align-items:center; }
html[data-qc-template=wage] main { max-width:960px; padding:28px 20px 40px; }
html[data-qc-template=wage] main main { padding:0; }
html[data-qc-template=wage] .calc button { background:#2453dd; min-height:46px; border-radius:8px; }
html[data-qc-template=wage] .stat { background:var(--qc-subtle); border-radius:8px; }
html[data-qc-template=wage] .stat span { font-size:12px; }
html[data-qc-template=wage] .card table { display:block; overflow-x:auto; max-width:100%; }
html[data-qc-template=wage] .card :is(td,th) { min-width:110px; word-break:normal; }
/* Original React banner is hidden only once the independent adapter is ready. */
html.qc-consent-enhanced .cookie-banner { display:none!important; }
#qc-consent-compact { position:fixed; inset:auto 0 0; z-index:9999; background:var(--qc-card); color:var(--qc-ink); border-top:1px solid var(--qc-border); padding:12px 20px max(12px,env(safe-area-inset-bottom)); box-shadow:0 -3px 16px #1926380a; }
#qc-consent-compact .qc-consent-inner { max-width:1120px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:16px; }
#qc-consent-compact p { margin:0; font-size:14px; line-height:1.45; color:var(--qc-ink); }
.qc-consent-actions { display:flex; gap:8px; flex-wrap:wrap; }
#qc-consent-compact button, #qc-consent-details button { min-height:44px; padding:10px 14px; border:1px solid var(--qc-border); border-radius:8px; background:var(--qc-card); color:var(--qc-ink); font:600 14px/1.3 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; cursor:pointer; }
#qc-consent-compact button[data-choice=accept], #qc-consent-details button[data-choice=accept] { background:#2453dd; border-color:#2453dd; color:#fff; }
#qc-consent-compact a, #qc-consent-details a { color:var(--qc-accent); text-decoration:underline; }
#qc-consent-details { margin:auto; inset:0; width:min(520px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow:auto; padding:24px; background:var(--qc-card); color:var(--qc-ink); border:1px solid var(--qc-border); border-radius:12px; box-shadow:0 20px 70px #0004; }
#qc-consent-details::backdrop { background:#0d152399; }
#qc-consent-details h2 { margin:0 0 16px; font-size:22px; line-height:1.3; }
#qc-consent-details p { margin:0 0 16px; color:var(--qc-ink); font-size:16px; line-height:1.6; }
#qc-consent-details .qc-consent-actions { flex-direction:column; }
#qc-consent-spacer { height:var(--qc-consent-clearance,0px); }
@media(max-width:640px) {
  html .qc-nav-inner { height:60px; padding-inline:16px; gap:8px; }
  html .qc-wordmark { font-size:19px!important; }
  html .qc-menu-btn { padding-inline:12px; }
  html :is(.card,.calculator-card) { padding:20px 16px; }
  html .qc-depth { padding:20px 16px; }
  html .qc-depth .section-card { padding:16px 12px; }
  html .qc-depth .term-card { padding:12px; }
  html .qc-h1, html main h1 { font-size:30px!important; }
  html .hero { padding:24px 0 12px; }
  html .hero.qc-hero-grid { padding:28px 16px 0; gap:24px; }
  html .hero p { font-size:16px; }
  html .hero > div[style*="padding:8px 20px"] { padding:0!important; }
  html .result-big strong { font-size:clamp(25px,8vw,34px); }
  html main[style*="1100"] { padding:28px 16px 48px!important; }
  html main.max-w-3xl { padding:28px 16px 48px; }
  html[data-qc-template=wage] header { gap:4px; padding:10px 16px 0; }
  html[data-qc-template=wage] .mainnav { flex-basis:100%; flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; }
  html[data-qc-template=wage] .mainnav a { white-space:nowrap; padding:8px 10px; }
  html[data-qc-template=wage] .mainnav .qc-theme-btn { position:absolute; right:16px; top:6px; width:auto; white-space:nowrap; }
  html[data-qc-template=wage] main { padding:24px 16px 32px; }
  html[data-qc-template=wage] .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html[data-qc-template=wage] .stat { padding:12px; }
  #qc-consent-compact { padding:10px 12px max(10px,env(safe-area-inset-bottom)); }
  #qc-consent-compact .qc-consent-inner { display:block; }
  #qc-consent-compact p { font-size:14px; margin-bottom:8px; }
  #qc-consent-compact .qc-consent-actions { display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:6px; }
  #qc-consent-compact button { padding:8px 6px; font-size:14px; }
  #qc-consent-details { padding:20px; }
}
@media(prefers-reduced-motion:reduce) { html *, html *::before, html *::after { scroll-behavior:auto!important; } }

/* Parent Chrome accessibility audit: presentation-only repairs. */
html main :is(h1,h2,h3) { text-wrap:balance; }
html[data-qc-template=wage] footer p { color:var(--qc-muted)!important; }
html[data-qc-template=wage] p:is([style*="color:#626974"],[style*="color: #626974"]) { color:var(--qc-muted)!important; }
html .qc-crumb-sep { color:var(--qc-muted)!important; }
html[data-qc-page=home] .qc-panel-navy span:is([style*="color:var(--qc-seg-pi)"],[style*="color: var(--qc-seg-pi)"]) { color:#9bb9ff!important; }
html .mode-tab.active, html .calculate-btn, html .toggle-group button.active {
  background:#2453dd!important; color:#fff!important; border-color:#2453dd!important;
}
html:is([data-qc-page=tip-calculator],[data-qc-page=business-internet-cost],[data-qc-page=ai-receptionist-cost]) main button:is(
  [style*="background:var(--accent)"],[style*="background: var(--accent)"],
  [style*="background:var(--qc-accent)"],[style*="background: var(--qc-accent)"]
), html[data-qc-page=tip-calculator] main button:has(.lucide-chevron-right) {
  background:#2453dd!important; color:#fff!important; border-color:#2453dd!important;
}
html[data-qc-page=business-internet-cost]:not(.qc-dark) main div:is([style*="color:var(--emerald)"],[style*="color: var(--emerald)"]) { color:#065f46!important; }
html[data-qc-page=ai-receptionist-cost] main input[type=range] + div { color:var(--qc-muted)!important; }
html[data-qc-page=ai-receptionist-cost] main span:is([style*="color:#ef4444"],[style*="color: #ef4444"],[style*="color: rgb(239, 68, 68)"]) { color:#b91c1c!important; }
html.qc-dark[data-qc-page=ai-receptionist-cost] main span:is([style*="color:#ef4444"],[style*="color: #ef4444"],[style*="color: rgb(239, 68, 68)"]) { color:#fca5a5!important; }
html[data-qc-page=tree-removal-cost-calculator]:not(.qc-dark) main span:is([style*="color:var(--color-gold)"],[style*="color: var(--color-gold)"]) { color:#92400e!important; }
@media(max-width:640px) {
  html[data-qc-template=wage] .grid > .stat:last-child:nth-child(odd) { grid-column:span 2; }
}

/* Final parent audit: salary currency prefix, light receptionist page only. */
html[data-qc-page=ai-receptionist-cost]:not(.qc-dark) main div:is([style*="position:relative"],[style*="position: relative"]) > span:has(+ input[type=number]) {
  color:var(--qc-muted)!important;
}
