/* Shared appearance. Brand imagery and user media retain their original colors. */
:root[data-theme="light"] { color-scheme:light; }
:root[data-theme="dark"] { color-scheme:dark; background:#101b20; }
.theme-toggle { display:inline-flex; align-items:center; justify-content:center; flex:0 0 40px; width:40px; height:40px; min-height:40px; padding:0; border:1px solid #d7e2dc; border-radius:12px; color:#185d50; background:#f2f7f4; font:700 22px/1 system-ui,sans-serif; cursor:pointer; vertical-align:middle; }
.theme-toggle:hover { background:#e3eee8; }
.theme-toggle:focus-visible { outline:3px solid #3d9c80; outline-offset:3px; }
.theme-toggle span { line-height:1; }
.theme-tools { display:flex; justify-content:flex-end; width:min(1200px,100%); margin:0 auto; padding:12px 36px 0; min-width:0; }
.public-site .theme-tools + .site-shell { padding-top:18px; }
body:not(.public-site) > .theme-tools { max-width:620px; padding:0 0 16px; }
.platform-page .topbar-tools { gap:16px; }
.guest-page .guest-header-nav { flex-wrap:wrap; }
html[data-theme="dark"] body { --ink:#e4efec!important; --muted:#a6b9b3!important; --line:#344b49!important; --paper:#101b20!important; --card:#1b2b30!important; --brand:#9ce0c6!important; --brand-dark:#b0efd6!important; --brand-soft:#233e36!important; --booking-ink:#e4efec!important; --booking-muted:#afc3bc!important; --booking-line:#38524c!important; --booking-brand:#a3e8cc!important; color:var(--ink); background:#101b20; }
html[data-theme="dark"] :is(.sidebar,.topbar,.guest-header,.mobile-taskbar,.mobile-nav>nav,.account-menu[open],.account-menu-panel,.notification-center>*,.platform-footer) { color:var(--ink); background:#15252a!important; border-color:var(--line)!important; }
html[data-theme="dark"] :is(.card,.stat-card,.task-card,.dashboard-number,.workspace-support,.workspace-hero,.setup-checklist,.help-card,.legal-card,.account-setting,.privacy-card,.business-card,.business-form,.business-question,.admin-hub-card,.admin-plan-card,.page-list-card,.editor-section,.editor-preview-pane,.editor-footer,.editor-tabs,.editor-tab,.editor-block-card,.button-config,.template-picker,.template-card,.model-gallery-card,.guest-plan,.guest-choice,.guest-card,.guest-mini-card,.guest-product,.guest-feature,.public-booking,.public-message,.table-wrap,.plan-comparison,.order-card,.plan-editor-section,.content-editor-form,.faq-item,.public-faq details) { background:#1b2b30!important; color:var(--ink)!important; border-color:var(--line)!important; box-shadow:none; }
html[data-theme="dark"] :is(.plans-showcase,.business-field-row,.plan-policy-note,.workspace-mark,.account-avatar,.sidebar-help,.editor-optional-content,.editor-hint,.setup-step,.guest-tag,.guest-plan-badge,.legal-summary,.plan-summary,.business-card .status,.page-status,.public-intro-detail .ui-icon) { background:#233a37!important; color:#b1e2cf!important; border-color:#3a5750!important; }
html[data-theme="dark"] :is(input,select,textarea) { color:#e5f0ec!important; background:#101e22!important; border-color:#47615a!important; }
html[data-theme="dark"] :is(input,textarea)::placeholder { color:#94ada3; opacity:1; }
html[data-theme="dark"] :is(input[type=checkbox],input[type=radio]) { accent-color:#8edcb7; }
html[data-theme="dark"] :is(input,select,textarea):focus { outline-color:#8edcb7; }
html[data-theme="dark"] :is(h1,h2,h3,h4,h5,h6,legend,label,summary,th,td) { color:inherit; }
html[data-theme="dark"] :is(.muted,.workspace-eyebrow,.public-kicker,.section-kicker,.plan-audience,.page-list-kicker,.editor-section>p,.guest-plan-facts,.business-heading p,.business-form p,.business-form small,.plan-policy-note p,.workspace-switch small,.brand-copy small) { color:#acc7bb!important; }
html[data-theme="dark"] a:not(.button,.site-button,.product-action,.theme-toggle,.public-cart-trigger,.brand) { color:#b0e9d2; }
html[data-theme="dark"] :is(.button.secondary,.business-tabs a,.business-quote-line button,.editor-tab,.carousel-arrow,.carousel-prev,.carousel-next,.guest-carousel-button) { background:#233a37!important; color:#e5f0ec!important; border-color:#47615a!important; }
html[data-theme="dark"] :is(.button.primary,.guest-page .button.primary,.booking-calendar-link,.public-booking button[type=submit]) { background:#24745f!important; color:#fff!important; border-color:#478f78!important; }
html[data-theme="dark"] :is(.brand-symbol,.sidebar .brand-symbol) { background:#176b58!important; color:#fff!important; }
html[data-theme="dark"] :is(th,thead,.business-proposal tr:nth-child(even),tr:nth-child(even)) { background:#20353a!important; }
html[data-theme="dark"] :is(th,td,hr,fieldset) { border-color:#3a514c!important; }
html[data-theme="dark"] :is(.business-tabs a[aria-current=page],.side-nav-group>a[aria-current=page],.editor-tab[aria-selected=true]) { background:#2b4c40!important; color:#c4f6df!important; }
html[data-theme="dark"] .theme-toggle { background:#29463b; color:#e8d29c; border-color:#4a6c5c; }
html[data-theme="dark"] .theme-toggle:hover { background:#345446; }
html[data-theme="dark"] .reseller-journey { background:linear-gradient(120deg,#173f3d,#19574c); }
html[data-theme="dark"] body.public-site { --site-secondary:#192a2f!important; --site-ink:#e9f2ee!important; --identity-ink:#e9f2ee!important; --site-accent-ink:#b4e5cd!important; --profile-footer-ink:#d3e7dd!important; background:#101b20!important; }
html[data-theme="dark"] body.public-site::before { background:radial-gradient(ellipse at 15% 5%,#294b4155,transparent 55%),#101b20!important; }
html[data-theme="dark"] body.public-site::after { background:transparent!important; }
html[data-theme="dark"] .public-site :is(.hero,.hero-identity-surface,.site-content-block,.profile-content-entry,.product-card,.profile-content-dialog,.contact-info-card,.profile-gallery-item,.profile-site-nav a,.public-cart-dialog) { background:#192a2f!important; color:#e9f2ee!important; border-color:#3a554d!important; }
html[data-theme="dark"] .public-site :is(.hero-copy,.hero-copy h1,.hero-description,.hero-description p,.profile-content-entry-title,.profile-entry-copy,.product-copy,.profile-content-dialog-inner,.profile-content-dialog-body,.site-block-body) { color:#e9f2ee!important; }
html[data-theme="dark"] .public-site :is(.profile-meta,.profile-meta-item,.profile-overline,.profile-entry-kicker,.product-copy p,.public-footer) { color:#bdd8ca!important; }
html[data-theme="dark"] .public-site .profile-site-nav a[aria-current=page] { background:#2b5544!important; color:#e7f9ed!important; }
html[data-theme="dark"] .public-site .profile-content-entry-arrow { background:#2d493e!important; color:#d8f4e5!important; }
html[data-theme="dark"] .public-site .product-action { color:var(--site-primary-ink,#fff)!important; }
html[data-theme="dark"] body:not(.platform-page,.guest-page,.public-site) { --ink:#e4efec; --muted:#a6b9b3; font-family:Manrope,system-ui,sans-serif; }
@media(max-width:600px) { .theme-tools { padding:10px 16px 0; } .theme-toggle { width:36px; height:36px; min-height:36px; flex-basis:36px; font-size:20px; } .platform-page .topbar-tools { gap:8px; } }
@media print { .theme-toggle,.theme-tools { display:none!important; } html[data-theme="dark"] body { --ink:#172b26!important; --muted:#46584e!important; --paper:#fff!important; color:#172b26!important; background:#fff!important; } html[data-theme="dark"] :is(.business-card,.business-proposal,table,thead,tr,th,td) { color:#172b26!important; background:#fff!important; } }
html[data-theme="dark"] :is(.guest-cover,.guest-highlight,.guest-steps li,.guest-cover-art,.guest-shell aside,.guest-choice-grid>article) { background:#1b2b30!important; color:var(--ink)!important; border-color:var(--line)!important; }
@media(max-width:1000px) { .guest-page .guest-header-nav { gap:12px; } .guest-page .guest-header-nav .small-header { padding-inline:16px; } }
@media(max-width:600px) { .guest-page .guest-header { flex-wrap:wrap; } .guest-page .guest-header-nav { width:100%; justify-content:space-between; gap:8px; } }
html[data-theme="dark"] :is(.comparison-scroll,.legal-doc) { color:var(--ink)!important; background:#1b2b30!important; border-color:var(--line)!important; }
html[data-theme="dark"] :is(.onboarding-card,.page-list-footer,.simple-links-entry,.editor-template-picker,.agenda-start>article,.account-overview,.account-settings-list,.help-search,.support-strip,.template-filters button,.profile-section-row,dialog) { background:#1b2b30!important; color:var(--ink)!important; border-color:var(--line)!important; }
html[data-theme="dark"] :is(.button:not(.primary,.danger),.template-card-state,.model-mini-browser,.premium-design-controls) { background:#233b36!important; color:#d4eddf!important; border-color:#48635a!important; }
html[data-theme="dark"] :is(.subscription-alert.warning,.status-warning,.notice,.flash) { background:#423821!important; color:#f4dfad!important; border-color:#8c7649!important; }
html[data-theme="dark"] .model-mini { --mini-bg:#192a2f!important; --mini-ink:#e9f2ee!important; background:#14252b!important; }
html[data-theme="dark"] .model-mini-identity { color:#e9f2ee!important; }
html[data-theme="dark"] .public-site .site-button:is(.button-outline,.button-minimal) { color:#d4eddf!important; border-color:#82b69b!important; }
html[data-theme="dark"] :is(.admin-metrics>a,.plan-unlimited-field,.plan-feature-list>.checkbox-label,.plan-editor-submit,.admin-model-card) { background:#1b2b30!important; color:var(--ink)!important; border-color:var(--line)!important; }
html[data-theme="dark"] :is(.platform-page,.guest-page) main p { color:var(--muted); }
html[data-theme="dark"] body { --danger:#ffb0b7!important; --warning:#f1cf8f!important; }
html[data-theme="dark"] .button.danger { background:#9f3848!important; color:#fff!important; border-color:#c05f6e!important; }
html[data-theme="dark"] :is(.account-panel,.account-menu .account-identity) { background:#192c30!important; color:#e4efec!important; border-color:#3a514c!important; }
html[data-theme="dark"] :is(.account-panel a,.account-panel button,.account-panel strong) { color:#e4efec!important; }
html[data-theme="dark"] :is(.account-panel small,.side-nav-group>p,.side-nav-group>summary,.eyebrow,.preview-live,.preview-live.is-dirty,.public-section-heading>p) { color:#acc7bb!important; }
html[data-theme="dark"] :is(.editor-section-heading>span,.editor-tab>span) { background:#29493e!important; color:#d0f1df!important; }
html[data-theme="dark"] :is(.platform-page,.guest-page) main p:not(.public-kicker) { color:var(--muted)!important; }
html[data-theme="dark"] :is(.notice,.flash,.subscription-alert.warning) p { color:inherit!important; }
/* Public introductions are complete cards, with the same safe inset in both modes. */
.guest-page .public-intro { min-width:0; padding:clamp(24px,3vw,40px); border:1px solid var(--line,#dfe7e2); border-radius:28px; background:var(--card,#fff); }
.guest-page .public-intro > div { min-width:0; }
.guest-page .public-intro h1 { overflow-wrap:anywhere; }
@media(max-width:600px) { .guest-page .public-intro { padding:24px 20px; border-radius:22px; } }
@media(max-width:600px) {
  .platform-page .app-main>.topbar { padding:12px 16px; gap:10px; }
  .platform-page .topbar-site { font-size:0; gap:0; min-width:24px; min-height:36px; justify-content:center; }
  .platform-page .topbar-site::before { content:'⌂'; font:700 24px/1 system-ui,sans-serif; }
}
@media print {
  html[data-theme="dark"] body { --site-secondary:#fff!important; --site-ink:#172b26!important; --identity-ink:#172b26!important; --profile-footer-ink:#172b26!important; }
  html[data-theme="dark"] :is(main,section,article,aside,header,footer,fieldset,table,thead,tr,th,td,details,.card,.business-proposal,.hero-identity-surface,.hero-copy,.hero-description,.site-block-body,.profile-content-entry,.product-copy) { background:#fff!important; color:#172b26!important; border-color:#d1d9d4!important; }
  html[data-theme="dark"] :is(p,span,small,strong,label,legend) { color:inherit!important; }
  html[data-theme="dark"] :is(.site-button,.product-action) { background:#fff!important; color:#174f3b!important; border-color:#a9bcb0!important; }
}
html[data-theme="dark"] .public-booking form>button { background:#24745f!important; color:#fff!important; border-color:#478f78!important; }
html[data-theme="dark"] :is(.template-filters button[aria-pressed="true"],.template-card[aria-pressed="true"]) { background:#284d3e!important; color:#d5f3e3!important; border-color:#8ecfb0!important; box-shadow:0 0 0 1px #8ecfb0; }
/* Dark-origin designs also have an actual light reading surface. */
html[data-theme="light"] body.public-site:is(.template-barber,.template-pizzeria,.template-orbit) { background:#f4f7f8; --profile-footer-ink:#21373a; }
html[data-theme="light"] body.public-site:is(.template-barber,.template-pizzeria,.template-orbit):not([data-custom-background])::before { background:linear-gradient(145deg,#eef3f5,#f8faf9); }
html[data-theme="light"] body.public-site.template-orbit { --site-secondary:#f7fbfd!important; --site-ink:#1e3348!important; --identity-ink:#1e3348!important; --site-accent-ink:#236052!important; }
html[data-theme="dark"] .public-site[data-custom-background] .hero-identity-surface { background-image:linear-gradient(#192a2fe8,#192a2fe8),var(--site-backdrop)!important; background-position:center; background-size:cover; }
html[data-theme="dark"] .public-site[data-custom-background]::before { background:linear-gradient(#101b20db,#101b20db),var(--site-backdrop) center / cover no-repeat!important; }
html[data-theme="light"] .public-site:is(.template-barber,.template-pizzeria,.template-orbit) .public-footer { color:#21373a!important; }

/* Legal copy needs the same readable tone for paragraphs and list items. */
html[data-theme="dark"] .legal-doc .legal-section :is(p,li,dt,dd) { color:#c2d2cb!important; }
html[data-theme="dark"] .legal-doc .legal-section li::marker { color:#c2d2cb; }
@media screen {
/* Workspace surfaces and controls share the same dark palette in every section. */
html[data-theme="dark"] .platform-page :is(.business-choice,.order-search,.page-danger-zone,.batch-label,.request-card,.announcement-card,.customer-profile-header,.customer-profile-section,.customer-profile-history-card,.plan-card,.editor-type-card,.editor-type-group,.editor-catalog-choice,.content-starter-card,.media-upload-grid>div,.appointment-entity-list>li,.appointment-steps a,.simple-flow-step,.page-explainer) { background:#1b2b30!important; color:#e4efec!important; border-color:#344b49!important; }
html[data-theme="dark"] .platform-page :is(.pages-intro,.editor-intro,.page-detail-hero,.subscription-hero,.expiry-intro,.appointment-guide,.task-guide,.customer-profile-appointment) { background:linear-gradient(125deg,#203b36,#1b2b30)!important; color:#e4efec!important; border-color:#3a5750!important; }
html[data-theme="dark"] .platform-page :is(.editor-submit,.editor-readiness,.editor-advanced-note,.section-toggle-row,.customer-profile-detail,.customer-profile-empty,.customer-profile-loading,.chart-empty,.secret-key,.recovery-codes,.request-reply,.qr-download-info code) { background:#20353a!important; color:#c2d2cb!important; border-color:#3a5750!important; }
html[data-theme="dark"] .platform-page :is(.task-icon,.number-icon,.recent-page-icon,.setup-step-number,.button-remove,.button-row-tools button,.profile-section-row button,.customer-profile-close,.mobile-nav>summary,.account-menu>summary) { background:#29463b!important; color:#c5ead9!important; border-color:#48675a!important; }
html[data-theme="dark"] .platform-page :is(label,legend) { color:#d6e8df!important; }
html[data-theme="dark"] .platform-page :is(.today-label,.help-card-body ol,.plan-feature-summary li,.editor-readiness li,.editor-catalog-choice small,.editor-type-card small,.content-starter-card small) { color:#b7cdc2!important; }
html[data-theme="dark"] .platform-page :is(.status,.finance-status) { background:#2a3d42!important; color:#d4e4e5!important; }
html[data-theme="dark"] .platform-page :is(.status-active,.finance-status-settled) { background:#25483a!important; color:#b4edcc!important; }
html[data-theme="dark"] .platform-page :is(.status-stock,.finance-status-planned) { background:#263f58!important; color:#c2def8!important; }
html[data-theme="dark"] .platform-page :is(.status-warning,.status-setup,.status-suspended,.finance-status-open,.resource-note,.button-setup-note,.plan-draft-note,.subscription-alert) { background:#423821!important; color:#f4dfad!important; border-color:#8c7649!important; }
html[data-theme="dark"] .platform-page :is(.form-error-summary,.notice-error,.customer-profile-error,.subscription-alert.danger) { background:#4b2931!important; color:#ffd2d7!important; border-color:#a96874!important; }
html[data-theme="dark"] .platform-page .finance-income { color:#a5e5be!important; }
html[data-theme="dark"] .platform-page .finance-expense { color:#ffc2cb!important; }
html[data-theme="dark"] .platform-page :is(.side-nav-group>a,.account-setting,tbody tr):hover { background:#29423d!important; color:#e4efec!important; }
html[data-theme="dark"] .platform-page .setup-progress,
html[data-theme="dark"] .platform-page .setup-progress::-webkit-progress-bar { background:#344b49; }
html[data-theme="dark"] .platform-page .setup-progress::-webkit-progress-value { background:#9ce0c6; }
html[data-theme="dark"] .platform-page input::file-selector-button { background:#29463b; color:#e4efec; border:1px solid #48675a; border-radius:6px; padding:6px 10px; }
html[data-theme="dark"] .platform-page .device-preview-frame { background:#101b20; }
html[data-theme="dark"] .skip-link { background:#233b36!important; color:#e4efec!important; }
html[data-theme="dark"] .platform-page .simple-flow-step>span { background:#29463b!important; color:#c5ead9!important; }
}
