/* Shared studio identity, drawn from the private Template Library. */
html[data-zp-studio],html[data-zp-studio] body{
 --paper:#10171c;--bg:#10171c;--surface:#141e24;--white:#141e24;--panel:#141e24;
 --ink:#f5f0e8;--muted:#94a9b1;--line:#334149;--accent:#ff873d;--orange:#ff873d;--green:#ff873d;
 --sans:Inter,"Avenir Next",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 --display:var(--sans);--serif:var(--sans);color-scheme:dark;
}
html[data-zp-studio]{background:var(--paper)}
html[data-zp-studio] body{background:var(--paper)!important;color:var(--ink);font-family:var(--sans);isolation:isolate;min-height:100dvh}
html[data-zp-studio][data-theme=light],html[data-zp-studio][data-theme=light] body{
 --paper:#f0f3f3;--bg:#f0f3f3;--surface:#fafcfb;--white:#fafcfb;--panel:#fafcfb;
 --ink:#243239;--muted:#5c7079;--line:#cbd5d8;--accent:#bd591d;--orange:#bd591d;--green:#bd591d;color-scheme:light;
}
#zp-binary-field{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;user-select:none;contain:strict}
.zp-effects-toggle{position:fixed;z-index:30;bottom:max(18px,env(safe-area-inset-bottom));left:22px;display:flex;align-items:center;gap:8px;padding:8px 11px;background:var(--paper);border:1px solid var(--line);border-radius:8px;color:var(--muted);font:10px/1.3 var(--sans);cursor:pointer;opacity:.82}
.zp-effects-toggle>span{font:600 10px ui-monospace,monospace;color:var(--accent)}
.zp-effects-toggle:hover{opacity:1;border-color:var(--accent)}
.zp-effects-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
body:has(.dashboard-rail) .zp-effects-toggle{left:108px}
body:has(.owner-payment-launcher) .zp-effects-toggle{bottom:80px}
html[data-zp-studio] :is(a,button,input,select,textarea,summary):focus-visible{outline-color:var(--accent)}
html[data-zp-studio] :is(input,textarea,select){accent-color:var(--accent)}
html[data-zp-studio] ::selection{background:#ff873d55;color:var(--ink)}

/* Navigation and typography. */
html[data-zp-studio] :is(.studio-header,.site-header,.experience-header,.portal-header){color:var(--ink);border-color:var(--line);background:#111c22ed;box-shadow:none}
html[data-zp-studio][data-theme=light] :is(.studio-header,.site-header,.experience-header,.portal-header){background:#f0f3f3ed}
html[data-zp-studio] :is(.brand-role,.brand-caption,.portal-brand small){color:var(--muted)}
html[data-zp-studio] :is(.brand-mark,.monogram){background:var(--accent);color:#21160f;border:1px solid #ffad7566;box-shadow:none;border-radius:9px}
html[data-zp-studio] :is(.eyebrow,.scene-index,.project-category,.preview-eyebrow,.portal-stage,.workspace-header .eyebrow){color:var(--accent)}
html[data-zp-studio] :is(h1,h2,h3,.template-heading h2,.workspace-header h1){font-family:var(--sans);color:var(--ink)}
html[data-zp-studio] :is(.menu-button,.primary-button,.contact-button,.portal-button,button.primary,.nav-contact){background:var(--accent);border-color:var(--accent);color:#21160f;border-radius:9px;box-shadow:none;font-weight:600}
html[data-zp-studio] :is(.menu-button,.primary-button,.contact-button,.portal-button,button.primary,.nav-contact):hover{background:#ffa56b;border-color:#ffa56b;color:#21160f;box-shadow:0 4px 20px #ff873d15}
html[data-zp-studio] :is(.quiet-link,.text-link,.project-open,.email-address,.portal-brand,.preview-brand){color:var(--accent)}
html[data-zp-studio] :is(.nav-contact span,.contact-button span){color:inherit}
html[data-zp-studio] :is(.studio-footer,footer){color:var(--muted);border-color:var(--line);background:transparent}

/* Portfolio scenes keep their interactive product previews, in studio panels. */
html[data-zp-studio]:has(.portfolio-studio){scroll-snap-type:none}
html[data-zp-studio] .scene{--scene-dark:var(--paper);--scene-light:var(--surface);--scene-ink:var(--ink);--scene-muted:var(--muted);--scene-accent:var(--accent);background:transparent;border-bottom:1px solid var(--line)}
html[data-zp-studio] .scene-copy{background:transparent}
html[data-zp-studio] .scene-stage{background:#141e24d9;border:1px solid var(--line);border-radius:20px;margin:112px 30px 76px 0;color:var(--ink)}
html[data-zp-studio][data-theme=light] .scene-stage{background:#fafcfbe6}
html[data-zp-studio] .hero-name{font-size:clamp(66px,7.2vw,112px);font-weight:600;letter-spacing:-.065em}
html[data-zp-studio] :is(.hero-name .name-outline,.hero-role span){color:var(--accent)}
html[data-zp-studio] :is(.hero-intro,.hero-meta,.skill-line,.scene-description,.scene-byline,.stage-footnote,.scene-tagline){color:var(--muted)}
html[data-zp-studio] .scene-title{font-size:clamp(38px,4.7vw,70px);font-weight:550;letter-spacing:-.05em;color:var(--ink)}
html[data-zp-studio] .scene-title :is(span,em){color:var(--accent)}
html[data-zp-studio] :is(.stage-heading h2,.stage-heading span){color:var(--ink)}
html[data-zp-studio] .scene-stage .stage-heading{top:30px;left:28px;right:28px}
html[data-zp-studio] .scene-stage .stage-footnote{bottom:24px;left:28px;right:28px}
html[data-zp-studio] :is(.stage-orbit,.scene-watermark){color:var(--accent);border-color:#ff873d25}
html[data-zp-studio] :is(.scene-copy::before,.scene-copy::after){border-color:#ff873d66}
html[data-zp-studio] .hero-intro a{color:var(--ink)}
html[data-zp-studio] .scene-bottom{color:var(--muted)}
html[data-zp-studio] .chapter-dock{background:#111c22ed;border-color:var(--line);border-radius:12px;color:var(--muted)}
html[data-zp-studio] .chapter-dock a[aria-current]{color:var(--accent)}
html[data-zp-studio] .motion-toggle{border-color:var(--line);border-radius:8px;color:var(--accent);background:var(--surface)}
html[data-zp-studio] .latest-blog-float{background:var(--surface);border-color:#ff873d66;color:var(--ink);border-radius:12px;box-shadow:0 6px 24px #0002;animation:none}
html[data-zp-studio] .latest-blog-float:hover{background:#1d2c34;box-shadow:0 7px 25px #0003;border-color:var(--accent);color:var(--ink)}
html[data-zp-studio] .latest-blog-float img{border-color:var(--line);background:var(--paper)}
html[data-zp-studio] .studio-contact{background:#141e24d9;border-top:1px solid var(--line);--scene-accent:var(--accent);--scene-ink:#21160f;color:var(--ink)}
html[data-zp-studio] .studio-contact p{color:var(--muted)}
html[data-zp-studio] .studio-contact h2{font-weight:550;letter-spacing:-.05em}

/* Supporting pages and the journal use the same card system. */
html[data-zp-studio] :is(.entity-image,.project-visual,.contact,.blog-card,.blog-featured,.blog-feature,.blog-search-field,.article-aside,.article-note,.post-note,.post-toc,.voice-article aside){border-color:var(--line);border-radius:17px;background:var(--surface);box-shadow:none}
html[data-zp-studio] :is(.entity-lede,.blog-intro,.blog-card p,.blog-card-meta,.article-meta,.blog-post-meta,#blog-count,.blog-search label,.blog-index .brand-role,.blog-post .brand-role){color:var(--muted)}
html[data-zp-studio] :is(.blog-masthead h1 span,.blog-masthead .eyebrow,.blog-category,.blog-card-category,.article-eyebrow,.article-body a,.blog-article a){color:var(--accent)}
html[data-zp-studio] :is(.blog-search input,.blog-search-field input){color:var(--ink);background:transparent}
html[data-zp-studio] :is(.blog-feed-link,.blog-card,.blog-masthead,.entity-content>section){border-color:var(--line)}
html[data-zp-studio] :is(.blog-card h2,.blog-card h3,.blog-post h1,.blog-post h2,.blog-post h3){color:var(--ink)}
html[data-zp-studio] :is(.blog-post p,.blog-post li,.blog-post figcaption,.blog-card-excerpt){color:var(--muted)}
html[data-zp-studio] .blog-post :is(strong,b){color:var(--ink)}
html[data-zp-studio] .blog-masthead.blog-headline{--headline-accent:var(--accent);background:var(--surface);border-color:var(--line);border-radius:17px;color:var(--ink)}
html[data-zp-studio] .blog-headline h1{font-weight:550;letter-spacing:-.045em}
html[data-zp-studio] .blog-headline h1 a{color:var(--ink)}
html[data-zp-studio] :is(.blog-headline-meta,.blog-headline-deck,.blog-headline-author,.blog-headline .blog-feed-link,.blog-card-author){color:var(--muted)}
html[data-zp-studio] .blog-headline-button{background:var(--accent);border-radius:9px;color:#21160f;box-shadow:none}
html[data-zp-studio] .blog-headline-media{background:var(--paper);border-color:var(--line);border-radius:12px;box-shadow:none;transform:none}
html[data-zp-studio] .blog-post blockquote{background:var(--surface);border-color:var(--accent);color:var(--ink);border-radius:0 12px 12px 0}
html[data-zp-studio] .halloween-post::before{opacity:.1}
html[data-zp-studio] .world-stage{z-index:-2;opacity:.32}
html[data-zp-studio] .world-shade{background:linear-gradient(90deg,#10171cf5,#10171ca8 65%,#10171c44)}
html[data-zp-studio] :is(.chapter-nav,.chapter-tags span){background:var(--surface);border-color:var(--line);color:var(--muted);border-radius:9px}
html[data-zp-studio] :is(.chapter-eyebrow,.chapter-nav a[aria-current],.experience-play){color:var(--accent)}

/* Private workspace, including the old green calendar and analytics surfaces. */
html[data-zp-studio] .dashboard-rail.rail{background:#111c22;border-color:var(--line);color:var(--muted)}
html[data-zp-studio] .dashboard-rail .rail-item{color:var(--muted);--rail-icon:var(--muted)}
html[data-zp-studio] .dashboard-rail .rail-item[aria-pressed=true],html[data-zp-studio] .dashboard-rail .rail-item[aria-current=page]{background:#ff873d12;color:var(--accent);--rail-icon:var(--accent);border-color:#ff873d55}
html[data-zp-studio] :is(.template-search,.template-sort-label select,.template-category,.projects-search,.project-panel textarea,.key-row input,.client-login input,.client-login select){background:var(--paper);color:var(--ink);border-color:var(--line)}
html[data-zp-studio] :is(.library-template,.project-panel,.project-library-card,.calendar-workspace,.analytics-panel,.analytics-card,.analytics-table-wrap,.analytics-stat,.portal-panel,.client-login form){background:var(--surface);color:var(--ink);border-color:var(--line);border-radius:17px}
html[data-zp-studio] :is(.template-category.active,.workspace-tab.active,.portal-tabs button.active){background:#ff873d12!important;color:var(--accent)!important;border-color:#ff873d77!important}
html[data-zp-studio] :is(.template-tags span,.feature-tags li,.quick-options button){background:#1d2c34;color:var(--muted);border-color:var(--line);border-radius:7px}
html[data-zp-studio] :is(.template-actions button,.outline-button,.tool-button,.project-actions button,.template-share-row button){border-color:var(--line);color:var(--ink);background:transparent;border-radius:8px}
html[data-zp-studio] :is(.template-heading p:not(.eyebrow),.template-library-status,.project-panel p,.project-panel small,.project-library-card>p,.portal-panel p,.portal-panel small){color:var(--muted)}
html[data-zp-studio] :is(.thread-pane,.inbox-list,.conversation-list,.conversations-panel,.calendar-day,.calendar-sidebar,.analytics-filters,.transaction-row,.connection-note){background:var(--surface);border-color:var(--line);color:var(--ink)}
html[data-zp-studio] :is(.thread-header,.thread-tools,.composer,.thread-footer,.calendar-heading,.calendar-toolbar,.analytics-table thead,.transaction-detail){background:var(--surface);border-color:var(--line);color:var(--ink)}
html[data-zp-studio] :is(.conversation-row,.calendar-day,.calendar-time-slot){border-color:var(--line)}
html[data-zp-studio] .message-bubble{background:#1d2c34;color:var(--ink);border-color:var(--line)}
html[data-zp-studio] .zo-message .message-bubble{background:#ff873d18;color:var(--ink);border-color:#ff873d44}
html[data-zp-studio] :is(.conversation-row.active,.conversation-row[aria-pressed=true],.calendar-day.selected){background:#ff873d0f;border-color:#ff873d66}
html[data-zp-studio] :is(.calendar-heading h2,.analytics-heading h2,.thread-header h2,.login-copy h1,.dialog-header h2){font-family:var(--sans);font-weight:550;letter-spacing:-.04em}
html[data-zp-studio] .analytics-bar-value{fill:var(--accent)}
html[data-zp-studio] :is(.analytics-chart-line.visitors){stroke:var(--accent)}
html[data-zp-studio] :is(.analytics-chart-point.visitors){fill:var(--accent)}
html[data-zp-studio] .analytics-chart-legend>span:first-child{color:var(--accent)}
html[data-zp-studio] .analytics-chart-line.pageviews{stroke:#abc4d0}
html[data-zp-studio] .analytics-chart-point.pageviews{fill:#abc4d0}
html[data-zp-studio] .analytics-chart-legend>span:last-child{color:#abc4d0}
html[data-zp-studio] :is(.suite-dialog,.developer-dialog,.project-dialog,dialog){background:var(--surface);color:var(--ink);border-color:var(--line);border-radius:17px}
html[data-zp-studio] :is(.suite-dialog input,.suite-dialog textarea,.suite-dialog select,.project-dialog input,.project-dialog textarea,.project-dialog select,.developer-dialog input,.developer-dialog textarea,.developer-dialog select,.quote-item input,.quick-inputs input){background:var(--paper);color:var(--ink);border-color:var(--line);border-radius:8px}
html[data-zp-studio] .login-art{background:linear-gradient(145deg,#ff873d14,#141e24 75%);border:1px solid var(--line);border-radius:20px}
html[data-zp-studio] :is(.art-word,.art-footnote){font-family:var(--sans);color:var(--ink)}
html[data-zp-studio] .art-word>span{color:var(--accent)}
html[data-zp-studio] :is(.art-dot,.zo-avatar){background:var(--accent);color:#24160d}
html[data-zp-studio] .art-orbit{border-color:#ff873d33}
html[data-zp-studio] .password-field{background:var(--surface);border-color:var(--line)}
html[data-zp-studio] .password-field button{color:var(--muted)}
html[data-zp-studio] :is(.login-copy>p:last-child,.login-copy .eyebrow,.privacy-note,.session-status){color:var(--muted)}

/* Payment states, QR contrast and the isolated client website stay untouched. */
html[data-zp-studio] .payment-dashboard .tap-pay{background:var(--surface);border-color:var(--line);border-radius:17px}
html[data-zp-studio] :is(.portal-panel,.project-panel)>progress{accent-color:var(--accent)}
html[data-zp-studio] body:has(>.preview-back),html[data-zp-studio] body:has(.preview-mark){background:var(--paper)!important}
html[data-zp-studio] body:has(.preview-mark)>header{background:var(--surface);border-color:var(--line);color:var(--muted)}
html[data-zp-studio] .preview-mark strong{color:var(--accent)}
html[data-zp-studio] body:has(.preview-mark) .zp-effects-toggle{display:none}
html[data-zp-studio] :is(.preview-back,.project-login){border-radius:8px}

/* One component palette for the private studio and client workspace.
   :root outranks the legacy dark theme's grouped component selectors. */
html:root[data-zp-studio]{
 --studio-raised:#1d2c34;--studio-hover:#22333d;--studio-selected:#ff873d12;
 --studio-accent-line:#ff873d55;--studio-accent-ink:#ffb47d;--studio-button-ink:#24160e;
 --studio-success:#a7d6b4;--studio-success-bg:#a7d6b410;--studio-success-line:#a7d6b440;
 --studio-warning:#f3c27c;--studio-warning-bg:#f3c27c10;--studio-warning-line:#f3c27c40;
 --studio-danger:#ffb3a8;--studio-danger-bg:#ffb3a810;--studio-danger-line:#ffb3a840;
}
html:root[data-zp-studio][data-theme=light]{
 --studio-raised:#e8eef0;--studio-hover:#e0e8eb;--studio-selected:#bd591d0c;
 --studio-accent-line:#bd591d55;--studio-accent-ink:#a94a16;--studio-button-ink:#fffaf4;
 --studio-success:#316c4a;--studio-success-bg:#316c4a0c;--studio-success-line:#316c4a40;
 --studio-warning:#855a1d;--studio-warning-bg:#855a1d0c;--studio-warning-line:#855a1d40;
 --studio-danger:#a33f35;--studio-danger-bg:#a33f350c;--studio-danger-line:#a33f3540;
}
/* Borders and fields use tokens even when a legacy component declares its own colors. */
html:root[data-zp-studio] body .conversation-name{font-size:12px}
html:root[data-zp-studio] body :is(.conversation-preview,.tool-button,.notification-copy>p){font-size:11px}
html:root[data-zp-studio] body :is(.conversation-time,.message-meta){font-size:9px}
html:root[data-zp-studio] body :is(.inbox-shell,.conversation-pane,.pagination,.list-footer,.list-filters,.reply-form,.reply-suggestions,.dialog-footer,.mail-management,.project-version-row,.project-log-entry,.project-panel details,.key-row,.template-share-row,.template-access-row,.transaction-detail-line,.calendar-controls,.calendar-layout,.calendar-footnote,.portal-version){border-color:var(--line)}
html:root[data-zp-studio] body :is(.inbox-view,.payment-dashboard,.portal-header,dialog) :is(input,textarea,select):not([type=checkbox]):not([type=radio]):not([type=range]){background-color:var(--paper);color:var(--ink);border-color:var(--line);border-radius:8px;box-shadow:none}
html:root[data-zp-studio] body :is(input,textarea)::placeholder{color:var(--muted);opacity:.8}
html:root[data-zp-studio] body :is(.search-field,.compose-box,.password-field,.template-search):focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--studio-selected)}
html:root[data-zp-studio] body :is(.search-field input,.compose-box textarea,.compose-box textarea:disabled,.template-search input,.password-field input){background:transparent!important}
html:root[data-zp-studio] body :is(.suite-field input,.suite-field select):focus{border-color:var(--accent)}
html:root[data-zp-studio] body :is(.conversation-list,.messages,.calendar-agenda-list,.analytics-bars,.analytics-table-wrap,dialog){scrollbar-color:var(--line) transparent;scrollbar-width:thin}

/* Inbox, selected client and conversation tools. */
html:root[data-zp-studio] body .inbox-shell{border-radius:17px;background:var(--surface);box-shadow:none}
html:root[data-zp-studio] body :is(.conversation-pane,.thread-content,.reply-form,.thread-empty,.notification-banner,.quick-reply-panel,.calendar-agenda,.calendar-week-header,.agenda-tabs){background:var(--surface);color:var(--ink);border-color:var(--line)}
html:root[data-zp-studio] body .conversation-pane{border-right:1px solid var(--line)}
html:root[data-zp-studio] body .notification-banner{border-radius:12px}
html:root[data-zp-studio] body :is(.notification-icon,.count-pill,.tool-count,.empty-mini){background:var(--studio-raised);color:var(--muted);border-color:var(--line)}
html:root[data-zp-studio] body :is(.notification-copy>p,.quiet-button,.sound-button,.workspace-subline>p,.connection-state,.workspace-footer,.workspace-footer a,.rail-bottom,.list-caption,.list-footer,.pagination>span,.conversation-time,.conversation-preview,.conversation-presence,.date-divider,.message-meta,.reply-footnote,.reply-footnote strong,.quick-replies-hint,.contact-summary,.field-note,.dialog-intro,.suite-field,.suite-field>span,.dialog-footer>span,.mail-addresses dt,.mail-status>span,.library-photo-detail>span,.booking-email-note,.compose-bottom>span,.removed-photo,.photo-uploading){color:var(--muted)}
html:root[data-zp-studio] body :is(.conversation-name,.conversation-item.unread .conversation-preview,.thread-name,.thread-person h2,.quick-reply-heading>strong,.booking-details>strong,.inline-calendar-card>strong,.scheduler-art strong,.library-photo-detail>strong,.mail-addresses dd,.mail-status>strong,.agenda-event h4,.agenda-heading h3){color:var(--ink)}
html:root[data-zp-studio] body .conversation-item{background:transparent;border-bottom-color:var(--line);border-left-color:transparent}
html:root[data-zp-studio] body .conversation-item:hover{background:var(--studio-raised)}
html:root[data-zp-studio] body .conversation-item.selected{background:var(--studio-selected);border-left-color:var(--accent)}
html:root[data-zp-studio] body .conversation-item.selected .conversation-name{color:var(--studio-accent-ink)}
html:root[data-zp-studio] body :is(.conversation-unread,.rail-unread,.rail-count){background:var(--accent);color:var(--studio-button-ink)}
html:root[data-zp-studio] body .dashboard-rail :is(.rail-unread,.rail-count){border-color:#111c22}
html:root[data-zp-studio] body .dashboard-rail .rail-item:hover{background:var(--studio-raised);color:var(--ink);--rail-icon:var(--ink)}
html:root[data-zp-studio] body .dashboard-rail .rail-tooltip{background:var(--studio-raised);color:var(--ink);border:1px solid var(--line)}
html:root[data-zp-studio] body .list-filters button{color:var(--muted);background:transparent}
html:root[data-zp-studio] body .list-filters button.active{background:transparent;color:var(--accent);border-bottom-color:var(--accent)}
html:root[data-zp-studio] body :is(.presence-toggle,.presence-toggle.is-online){background:var(--surface);border-color:var(--line);color:var(--muted)}
html:root[data-zp-studio] body .presence-toggle.is-online{color:var(--ink)}
html:root[data-zp-studio] body .switch-track{background:var(--line)}
html:root[data-zp-studio] body .presence-toggle[aria-checked=true] .switch-track{background:var(--accent)}
html:root[data-zp-studio] body .switch-track>span{background:var(--ink)}
html:root[data-zp-studio] body .visitor-avatar{font-family:var(--sans);background:var(--studio-raised);color:var(--studio-accent-ink);border:1px solid var(--line)}
html:root[data-zp-studio] body .avatar-moss{color:#a7d6b4}
html:root[data-zp-studio] body .avatar-rose{color:#f2b4a8}
html:root[data-zp-studio] body .avatar-slate{color:#afc9dc}
html:root[data-zp-studio] body .avatar-lilac{color:#ceb9e8}
html:root[data-zp-studio][data-theme=light] .visitor-avatar{color:var(--ink)}
html:root[data-zp-studio] body :is(.thread-person>a,.quick-replies summary,.quick-reply-button>span,.quick-reply-heading>span,.inline-calendar-card>span:not(.calendar-symbol),.inline-calendar-card>small,.booking-details>span,.booking-contact,.suggestion-heading,.suggestion-heading>span:last-child,.contextual-reply>small){color:var(--muted)}
html:root[data-zp-studio] body :is(.message-link,.zo-message .message-link,.booking-calendar-actions button,.thread-person>a:hover,.contact-summary a:hover,.quick-replies summary:hover,.quick-replies-label>span,.suggestion-heading>span:first-child,.inline-calendar-card .calendar-symbol){color:var(--studio-accent-ink)}
html:root[data-zp-studio] body .date-divider:before,html:root[data-zp-studio] body .date-divider:after{background:var(--line)}
html:root[data-zp-studio] body .message-bubble{font-size:13px;line-height:1.75;background:var(--studio-raised)}
html:root[data-zp-studio] body .zo-message .message-bubble{background:var(--studio-selected);border-color:var(--studio-accent-line)}
html:root[data-zp-studio] body :is(.message-seen,.visitor-typing){color:var(--muted)}
html:root[data-zp-studio] body .typing-dots i{background:var(--muted)}
html:root[data-zp-studio] body :is(.compose-box,.compose-box:has(textarea:disabled),.search-field){background:var(--paper);color:var(--ink);border-color:var(--line);border-radius:9px}
html:root[data-zp-studio] body .compose-box textarea{font-size:13px;color:var(--ink)}
html:root[data-zp-studio] body :is(.tool-button,.outline-button,.archive-button,.block-button,.page-button,.load-earlier,.quick-reply-button,.attach-photo-button,.draft-photo>button,.dialog-close,.booking-actions button,.agenda-actions button,.calendar-proposal-banner button,.calendar-month-controls button,.project-button,.template-share-row button,.template-access-actions a,.payment-chat-dialog .secondary){background:var(--surface);color:var(--ink);border-color:var(--line);border-radius:8px;box-shadow:none}
html:root[data-zp-studio] body :is(.tool-button,.outline-button,.archive-button,.block-button,.page-button,.load-earlier,.quick-reply-button,.attach-photo-button,.dialog-close,.booking-actions button,.agenda-actions button,.calendar-proposal-banner button,.calendar-month-controls button,.project-button,.template-actions button,.template-share-row button):hover:enabled{background:var(--studio-raised);color:var(--ink);border-color:var(--studio-accent-line);box-shadow:none}
html:root[data-zp-studio] body :is(.tool-button>span:first-child,.sound-button[aria-pressed=true],.quiet-button:hover){color:var(--accent)}
html:root[data-zp-studio] body :is(.send-button,.booking-actions .booking-primary,.agenda-actions .agenda-primary,.analytics-apply,.project-primary,.payment-chat-dialog .primary-button){background:var(--accent);border-color:var(--accent);color:var(--studio-button-ink);border-radius:8px;box-shadow:none}
html:root[data-zp-studio] body :is(.send-button,.booking-actions .booking-primary,.agenda-actions .agenda-primary,.analytics-apply,.project-primary):hover:enabled{background:#ffa56b;border-color:#ffa56b;color:#24160e;box-shadow:none}
html:root[data-zp-studio] body .send-button:disabled{background:var(--studio-raised);border-color:var(--line);color:var(--muted);opacity:.65}
html:root[data-zp-studio] body :is(.empty-bubble,.empty-reply,.scheduler-art,.contextual-reply,.booking-card,.booking-card.confirmed,.mail-status,.mail-status.configured,.library-photo,.library-photo>a,.draft-photo,.message-photo-link){background:var(--paper);border-color:var(--line);color:var(--ink);box-shadow:none}
html:root[data-zp-studio] body :is(.empty-bubble>span,.empty-spark,.empty-signature>span,.scheduler-art>span:first-child,.scheduler-art>span:last-child,.booking-icon){color:var(--accent)}
html:root[data-zp-studio] body :is(.thread-empty .eyebrow,.thread-empty>p:not(.eyebrow),.empty-signature,.list-empty,.list-empty>strong,.scheduler-art div>span,.library-empty){color:var(--muted)}
html:root[data-zp-studio] body :is(.empty-bubble,.empty-signature,.quick-reply-heading>strong,.inline-calendar-card>strong,.booking-heading>strong,.scheduler-art strong){font-family:var(--sans)}
html:root[data-zp-studio] body .inline-calendar-card{border-color:var(--line)}
html:root[data-zp-studio] body .library-empty{border-color:var(--line)}
html:root[data-zp-studio] body .booking-status{background:var(--studio-selected);border-color:var(--studio-accent-line);color:var(--studio-accent-ink)}
html:root[data-zp-studio] body .booking-card.confirmed .booking-status{background:var(--studio-success-bg);border-color:var(--studio-success-line);color:var(--studio-success)}
html:root[data-zp-studio] body :is(.inbox-error,.send-error,.thread-notice,.thread-notice.blocked-notice,.dialog-error,.agenda-conflict,.calendar-edit-preview.conflict,#analytics-error,.blocked-badge){background:var(--studio-warning-bg);border-color:var(--studio-warning-line);color:var(--studio-warning)}
html:root[data-zp-studio] body :is(.text-danger,.form-error,.send-error button,.mail-status .mail-status-error){color:var(--studio-danger)}
html:root[data-zp-studio] body .text-danger:hover:enabled{color:var(--studio-danger);text-decoration:underline}
html:root[data-zp-studio] body .toast{background:var(--studio-raised);border-color:var(--line);color:var(--ink);box-shadow:0 8px 30px #0004}
html:root[data-zp-studio] body dialog::backdrop{background:#050b10cc;backdrop-filter:blur(4px)}
html:root[data-zp-studio] body :is(.suite-dialog,.developer-dialog,.project-dialog){box-shadow:0 24px 90px #0005}
html:root[data-zp-studio] body .dialog-header .eyebrow{color:var(--accent)}
html:root[data-zp-studio] body .dialog-footer>.primary-button{width:auto;flex:0 1 auto;min-width:0}
html:root[data-zp-studio] body .dialog-footer>span{flex:1;min-width:0}

/* Calendar: neutral panels, orange selection, distinct event statuses. */
html:root[data-zp-studio] body :is(.calendar-zone-label select,.analytics-filters select,.analytics-filters input,.analytics-inline-field select){background:var(--paper);color:var(--ink);border-color:var(--line)}
html:root[data-zp-studio] body :is(.owner-calendar-day,.owner-calendar-day.outside-month){background:var(--surface);border-color:var(--line);color:var(--ink)}
html:root[data-zp-studio] body .owner-calendar-day.outside-month{background:var(--paper);color:var(--muted)}
html:root[data-zp-studio] body .owner-calendar-day:hover{background:var(--studio-raised)}
html:root[data-zp-studio] body .owner-calendar-day.selected{background:var(--studio-selected);box-shadow:inset 0 0 0 1px var(--studio-accent-line)}
html:root[data-zp-studio] body .today .calendar-day-number{background:var(--accent);color:var(--studio-button-ink)}
html:root[data-zp-studio] body .agenda-tabs button{color:var(--muted)}
html:root[data-zp-studio] body .agenda-tabs button.active{background:var(--studio-selected);color:var(--studio-accent-ink);box-shadow:none}
html:root[data-zp-studio] body :is(.agenda-event,.agenda-event.pending){background:var(--paper);border-color:var(--line);border-radius:12px}
html:root[data-zp-studio] body :is(.calendar-mini-event.confirmed,.agenda-status){background:var(--studio-success-bg);color:var(--studio-success);border-color:var(--studio-success-line)}
html:root[data-zp-studio] body :is(.calendar-mini-event.pending,.pending .agenda-status){background:var(--studio-warning-bg);color:var(--studio-warning);border-color:var(--studio-warning-line)}
html:root[data-zp-studio] body :is(.calendar-mini-event.busy,.busy .agenda-status){background:var(--studio-raised);color:var(--muted);border-color:var(--line)}
html:root[data-zp-studio] body :is(.calendar-heading .eyebrow,.calendar-zone-label,.calendar-legend,#calendar-sync,.calendar-more-events,.agenda-heading .eyebrow,.agenda-time,.agenda-request-date,.agenda-client-choice,.agenda-presence,.agenda-contact,.agenda-contact a,.agenda-empty,.agenda-empty>strong,.calendar-footnote,.calendar-week-header){color:var(--muted)}
html:root[data-zp-studio] body :is(.calendar-proposal-banner,.calendar-edit-preview){background:var(--studio-selected);color:var(--studio-accent-ink);border-color:var(--studio-accent-line)}
html:root[data-zp-studio] body .agenda-actions .agenda-open-chat{background:transparent;color:var(--studio-accent-ink)}
html:root[data-zp-studio] body .agenda-actions .agenda-subtle{background:transparent;color:var(--studio-danger)}

/* Analytics shares the library cards, including tables and expanded journeys. */
html:root[data-zp-studio] body .analytics-stat:first-child{background:var(--studio-selected);color:var(--ink);border-color:var(--studio-accent-line)}
html:root[data-zp-studio] body .analytics-alltime{background:var(--surface);border:1px solid var(--studio-accent-line);color:var(--ink);border-radius:17px}
html:root[data-zp-studio] body .analytics-alltime strong{color:var(--accent)}
html:root[data-zp-studio] body .analytics-alltime .eyebrow{color:var(--studio-accent-ink)}
html:root[data-zp-studio] body :is(.analytics-alltime p:last-child,.analytics-live){color:var(--muted)}
html:root[data-zp-studio] body :is(.analytics-table th,.analytics-journey-row>td){background:var(--paper);color:var(--muted);border-color:var(--line)}
html:root[data-zp-studio] body .analytics-table td{color:var(--ink);border-color:var(--line)}
html:root[data-zp-studio] body :is(.analytics-page-link,.analytics-contact-name,.analytics-journey a){color:var(--ink)}
html:root[data-zp-studio] body .analytics-journey-toggle{color:var(--studio-accent-ink)}
html:root[data-zp-studio] body .analytics-journey li{border-color:var(--line)}
html:root[data-zp-studio] body .analytics-devices span{background:var(--studio-raised);color:var(--muted)}
html:root[data-zp-studio] body .analytics-source-item:hover{background:var(--studio-raised);color:var(--ink)}
html:root[data-zp-studio] body .analytics-bar-track{fill:var(--studio-raised)}
html:root[data-zp-studio] body .analytics-axis{fill:var(--muted)}
html:root[data-zp-studio] body .analytics-grid-line{stroke:var(--line)}
html:root[data-zp-studio] body .analytics-chart-area{fill:var(--studio-selected)}
html:root[data-zp-studio] body .analytics-empty{color:var(--muted)!important}

/* Project details, Keys Ring, payment builders and their inner dialogs. */
html:root[data-zp-studio] body :is(.project-library-banner,.project-library-copy,.custom-request,.offer,.connection,.empty-transactions,.client-link-panel,.transaction-client-context,.project-progress,.in-person-dialog){background:var(--surface);color:var(--ink);border-color:var(--line);border-radius:17px}
html:root[data-zp-studio] body .project-library-banner{background:radial-gradient(ellipse at 85% 10%,var(--studio-selected),transparent 65%),var(--paper)}
html:root[data-zp-studio] body :is(.project-library-copy small,.project-library-copy p,.project-detail-heading>p,.project-version-row small,.project-empty p,.template-sort-label,.template-path,.template-dialog-note,.project-dialog p,.portal-welcome>div>p:last-child,.portal-header>div,.portal-tabs button,#client-status,.client-login form>p,.login-intro>p:last-child){color:var(--muted)}
html:root[data-zp-studio] body .project-muted{color:var(--muted)!important}
html:root[data-zp-studio] body :is(.project-empty,.template-empty,.project-panel details,.key-row){border-color:var(--line)}
html:root[data-zp-studio] body :is(.project-log-entry small,.key-row small,.project-library-copy>span,.project-library-banner>span){color:var(--studio-accent-ink)}
html:root[data-zp-studio] body :is(.project-panel progress,.project-library-copy progress,.portal-panel>progress){background:var(--studio-raised)}
html:root[data-zp-studio] body :is(.project-panel progress,.project-library-copy progress,.portal-panel>progress)::-webkit-progress-bar{background:var(--studio-raised)}
html:root[data-zp-studio] body :is(.project-panel progress,.project-library-copy progress,.portal-panel>progress)::-webkit-progress-value{background:var(--accent)}
html:root[data-zp-studio] body :is(.project-panel progress,.project-library-copy progress,.portal-panel>progress)::-moz-progress-bar{background:var(--accent)}
html:root[data-zp-studio] body :is(.portal-tabs button:hover,#client-code-send){background:var(--surface);color:var(--ink);border-color:var(--line)}
html:root[data-zp-studio] body :is(.portal-brand>span,.portal-panel strong){color:var(--ink)}
html:root[data-zp-studio] body .text-button{color:var(--studio-accent-ink)}
html:root[data-zp-studio] body .portal-welcome select{background:var(--paper);border-color:var(--line);color:var(--ink)}
html:root[data-zp-studio] body .agenda-empty>span{color:var(--accent)}
html:root[data-zp-studio] body .payment-dashboard :is(button,.button){border-radius:8px}
html:root[data-zp-studio] body .payment-dashboard :is(.secondary,.quick-options button){background:var(--surface);color:var(--ink);border-color:var(--line)}
html:root[data-zp-studio] body .payment-dashboard :is(.secondary,.quick-options button):hover{background:var(--studio-raised);border-color:var(--studio-accent-line)}
html:root[data-zp-studio] body .payment-dashboard :is(.quick-payment,.custom-builder,.advanced-builder,.request,.tap-pay,.transactions){border-color:var(--line)}
html:root[data-zp-studio] body .quote-totals{background:var(--studio-selected);border-left-color:var(--accent);color:var(--ink);border-radius:0 9px 9px 0}
html:root[data-zp-studio] body :is(.payment-qr,.transaction-dialog,.in-person-dialog){background:var(--surface);color:var(--ink);border-color:var(--line);border-radius:17px}
html:root[data-zp-studio] body :is(.client-link-choice,.in-person-dialog button){background:var(--studio-raised);color:var(--ink);border-color:var(--line);border-radius:8px}
html:root[data-zp-studio] body .client-link-choice[aria-pressed=true]{background:var(--studio-selected);border-color:var(--studio-accent-line)}
html:root[data-zp-studio] body .in-person-dialog .tap-primary{background:var(--accent);color:var(--studio-button-ink);border-color:var(--accent)}
html:root[data-zp-studio] body :is(.transaction-row:hover,.transaction-dialog .qr-close){border-color:var(--studio-accent-line)}
html:root[data-zp-studio] body .transaction-row{border-radius:12px}
html:root[data-zp-studio] body .transaction-state.paid{color:var(--studio-success)}
html:root[data-zp-studio] body :is(.transaction-state.failed,.transaction-state.disputed){color:var(--studio-danger)}
html:root[data-zp-studio] body :is(.transaction-row small,.transaction-state,.transaction-detail-line span,.transaction-event,.client-link-panel .small,.client-link-empty,.client-link-choice small,.client-link-form label,.custom-request p,.offer p:not(.price),.quick-payment>div>p,.quick-payment .small,.custom-builder>p,.tap-pay p,#quick-status,.item-labels,.payment-chat-dialog p){color:var(--muted)}
html:root[data-zp-studio] body .payment-qr .qr-close{background:var(--surface);color:var(--ink);border-color:var(--line)}
html:root[data-zp-studio] body :is(.qr-amount,.payment-qr a,.client-link-selected,.client-link-status,.in-person-dialog .tap-amount){color:var(--studio-accent-ink)}
html:root[data-zp-studio] body .request-preview .preview-brand{color:inherit}
html:root[data-zp-studio] body .payment-chat-dialog .dialog-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
html:root[data-zp-studio] body .payment-chat-dialog .dialog-actions button{width:100%;min-width:0;min-height:44px;padding:11px 13px;font-size:11px;line-height:1.5}
/* QR artwork retains its white quiet zone; message payment graphics retain their orange artwork. */
html:root[data-zp-studio] body .payment-qr svg{background:#fff;stroke:none}
@media(max-width:760px){
 html:root[data-zp-studio] body .scene-stage{margin:0 20px 72px;border-radius:17px}
 html:root[data-zp-studio] body .scene-stage .stage-heading{top:26px;left:22px;right:22px}
 html:root[data-zp-studio] body .hero-name{font-size:clamp(62px,16vw,88px)}
 html:root[data-zp-studio] body .scene-title{font-size:clamp(38px,10vw,58px)}
 .zp-effects-toggle,body:has(.dashboard-rail) .zp-effects-toggle{left:16px;bottom:max(16px,env(safe-area-inset-bottom));font-size:9px;padding:7px 9px}
 body:has(.dashboard-rail) .zp-effects-toggle{left:calc(var(--dashboard-rail-width,66px) + 14px);bottom:12px}
}
@media(max-width:420px){html:root[data-zp-studio] body .dialog-footer>.primary-button{width:100%;flex:auto}}
@media(prefers-reduced-motion:reduce){#zp-binary-field{opacity:.7}}
@media print{#zp-binary-field,.zp-effects-toggle{display:none!important}html:root[data-zp-studio] body body{--paper:white;--surface:white;--ink:black;--muted:#333;--line:#bbb;background:white!important;color:black}}
