/* Shared appearance and brand sizing, loaded after page-specific styles. */
:root{color-scheme:light;--hc-bg:#f8faf8;--hc-surface:#fff;--hc-text:#153f36;--hc-border:#dfe8df}
:root[data-theme=dark]{color-scheme:dark;--hc-bg:#101c19;--hc-surface:#192c26;--hc-text:#edf6ef;--hc-border:#385247;--muted:#b1c5b9;--line:#385247}
.hc-theme-toggle{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:44px;padding:9px 12px;border:1px solid var(--hc-border);border-radius:10px;background:var(--hc-surface);color:var(--hc-text);font:650 13px/1.2 system-ui;cursor:pointer;order:12}
.hc-theme-toggle:focus-visible{outline:3px solid #91bd51;outline-offset:3px}
.hc-menu-panel>.hc-theme-toggle{width:100%;justify-content:flex-start;margin-top:6px}
html body>header .brand,html.homecue-app body>header.site-header.hc-account-header .brand{font-size:32px!important;line-height:1.1;letter-spacing:-1.2px;gap:8px}
html body>header .brand-mark,html body>header .brand-icon,html.homecue-app body>header.site-header .brand-mark{display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;padding:8px;margin-right:2px;border-radius:13px;background:#153f36;color:#d2f98a;font-size:32px}
@media(max-width:650px){html body>header .brand,html.homecue-app body>header.site-header.hc-account-header .brand{font-size:26px!important}html body>header .brand-mark,html body>header .brand-icon,html.homecue-app body>header.site-header .brand-mark{width:38px;height:38px;font-size:28px}}
@media(max-width:360px){html.homecue-app body>header.site-header.hc-account-header .brand{font-size:23px!important;gap:3px}html.homecue-app body>header.site-header .brand-mark{width:32px;height:34px;padding:5px}}
html[data-theme=dark],html[data-theme=dark] body{background:var(--hc-bg)!important;color:var(--hc-text)!important}
html[data-theme=dark] :is(header,footer,dialog,.app-bottom-nav,.hc-menu-panel,.app-account-menu>summary,.homecue-startup){background:var(--hc-surface)!important;color:var(--hc-text)!important;border-color:var(--hc-border)!important}
html[data-theme=dark] :is(h1,h2,h3,h4,label,legend,.brand,.hc-account-actions,.page-heading,.homecue-startup-brand){color:var(--hc-text)!important}
html[data-theme=dark] :is(p,small,.muted,.fine,.eyebrow,.caps,.app-kicker,.local-time,.home-meta,.search-hint,.button-hint){color:#b1c5b9}
html[data-theme=dark] :is(input,textarea,select,option){background:#12231d!important;color:#edf6ef!important;border-color:#4b6658!important}
html[data-theme=dark] ::placeholder{color:#9ab2a4;opacity:1}
html[data-theme=dark] :is([class$="-card"],[class*="-card "],.card,.panel,.week-day,.search-card form,.candidates,.candidate,.quick-actions a,.saved-home,.stream-row span,.app-start,.app-start-top,.app-page-header,.tab-panel,table,th,td){background-color:var(--hc-surface);color:var(--hc-text);border-color:var(--hc-border)}
html[data-theme=dark] :is(.hc-account-actions>a,.app-bottom-nav>a,.app-account-menu a,.header-link,.market-nav,.card-action,.contact-source,.service-link){color:#d2f98a!important}
html[data-theme=dark] .hc-account-actions>a{background:#243c30!important;border-color:#4b6658!important}
html[data-theme=dark] :is(.primary,.app-become-pro,.hub-action){background:#d2f98a!important;color:#153f36!important}
html[data-theme=dark] .app-bottom-nav [aria-current=page]{color:#d2f98a!important}
html[data-theme=dark] .app-bottom-nav [aria-current=page] .app-tab-icon{background:#304c35}
html[data-theme=dark] :is(.brand-mark,.brand-icon){background:#244c3c!important;color:#d2f98a!important}
html[data-theme=dark] :is(.dot,.brand-dot){color:#d2f98a!important}
html[data-theme=dark] dialog::backdrop{background:#000a}
html[data-theme=dark] :is(.error,[role=alert]){color:#ffb7ad}
@media print{html[data-theme=dark] body{background:white!important;color:#153f36!important}.hc-theme-toggle{display:none!important}}
html[data-theme=dark] :is(.tile,.category,.empty,.login-panel,.stat,.hero-note,.app-steps,.thread-row,.thread-avatar,.product,.sticky-checkout,.plan-editor,.tool-catalog,.toolkit-nav,.pro-picker,.line,.message,.metric,.price,.notice,.quote-banner,.invoice-payment,.share-payment-status,.admin-segments,.secondary,.outline,.avatar,.badge,.tag,.tabs,.tab,.request-card){background:var(--hc-surface)!important;color:var(--hc-text)!important;border-color:var(--hc-border)!important}
html[data-theme=dark] :is(.category.selected,.tabs .active,.tabs [aria-selected=true],.admin-segments [aria-pressed=true],.toolkit-nav [aria-current]){background:#304c35!important;color:#d2f98a!important}
html[data-theme=dark] :is(.text-button,.status-dismiss,.thread-row strong,.request-card strong,.metric strong,.price strong){color:#d2f98a!important}
html[data-theme=dark] :is(.error,.notice.error,.form-error,.danger){background:#422a27!important;color:#ffd2ca!important;border-color:#92594f!important}
html[data-theme=dark] :is(.lime,.status.completed){color:#153f36!important}
/* Printed quotes keep their original document palette. */
@media print{html[data-theme=dark] :is(.panel,table,th,td,h1,h2,h3,p,label){background:white!important;color:#153f36!important}}
/* A matched palette for each appearance. All controls use the same tokens. */
:root{--hc-accent:#153f36;--hc-on-accent:#fff;--hc-soft:#edf4e8;--hc-link:#245d43;--hc-subtle:#52695b;--hc-mark:#d2f98a}
:root[data-theme=dark]{--hc-accent:#d2f98a;--hc-on-accent:#153f36;--hc-soft:#243c30;--hc-link:#d2f98a;--hc-subtle:#b1c5b9;--hc-mark:#d2f98a}
:root[data-theme=red]{--hc-bg:#fff6f5;--hc-surface:#fff;--hc-text:#471c23;--hc-border:#e8c8cc;--hc-accent:#b4233b;--hc-on-accent:#fff;--hc-soft:#fbe7eb;--hc-link:#a31c33;--hc-subtle:#80525a;--hc-mark:#fff;--green:#a31c33;--lime:#ffe0e6;--muted:#80525a;--line:#e8c8cc}
:root[data-theme=blue]{--hc-bg:#f3f7ff;--hc-surface:#fff;--hc-text:#152f50;--hc-border:#c8d8ed;--hc-accent:#235bb6;--hc-on-accent:#fff;--hc-soft:#e4edfc;--hc-link:#1d50a4;--hc-subtle:#506b8c;--hc-mark:#fff;--green:#235bb6;--lime:#dce9ff;--muted:#506b8c;--line:#c8d8ed}
html[data-theme] body{background:var(--hc-bg)!important;color:var(--hc-text)!important}
html[data-theme] body>header{background:var(--hc-surface)!important;color:var(--hc-text)!important;border-color:var(--hc-border)!important}
html[data-theme] body>header .brand,html.homecue-app[data-theme] body>header.site-header.hc-account-header .brand{display:inline-flex;gap:9px;font-size:29px!important;letter-spacing:-1.2px;white-space:nowrap;color:var(--hc-text)!important;flex-shrink:0}
.hc-wordmark{display:inline-block;line-height:1.15;font-weight:800}
.hc-logo-dot{color:var(--hc-link);margin:0}
.hc-logo-mark{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:12px;background:var(--hc-accent);color:var(--hc-on-accent)}
.hc-logo-mark svg{display:block;width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
html[data-theme] body>header .hc-menu-panel{background:var(--hc-surface)!important;border:1px solid var(--hc-border)!important;box-shadow:0 14px 40px #0003;padding:10px;border-radius:16px}
/* Outrank the original header rules, including their important declarations. */
html[data-theme] body>header.hc-account-header .hc-menu-panel :is(a,button),
html[data-theme] body>header.hc-account-header .hc-account-actions>a,
html.homecue-app[data-theme] body>header.hc-account-header .hc-menu-panel button[aria-label="Phone notification settings"]{background:var(--hc-soft)!important;color:var(--hc-text)!important;border:1px solid var(--hc-border)!important;opacity:1;box-shadow:none;font:650 14px/1.3 system-ui;min-height:44px;padding:11px 12px!important;border-radius:10px}
html[data-theme] body>header .app-account-menu>summary{background:var(--hc-soft)!important;color:var(--hc-text)!important;border:1px solid var(--hc-border)}
html[data-theme] body>header .app-account-menu>summary svg{stroke:currentColor}
html.homecue-app[data-theme] body>header.site-header.hc-account-header .app-become-pro{background:var(--hc-accent)!important;color:var(--hc-on-accent)!important;border-color:var(--hc-accent)!important}
.hc-theme-picker{display:flex;align-items:center;gap:10px;font:600 13px/1.4 system-ui;order:12;color:var(--hc-text);padding:8px 0}
.hc-theme-picker>select{flex:1;min-width:90px;min-height:44px;border:1px solid var(--hc-border);border-radius:10px;padding:8px 10px;background:var(--hc-soft);color:var(--hc-text);font:600 14px system-ui}
.hc-menu-panel>.hc-theme-picker{flex-direction:column;align-items:stretch;margin-top:8px;border-top:1px solid var(--hc-border);padding:12px 2px 2px;gap:6px}
html[data-theme] .hc-theme-picker>select{background:var(--hc-soft)!important;color:var(--hc-text)!important;border-color:var(--hc-border)!important}
html[data-theme] #pros-view :is(.pro-overview a,.pro-conversation,.pro-dashboard-section .card,#availability-control){background:var(--hc-surface)!important;color:var(--hc-text)!important;border-color:var(--hc-border)!important}
html[data-theme] #pros-view :is(.pro-overview strong,.pro-overview span,#availability-control span,#availability-control strong){color:var(--hc-text)!important}
html[data-theme] #pros-view :is(.section-heading a,.pro-saved-quote,.pro-saved-quote .row-between>span){color:var(--hc-link)!important}
html[data-theme] #pros-view .pro-welcome{background:var(--hc-soft)!important;color:var(--hc-text)!important;border:1px solid var(--hc-border)}
html[data-theme] #pros-view .pro-welcome :is(h2,p,.eyebrow){color:var(--hc-text)!important}
html[data-theme] #pros-view :is(.pro-welcome .button.dark,#availability-control button){background:var(--hc-accent)!important;color:var(--hc-on-accent)!important;border-color:var(--hc-accent)!important}
html[data-theme] #pros-view .pro-welcome .button.outline{background:var(--hc-surface)!important;color:var(--hc-text)!important;border-color:var(--hc-border)!important}
html[data-theme] .app-bottom-nav{background:var(--hc-surface)!important;border-color:var(--hc-border)!important}
html[data-theme] .app-bottom-nav>a{color:var(--hc-subtle)!important}
html[data-theme] .app-bottom-nav [aria-current=page]{color:var(--hc-link)!important}
html[data-theme] .app-bottom-nav [aria-current=page] .app-tab-icon{background:var(--hc-soft)!important}
html:is([data-theme=red],[data-theme=blue]) :is(.primary,.lime,.button.dark,.button.lime,.hub-action){background:var(--hc-accent)!important;color:var(--hc-on-accent)!important}
html:is([data-theme=red],[data-theme=blue]) :is(h1,h2,h3,label,.page-heading){color:var(--hc-text)}
@media(max-width:650px){html[data-theme] body>header .brand,html.homecue-app[data-theme] body>header.site-header.hc-account-header .brand{font-size:24px!important;gap:7px}.hc-logo-mark{width:36px;height:36px;border-radius:10px}.hc-logo-mark svg{width:25px;height:25px}}
@media(max-width:360px){html.homecue-app[data-theme] body>header.site-header.hc-account-header .brand{font-size:22px!important;gap:5px}.hc-logo-mark{width:32px;height:32px}}
@media print{.hc-theme-picker{display:none!important}}

/* Keep surface/foreground pairs together. Screen-only: printed documents retain their palette. */
@media screen {
  :root{--hc-control-border:#738676;--muted:var(--hc-subtle);--line:var(--hc-border)}
  :root[data-theme=dark]{--hc-control-border:#829b8c}
  :root[data-theme=red]{--hc-control-border:#a16b76}
  :root[data-theme=blue]{--hc-control-border:#7186a2}
  html[data-theme] :is(.card,.panel,.auth-card,.verification-panel,.profile-photo-section,#profile-form,.home-card,.reminder-card,.week-card,.status-card,.contact-card,.request-card,.thread-row,.tool-catalog,.plan-editor,.product,.sticky-checkout,.service-address-options,dialog){background:var(--hc-surface)!important;color:var(--hc-text)!important;border-color:var(--hc-border)!important}
  html[data-theme] :is(.profile-photo-section,.profile-privacy,.verification-note,.verification-steps>div,.photo-picker,.notice,.hero-note,.app-steps){background:var(--hc-soft)!important;color:var(--hc-text)!important;border-color:var(--hc-border)!important}
  html[data-theme] :is(.profile-page,.profile-dialog) :is(h1,h2,h3,label,legend,strong,summary){color:var(--hc-text)!important}
  html[data-theme] :is(.profile-page,.profile-dialog) :is(p,small,.profile-section-kicker,#email-help,#photo-status){color:var(--hc-subtle)!important}
  html[data-theme] .profile-page :is(.photo-upload-label,.photo-upload-label>span,a:not(.button)){color:var(--hc-link)!important;border-color:currentColor}
  html[data-theme] .profile-page :is(.photo-options,.profile-form-heading,.profile-danger){border-color:var(--hc-border)!important}
  html[data-theme] :is(input:not([type=file]):not([type=checkbox]):not([type=radio]),textarea,select,option){background:var(--hc-surface)!important;color:var(--hc-text)!important;border-color:var(--hc-control-border)!important}
  html[data-theme] input[readonly]{background:var(--hc-soft)!important;color:var(--hc-text)!important}
  html[data-theme] ::placeholder{color:var(--hc-subtle)!important;opacity:1}
  html[data-theme] :is(.muted,.fine,.small,.eyebrow,.caps,.home-meta,.search-hint,.button-hint,.profile-subtitle){color:var(--hc-subtle)!important}
  html[data-theme] :is(.button.outline,.secondary,.outline,.service-address-options button){background:var(--hc-surface)!important;color:var(--hc-text)!important;border-color:var(--hc-control-border)!important}
  html[data-theme] :is(.primary,.button.dark,.button.lime,.lime,.hub-action,#profile-save,.photo-add){background:var(--hc-accent)!important;color:var(--hc-on-accent)!important;border-color:var(--hc-accent)!important}
  html[data-theme] :is(.primary,.button.dark,.button.lime,.hub-action,.photo-add) :is(span,strong,small){color:inherit!important}
  html[data-theme] .home-action-tile:first-child{background:var(--hc-accent)!important;color:var(--hc-on-accent)!important}
  html[data-theme] .home-action-tile:first-child :is(h2,p,strong,span,svg){color:var(--hc-on-accent)!important;stroke:currentColor}
  html[data-theme] .pickup-card{background:#153f36!important;color:#fff!important}
  html[data-theme] .pickup-card :is(h2,h3,p,.caps,.time-note,.source-chip,.card-bottom){color:#edf6ef!important}
  html[data-theme] .pickup-card .pickup-time{color:#d2f98a!important}
  html[data-theme] :is(.error,.notice.error,.form-error){background:#fbe9e3!important;color:#782719!important;border-color:#a85a4a!important}
  html[data-theme=dark] :is(.error,.notice.error,.form-error){background:#422a27!important;color:#ffd2ca!important;border-color:#b87c6c!important}
  html[data-theme] .delete-button{background:#a52b2b!important;color:#fff!important;border-color:#a52b2b!important}
  html[data-theme] :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--hc-link)!important;outline-offset:3px}
  /* Invitation artwork carries its own intentionally paired paper/ink palette. */
  html[data-theme] .art :is(h1,h2,h3,h4,p,small,.kicker){color:var(--ink)!important}
}

/* Desktop service headers share the active theme, including legacy admin links. */
@media screen and (min-width:651px){
 html:not(.homecue-app)[data-theme] body>header.site-header.hc-account-header{
  min-height:76px;padding:12px 24px;gap:12px;flex-wrap:wrap;
 }
 html:not(.homecue-app) .site-header .edition-label{display:none}
 html:not(.homecue-app) .site-header>#account{margin-left:auto;display:flex;align-items:center;gap:8px;color:var(--hc-text)}
 html:not(.homecue-app) .site-header>#account:not(:has(a:not(.hc-old-account))){display:none}
 html:not(.homecue-app)[data-theme] .site-header #account :is(a,.muted){color:var(--hc-text)!important}
 html:not(.homecue-app)[data-theme] .site-header #account a{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border:1px solid var(--hc-border);border-radius:10px;background:var(--hc-soft)}
 html:not(.homecue-app) body>header.site-header .hc-account-actions{order:2;margin-left:0;gap:8px}
 html:not(.homecue-app) body>header.site-header .brand{margin-right:auto}
 html:not(.homecue-app) body>header.site-header .hc-theme-picker{order:3;display:flex;align-items:center;gap:8px;margin:0}
 html:not(.homecue-app) body>header.site-header .hc-theme-picker>span{display:none}
 html:not(.homecue-app) body>header.site-header .hc-theme-picker select{min-height:44px;margin:0;padding:8px 12px;width:110px}
 html:not(.homecue-app)[data-theme] .site-header .editorial-menu{order:4;height:44px;width:44px;border-radius:10px;background:var(--hc-soft);border-color:var(--hc-border);color:var(--hc-text)}
 html:not(.homecue-app)[data-theme] .site-header #services-navigation{background:var(--hc-surface);color:var(--hc-text);border-color:var(--hc-border);max-height:calc(100dvh - var(--hc-desktop-header-height,76px));overflow-y:auto}
 html:not(.homecue-app)[data-theme] .site-header #services-navigation a{color:var(--hc-text)}
 html:not(.homecue-app) .cover-stage,html:not(.homecue-app) .feature-stage{top:var(--hc-desktop-header-height,76px);height:calc(100svh - var(--hc-desktop-header-height,76px))}
 html:not(.homecue-app){scroll-padding-top:var(--hc-desktop-header-height,76px)}
}
@media screen and (min-width:651px) and (prefers-reduced-motion:reduce){
 html:not(.homecue-app) .cover-stage,html:not(.homecue-app) .feature-stage{top:0}
}
