/* Final application layer: shared geometry and mode tokens. Customer PDFs and
   presentation artwork retain the Green Hero Energy identity. */
html[data-theme] body :is(.leaflet-popup-content-wrapper,.leaflet-popup-tip){background:var(--ws-panel)!important;color:var(--ws-text)!important}
.shared-customer-popup{max-width:280px;overflow-wrap:anywhere}
.shared-customer-popup h3{font-size:15px;margin:0 0 8px}
.shared-customer-popup p{margin:8px 0}
html[data-theme] body button.shared-customer-pin-button{width:44px;min-width:44px;min-height:44px}
:root[data-theme=hero]{--ws-page:#061c15;--ws-panel:#0d281e;--ws-raised:#173e2e;--ws-field:#0a2118;--ws-line:#355648;--ws-text:#e9f5ec;--ws-muted:#a0b5a8;--ws-accent:#9df2bd;--ws-on-accent:#0d2116;--ws-button:#193c2e;--ws-hover:#234f3c;--ws-scheme:dark}
:root[data-theme=dark]{--ws-page:#000;--ws-panel:#0c0c0c;--ws-raised:#171717;--ws-field:#080808;--ws-line:#3d3d3d;--ws-text:#fff;--ws-muted:#bcbcbc;--ws-accent:#fff;--ws-on-accent:#000;--ws-button:#222;--ws-hover:#303030;--ws-scheme:dark}
:root[data-theme=light]{--ws-page:#f2f3ef;--ws-panel:#f5f6f2;--ws-raised:#e8ede1;--ws-field:#fff;--ws-line:#c1d0bf;--ws-text:#123629;--ws-muted:#45614e;--ws-accent:#01460d;--ws-on-accent:#fff;--ws-button:#e8ede1;--ws-hover:#d1eba4;--ws-scheme:light}
html[data-theme],html[data-theme] body{background:var(--ws-page)!important;color:var(--ws-text)!important;color-scheme:var(--ws-scheme)}
html[data-theme] body,html[data-theme] body *{
 --ui-page:var(--ws-page)!important;--ui-surface:var(--ws-panel)!important;--ui-raised:var(--ws-raised)!important;--ui-field:var(--ws-field)!important;--ui-border:var(--ws-line)!important;--ui-text:var(--ws-text)!important;--ui-muted:var(--ws-muted)!important;--ui-accent:var(--ws-accent)!important;--ui-accent-text:var(--ws-on-accent)!important;
 --mode-page:var(--ws-page)!important;--mode-surface:var(--ws-panel)!important;--mode-raised:var(--ws-raised)!important;--mode-field:var(--ws-field)!important;--mode-border:var(--ws-line)!important;--mode-text:var(--ws-text)!important;--mode-muted:var(--ws-muted)!important;--mode-accent:var(--ws-accent)!important;--mode-accent-text:var(--ws-on-accent)!important;--mode-focus:var(--ws-accent)!important;
 --info-panel:var(--ws-panel)!important;--info-raised:var(--ws-raised)!important;--info-field:var(--ws-field)!important;--info-border:var(--ws-line)!important;--info-text:var(--ws-text)!important;--info-muted:var(--ws-muted)!important;--info-scheme:var(--ws-scheme)!important;
 --button-fill:var(--ws-button)!important;--button-hover:var(--ws-hover)!important;--button-border:var(--ws-line)!important;
 --crm-surface:var(--ws-panel)!important;--crm-field:var(--ws-field)!important;--crm-text:var(--ws-text)!important;--crm-muted:var(--ws-muted)!important;--crm-border:var(--ws-line)!important;--crm-button:var(--ws-button)!important;--crm-button-text:var(--ws-text)!important;--crm-selected:var(--ws-button)!important;--crm-selected-text:var(--ws-button-text,var(--ws-text))!important;--crm-link:var(--ws-accent)!important;
 --chart-panel:var(--ws-panel)!important;--chart-raised:var(--ws-raised)!important;--chart-border:var(--ws-line)!important;--chart-text:var(--ws-text)!important;--chart-muted:var(--ws-muted)!important;--chart-grid:var(--ws-line)!important;
}
/* Apply one surface language to every workspace, including dynamically added dialogs. */
html[data-theme] body :is(#auth-panel,dialog,#meeting-shell,#electricity-meeting-shell,#quote-form,#quote-presentation,#pipeline-form,#pipeline-customer-panel,#admin-workflows,#map-tools,#map-filters,#pin-peek,#pin-subcategories,.settings-card,.card,.column,.metric,.daily-results,.daily-customer,.front-appointment,.customer-panel,.customer-sidebar,.customer-log,.customer-journal,.customer-timeline-entry,.customer-files-panel,.user-card,.invitation-row,.record-extra,.record-pin-identity,.calendar-upcoming,.calendar-day:not(.empty),.calendar-day-entry,.board-appointment,.booking-calendar,.booking-clock-section,.booking-agenda-row,.meeting-script,.needs-question,.energy-flow details,.energy-cost-columns fieldset,.energy-metrics,.energy-simulate-action,.energy-chart-card,.electricity-question,.electricity-fees fieldset,.electricity-benefit,.electricity-chart-card,.electricity-cost-card,.electricity-recommendation,.electricity-offer-summary,.electricity-method,.calculation-highlight,.installation-card,.installation-column,.installation-review,.commerce-editor,.faq-item,.insight-card,.tempo-goals,.daily-goals,.goal-progress-card,.revenue-report,.competition-card,.competition-empty,.training-course,.training-category,.seller-performance,.performance-card,.team-card,.team-person,.crm-contact-card,.crm-contact-summary,.skill-hero,.skill-kpi,.skill-week,.skill-coach-card,.skill-branch,.skill-achievement,.skill-racer,.skill-challenge,.skill-method,.skill-notice-settings,.skill-notice,.skill-training-step,.skill-toast,.skill-race-summary>div,table){
 background:var(--ws-panel)!important;color:var(--ws-text)!important;border-color:var(--ws-line)!important;border-radius:6px!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
html[data-theme] body #application>header,html[data-theme] body #primary-nav{background:var(--ws-panel)!important;color:var(--ws-text)!important;border-color:var(--ws-line)!important;box-shadow:none!important;backdrop-filter:none!important}
html[data-theme] body :is(h1,h2,h3,h4,h5,legend,summary,label){color:var(--ws-text)!important}
html[data-theme] body :is(p,.hint,small,figcaption){color:var(--ws-muted)!important}
html[data-theme] body :is(.settings-card,.card,.column,.customer-panel,.daily-results,.daily-customer,.insight-card,.competition-card,.training-course,.skill-hero,.skill-kpi,dialog) :is(h1,h2,h3,h4,strong,b,span,dt,dd,li,summary,legend,th,td){color:var(--ws-text)!important}
html[data-theme] body :is(a,summary){color:var(--ws-accent)!important}
html[data-theme] body :is(input,select,textarea){background:var(--ws-field)!important;color:var(--ws-text)!important;border:1px solid var(--ws-line)!important;border-radius:4px!important;box-shadow:none!important;min-height:40px;padding:9px 11px;font-weight:400}
html[data-theme] body :is(input,textarea)::placeholder{color:var(--ws-muted)!important;opacity:.8}
html[data-theme] body input:is([type=checkbox],[type=radio]){width:18px;height:18px;min-height:18px;padding:0;accent-color:var(--ws-accent)}
html[data-theme] body :is(fieldset,.needs-answer,.electricity-answers label,.badge,.goal-forecast,.pipeline-management,.calendar-agenda-item,.meeting-step,.insight-filter-buttons button,.goal-tabs button){border-radius:4px!important;border-color:var(--ws-line)!important;box-shadow:none!important}
html[data-theme] body :is(.needs-answer,.electricity-answers label,.energy-metrics,.booking-agenda-row,.goal-progress-card,.crm-contact-summary,.customer-timeline-entry,.record-extra,.metric,.installation-column){background:var(--ws-raised)!important}
html[data-theme] body :is(.needs-answer,.electricity-answers label):has(input:checked){background:var(--ws-button)!important;border-color:var(--ws-accent)!important;color:var(--ws-text)!important;box-shadow:inset 3px 0 var(--ws-accent)!important}
html[data-theme] body :is(#meeting-shell .needs-answer,#electricity-meeting-shell .electricity-answers label):has(input:checked) span{color:var(--ws-text)!important}
/* 40px controls on desktop; 44px touch targets on phones. Tabs retain text. */
html[data-theme] body :is(button,a.daily-action-icon){background:var(--ws-button)!important;color:var(--ws-button-text,var(--ws-text))!important;border-color:var(--ws-line)!important;border-radius:4px!important;box-shadow:none!important;min-height:40px;line-height:1.4;padding:8px 12px;letter-spacing:normal;font-size:13px;transition:background-color .12s ease,border-color .12s ease}
html[data-theme] body button :is(span,strong,b,small){color:inherit!important}
html[data-theme] body button:not(:disabled):hover,html[data-theme] body a.daily-action-icon:hover{background:var(--ws-hover)!important;border-color:var(--ws-muted)!important}
html[data-theme] body button:disabled{opacity:.5;cursor:default}
html[data-theme] body :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--ws-accent)!important;outline-offset:3px}
html[data-theme] body button.compact-action-icon,html[data-theme] body .daily-action-icon{display:inline-flex;flex:0 0 40px;width:40px;height:40px;min-width:40px;max-width:40px;min-height:40px;padding:0!important;align-items:center;justify-content:center;vertical-align:middle}
html[data-theme] body button.compact-action-remove svg{color:#ed7c7c!important;stroke:currentColor!important}
html[data-theme=light] body button.compact-action-remove svg{color:#b52e3c!important}
html[data-theme] body :is(.settings-actions,.admin-header-actions,.dialog-actions,.daily-customer-actions,.peek-primary-actions,.peek-links,.competition-card-actions,.competition-editor-actions,.crm-directory-actions,.team-actions,.team-heading-actions,.training-actions,.calendar-mode,.presentation-controls,.calendar-day-toolbar){gap:8px;align-items:center;flex-wrap:wrap}
html[data-theme] body :is(.goal-editor form,.training-editor form)>button+button{margin-inline-start:8px}
html[data-theme] body :is(.card,.settings-card,.insight-card,.competition-card,.training-course,.seller-performance,.team-card){padding:20px}
html[data-theme] body :is(.insight-grid,.settings-grid,.competitions-list,.training-grid,.team-grid){gap:16px}
html[data-theme] body :is(.insight-bar,.insight-bar-track,.goal-progress-track,.revenue-chart-bar,.skill-week-bars i,progress){border-radius:2px!important}
html[data-theme] body :is(.insight-bar-row,.insight-drilldown,.insight-bar-button){border-radius:2px!important}
html[data-theme] body :is(#theme-menu,#app-menu,.skill-dialog,.goal-editor,.competition-dialog,.crm-edit-dialog){border-radius:6px!important;box-shadow:0 12px 40px #0003!important}
html[data-theme] body #application #quotes-view .presentation-launchers button{background:var(--ws-panel)!important;color:var(--ws-text)!important;border:1px solid var(--ws-line)!important;box-shadow:none!important;border-radius:6px!important;padding:24px}
html[data-theme] body #application #quotes-view .presentation-launchers button strong{color:var(--ws-text)!important}
html[data-theme] body .presentation-launchers button>span{display:none}
html[data-theme] body #quotes-view :is(.energy-chart-card,.electricity-chart-card),html[data-theme] body #quotes-view .energy-chart-pair>.energy-chart-card{background:var(--ws-panel)!important;border-radius:6px!important;box-shadow:none!important}
html[data-theme] body #quotes-view .energy-chart-card svg{border-radius:6px!important;clip-path:inset(0 round 6px)}
html[data-theme] body #quotes-view :is(.energy-chart-card,.electricity-chart-card) svg>rect:first-of-type{fill:var(--ws-panel)!important;fill-opacity:1}
html[data-theme] body #quotes-view :is(.energy-chart-card,.electricity-chart-card) svg text{fill:var(--ws-text)!important}
html[data-theme] body #quotes-view :is(.energy-chart-card,.electricity-chart-card) :is(p,figcaption){color:var(--ws-muted)!important}
html[data-theme] body #quotes-view .electricity-gridline{stroke:var(--ws-line)!important}
/* Dark's structure stays black/white; business status, map pins and chart series
   keep their semantic colors so users can still distinguish products/results. */
html[data-theme=dark] body #quotes-view :is(.calculation-highlight,.electricity-cost-card,.electricity-fees fieldset){background:var(--ws-panel)!important;border-color:var(--ws-line)!important;color:#fff!important}
html[data-theme=dark] body #quotes-view :is(.calculation-highlight,.electricity-cost-card) :is(strong,span,h3,p){color:#fff!important}
html[data-theme=hero] body #quotes-view :is(.calculation-highlight.current,.electricity-cost-card.current,.electricity-fees fieldset:first-child){background:#302127!important;border-color:#76535c!important}
html[data-theme=hero] body #quotes-view :is(.calculation-highlight.after,.calculation-highlight.benefit,.electricity-cost-card.proposed,.electricity-fees fieldset:last-child){background:#163b2a!important;border-color:#507d5e!important}
html[data-theme=light] body #quotes-view :is(.calculation-highlight.current,.electricity-cost-card.current,.electricity-fees fieldset:first-child){background:#f4e7e3!important;border-color:#cfb2af!important}
html[data-theme=light] body #quotes-view :is(.calculation-highlight.after,.calculation-highlight.benefit,.electricity-cost-card.proposed,.electricity-fees fieldset:last-child){background:#e7eddf!important;border-color:#b7c9ab!important}
/* Navigation keeps its familiar layout and uses the same surfaces as the app. */
html[data-theme] body #workspace-sidebar{background:var(--ws-panel)!important;border-color:var(--ws-line)!important;color:var(--ws-text)!important;box-shadow:none}
html[data-theme] body #workspace-sidebar :is(#sidebar-toggle,.menu-links>button,#sync,#theme-toggle){border-radius:4px!important}
html[data-theme] body #workspace-sidebar :is(.menu-links>button,#sync,#theme-toggle){background:transparent!important;color:var(--ws-text)!important;border-color:transparent!important}
html[data-theme] body #workspace-sidebar :is(.menu-links>button,#sync,#theme-toggle):hover{background:var(--ws-hover)!important;border-color:var(--ws-line)!important}
html[data-theme] body #workspace-sidebar .menu-links>button[aria-current=page]{background:transparent!important;border-color:transparent!important;box-shadow:none!important}
html[data-theme] body #workspace-sidebar :is(button span,button svg,#menu-identity,#connection){color:var(--ws-text)!important}
html[data-theme] body #workspace-sidebar :is(.menu-links>p,#connection){color:var(--ws-muted)!important}
html[data-theme] body #workspace-sidebar :is(.sidebar-footer,#sidebar-toggle){border-color:var(--ws-line)!important}
html[data-theme] body #workspace-sidebar #connection{background:transparent!important}
/* Wordmarks are 80% of their former size in each layout. Light uses the supplied
   transparent PNG directly; only the white source needs the black-canvas filter. */
html[data-theme] body .brand-wordmark{aspect-ratio:828/432;width:94.4px!important;background:transparent!important;border:0!important;border-radius:0!important;overflow:visible}
html[data-theme] body .brand-wordmark .platform-logo{display:block;width:100%;height:100%;overflow:hidden}
.platform-logo-white{display:var(--ws-logo-white,inline)}
.platform-logo-green{display:var(--ws-logo-green,none)}
html[data-theme=light]{--ws-logo-white:none;--ws-logo-green:inline}
html[data-theme] body #auth-panel>.brand-wordmark{width:144px!important;margin-bottom:24px!important}
html[data-theme] body #workspace-sidebar .sidebar-heading{min-height:84px;gap:16px;padding:14px 18px}
html[data-theme] body #workspace-sidebar .brand-wordmark{max-width:94.4px}
html[data-theme] body #account-avatar{border-radius:50%!important;padding:0!important;width:40px;height:40px;min-width:40px;min-height:40px}
/* Map symbols are intentionally round; surrounding panels are crisp. */
html[data-theme] body :is(.map-frame,#map,#pin-peek,.map-tap-hint){border-radius:6px!important;box-shadow:none!important}
html[data-theme] body #pin-peek :is(.peek-icon-action){border-radius:50%!important;flex:0 0 42px;width:42px;height:42px;min-width:42px;min-height:42px;max-width:42px;padding:0!important}
html[data-theme] body :is(.property-pin-core,.pin-type-symbol,.admin-pin-preview){border-radius:50%!important}
html[data-theme] body #pin-palette .pin-type-choice{border-radius:4px!important}
html[data-theme] body #pin-peek .peek-handle{background:transparent!important;border:0!important;min-height:20px;height:20px;padding:0!important}
html[data-theme] body :is(.status-error,.status-error *,#auth-error){color:#ed7c7c!important}
html[data-theme=light] body :is(.status-error,.status-error *,#auth-error){color:#b52e3c!important}
@media(max-width:767px){
 html[data-theme] body :is(button,a.daily-action-icon){min-height:44px}
 html[data-theme] body :is(input,select){min-height:44px}
 html[data-theme] body :is(.card,.settings-card,.insight-card,.competition-card,.training-course,.seller-performance,.team-card){padding:14px}
 html[data-theme] body button.compact-action-icon,html[data-theme] body .daily-action-icon{flex-basis:44px;width:44px;height:44px;min-width:44px;max-width:44px;min-height:44px}
 html[data-theme] body .brand-wordmark{width:76.8px!important}
 html[data-theme] body :is(#application>header){min-height:68px;padding-block:8px}
 html[data-theme] body :is(.skill-tabs,.goal-tabs,.insight-filter-buttons,.crm-entity-tabs){gap:6px}
 html[data-theme] body :is(.skill-tabs button,.goal-tabs button,.insight-filter-buttons button){padding:8px 10px}
 html[data-theme] body #pin-peek .peek-handle{min-height:20px}
 html[data-theme] body #app-menu{border-radius:0 6px 6px 0!important}
}
@media(prefers-reduced-motion:reduce){html[data-theme] body button{transition:none}}

html[data-theme] body #application main h1{font-size:28px;line-height:1.25;margin:0 0 10px;letter-spacing:1px}
html[data-theme] body #application main h2:not(.customer-slide h2){font-size:20px;line-height:1.4}
@media(max-width:767px){html[data-theme] body #application main h1{font-size:24px}}

html[data-theme] body .skill-profile-avatar,html[data-theme] body .skill-profile-avatar *{color:#fff!important}

html[data-theme] body :is(.skill-milestone-card,.skill-profile-preview,.hardware-price-summary,.hardware-benefit-cards article,.electricity-contract-form,.skill-profile-choice){background:var(--ws-panel)!important;color:var(--ws-text)!important;border-color:var(--ws-line)!important;border-radius:6px!important;box-shadow:none!important}

html[data-theme] body #quotes-view .energy-year-costs article{background:var(--ws-panel)!important;border-color:var(--ws-line)!important;border-radius:6px!important}
html[data-theme] body .skill-emblem-platform{padding:4px;background:var(--ws-panel)!important;border-color:var(--ws-line)!important;border-radius:4px!important;box-shadow:none!important}
html[data-theme] body .skill-emblem-platform .platform-logo{width:100%;height:100%;display:block;transform:scale(.8);transform-origin:center}
html[data-theme] body .property-pin-button{background:transparent!important;border:0!important;box-shadow:none!important}
html[data-theme] body #pin-peek .peek-compact-actions>.peek-icon-action{flex:none;width:42px;height:42px;min-width:42px;max-width:42px;min-height:42px;border-radius:50%!important;padding:0!important}
@media(max-width:767px){html[data-theme] body #pin-peek .peek-compact-actions>.peek-icon-action{width:44px;height:44px;min-width:44px;max-width:44px;min-height:44px}}

html[data-theme] body .team-heading :is(h1,h2){margin-inline-end:auto!important}
html[data-theme] body .team-people{background:var(--ws-panel)!important;border-color:var(--ws-line)!important;border-radius:6px!important}
html[data-theme] body .team-card li button{background:transparent!important;border:0!important;padding:0!important;min-height:32px;text-align:left}
html[data-theme] body #application #quotes-view .presentation-launchers{gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
html[data-theme] body #application #quotes-view .presentation-launchers button{display:flex;align-items:center;justify-content:flex-start;gap:16px;width:100%;height:auto;min-height:100px;max-width:none;aspect-ratio:auto!important;padding:20px!important}
html[data-theme] body #application #quotes-view .presentation-launchers button>span{display:inline-flex;align-items:center;flex:none;gap:4px}
html[data-theme] body #application #quotes-view .presentation-launchers button strong{font-size:18px;line-height:1.4;text-align:left}
@media(max-width:767px){html[data-theme] body #application #quotes-view .presentation-launchers{grid-template-columns:1fr}html[data-theme] body #application #quotes-view .presentation-launchers button{min-height:80px}html[data-theme] body .team-card li button{min-height:40px}}

html[data-theme] body #application .header-actions button{background:var(--ws-button)!important;color:var(--ws-button-text,var(--ws-text))!important;border-color:var(--ws-line)!important}
html[data-theme] body progress{appearance:none;-webkit-appearance:none;background:var(--ws-raised);border:0;overflow:hidden;height:8px}
html[data-theme] body progress::-webkit-progress-bar{background:var(--ws-raised)}
html[data-theme] body progress::-webkit-progress-value{background:var(--ws-accent)}
html[data-theme] body progress::-moz-progress-bar{background:var(--ws-accent)}
html[data-theme] body .leaflet-control-zoom a{width:36px;height:36px;line-height:36px}
@media(max-width:767px){html[data-theme] body .leaflet-control-zoom a{width:44px;height:44px;line-height:44px}}

html[data-theme] body :is(th,td){color:var(--ws-text)!important;border-color:var(--ws-line)!important}

/* Hero pairs a green workspace shell with the same beige as Light's page. */
html[data-theme=hero] body :is(#auth-panel,dialog,#meeting-shell,#electricity-meeting-shell,#quote-form,#quote-presentation,#pipeline-form,#pipeline-customer-panel,#admin-workflows,#map-tools,#map-filters,#pin-peek,#pin-subcategories,.settings-card,.card,.column,.metric,.daily-results,.daily-customer,.front-appointment,.customer-panel,.customer-sidebar,.customer-log,.customer-journal,.customer-timeline-entry,.customer-files-panel,.user-card,.invitation-row,.record-extra,.record-pin-identity,.calendar-upcoming,.calendar-day:not(.empty),.calendar-day-entry,.board-appointment,.booking-calendar,.booking-clock-section,.booking-agenda-row,.meeting-script,.needs-question,.energy-flow details,.energy-cost-columns fieldset,.energy-metrics,.energy-simulate-action,.energy-chart-card,.electricity-question,.electricity-fees fieldset,.electricity-benefit,.electricity-chart-card,.electricity-cost-card,.electricity-recommendation,.electricity-offer-summary,.electricity-method,.calculation-highlight,.installation-card,.installation-column,.installation-review,.commerce-editor,.faq-item,.insight-card,.tempo-goals,.daily-goals,.goal-progress-card,.revenue-report,.competition-card,.competition-empty,.training-course,.training-category,.seller-performance,.performance-card,.team-card,.team-person,.crm-contact-card,.crm-contact-summary,.skill-hero,.skill-kpi,.skill-week,.skill-coach-card,.skill-branch,.skill-achievement,.skill-racer,.skill-challenge,.skill-method,.skill-notice-settings,.skill-notice,.skill-training-step,.skill-toast,.skill-race-summary>div,table,.skill-milestone-card,.skill-profile-preview,.hardware-price-summary,.hardware-benefit-cards article,.electricity-contract-form,.skill-profile-choice,.team-people,.energy-year-costs article,.revenue-forecast,.revenue-totals article,.cancellation-report,#theme-menu,.map-tap-hint,#location-status,#placement-hint){
 --ws-panel:#f3eee4;--ws-raised:#e7dfcf;--ws-field:#fffdf7;--ws-line:#c6bda9;
 --ws-text:#151b17;--ws-muted:#4b554e;--ws-accent:#286746;--ws-on-accent:#fff;
 --ws-button:#193c2e;--ws-button-text:#fff;--ws-hover:#234f3c;--ws-scheme:light;
 --ws-logo-white:none;--ws-logo-green:inline;
 color-scheme:light;
}
html[data-theme=hero] body :is(.revenue-forecast,.revenue-totals article,.cancellation-report){background:var(--ws-panel)!important;color:var(--ws-text)!important;border-color:var(--ws-line)!important;border-radius:6px!important}
html[data-theme=hero] body #quotes-view :is(.calculation-highlight.current,.electricity-cost-card.current,.electricity-fees fieldset:first-child){background:#f1e1db!important;border-color:#c4a39c!important}
html[data-theme=hero] body #quotes-view :is(.calculation-highlight.after,.calculation-highlight.benefit,.electricity-cost-card.proposed,.electricity-fees fieldset:last-child){background:#e2e9d8!important;border-color:#aebe9d!important}
html[data-theme=hero] body #quotes-view :is(.calculation-highlight,.electricity-cost-card) :is(strong,span,h3,p){color:var(--ws-text)!important}
html[data-theme=hero] body #theme-menu{background:var(--ws-panel)!important;border-color:var(--ws-line)!important}
html[data-theme=hero] body :is(.status-error,.status-error *,#auth-error){color:#b52e3c!important}
html[data-theme=hero] body button.compact-action-remove svg{color:#b52e3c!important}
html[data-theme=hero] body #energy-results .energy-table td.energy-saving.positive{color:#17643b!important}
html[data-theme=hero] body #energy-results .energy-table td.energy-saving.negative{color:#a12f45!important}
/* Primary actions are outlined as well; selection never reverses the colors. */
html[data-theme] :is(body,#application,#auth-panel,dialog,#theme-menu) :is(button,a.daily-action-icon):is(.primary,.active,.selected,[aria-pressed=true],[aria-checked=true],[aria-selected=true],[aria-current]:not([aria-current=false])):not(.property-pin-button){
 background:var(--ws-button)!important;color:var(--ws-button-text,var(--ws-text))!important;
 border-color:var(--ws-line)!important;outline:1px solid #fff!important;outline-offset:-3px;box-shadow:none!important;
}
html[data-theme] :is(body,#application,#auth-panel,dialog,#theme-menu) :is(button,a.daily-action-icon):is(.primary,.active,.selected,[aria-pressed=true],[aria-checked=true],[aria-selected=true],[aria-current]:not([aria-current=false])):not(:disabled):hover{background:var(--ws-hover)!important}
html[data-theme] :is(body,#application,#auth-panel,dialog,#theme-menu) :is(button,a.daily-action-icon) :is(span,strong,b,small):not(.skill-profile-avatar,.skill-profile-avatar *){color:inherit!important}
html[data-theme] :is(body,#application,#auth-panel,dialog,#theme-menu) :is(button,a.daily-action-icon):focus-visible{outline:2px solid var(--ws-accent)!important;outline-offset:3px}
/* Chart hit targets must keep their empty track transparent, so zero months
   cannot look like full-height revenue bars. Only the data series have a fill. */
html[data-theme] body #application .revenue-chart .revenue-bar{--ws-button:transparent;--ws-hover:transparent;background:transparent!important;padding:0!important;min-height:210px;border-radius:0!important}
html[data-theme] body #workspace-sidebar .menu-links>button{--ws-button:transparent}
html[data-theme] body #workspace-sidebar .menu-links>button:is(.active,[aria-current=page]){background:transparent!important;border-color:transparent!important;outline:1px solid #fff!important;outline-offset:-3px;box-shadow:none!important}
html[data-theme] body #workspace-sidebar .menu-links>button:is(.active,[aria-current=page]):focus-visible{outline-width:2px!important;outline-offset:3px}
html[data-theme] body #pin-palette .pin-type-choice{background:var(--ws-button)!important;border-color:var(--ws-line)!important}
html[data-theme] body #pin-palette .pin-type-choice:is(.active,[aria-pressed=true]){outline:1px solid #fff!important;outline-offset:-3px}
html[data-theme] body #pin-palette .pin-type-choice.active .pin-type-symbol{border-color:#fff!important}
/* Calendar day/time selection and radio-style product controls use the same
   outline, including selection surfaces that are labels rather than buttons. */
html[data-theme] body :is(.needs-answer,.electricity-answers label,#quick-products label):has(input:checked){background:var(--ws-button)!important;color:var(--ws-button-text,var(--ws-text))!important;border-color:var(--ws-line)!important;outline:1px solid #fff!important;outline-offset:-3px;box-shadow:none!important}
html[data-theme] body :is(#meeting-shell .needs-answer,#electricity-meeting-shell .electricity-answers label,#quick-products label):has(input:checked) span{color:var(--ws-button-text,var(--ws-text))!important}
/* Leaflet anchors are controls, not page links: black/white stays readable on
   both satellite imagery and streets in every application theme. */
html[data-theme] body #map :is(.leaflet-bar,.leaflet-control-layers){--ws-text:#fff;--ws-muted:#ccc;--ws-accent:#fff;--ws-field:#171717;--ws-line:#555;background:#000!important;color:#fff!important;border-color:#555!important;border-radius:4px!important;box-shadow:0 1px 5px #0005!important;color-scheme:dark}
html[data-theme] body #map .leaflet-control-zoom a{background:#000!important;color:#fff!important;border-color:#555!important;font-size:24px;font-weight:500;text-decoration:none}
html[data-theme] body #map .leaflet-control-zoom a span{color:inherit!important}
html[data-theme] body #map .leaflet-control-zoom a:hover{background:#242424!important}
html[data-theme] body #map .leaflet-control-zoom a.leaflet-disabled{background:#000!important;color:#888!important;cursor:default}
html[data-theme] body #map .leaflet-control-layers-toggle{background-color:#000!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 7 9-4 9 4-9 4-9-4Zm0 5 9 4 9-4M3 17l9 4 9-4'/%3E%3C/svg%3E")!important;background-position:center!important;background-repeat:no-repeat!important;background-size:23px 23px!important;width:36px;height:36px;color:#fff!important}
html[data-theme] body #map .leaflet-control-layers-toggle:hover{background-color:#242424!important}
html[data-theme] body #map .leaflet-control-layers :is(label,span,a){color:#fff!important}
html[data-theme] body #map :is(.leaflet-control-zoom a,.leaflet-control-layers-toggle):focus-visible{outline:2px solid #fff!important;outline-offset:2px}
@media(max-width:767px){html[data-theme] body #map .leaflet-control-layers-toggle{width:44px;height:44px}}

/* Dark detail accents: fine rules and scroll thumbs, never button fills.
   The six supplied stops are shared so the accents stay quiet and consistent. */
/* Muted brass accents complement the green contours only in dark mode. */
:root[data-theme=dark]{--ws-detail-gradient:linear-gradient(135deg,#35664c,#284f3b,#47785b,#2e5942,#264b37,#3c6e51);--ws-gold-gradient:linear-gradient(135deg,#4e3b22 0%,#806437 32%,#342a1c 64%,#655030 100%)}
html[data-theme=dark] body :is(#application>header,#workspace-sidebar,#workspace-sidebar .sidebar-footer,.skill-tabs,.training-categories,.training-step,.customer-history-tabs,.customer-timeline-entry,.insight-edit-controls,.insight-card details,.insight-customers-list article,.team-card li,.team-person,.revenue-offer){border-image:var(--ws-detail-gradient) 1!important}
html[data-theme=dark] body :is(.daily-results,.tempo-goals,.revenue-forecast,.skill-hero){border-image:var(--ws-detail-gradient) 1!important}
html[data-theme=dark] body hr{height:1px;border:0!important;background:var(--ws-detail-gradient)!important;opacity:1}
/* Chromium's standard scrollbar-color overrides custom gradient thumbs, so
   native-auto is used only where its scrollbar pseudo-elements are supported. */
@supports selector(::-webkit-scrollbar){
 html[data-theme=dark],html[data-theme=dark] body,html[data-theme=dark] body *{scrollbar-color:auto!important;scrollbar-width:auto!important}
 html[data-theme=dark]::-webkit-scrollbar,html[data-theme=dark] body::-webkit-scrollbar,html[data-theme=dark] body *::-webkit-scrollbar{width:8px;height:8px}
 html[data-theme=dark]::-webkit-scrollbar-track,html[data-theme=dark] body::-webkit-scrollbar-track,html[data-theme=dark] body *::-webkit-scrollbar-track{background:#080808}
 html[data-theme=dark]::-webkit-scrollbar-thumb,html[data-theme=dark] body::-webkit-scrollbar-thumb,html[data-theme=dark] body *::-webkit-scrollbar-thumb{background:var(--ws-detail-gradient);border:1px solid #080808;border-radius:2px;min-height:32px;background-clip:padding-box}
 html[data-theme=dark]::-webkit-scrollbar-corner,html[data-theme=dark] body::-webkit-scrollbar-corner,html[data-theme=dark] body *::-webkit-scrollbar-corner{background:#080808}
}
@supports not selector(::-webkit-scrollbar){
 html[data-theme=dark],html[data-theme=dark] body *{scrollbar-color:#163c29 #080808;scrollbar-width:thin}
}

/* Chart drilldowns keep their own layout instead of inheriting generic
   role=button surfaces. Labels, bars and totals share one vertical center. */
html[data-theme] body #insight-cards .insight-bars li{grid-template-columns:minmax(0,1.1fr) minmax(0,1.5fr) minmax(40px,max-content);align-items:center;gap:12px;min-height:36px;margin:12px 0}
html[data-theme] body #insight-cards .insight-bars :is(.insight-name,.insight-number){display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:0;min-height:36px;width:100%;padding:6px 10px;text-align:center;line-height:1.5;border-radius:4px!important}
html[data-theme] body #insight-cards .insight-bars .insight-number{min-width:40px;padding-inline:8px;font-variant-numeric:tabular-nums;white-space:nowrap}
html[data-theme=hero] body #insight-cards .insight-bars :is(.insight-name,.insight-number)[role=button]{background:var(--ws-button)!important;color:#fff!important;border:1px solid var(--ws-line)!important;box-shadow:none!important}
html[data-theme=hero] body #insight-cards .insight-bars :is(.insight-name,.insight-number)[role=button]:hover{background:var(--ws-hover)!important;text-decoration:none}
html[data-theme] body #insight-cards .insight-bars .insight-bar-track{display:block;box-sizing:border-box;height:18px;min-height:18px;padding:0!important;border:0!important;background:var(--ws-raised)!important;border-radius:2px!important}
html[data-theme] body #insight-cards .insight-bars .insight-bar-track.insight-stacked{display:flex;height:24px;min-height:24px}
html[data-theme] body #insight-cards .insight-bars :is(.insight-name,.insight-number,.insight-bar-track)[role=button]:focus-visible{outline:2px solid var(--ws-accent)!important;outline-offset:3px}
@media(max-width:600px){
 html[data-theme] body #insight-cards .insight-bars li{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(36px,max-content);gap:8px;min-height:44px}
 html[data-theme] body #insight-cards .insight-bars :is(.insight-name,.insight-number){min-height:44px;padding:6px 8px}
 html[data-theme] body #insight-cards .insight-bars .insight-number{min-width:36px;padding-inline:6px}
}

/* Product badges keep a contrasting foreground on Hero's green fill, including
   badges inside beige cards whose general text color is dark green. */
html[data-theme=hero] body #application .badge{background:#1e5332!important;color:#fff!important}
html[data-theme=hero] body #application .badge :is(span,strong,b,small){color:#fff!important}

/* The clock face shows numerals, with invisible but generous hit targets. */
html[data-theme] body #schedule-dialog #booking-clock>button{
 background:transparent!important;color:var(--ws-text)!important;border:0!important;
 border-radius:50%!important;outline:none!important;box-shadow:none!important;
 width:40px;height:40px;min-width:40px;min-height:40px;padding:0!important;
 font-variant-numeric:tabular-nums;text-decoration:none;
}
html[data-theme] body #schedule-dialog #booking-clock>button:hover{text-decoration:underline;text-underline-offset:5px}
html[data-theme] body #schedule-dialog #booking-clock>button[aria-pressed=true]{font-weight:900;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
html[data-theme] body #schedule-dialog #booking-clock>button:focus-visible{outline:2px solid var(--ws-accent)!important;outline-offset:0}
@media(max-width:767px){html[data-theme] body #schedule-dialog #booking-clock>button{width:44px;height:44px;min-width:44px;min-height:44px}}

/* Compact removal controls share one accessible confirmation surface. */
html[data-theme] body dialog.removal-dialog{width:min(520px,calc(100% - 24px));max-height:90dvh;padding:24px;overflow:auto;box-sizing:border-box}
.removal-dialog h2{margin:0 0 12px}.removal-dialog p{line-height:1.6;overflow-wrap:anywhere}.removal-dialog label{display:grid;gap:8px;margin-block:16px}.removal-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:20px}
html[data-theme] body dialog.removal-dialog button.removal-confirm{color:#ed7c7c!important;border-color:#a14e4e!important}
html[data-theme=light] body dialog.removal-dialog button.removal-confirm,html[data-theme=hero] body dialog.removal-dialog button.removal-confirm{background:var(--ws-button)!important}

/* A profile image is its own circular control, without the square button surface. */
html[data-theme] body #application #skill-hero .skill-hero-identity>button{
 --ws-button:transparent;--ws-hover:transparent;background:transparent!important;
 border:0!important;border-radius:50%!important;box-shadow:none!important;padding:0!important;
 min-width:0;min-height:0;display:inline-flex;align-items:center;justify-content:center;
}
html[data-theme] body #application #skill-hero .skill-hero-identity>button:focus-visible{outline:2px solid var(--ws-text)!important;outline-offset:4px}

html[data-theme] body #workspace-sidebar :is(#sync,#theme-toggle){
 width:100%!important;max-width:none;flex:0 0 auto;height:auto!important;min-width:0;min-height:44px;
 padding:10px 18px!important;gap:12px!important;justify-content:flex-start!important;
}
html[data-theme] body #workspace-sidebar :is(#sync,#theme-toggle)>svg{width:22px;height:22px;flex:0 0 22px}
html[data-theme] body[data-nav-expanded=false] #workspace-sidebar :is(#sync,#theme-toggle){padding:10px!important;justify-content:center!important}
html[data-theme=hero] body button.compact-action-remove svg{color:#ff9aa8!important}
.customer-file-entry{display:flex;align-items:center;gap:8px}.customer-file-entry>a{flex:1;min-width:0;overflow-wrap:anywhere}.team-actions{display:flex;gap:8px;align-items:center}
@media(max-width:600px){html[data-theme] body dialog.removal-dialog{padding:18px}.removal-actions{flex-wrap:wrap}.team-heading{flex-wrap:wrap}}

.audio-attachment{display:flex;align-items:center;gap:8px;max-width:100%;margin-block:8px}.audio-attachment audio{flex:1;min-width:0;max-width:100%}

/* Green contours keep the monochrome workspace connected to the brand. */
html[data-theme=dark] body :is(button,a.daily-action-icon):not(.property-pin-button):not(.booking-clock-number):not(.board-open){border-image:none!important;border-style:solid!important;border-color:#47725a!important}
html[data-theme=dark] body :is(button,a.daily-action-icon):is(.active,.primary,[aria-pressed=true],[aria-checked=true],[aria-current]){outline:1px solid #fff;outline-offset:-3px}
html[data-theme=dark] body :is(.daily-customer,.column,.settings-card,.customer-panel,.calendar-upcoming,.calendar-day-toolbar,.pipeline-management,.energy-chart-card,.calculation-highlight,.revenue-totals article,.revenue-chart,.revenue-forecast td,.revenue-forecast th,.cancellation-table td,.cancellation-table th,.event,.deal,fieldset){border-image:var(--ws-detail-gradient) 1!important}
html[data-theme=dark] body button.compact-action-remove{border-image:none!important;border-color:#964848!important}
html[data-theme] body #meeting-use-products.calculation-required,html[data-theme] body button.calculation-jump{border-image:none!important;border-color:#ce6868!important;color:#ff9b9b!important;background:#321919!important}
html[data-theme=light] body #meeting-use-products.calculation-required,html[data-theme=light] body button.calculation-jump{color:#9b2323!important;background:#fff2ee!important}
html[data-theme] body #meeting-message .calculation-jump{display:inline-flex;gap:8px;align-items:center;text-align:left;white-space:normal}
html[data-theme] body #meeting-use-products{display:inline-flex;align-items:center;gap:8px}
html[data-theme] body #meeting-use-products[hidden]{display:none}
.daily-actions .daily-travel{display:contents}
.daily-actions .travel-estimate:empty{display:none}
.daily-actions .travel-estimate:not(:empty),.daily-actions .travel-source{flex-basis:100%;margin:0}
.daily-actions .travel-source[hidden]{display:none}
.daily-customer .board-open{white-space:normal;overflow-wrap:anywhere;text-align:left;height:auto}
@media(min-width:768px){
 body.has-left-navigation #application>header{position:sticky;top:0;z-index:1100}
 body.has-left-navigation #daily-follow-ups,body.has-left-navigation .follow-up-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),340px));align-items:start}
 html{scroll-padding-top:84px}
 body.presentation-cinema-open #application>header{position:static}
}

/* Map controls must remain transparent in every theme, including hover. */
html[data-theme] body .map-pin-host button.property-pin-button,
html[data-theme] body .map-pin-host button.property-pin-button:not(:disabled):hover{background:transparent!important;border:0!important;padding:0!important;border-radius:0!important;box-shadow:none!important;color:#fff!important}
html[data-theme] body .map-pin-host .property-pin-product{background:transparent!important;color:#fff!important;text-shadow:0 1px 2px #000,0 0 3px #000}
#peek-pin-sharing fieldset label{display:flex;align-items:center;gap:8px;min-height:44px}
#peek-pin-sharing input[type=checkbox]{width:20px;height:20px;margin:0;flex:none}

#pin-bulk-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;background:var(--ws-panel);border:1px solid var(--ws-line)}
#pin-bulk-tools[hidden]{display:none}#pin-bulk-tools p{flex:1 1 240px;margin:0;color:var(--ws-text)}
#pin-bulk-dialog{width:min(520px,94vw);max-height:90dvh;overflow:auto}#pin-bulk-dialog form{min-width:0}#pin-bulk-dialog p{overflow-wrap:anywhere}
#pin-bulk-dialog fieldset{max-height:240px;overflow:auto}#pin-bulk-dialog fieldset label{display:flex;align-items:center;gap:8px;min-height:44px}#pin-bulk-dialog input[type=checkbox]{width:20px;height:20px;flex:none;margin:0}
#pin-bulk-dialog ul{max-height:150px;overflow:auto;padding-left:24px;overflow-wrap:anywhere}#pin-bulk-dialog button{min-height:44px;margin-top:8px}
body.pin-bulk-selecting .map-pin-host{pointer-events:none!important}body.pin-bulk-selecting #map{cursor:crosshair}
@media(max-width:600px){#pin-bulk-tools button{flex:1 1 auto}#pin-bulk-dialog form>button{width:100%}}

/* Structural accents stay decorative; focus and status colors keep their meaning. */
html[data-theme=dark] body :is(#workspace-sidebar .sidebar-footer,.skill-hero){border-image:var(--ws-gold-gradient) 1!important}

#app-version-footer{position:static;padding:18px 16px;margin-top:24px;border-top:1px solid var(--ws-line);color:var(--ws-muted);font-size:12px;text-align:center;overflow-wrap:anywhere}
#app-version-footer details{max-width:640px;margin-inline:auto}
#app-version-footer summary{cursor:pointer;min-height:44px;display:list-item;list-style-position:inside;align-content:center}
#app-version-footer ol{text-align:left;padding-left:24px;line-height:1.6}
#app-version-footer p{margin:6px 0 16px}
html[data-theme=dark] body #app-version-footer{border-image:var(--ws-gold-gradient) 1!important}

body.map-workspace #app-version-footer{flex:0 0 auto;margin-top:0;padding:0 12px;background:var(--ws-panel);position:relative;z-index:600}
body.map-workspace #app-version-footer details[open]{max-height:30dvh;overflow:auto}

html body #application>#app-version-footer{position:relative;inset:auto;pointer-events:auto;max-height:none;overflow:visible;white-space:normal;background:var(--ws-panel);color:var(--ws-muted)}

.skill-member-controls{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-block:18px}.skill-member-controls label{flex:1;min-width:min(240px,100%);margin:0}.skill-member-controls button{min-height:44px}
#skill-member-dialog{max-width:880px;width:min(880px,calc(100% - 24px));overflow:auto}#skill-member-dialog .skill-branch{margin-block:12px}
@media(max-width:600px){.skill-member-controls button{width:100%}}

/* Persistent mobile menu actions keep matching labels and hit targets. */
html[data-theme] body #app-menu #menu-quick-tools :is(#sync,#theme-toggle){display:flex;align-items:center;justify-content:flex-start;width:100%;height:auto;min-height:44px;padding:10px 12px;gap:9px;font-size:13px;text-align:left}
html[data-theme] body #app-menu #menu-quick-tools :is(#sync,#theme-toggle)>svg{width:22px;height:22px;flex:0 0 22px}

/* Min dag: restrained corners, circular goals, and one shared layout per mode. */
html[data-theme] body #kpi-view :is(#daily-goals,.daily-results){
 --daily-text:#173b2b;--daily-muted:#52675b;--daily-line:#c7d8c8;--daily-track:#dce7dd;--daily-green:#268858;--daily-gold:#896c30;--daily-center:#f6faf4;
 border-radius:5px!important;border-image:none!important;overflow:hidden;padding:22px;
}
html:is([data-theme=dark],[data-theme=hero]) body #kpi-view :is(#daily-goals,.daily-results){
 --daily-text:#f1f8f3;--daily-muted:#b2cbbd;--daily-line:#28513e;--daily-track:#1a3b2d;--daily-green:#48d58c;--daily-gold:#d5b66e;--daily-center:#08271b;
}
html:is([data-theme=dark],[data-theme=hero]) body #kpi-view :is(#daily-goals,.daily-results),
html:is([data-theme=dark],[data-theme=hero]) body #kpi-view :is(#daily-goals,.daily-results) *{
 --ws-text:#f1f8f3!important;--ws-muted:#b2cbbd!important;--ws-line:#28513e!important;--ws-accent:#9de7b9!important;--ws-button:#123e2b!important;--ws-hover:#1a5139!important;--ws-button-text:#f1f8f3!important;
 color-scheme:dark;
}
html[data-theme] body #kpi-view #daily-goals{background:radial-gradient(ellipse at 32% 0%,#ffffffc7,transparent 56%),linear-gradient(135deg,#e6f1e4,#faf8ef 65%,#edf3e8)!important;border:1px solid var(--daily-line)!important;box-shadow:inset 0 1px 0 #fff9!important}
html:is([data-theme=dark],[data-theme=hero]) body #kpi-view #daily-goals{background:linear-gradient(145deg,#101a15,#080e0b)!important;box-shadow:inset 0 1px 0 #79c59918!important}
html[data-theme] body #kpi-view #daily-goals .goal-heading h2{display:flex;align-items:center;gap:12px;min-width:0}
.daily-goal-heading-icon{display:inline-flex;flex:none;color:var(--daily-gold)!important}.daily-goal-heading-icon svg{width:30px;height:30px}
html[data-theme] body #kpi-view #daily-goals .daily-goal-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-block:20px}
html[data-theme] body #kpi-view #daily-goals .daily-goal-card{position:relative;display:flex;flex-direction:column;align-items:center;padding:22px 14px 16px;background:linear-gradient(145deg,#ffffffb3,#ecf3e599)!important;border:1px solid var(--daily-line)!important;border-radius:4px!important;box-shadow:inset 0 1px 0 #fff5!important;text-align:center}
html:is([data-theme=dark],[data-theme=hero]) body #kpi-view #daily-goals .daily-goal-card{background:linear-gradient(130deg,#19352730,#09150f50)!important;box-shadow:inset 0 1px 0 #8cc9aa15!important}
.daily-goal-ring{width:min(160px,100%);aspect-ratio:1;position:relative;border-radius:50%;background:conic-gradient(var(--daily-green) var(--goal-sweep,0deg),var(--daily-track) 0);flex:none;margin-bottom:18px}
.daily-goal-center{position:absolute;inset:9px;border-radius:50%;background:var(--daily-center);display:flex;gap:7px;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}
html[data-theme] body #kpi-view #daily-goals .daily-goal-center strong{font-size:clamp(25px,3vw,38px);line-height:1;color:var(--daily-text)!important}
html[data-theme] body #kpi-view #daily-goals .daily-goal-center>span{font-size:18px;color:var(--daily-muted)!important}
html[data-theme] body #kpi-view #daily-goals .daily-goal-card h3{font-size:14px;line-height:1.4;min-height:2.8em;align-content:center;margin:0;color:var(--daily-text)!important;overflow-wrap:anywhere}
html[data-theme] body #kpi-view #daily-goals .daily-goal-state{margin:7px 0 0;font-size:13px;color:var(--daily-muted)!important}
html[data-theme] body #kpi-view #daily-goals .daily-goal-check{position:absolute;right:0;bottom:3px;display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--daily-gold);color:#101b13!important;border:2px solid var(--daily-center)}
html[data-theme] body #kpi-view #daily-goals .daily-goal-check svg{width:21px;height:21px}
.daily-goal-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--daily-line);padding-top:18px;margin-top:6px}
html[data-theme] body #kpi-view #daily-goals .daily-goal-summary strong{font-size:15px;color:var(--daily-text)!important}
html[data-theme] body #kpi-view #daily-goals .daily-goal-summary>span{color:var(--daily-muted)!important;font-size:13px}
.daily-goal-summary progress{flex:0 0 100%;width:100%;height:9px;appearance:none;border:0;border-radius:8px;overflow:hidden;background:var(--daily-track)}
html[data-theme] body #kpi-view #daily-goals progress::-webkit-progress-bar{background:var(--daily-track)}
html[data-theme] body #kpi-view #daily-goals progress::-webkit-progress-value{background:linear-gradient(90deg,#26955d,#4bd792);border-radius:8px}
html[data-theme] body #kpi-view #daily-goals progress::-moz-progress-bar{background:linear-gradient(90deg,#26955d,#4bd792);border-radius:8px}
html[data-theme] body #kpi-view .daily-results{background:linear-gradient(145deg,#fffdf7,#f0f3eb)!important;border:1px solid var(--daily-line)!important}
html:is([data-theme=dark],[data-theme=hero]) body #kpi-view .daily-results{background:linear-gradient(145deg,#101a15,#080e0b)!important}
html[data-theme] body #kpi-view .daily-results #metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 0}
html[data-theme] body #kpi-view .daily-results .metric{display:flex;align-items:center;gap:16px;padding:20px 16px;min-width:0;border-radius:4px!important;border:1px solid var(--daily-line)!important;background:linear-gradient(130deg,#ffffff80,#e9efe540)!important}
html:is([data-theme=dark],[data-theme=hero]) body #kpi-view .daily-results .metric{background:linear-gradient(130deg,#19352730,#09150f50)!important}
html[data-theme] body #kpi-view .daily-results .daily-result-icon{display:flex;flex:none;color:var(--daily-muted)!important}.daily-result-icon svg{width:32px;height:32px}
.daily-result-body{min-width:0}.daily-result-label{display:block;font-size:12px;line-height:1.4}
html[data-theme] body #kpi-view .daily-results .metric strong{display:block;font-size:32px;line-height:1.1;margin-top:8px;color:var(--daily-text)!important}
@media(max-width:1000px){html[data-theme] body #kpi-view #daily-goals .daily-goal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 html[data-theme] body #kpi-view :is(#daily-goals,.daily-results){padding:16px}
 html[data-theme] body #kpi-view #daily-goals .daily-goal-grid{gap:10px;margin-block:16px}
 html[data-theme] body #kpi-view #daily-goals .daily-goal-card{padding:16px 10px 13px}
 .daily-goal-center{inset:8px}.daily-goal-ring{margin-bottom:12px}.daily-goal-heading-icon svg{width:26px;height:26px}
 html[data-theme] body #kpi-view .daily-results #metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 html[data-theme] body #kpi-view .daily-results .metric{padding:16px 10px;gap:10px}.daily-result-icon svg{width:25px;height:25px}
 html[data-theme] body #kpi-view .daily-results .metric strong{font-size:29px}
}

.daily-goal-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.daily-goal-actions button{min-height:44px}
html[data-theme] body #kpi-view #daily-goals .goal-heading h2{margin:0}

.daily-goal-center-stacked{flex-direction:column;gap:3px}
html[data-theme] body #kpi-view #daily-goals .daily-goal-center-stacked strong{font-size:clamp(22px,2.3vw,30px)}
html[data-theme] body #kpi-view #daily-goals .daily-goal-center-stacked>span{font-size:14px}

/* Border images ignore rounded corners; keep the account contour circular. */
html[data-theme] body #account-avatar{border-image:none!important;border:1px solid var(--ws-line)!important;aspect-ratio:1;flex-shrink:0}

html[data-theme] body #electricity-meeting-shell #el-message.status-error{color:#ff8f8f!important;border-color:#b85555!important}
html[data-theme=light] body #electricity-meeting-shell #el-message.status-error{color:#b52e3c!important;border-color:#b52e3c!important}

html[data-theme] body #meeting-shell #meeting-message.status-error{color:#ff8f8f!important}
html[data-theme=light] body #meeting-shell #meeting-message.status-error{color:#b52e3c!important}

/* Surface contrast follows the containing panel; green controls keep white labels. */
html[data-theme=hero] body :is(.needs-answer,.electricity-answers label):has(input:checked){--ws-text:#fff;--ws-muted:#e4eee8;color:#fff!important}
html[data-theme=hero] body :is(.needs-answer,.electricity-answers label):has(input:checked) :is(span,p,strong,small){color:#fff!important}
html[data-theme=hero] body #map-address-search{color:#fff}
html[data-theme=hero] body #map-address-search label{color:#fff!important}

html[data-theme] body #application #editor #restriction.status-error{color:#ed7c7c!important;font-weight:600}
html:is([data-theme=light],[data-theme=hero]) body #application #editor #restriction.status-error{color:#b52e3c!important}

/* Presentation choices share Min dag's calm green surfaces. */
html[data-theme] body #application #quotes-view .presentation-launchers button{
 --ws-text:#173b2b!important;--presentation-icon:#987218;
 background:linear-gradient(145deg,#fffdf7,#f0f3eb)!important;color:var(--ws-text)!important;
 border:1px solid #c7d8c8!important;border-image:none!important;border-radius:4px!important;
 box-shadow:inset 0 1px 0 #ffffff80!important;
}
html:is([data-theme=dark],[data-theme=hero]) body #application #quotes-view .presentation-launchers button{
 --ws-text:#f1f8f3!important;--presentation-icon:#e4c15c;
 background:linear-gradient(145deg,#101a15,#080e0b)!important;border-color:#28513e!important;
 box-shadow:inset 0 1px 0 #79c59918!important;
}
html[data-theme] body #application #quotes-view .presentation-launchers button>span,
html[data-theme] body #application #quotes-view .presentation-launchers button>span svg{color:var(--presentation-icon)!important}
html[data-theme] body #application #quotes-view .presentation-launchers button:hover{border-color:#659b76!important}
html[data-theme] body #application #quotes-view .presentation-launchers button:focus-visible{outline:2px solid var(--presentation-icon)!important;outline-offset:3px}

#map-address-search{width:min(560px,calc(100% - 24px));max-height:85dvh;padding:18px;border-radius:6px}
#map-address-search .dialog-heading h2{margin:0;font-size:20px}
#map-address-search .dialog-heading button,#version-history-dialog .dialog-heading button{width:44px;height:44px;padding:4px;font-size:24px;flex:0 0 44px}
#map-address-search form{display:flex;align-items:end;gap:8px}
#map-address-search label{flex:1;min-width:0}
#map-address-search input{font-size:16px}
#map-address-search>div:last-child{display:flex;flex-direction:column;max-height:45dvh;overflow:auto;gap:6px}
#map-address-search>div:last-child button{white-space:normal;text-align:left}
#menu-version{margin-top:auto;padding:12px 0 0;border-top:1px solid var(--ui-border)}
#version-history-toggle{width:100%;min-height:44px;font-size:12px;text-align:left;background:transparent;color:inherit}
#version-history-dialog{width:min(760px,calc(100% - 24px));max-height:85dvh;padding:20px;border-radius:6px;overflow:auto}
#version-history-dialog .dialog-heading{position:sticky;top:-20px;background:var(--ui-surface);z-index:1;padding:8px 0;border-bottom:1px solid var(--ui-border)}
#version-history-dialog h2{margin:0;font-size:22px}
#version-history-dialog section+section{margin-top:28px;border-top:1px solid var(--ui-border);padding-top:12px}
#version-history-dialog h4{margin:18px 0 7px}
#version-history-dialog ul{padding-left:22px;margin:0;line-height:1.65}
#version-history-dialog li{margin:0 0 8px;overflow-wrap:anywhere}
body[data-nav-expanded=false] #workspace-sidebar #version-history-toggle{font-size:0;text-align:center;padding:8px 0}
body[data-nav-expanded=false] #workspace-sidebar #version-history-toggle::before{content:'v';font-size:15px}
