/* Shared visual vocabulary for every page, including standalone tools. */
html[data-theme="light"] {
    color-scheme: light;
    --ui-bg: #f5f5f9; --ui-surface: #fff; --ui-raised: #f1f3f8;
    --ui-heading: #43536c; --ui-text: #5c6c83; --ui-muted: #718198;
    --ui-border: #dce2ed; --ui-primary: #6964e9; --ui-primary-soft: #eeedff;
    --ui-danger: #bb3853; --ui-success: #237a51; --ui-warning: #946214;
}
html[data-theme="dark"] {
    color-scheme: dark;
    --ui-bg: #1a2030; --ui-surface: #242c40; --ui-raised: #2c354c;
    --ui-heading: #e3e9f5; --ui-text: #c6d0e3; --ui-muted: #a5b2ca;
    --ui-border: #414d66; --ui-primary: #aaa4ff; --ui-primary-soft: #373555;
    --ui-danger: #ff9eaf; --ui-success: #85e6b0; --ui-warning: #f0c479;
}
html[data-theme], html[data-theme] body {
    --bg-0: var(--ui-bg); --bg-1: var(--ui-surface); --surface: var(--ui-surface); --surface-2: var(--ui-raised);
    --bg: var(--ui-bg); --ink: var(--ui-heading); --muted: var(--ui-muted); --line: var(--ui-border);
    --text: var(--ui-heading); --text-muted: var(--ui-text); --text-faint: var(--ui-muted);
    --border: var(--ui-border); --border-soft: var(--ui-border);
    --primary: var(--ui-primary); --primary-soft: var(--ui-primary-soft);
    --gold: var(--ui-primary); --gold-bright: var(--ui-primary); --gold-deep: #6964e9;
    --green: var(--ui-success); --green-soft: color-mix(in srgb, var(--ui-success) 12%, var(--ui-surface));
    --warn: var(--ui-warning); --warn-soft: color-mix(in srgb, var(--ui-warning) 12%, var(--ui-surface));
    --danger: var(--ui-danger); --ok: var(--ui-success);
    background: var(--ui-bg); color: var(--ui-heading);
}
html[data-theme="dark"] body.sn4 {
    color-scheme: dark;
    --sn-body-bg: var(--ui-bg); --sn-card-bg: var(--ui-surface); --sn-surface-2: var(--ui-raised);
    --sn-heading: var(--ui-heading); --sn-text: var(--ui-text); --sn-muted: var(--ui-muted); --sn-light: var(--ui-muted);
    --sn-border: var(--ui-border); --sn-border-soft: var(--ui-border); --sn-card-border: var(--ui-border);
    --sn-primary: var(--ui-primary); --sn-primary-hover: #bcb7ff; --sn-primary-soft: var(--ui-primary-soft);
    --sn-danger: #ff91a2; --sn-danger-soft: #482e3d; --sn-success-soft: #223f39;
    --sn-warning-soft: #423a2c; --sn-info-soft: #243e51;
}
.app-theme-toggle {
    display: inline-flex !important; align-items: center; justify-content: center; flex: 0 0 38px;
    width: 38px; height: 38px; min-width: 38px; padding: 8px; border-radius: 11px;
    border: 1px solid var(--ui-border); background: var(--ui-surface); color: var(--ui-text);
    cursor: pointer; touch-action: manipulation; vertical-align: middle;
}
.app-theme-toggle:hover { background: var(--ui-primary-soft); color: var(--ui-primary); }
.app-theme-toggle:focus-visible { outline: 3px solid var(--ui-primary); outline-offset: 3px; }
.app-theme-toggle svg { width: 21px; height: 21px; margin: 0; }
.app-theme-toggle .app-theme-sun { display: none; }
html[data-theme="dark"] .app-theme-toggle .app-theme-moon { display: none; }
html[data-theme="dark"] .app-theme-toggle .app-theme-sun { display: block; }
.app-theme-toggle.app-theme-floating { position: fixed; top: max(12px, env(safe-area-inset-top, 0px)); inset-inline-end: max(12px, env(safe-area-inset-right, 0px)); z-index: 40; box-shadow: 0 4px 15px #0002; }
@media(max-width:767px) { .app-theme-toggle { flex-basis: 36px; width: 36px; min-width: 36px; height: 36px; } }
@media print { .app-theme-toggle { display: none !important; } }

/* alarm-v4.css */
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-state-card{background:linear-gradient(135deg, color-mix(in srgb, var(--sn-tone) 16%, var(--ui-surface)) 0%, var(--ui-surface) 65%);border:1px solid color-mix(in srgb, var(--sn-tone) 35%, var(--sn-border, var(--ui-border)))}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-shield-track{stroke:var(--ui-muted)}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-shield-lock{stroke:var(--ui-heading)}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-state-label{color:var(--sn-heading, var(--ui-heading))}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-state-sub{color:var(--sn-muted, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-state-sched{color:var(--sn-muted, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-hero-btn{border:1.5px solid var(--sn-border, var(--ui-border));background:linear-gradient(180deg, color-mix(in srgb, var(--al-hero-tone, var(--sn-primary)) 5%, var(--ui-surface)) 0%, var(--ui-surface) 55%)}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-hero-btn:disabled:hover{border-color:var(--sn-border, var(--ui-border))}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-hero-text strong{color:var(--sn-heading, var(--ui-heading))}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-hero-text small{color:var(--sn-muted, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-hero-away .al-hero-ico{background:var(--sn-danger-soft, var(--ui-raised));color:var(--sn-danger, #f77964)}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-hero-stay .al-hero-ico{background:var(--sn-warning-soft, #504121);color:#f7c664}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-hero-disarm .al-hero-ico{background:var(--sn-success-soft, var(--ui-raised));color:#a1e477}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-hero-clear .al-hero-ico{background:var(--ui-raised);color:#6997f2}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-hero-btn.is-current{background:linear-gradient(180deg, color-mix(in srgb, var(--al-hero-tone) 14%, var(--ui-surface)) 0%, color-mix(in srgb, var(--al-hero-tone) 5%, var(--ui-surface)) 100%)}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-resume-banner{background:var(--sn-info-soft, var(--ui-raised));color:#64e0f7}
html[data-theme="dark"][data-app-styles~="alarm-v4"] body.sn4[data-page="alarm"] .irr-sys-edit{border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--sn-text, #85acd6)}
html[data-theme="dark"][data-app-styles~="alarm-v4"] body.sn4[data-page="alarm"] .gh-zone-title .irr-sys-del{border:1.5px solid var(--ui-border);background:rgba(36,44,64,0.95);color:#ed6e6e}
html[data-theme="dark"][data-app-styles~="alarm-v4"] body.sn4[data-page="alarm"] .gh-zone-head{background:linear-gradient(180deg, rgba(255,255,255,.32) 0%, rgba(255,255,255,.08) 42%, rgba(120, 15, 15, .1) 100%),
        linear-gradient(125deg, #502a21 0%, #f26a52 48%, #d3543f 100%)}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-zone-field-k{color:var(--sn-muted, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-zone-field-v{color:var(--sn-heading, #85acd6)}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-open-pill.closed{color:#a1e477}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-open-pill.unknown{background:var(--sn-secondary-soft, var(--ui-raised));color:var(--sn-secondary, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-bypass-btn{background:var(--ui-surface);color:var(--sn-text, #85acd6)}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-bypass-btn.is-on{background:var(--sn-warning-soft, #504121);color:#f7c664}
html[data-theme="dark"][data-app-styles~="alarm-v4"] body.sn4[data-page="alarm"] .irr-sys-rule{background:var(--sn-border, var(--ui-raised))}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-empty{color:var(--sn-muted, var(--ui-muted))}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .irr-errors{background:var(--sn-danger-soft, var(--ui-raised));color:#ed806e}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .irr-step-errors{background:var(--sn-danger-soft, var(--ui-raised));color:#ed806e}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .irr-toast{background:var(--sn-dark, var(--ui-raised))}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .irr-slot-add{background:var(--ui-raised);color:#6cefe1;border:1px solid #359286}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .irr-slot-add:hover{background:var(--ui-raised);color:#6bf0e1}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .irr-alarm-card{border:1px solid var(--sn-border, var(--ui-border));background:var(--sn-card-bg, var(--ui-surface))}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-forced-note{background:var(--sn-warning-soft, #504121);color:#f7c664}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-locked-chip{background:var(--sn-warning-soft, #504121);color:#f7c664}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-settings-body::-webkit-scrollbar-thumb{background:var(--sn-border, var(--ui-raised))}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-row-item{border:1px solid var(--sn-border, var(--ui-border));background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-row-del{border:1px solid var(--sn-danger-soft, var(--ui-border));background:var(--sn-danger-soft, var(--ui-raised));color:var(--sn-danger, #f77964)}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-day{border:1px solid var(--sn-border, var(--ui-border));background:var(--ui-surface);color:var(--sn-text, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .sn-al-row.al-forced .sn-al-summary{color:#f7c664}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-pin-lock{background:var(--sn-danger-soft, var(--ui-raised));color:var(--sn-danger, #f77964)}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-pin-sub{color:var(--sn-muted, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-pin-dot{border:1.5px solid var(--sn-border, var(--ui-border));background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-pin-error{color:var(--sn-danger, #f77964)}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-pin-key{border:1px solid var(--sn-border, var(--ui-border));background:var(--sn-surface-2, var(--ui-raised));color:var(--sn-heading, var(--ui-heading))}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-pin-key:active{background:var(--sn-danger-soft, var(--ui-raised))}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-pin-back{color:var(--sn-muted, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-chart-empty{color:var(--sn-muted, var(--ui-muted))}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-event-chip.tamper{color:#f7c664}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-event-chip.armed_away,html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-event-chip.armed_stay{color:#a1e477}
html[data-theme="dark"][data-app-styles~="alarm-v4"] .al-event-chip.resumed_after_reboot{background:var(--sn-info-soft, var(--ui-raised));color:#64e0f7}
/* aout.css */
html[data-theme="dark"][data-app-styles~="aout"] body.sn4 #relayGrid .sn-ao-section-head p{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="aout"] body.sn4 #relayGrid .sn-ao-card{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="aout"] body.sn4 #relayGrid .sn-ao-card.is-edited{border-color:color-mix(in srgb, var(--ao-accent) 55%, var(--ui-border))}
html[data-theme="dark"][data-app-styles~="aout"] body.sn4 #relayGrid .sn-ao-gauge-track,html[data-theme="dark"][data-app-styles~="aout"] body.sn4 #relayGrid .sn-ao-gauge-fill{stroke:var(--ui-muted)}
html[data-theme="dark"][data-app-styles~="aout"] body.sn4 #relayGrid .sn-ao-gauge-ticks{stroke:var(--ui-muted)}
html[data-theme="dark"][data-app-styles~="aout"] body.sn4 #relayGrid .sn-ao-feedback.out-of-range{color:#ec786f}
html[data-theme="dark"][data-app-styles~="aout"] body.sn4 #relayGrid .sn-ao-slider::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--ao-accent) var(--ao-fill), var(--ui-raised) var(--ao-fill))}
html[data-theme="dark"][data-app-styles~="aout"] body.sn4 #relayGrid .sn-ao-slider::-moz-range-track{background:linear-gradient(to right, var(--ao-accent) var(--ao-fill), var(--ui-raised) var(--ao-fill))}
html[data-theme="dark"][data-app-styles~="aout"] body.sn4 #relayGrid .sn-ao-slider::-webkit-slider-thumb{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="aout"] body.sn4 #relayGrid .sn-ao-slider::-moz-range-thumb{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="aout"] body.sn4 #relayGrid .sn-ao-presets button{border:1px solid var(--ui-border);background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="aout"] body.sn4 #relayGrid .sn-ao-entry > button{border:1px solid var(--ui-border);background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="aout"] body.sn4 #relayGrid .sn-ao-input-wrap{border:1px solid var(--ui-border);background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="aout"] body.sn4 #relayGrid .sn-ao-num[aria-invalid="true"]{color:#ec786f;background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="aout"] body.sn4 #relayGrid .sn-ao-error{color:#ec786f}
html[data-theme="dark"][data-app-styles~="aout"] body.sn4 #relayGrid .sn-ao-badge{color:#8dd685;background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="aout"] body.sn4 #relayGrid .sn-ao-badge.waiting{color:#f7bf64;background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="aout"] body.sn4 #relayGrid .sn-ao-badge.error{color:#ec786f;background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="aout"] body.sn4 #relayGrid .sn-ao-badge.offline{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="aout"] body.sn4 #relayGrid .sn-ao-apply:disabled{background:var(--ui-raised);color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="aout"] body.sn4 #relayGrid .sn-ao-reset:not(:disabled):hover{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="aout"] body.sn4 .sn-ao-appearance .sn-ao-settings-error{color:#ec786f}
/* app.css */
html[data-theme="dark"][data-app-styles~="app"],html[data-theme="dark"][data-app-styles~="app"] body{background:radial-gradient(1200px 600px at 85% -10%, var(--ui-raised) 0%, transparent 60%),
                radial-gradient(900px 500px at -10% 110%, var(--ui-raised) 0%, transparent 55%),
                linear-gradient(160deg, var(--ui-raised), var(--ui-raised) 55%, var(--ui-raised))}
html[data-theme="dark"][data-app-styles~="app"] .brand-orb::after{background:radial-gradient(circle at 35% 30%, var(--ui-raised), var(--ui-raised) 70%)}
html[data-theme="dark"][data-app-styles~="app"] .status-pill.online{color:var(--ui-muted)}
html[data-theme="dark"][data-app-styles~="app"] .nav-tab.active{color:var(--ui-heading)}
html[data-theme="dark"][data-app-styles~="app"] .btn-gold{color:var(--ui-heading)}
html[data-theme="dark"][data-app-styles~="app"] #ghDashSyncBtn,html[data-theme="dark"][data-app-styles~="app"] #irrDashSyncBtn,html[data-theme="dark"][data-app-styles~="app"] #ghSyncBtn,html[data-theme="dark"][data-app-styles~="app"] #irrSyncBtn,html[data-theme="dark"][data-app-styles~="app"] #alSyncBtn{background:var(--sn-primary-soft, var(--ui-raised));border-color:var(--sn-primary, #2d2f9a)}
html[data-theme="dark"][data-app-styles~="app"] #tmrSyncBtn{background:var(--tmr-accent-soft, var(--ui-raised));border-color:var(--tmr-accent, #2d389a)}
html[data-theme="dark"][data-app-styles~="app"] #rlySyncBtn{background:#504121;color:#f7c264}
html[data-theme="dark"][data-app-styles~="app"] .btn-danger{color:var(--ui-muted)}
html[data-theme="dark"][data-app-styles~="app"] .switch{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="app"] .switch .thumb{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="app"] .switch.on{background:linear-gradient(135deg, #0f3d2c, var(--ui-raised))}
html[data-theme="dark"][data-app-styles~="app"] .modal-backdrop{background:rgba(36,44,64,0.8)}
html[data-theme="dark"][data-app-styles~="app"] .modal-box{background:linear-gradient(var(--ui-raised), var(--ui-raised)) padding-box,
        var(--rainbow) border-box}
html[data-theme="dark"][data-app-styles~="app"] .login-shell{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="app"] .login-orb::after{background:radial-gradient(circle at 35% 30%, var(--ui-raised), var(--ui-raised) 70%)}
html[data-theme="dark"][data-app-styles~="app"] .gh-banner.ok{color:var(--ui-muted);border-color:var(--ui-border)}
html[data-theme="dark"][data-app-styles~="app"] .gh-winfo-row.active{color:#79e2bc}
html[data-theme="dark"][data-app-styles~="app"] .gh-warning{color:#e9c172}
html[data-theme="dark"][data-app-styles~="app"] .al-event-chip{color:var(--sn-cloud, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="app"] .al-event-chip.is-start{color:#a1e477}
html[data-theme="dark"][data-app-styles~="app"] .al-event-chip.is-fire{background:var(--sn-info-soft, var(--ui-raised));color:#64e0f7}
html[data-theme="dark"][data-app-styles~="app"] .al-event-chip.is-pause{color:#f7c664}
html[data-theme="dark"][data-app-styles~="app"] .weather-inline-humidity{color:#64aff7}
html[data-theme="dark"][data-app-styles~="app"] .weather-inline-wind{color:#7cdfce}
html[data-theme="dark"][data-app-styles~="app"] .scen-danger:hover{border-color:#9a2d2d}
html[data-theme="dark"][data-app-styles~="app"] .reg-steps{color:var(--muted, var(--ui-muted))}
html[data-theme="dark"][data-app-styles~="app"] .reg-username-prefix{color:var(--muted, var(--ui-muted))}
html[data-theme="dark"][data-app-styles~="app"] .reg-hint{color:var(--muted, var(--ui-muted))}
html[data-theme="dark"][data-app-styles~="app"] .dev-loading{background:rgba(36,44,64,0.8)}
html[data-theme="dark"][data-app-styles~="app"] .dev-loading-box{background:var(--card, var(--ui-raised))}
html[data-theme="dark"][data-app-styles~="app"] .dev-loading-hint{color:var(--muted, var(--ui-muted))}
html[data-theme="dark"][data-app-styles~="app"] .sys-temp.warm{color:#f7c064}
html[data-theme="dark"][data-app-styles~="app"] .sys-temp.hot{color:var(--danger, #f26969)}
html[data-theme="dark"][data-app-styles~="app"] .card-row > b.good{color:var(--ok, #74e79e)}
html[data-theme="dark"][data-app-styles~="app"] .card-row > b.bad{color:var(--danger, #f26969)}
html[data-theme="dark"][data-app-styles~="app"] .card-warn{color:#f7c064}
html[data-theme="dark"][data-app-styles~="app"] .hw-code-row.dup > b{color:var(--danger, #f26969)}
html[data-theme="dark"][data-app-styles~="app"] .hw-code-dup{color:var(--danger, #f26969)}
/* battery-card.css */
html[data-theme="dark"][data-app-styles~="battery-card"] .battery-segments i{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="battery-card"] .battery-caption{color:var(--text-faint,var(--ui-text))}
html[data-theme="dark"][data-app-styles~="battery-card"] .battery-readings{border-top:1px solid var(--border-soft,var(--ui-border))}
html[data-theme="dark"][data-app-styles~="battery-card"] .battery-readings span{color:var(--text-muted,var(--ui-text))}
html[data-theme="dark"][data-app-styles~="battery-card"] .battery-readings small{color:var(--text-faint,var(--ui-text))}
html[data-theme="dark"][data-app-styles~="battery-card"] .battery-footer{color:var(--text-faint,var(--ui-text))}
html[data-theme="dark"][data-app-styles~="battery-card"] .battery-footer a{color:var(--sn-primary,#7b78e3)}
html[data-theme="dark"][data-app-styles~="battery-card"] .battery-eta{background:var(--bg-soft,var(--ui-raised));color:var(--text-muted,var(--ui-text))}
html[data-theme="dark"][data-app-styles~="battery-card"] .battery-eta strong{color:var(--text,#85a7d6)}
/* gh-pages-v4.css */
html[data-theme="dark"][data-app-styles~="gh-pages-v4"] body.sn4.gh-sub .gh-disclaimer-banner{border:1px solid #9a6d2d;color:#f7bc64}
html[data-theme="dark"][data-app-styles~="gh-pages-v4"] body.sn4.gh-sub .gh-forecast-alert-card{border-color:#9a312d;color:#f77364}
html[data-theme="dark"][data-app-styles~="gh-pages-v4"] body.sn4.gh-sub .gh-zone-tab{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="gh-pages-v4"] body.sn4.gh-sub .gh-zone-tab:hover{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="gh-pages-v4"] body.sn4.gh-sub .gh-log-table tr.alarm-row td{color:#f77364}
html[data-theme="dark"][data-app-styles~="gh-pages-v4"] body.sn4.gh-sub .gh-log-table tr.reset-row td{color:#64dff7}
html[data-theme="dark"][data-app-styles~="gh-pages-v4"] body.sn4.gh-sub .gh-log-alarm{color:#f77364;background:var(--ui-surface);border-color:#9a312d}
html[data-theme="dark"][data-app-styles~="gh-pages-v4"] body.sn4.gh-sub .gh-log-chatter{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="gh-pages-v4"] body.sn4.gh-sub .gh-log-chatter.critical{color:#f77364;background:var(--ui-surface);border-color:#9a312d}
html[data-theme="dark"][data-app-styles~="gh-pages-v4"] body.sn4.gh-sub .gh-clog-head{border-bottom:1px solid var(--sn-border-soft, var(--ui-border))}
html[data-theme="dark"][data-app-styles~="gh-pages-v4"] body.sn4.gh-sub .gh-clog-picker{background:var(--sn-surface-2, var(--ui-raised))}
html[data-theme="dark"][data-app-styles~="gh-pages-v4"] body.sn4.gh-sub .gh-clog-picker .gh-clog-count{color:var(--sn-muted, var(--ui-muted))}
html[data-theme="dark"][data-app-styles~="gh-pages-v4"] body.sn4.gh-sub .gh-clog-group{color:var(--sn-muted, var(--ui-muted))}
html[data-theme="dark"][data-app-styles~="gh-pages-v4"] body.sn4.gh-sub .gh-clog-item{color:var(--sn-text, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="gh-pages-v4"] body.sn4.gh-sub .gh-clog-item:hover{background:var(--sn-primary-soft, var(--ui-raised))}
html[data-theme="dark"][data-app-styles~="gh-pages-v4"] body.sn4.gh-sub .gh-clog-item small{color:var(--sn-muted, var(--ui-muted))}
@media (max-width: 767px){html[data-theme="dark"][data-app-styles~="gh-pages-v4"] body.sn4.gh-sub .gh-clog-picker{border-top:1px solid var(--sn-border-soft, var(--ui-border))}}
/* greenhouse-notice-legacy.css */
html[data-theme="dark"][data-app-styles~="greenhouse-notice-legacy"] .gh-notice-host .gh-win-pop-box{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-notice-legacy"] .gh-notice-host .gh-win-pop-body{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse-notice-legacy"] .gh-notice-host .gh-win-apply::after{background:#504821;color:#f7d564}
html[data-theme="dark"][data-app-styles~="greenhouse-notice-legacy"] .gh-notice-host .gh-win-apply::before{color:#f7d264}
html[data-theme="dark"][data-app-styles~="greenhouse-notice-legacy"] .gh-notice-host .gh-win-stop::after{background:var(--ui-raised);color:#ef7c6c}
html[data-theme="dark"][data-app-styles~="greenhouse-notice-legacy"] .gh-notice-host .gh-notice-ico{background:var(--ui-raised);color:#f7cf64}
/* greenhouse-quick-plus.css */
html[data-theme="dark"][data-app-styles~="greenhouse-quick-plus"] .gq-root>summary{background:linear-gradient(110deg,var(--ui-raised),var(--ui-raised));color:#8884d7}
html[data-theme="dark"][data-app-styles~="greenhouse-quick-plus"] .gq-root[open]>summary{border-bottom:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="greenhouse-quick-plus"] .gq-heading-icon{background:var(--ui-surface);border:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="greenhouse-quick-plus"] .gq-heading-text>b{color:#8884d7}
html[data-theme="dark"][data-app-styles~="greenhouse-quick-plus"] .gq-tabs>button[aria-selected=true]{color:#8884d7;border-color:var(--ui-border)}
html[data-theme="dark"][data-app-styles~="greenhouse-quick-plus"] .gq-between{color:var(--ui-muted)}
html[data-theme="dark"][data-app-styles~="greenhouse-quick-plus"] .gq-dual.noUi-target{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse-quick-plus"] .gq-scale{color:var(--ui-muted)}
html[data-theme="dark"][data-app-styles~="greenhouse-quick-plus"] .gq-toggle>i{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse-quick-plus"] .gq-toggle>i:after{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-quick-plus"] .gq-section-head>b>svg{color:#83d8c6}
html[data-theme="dark"][data-app-styles~="greenhouse-quick-plus"] .gq-root .gq-slider{background:linear-gradient(to left,var(--gq-tone) 0%,var(--gq-tone) var(--gq-progress),var(--ui-raised) var(--gq-progress),var(--ui-raised) 100%)!important}
html[data-theme="dark"][data-app-styles~="greenhouse-quick-plus"] .gq-choices>button[aria-pressed=true]{color:#8e85d6;border-color:var(--ui-border)}
html[data-theme="dark"][data-app-styles~="greenhouse-quick-plus"] .gq-times>label>button{background:var(--ui-raised);color:#9a85d6}
html[data-theme="dark"][data-app-styles~="greenhouse-quick-plus"] .gq-advice{border:1px solid var(--ui-border);background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse-quick-plus"] .gq-advice>summary{color:#9785d6}
html[data-theme="dark"][data-app-styles~="greenhouse-quick-plus"] .gq-pill{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse-quick-plus"] .gq-advice-list>article{border-top:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="greenhouse-quick-plus"] .gq-errors{background:var(--ui-raised);color:#d69285;border:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="greenhouse-quick-plus"] .gq-change-count{color:#9885d6}
html[data-theme="dark"][data-app-styles~="greenhouse-quick-plus"] .gq-btn-soft{color:#9785d6;border-color:var(--ui-border)}
html[data-theme="dark"][data-app-styles~="greenhouse-quick-plus"] .gq-single.noUi-target{background:var(--ui-raised)}
/* greenhouse-sections.css */
html[data-theme="dark"][data-app-styles~="greenhouse-sections"] .sn4 .gh-section-list>.gh-section{border:1px solid var(--sn-card-border,var(--ui-border));background:var(--sn-card-bg,var(--ui-surface))}
html[data-theme="dark"][data-app-styles~="greenhouse-sections"] .sn4 .gh-section-icon{border:1px solid color-mix(in srgb,var(--gh-section-accent) 14%,var(--ui-border));background:var(--sn-card-bg,var(--ui-surface))}
html[data-theme="dark"][data-app-styles~="greenhouse-sections"] .sn4 .gh-section-meta{border:1px solid color-mix(in srgb,var(--gh-section-accent) 13%,var(--ui-border));background:var(--sn-card-bg,var(--ui-surface))}
html[data-theme="dark"][data-app-styles~="greenhouse-sections"] .sn4 .gh-section-empty{color:var(--sn-muted,var(--ui-muted))}
/* greenhouse-v2.css */
html[data-theme="dark"][data-app-styles~="greenhouse-v2"] body.gh2 .gh2-side{background:linear-gradient(180deg, #1a0036, var(--ui-raised))}
html[data-theme="dark"][data-app-styles~="greenhouse-v2"] body.gh2 .gh2-side-nav .nav-tab{color:var(--ui-muted)}
html[data-theme="dark"][data-app-styles~="greenhouse-v2"] body.gh2 .gh2-proj{color:var(--ui-muted)}
html[data-theme="dark"][data-app-styles~="greenhouse-v2"] body.gh2 .btn-gold{color:var(--ui-heading)}
html[data-theme="dark"][data-app-styles~="greenhouse-v2"] body.gh2 .gh2-spark-grid{stroke:rgba(100,247,247,0.12)}
html[data-theme="dark"][data-app-styles~="greenhouse-v2"] body.gh2 .gh2-cal-grid i{color:var(--ui-muted)}
html[data-theme="dark"][data-app-styles~="greenhouse-v2"] body.gh2 .text-input{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse-v2"] body.gh2 .gh2-spark-band{fill:rgba(100,247,247,0.08)}
html[data-theme="dark"][data-app-styles~="greenhouse-v2"] body.gh2 .gh2-spark-bandline{stroke:rgba(100,247,247,0.28)}
html[data-theme="dark"][data-app-styles~="greenhouse-v2"] body.gh2 .gh2-time-axis{background:rgba(36,44,64,0.8)}
/* greenhouse-v3.css */
html[data-theme="dark"][data-app-styles~="greenhouse-v3"] .gh3-scrim{background:rgba(36,44,64,0.8)}
html[data-theme="dark"][data-app-styles~="greenhouse-v3"] .gh3-sidebar{background:linear-gradient(180deg, rgba(36,44,64,0.94), rgba(36,44,64,0.97))}
html[data-theme="dark"][data-app-styles~="greenhouse-v3"] .gh3-nav-link.is-active{color:var(--ui-heading)}
html[data-theme="dark"][data-app-styles~="greenhouse-v3"] .gh3-avatar{color:var(--ui-heading)}
html[data-theme="dark"][data-app-styles~="greenhouse-v3"] .gh3-topbar{background:rgba(36,44,64,0.8)}
html[data-theme="dark"][data-app-styles~="greenhouse-v3"] .gh3-chart-band{fill:rgba(100,247,188,0.07);stroke:rgba(100,247,188,0.22)}
html[data-theme="dark"][data-app-styles~="greenhouse-v3"] .gh3-chart-tip{background:rgba(36,44,64,0.95)}
html[data-theme="dark"][data-app-styles~="greenhouse-v3"] .gh3 .gh-setpoint-form{background:rgba(36,44,64,0.8)}
html[data-theme="dark"][data-app-styles~="greenhouse-v3"] .gh3 .gh-steps-progress span.active::before{color:var(--ui-heading)}
html[data-theme="dark"][data-app-styles~="greenhouse-v3"] .gh3 .gh-steps-progress span.done::before{color:var(--ui-heading)}
html[data-theme="dark"][data-app-styles~="greenhouse-v3"] .gh3 .gh-summary-block{background:rgba(36,44,64,0.8)}
/* greenhouse-v4.css */
html[data-theme="dark"][data-app-styles~="greenhouse-v4"].sn4-html,html[data-theme="dark"][data-app-styles~="greenhouse-v4"].sn4-html body{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn-menu{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn-menu-link.is-active .sn-menu-tag{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn-avatar{background:linear-gradient(var(--ui-surface), var(--ui-surface)) padding-box,
        var(--rainbow) border-box}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn-navbar-inner{background:rgba(36,44,64,0.96)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] body.sn4 .status-pill.online{color:#9cdf7c}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] body.sn4 .status-pill.offline{color:#ee7f6d}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] body.sn4 .btn-ghost{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn-pagehead-meta{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn-stat-chip.up{color:#9cdf7c}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn-stat-chip.down{color:#ee7f6d}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn-stat-chip.info{color:#64dcf7}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn-stat-chip.warn{color:#f7c864}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn-legend .lg-rh{color:#64dcf7}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn-legend .lg-win{color:#9cdf7c}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn-legend .lg-band{color:#f7da64}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn-legend .lg-band i{border:1px dashed #9a842d}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-zone-card{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-zone-head{background:linear-gradient(180deg, rgba(255,255,255,.32) 0%, rgba(255,255,255,.08) 42%, rgba(90, 70, 160, .12) 100%),
        linear-gradient(125deg, #8b8df0 0%, #212250 48%, #a78bfa 100%)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-zone-del{border:1.5px solid var(--ui-border);background:rgba(36,44,64,0.95);color:#ed6e6e}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-zh-stage.is-on{border-color:var(--ui-border)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-stage-badge,html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-season-badge{color:#64dcf7}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .widget-card{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-equipment-grid .widget-card[data-widget-id="window_ctrl"]:hover{border-color:color-mix(in srgb, #4bbf8c 55%, var(--ui-border))}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-equipment-grid .widget-card[data-widget-id="heater"]:hover{border-color:color-mix(in srgb, #9a2d3d 55%, var(--ui-border))}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-equipment-grid .widget-card[data-widget-id="fan"]:hover,html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-equipment-grid .widget-card[data-widget-id="fog"]:hover,html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-equipment-grid .widget-card[data-widget-id="cooler"]:hover{border-color:color-mix(in srgb, #e6a800 55%, var(--ui-border))}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-hf-k{color:var(--sn-text-muted, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-heater-fault-col.is-off .gh-hf-v{color:#7dde93}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-heater-fault-col.is-on .gh-hf-v{color:#f1796a}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-heater-fault-col.is-unknown .gh-hf-v{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-act-timer-k{color:var(--sn-text-muted, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-act-timer-v{color:#f7bc64}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-win-pop-box{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-win-pop-body{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-win-pct-show b{color:#f7cf64}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-win-pop-body .sn-sp-slider .noUi-connect{background:linear-gradient(to left, #504921, #e6a800 55%, #c99200)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-win-pop-body .sn-sp-slider .noUi-handle{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-win-apply::after{background:#504821;color:#f7d564}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-win-apply::before{color:#f7d264}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-win-stop::after{background:var(--ui-raised);color:#ef7c6c}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-heater-flip::after{background:var(--ui-raised);color:#ef7c6c}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-notice-ico{background:var(--ui-raised);color:#f7cf64}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-setpoint-form{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-sp-details{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-sp-details > summary{background:var(--ui-raised);color:#8588d6;border-bottom:1px solid color-mix(in srgb, var(--sn-primary) 12%, var(--ui-border))}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-sp-details > summary .sn-sp-title{color:#8588d6}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-sp-details > summary .sn-sp-badge{background:var(--ui-surface);color:#858bd6;border-color:color-mix(in srgb, var(--sn-primary) 16%, var(--ui-border))}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-sp-cell{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-sp-shown.is-ok{color:#80db99}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-sp-slider .noUi-connect{background:color-mix(in srgb, var(--sn-tone) 82%, var(--ui-surface))}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-sp-slider .noUi-handle{border:2px solid color-mix(in srgb, var(--sn-tone) 88%, var(--ui-border));background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-sp-check{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-sp-check-box{border:2px solid var(--ui-border);background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-sp-check.is-on .sn-sp-check-box::after,html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-sp-check input:checked + .sn-sp-check-box::after{border:2.2px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-sp-suggest.btn{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-sp-suggest.btn:hover:not(:disabled){background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-sp-suggest.btn.is-busy:disabled{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-sp-done-pop{background:rgba(36,44,64,0.8)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-sp-done-card{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-sp-done-copy b{color:#80db99}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-sp-warning{color:#f7c864}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-sp-save.btn,html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-sp-read.btn{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] body.sn4 .sn-sp-save.btn,html[data-theme="dark"][data-app-styles~="greenhouse-v4"] body.sn4 .btn-gold.sn-sp-save{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] body.sn4 .sn-sp-save.btn:hover,html[data-theme="dark"][data-app-styles~="greenhouse-v4"] body.sn4 .btn-gold.sn-sp-save:hover{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-sp-read.btn{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-sp-read.btn:hover{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-chip-float .spinner1{background-color:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-chip-float.is-ok .gh-chip-msg{color:#81da92}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-chip-float.is-err .gh-chip-msg{color:#f48e66}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-ack-ok{color:#9cdf7c}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-heater-reset-note{color:var(--sn-text-muted, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .gh-win-manual{background:#504221;color:#f7ce64}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-section-divider{color:var(--sn-text-muted, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-section-divider::before,html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-section-divider::after{background:var(--sn-border, var(--ui-raised))}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-mode-chip{background:var(--sn-surface-2, var(--ui-raised))}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-mode-chip.is-on{background:var(--sn-warning-soft, #504121);border-color:#9a6d2d;color:#f7bc64}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-mode-chip.is-ended .gh-mode-chip-lab{color:#f1796a}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-manual-ended{color:#f1796a}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .is-ended.gh-mode-pop-sub,html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-mode-pop-sub.is-ended{color:#f1796a}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-mode-chip-dot{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-mode-sub{color:var(--sn-text-muted, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-mode-item{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-mode-item.is-on{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-mode-item-ico{border:2px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 #ghModeStatus.is-auto b{color:#81da92}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 #ghModeAuto{background:var(--sn-success-soft, var(--ui-raised));border-color:#5c9a2d}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 #ghModeAuto .gh-mode-item-txt strong{color:#7dde93}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 #ghModeAuto .gh-mode-item-txt small{color:#85d692}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 #ghModeAuto.is-on{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-mode-item-txt small{color:var(--sn-text-muted, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-act-timed{border-top:1px solid var(--sn-border-soft, var(--ui-border))}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-act-timed-row .gh-fa-num .text-input{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-act-note{color:var(--sn-text-muted, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-heater-fault-on{color:#f1796a;background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-heater-fault-off{color:#7dde93;background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-heater-fault-unknown{color:var(--ui-text);background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-banner.ok{color:#99f269;border-color:#4e9532}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-banner.warn{color:#f7bc64;border-color:#9a6d2d}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-banner.alarm{color:#f77364;border-color:#9a312d}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-banner.manual{color:#f7bc64;border-color:#9a6d2d}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-chatter-card.warn{color:#7274e9;border-color:#2d2f9a}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-chatter-card.critical{color:#f77364;border-color:#9a312d}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .text-input,html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 input[type="text"],html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 input[type="number"],html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 input[type="password"],html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 select,html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 textarea{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .weather-widget-refresh,html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .weather-forecast-toggle{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-wx-card{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-wx-hi-grid{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-wx-hour-body{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-wx-day-row{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-wx-day-rise{color:#f7c364}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-wx-day-rise svg{color:#f7c364}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .weather-inline-stat.sn-wx-chip,html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .weather-widget-pressure.sn-wx-chip{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .weather-forecast-icon{background:var(--sn-tone-soft, var(--ui-surface))}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .modal-box{background:linear-gradient(var(--ui-surface), var(--ui-surface)) padding-box,
        var(--rainbow) border-box}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-steps-progress span{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-steps-progress span.done{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-equip-item.checked{border-color:#2d2f9a !important}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-mapping-error,html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .login-error{color:#ee7f6d}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .gh-warning{color:#f7c864}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 #wizardStep4 .sn-fs-title .ico.sn-ico-window{color:#9cdf7c}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-fs .widget-card,html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-fs .gh-equip-item,html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-fs .gh-sensor-map-block,html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-fs .gh-empty-card{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 #zoneBasicsContainer > div{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-step-head{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-zonepanel{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-al-row.widget-card{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-al-chip{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-ch-head-title .ico{color:#99f269}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-ch-cell-relay b{color:#99f269}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-ch-cell-input b{color:#64dbf7}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-ch-badge-ok{color:#99f269}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-ch-badge-danger{color:#f77364}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-ch-block .gh-sensor-map-block{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .modal-box.sn-sg-box{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-sg-head .btn-ghost{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-sg-head .btn-ghost:hover{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"] .sn4 .sn-sg-card{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"].sn-coarse body.sn4 .btn-ghost:hover{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"].sn-coarse .sn4 .gh-mode-chip.is-on:hover{border-color:#9a6d2d}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"].sn-coarse .sn4 .sn-sp-suggest.btn:hover:not(:disabled){background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"].sn-coarse body.sn4 .sn-sp-save.btn:hover,html[data-theme="dark"][data-app-styles~="greenhouse-v4"].sn-coarse body.sn4 .btn-gold.sn-sp-save:hover{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"].sn-coarse .sn4 .sn-sp-read.btn:hover{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"].sn-coarse .sn4 .sn-ch-btn-danger:hover{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse-v4"].sn-coarse .sn4 .sn-sg-head .btn-ghost:hover{background:var(--ui-surface)}
/* greenhouse_advisor.css */
html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] .ai-header{background:linear-gradient(120deg,var(--ui-raised),var(--ui-surface))}
html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] .ai-check{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] .ai-check strong{color:#78d3e3}
html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] .blocked{color:#edbd6d!important}
html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] .card{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] .secondary{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] select{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] .history button.active{background:var(--ui-raised);border-color:var(--ui-border)}
html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] .tag{background:var(--ui-raised);color:#81aed9}
html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] .stat{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] .warnings{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] .warnings p{color:#dbbd80}
html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] .evidence span{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] .proposal{background:var(--ui-raised);border:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] .close{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] .comparison div{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] .comparison div:last-child{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] :focus-visible{outline:3px solid rgba(45,47,154,0.4)}
@media(prefers-color-scheme:dark){html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] .card,html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] select,html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] .secondary,html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] dialog{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] .history button.active{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] .stat,html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] .evidence span,html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] .comparison div,html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] .close{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] .warnings{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] .proposal,html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] .comparison div:last-child{background:var(--ui-raised);border-color:var(--ui-border)}
html[data-theme="dark"][data-app-styles~="greenhouse_advisor"] .proposal strong{color:#85d6a6}}
/* greenhouse_equipment.css */
html[data-theme="dark"][data-app-styles~="greenhouse_equipment"] button:focus-visible,html[data-theme="dark"][data-app-styles~="greenhouse_equipment"] a:focus-visible,html[data-theme="dark"][data-app-styles~="greenhouse_equipment"] select:focus-visible,html[data-theme="dark"][data-app-styles~="greenhouse_equipment"] input:focus-visible{outline:3px solid #3d2d9a}
html[data-theme="dark"][data-app-styles~="greenhouse_equipment"] .eq-mark{border:1px solid var(--ui-border);background:linear-gradient(135deg,var(--ui-raised),var(--ui-raised))}
html[data-theme="dark"][data-app-styles~="greenhouse_equipment"] .eq-button:hover{border-color:var(--ui-border)}
html[data-theme="dark"][data-app-styles~="greenhouse_equipment"] .eq-dot{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_equipment"] .eq-message:not(:empty){border:1px solid #9a742d}
html[data-theme="dark"][data-app-styles~="greenhouse_equipment"] .eq-message.error{color:#d8838e;background:var(--ui-raised);border-color:var(--ui-border)}
html[data-theme="dark"][data-app-styles~="greenhouse_equipment"] .eq-badge.blue{color:#85b0d6;background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_equipment"] .eq-history-panel>summary:focus-visible{outline:3px solid #3d2d9a}
/* greenhouse_heater_monitor.css */
html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-settings,html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-live,html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-report{color:var(--text-color,var(--ui-heading))}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-settings{border-top:1px solid var(--border-color,var(--ui-border))}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-mode button{border:1px solid var(--ui-border);background:var(--card-bg,var(--ui-surface))}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-mode button.selected{background:var(--ui-raised);color:#f0a66b}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-mode button:focus-visible,html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-field input:focus-visible{outline:3px solid #9a6f2d}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-field input{border:1px solid var(--ui-border);background:var(--card-bg,var(--ui-surface))}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-field small,html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-help{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-note{border:1px solid #9a752d;background:var(--ui-raised);color:#eab771}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-inline-error{color:#ec786f}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-live,html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-report{border:1px solid var(--border-color,var(--ui-border));background:var(--card-bg,var(--ui-surface))}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-live summary small{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-badge.good{background:var(--ui-raised);color:#7ae1a3}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-badge.waiting{background:var(--ui-raised);color:#efb86c}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-badge.bad{background:var(--ui-raised);color:#ec786f}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-temperature>span{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-live-grid small{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-faults>span{border:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-faults i{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-faults .active{color:#ec786f;border-color:#9a2d2d}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-report-stats>span{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-chart figcaption{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-table th,html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] .hm-table td{border-bottom:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] body.dark .hm-mode button.selected,html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] body.dark .hm-note{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_monitor"] body.dark .hm-report-stats>span{background:var(--ui-raised)}
/* greenhouse_heater_zones.css */
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-settings{border:1px solid var(--ui-border);background:linear-gradient(145deg,var(--ui-raised),var(--ui-surface));color:var(--ui-heading)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-title>svg,html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-flame{color:#edaa6d;background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-title small,html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-help,html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-summary{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-modes button{background:var(--ui-surface);border:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-modes button.selected{border-color:#9a652d;background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-modes small{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-item{background:var(--ui-surface);border:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-item>header>button{background:var(--ui-raised);color:var(--ui-muted)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-field input,html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-field select{border:1px solid var(--ui-border);background:var(--ui-raised);color:#85a7d6}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-advanced{border-top:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-advanced summary{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-add{border:1px dashed #9a622d;background:var(--ui-raised);color:#e6aa75}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-rule{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-capability{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-error{color:#e0857b}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-live{border:1px solid var(--ui-border);background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-live svg{color:#edaa6d}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-live small{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-status{background:var(--ui-raised);color:#e0ac7b}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-live-item{border:1px solid var(--ui-border);background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-live-item.is-on{border-color:#9a682d;background:linear-gradient(140deg,var(--ui-raised),var(--ui-surface))}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-live-item header b{color:var(--ui-muted)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-live-item.is-on header b{color:#e1b17a}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-reading strong{color:#ddaf7e}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-reading span,html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-live-item p{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-live-item footer{border-top:1px solid var(--ui-border);color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-live-item>button{border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-counters{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-fault{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-fault.active{background:var(--ui-raised);color:#dc857e}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-reset-actions>button{border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-reset-actions>button:hover:enabled{border-color:#9a642d;color:#dfb07c;background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-reset-actions>button:disabled{color:var(--ui-muted);background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-reset-info{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="greenhouse_heater_zones"] .hz-reset-info>button{color:#dbb080}
/* greenhouse_history.css */
html[data-theme="dark"][data-app-styles~="greenhouse_history"] body.sn4.gh-sub .gh-log-alarm.is-cleared{color:#76e5a1;background:var(--ui-raised);border-color:#3a8d52}
html[data-theme="dark"][data-app-styles~="greenhouse_history"] body.sn4.gh-sub .gh-log-cleared-text{color:#76e5a1}
/* greenhouse_operations.css */
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-card,html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-report{border:1px solid var(--border-color,var(--ui-border));background:var(--card-bg,var(--ui-surface))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-card header p,html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-intro p{color:var(--text-muted,var(--ui-text))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-icon{color:var(--go-accent,#9c69f1)}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-field{color:var(--text-primary,var(--ui-heading))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-field input,html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-field select,html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-presets select,html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-calibration input{background:var(--input-bg,var(--ui-raised));border:1px solid var(--border-color,var(--ui-border));color:var(--text-primary,var(--ui-heading))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-check{background:var(--input-bg,var(--ui-raised))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-help,html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-field small,html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-live>header>span{color:var(--text-muted,var(--ui-text))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-card details,html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-quick{border-top:1px solid var(--border-color,var(--ui-border))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-tabs button{border:1px solid #352d9a;background:var(--card-bg,var(--ui-surface));color:var(--text-primary,var(--ui-heading))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-tabs button.active{color:#a174e6;background:var(--ui-raised);border-color:#482d9a}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-notice{background:var(--ui-raised);color:#ee8d6d;border:1px solid #9a672d}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-inline-error,html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-warning{color:#f7a464}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-calibration>div{border-bottom:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-summary{background:var(--ui-raised);color:#79e2a1}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-live{border-top:1px solid var(--border-color,var(--ui-border))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-live-tile{background:var(--card-bg,var(--ui-surface));border:1px solid var(--border-color,var(--ui-border))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-live-tile p{color:var(--text-muted,var(--ui-text))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-live-tile p.go-warning{color:#f7a464}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-live-tile strong{color:var(--go-accent,var(--ui-heading))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-live-tile small{color:var(--text-muted,var(--ui-text))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-badge{background:var(--ui-raised);color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-badge.on{color:#73e89f;background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-meter{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-report td,html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-report th{border-bottom:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-report>details{border-top:1px solid var(--border-color,var(--ui-border))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-accordion-title strong{color:var(--text-primary,var(--ui-heading))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-accordion-title small{color:var(--text-muted,var(--ui-text))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-accordion-arrow{color:var(--text-muted,var(--ui-text))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-accordion[open]{border-color:color-mix(in srgb,var(--go-accent) 50%,var(--border-color,var(--ui-border)))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-accordion-content{border-top:1px solid var(--border-color,var(--ui-border))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-solar-note,html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-day-clock{background:var(--ui-raised);border:1px solid var(--ui-border);color:#9085d6}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-day-clock{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-live{color:var(--sn-text,var(--text,var(--ui-heading)))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-live>header h4{color:var(--sn-heading,var(--text,var(--ui-heading)))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-health{background:var(--sn-surface-2,var(--surface-2,var(--ui-raised)));color:var(--sn-muted,var(--text-muted,var(--ui-text)))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-health.warning{background:var(--ui-raised);color:#f7c664}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-runtime-card,html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-clock-card{border:1px solid var(--sn-card-border,var(--border-soft,var(--ui-border)));background:var(--sn-card-bg,var(--surface,var(--ui-surface)))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-rt-head>b{color:var(--sn-heading,var(--text,var(--ui-heading)))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-status{color:var(--sn-muted,var(--text-muted,var(--ui-text)))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-status i{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-rt-numbers small,html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-rt-budget{color:var(--sn-muted,var(--text-muted,var(--ui-text)))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-rt-cycles b{color:var(--sn-heading,var(--text,var(--ui-heading)))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-runtime-card .go-meter{background:var(--sn-border-soft,var(--border-soft,var(--ui-raised)))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-state{background:var(--sn-surface-2,var(--surface-2,var(--ui-raised)));color:var(--sn-muted,var(--text-muted,var(--ui-text)))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-state.warning,html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-effect-warning{background:var(--ui-raised);color:#f7c364}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-runtime-details{border-top:1px solid var(--sn-border-soft,var(--border-soft,var(--ui-border)))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-runtime-details>summary{color:var(--sn-muted,var(--text-muted,var(--ui-text)))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-runtime-details p{color:var(--sn-muted,var(--text-muted,var(--ui-text)))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-runtime-details b{color:var(--sn-heading,var(--text,var(--ui-heading)))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-clock-card small{color:var(--sn-muted,var(--text-muted,var(--ui-text)))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-clock-card b{color:var(--sn-heading,var(--text,var(--ui-heading)))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .go-rain-setting{border:1px solid color-mix(in srgb,var(--go-accent,#c07826) 22%,var(--border-color,var(--ui-border)));background:color-mix(in srgb,var(--go-accent,#c07826) 5%,var(--card-bg,var(--ui-surface)))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .gh-sensor-map-block .field-group.gh-sensor-addr-field{border:1px solid var(--sn-border-soft,var(--border-soft,var(--ui-border)));background:var(--sn-surface-2,var(--bg-1,var(--ui-raised)))}
html[data-theme="dark"][data-app-styles~="greenhouse_operations"] .gh-sensor-map-block .gh-sensor-addr-field>label{color:var(--sn-muted,var(--text-muted,var(--ui-text)))}
/* greenhouse_ventilation.css */
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-settings,html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-live,html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-report{color:var(--text-color,var(--ui-heading))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-policy{border:1px solid var(--border-color,var(--ui-border));background:var(--card-bg,var(--ui-surface))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-policy-head small{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-field input,html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-field select,html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-times input{border:1px solid var(--ui-border);background:var(--card-bg,var(--ui-surface))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-help,html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-field small{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-note{background:var(--ui-raised);color:#76d5e5;border:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-times button{border:1px solid var(--ui-border);background:var(--card-bg,var(--ui-surface))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-error{color:#ec786f}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-live,html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-report{border:1px solid var(--border-color,var(--ui-border));background:var(--card-bg,var(--ui-surface))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-badge.good{background:var(--ui-raised);color:#79e2a1}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-badge.waiting{background:var(--ui-raised);color:#e3b078}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-badge.off{background:var(--ui-raised);color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-live-grid>div{border:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-live-grid small{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-progress{background:var(--ui-raised);color:#76d5e5}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-table td,html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-table th{border-bottom:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-settings input:focus-visible,html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-settings select:focus-visible,html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-settings button:focus-visible,html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-live summary:focus-visible{outline:3px solid #3a868d}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-range{border-top:1px solid var(--border-color,var(--ui-border));border-bottom:1px solid var(--border-color,var(--ui-border))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-range b{color:var(--text-color,var(--ui-heading))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-live{color:var(--sn-text,var(--text,var(--ui-heading)))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-live>summary{color:var(--sn-heading,var(--text,var(--ui-heading)))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-live>summary::after{color:var(--sn-muted,var(--text-muted,var(--ui-text)))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-program{border:1px solid var(--sn-card-border,var(--border-soft,var(--ui-border)));background:var(--sn-card-bg,var(--surface,var(--ui-surface)))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-program.is-running{border-color:color-mix(in srgb,var(--gv-accent) 45%,var(--sn-card-border,var(--ui-border)))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-program>header b{color:var(--sn-heading,var(--text,var(--ui-heading)))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-program>header small{color:var(--sn-muted,var(--text-muted,var(--ui-text)))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-program-status{color:var(--sn-muted,var(--text-muted,var(--ui-text)))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-program-status i{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-metrics>div{background:color-mix(in srgb,var(--gv-accent) 5%,var(--sn-card-bg,var(--surface,var(--ui-surface))))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-metrics small{color:var(--sn-muted,var(--text-muted,var(--ui-text)))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-live .gv-range{border-top:1px solid var(--sn-border-soft,var(--border-soft,var(--ui-border)));border-bottom:1px solid var(--sn-border-soft,var(--border-soft,var(--ui-border)))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-range>span{color:var(--sn-muted,var(--text-muted,var(--ui-text)))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-range-hours{color:var(--sn-heading,var(--text,var(--ui-heading)))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-range-arrow{color:var(--sn-muted,var(--text-muted,var(--ui-text)))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-live .gv-range .gv-tomorrow{background:var(--sn-surface-2,var(--surface-2,var(--ui-raised)));color:var(--sn-muted,var(--text-muted,var(--ui-text)))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-next{color:var(--sn-muted,var(--text-muted,var(--ui-text)))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-next bdi{color:var(--sn-heading,var(--text,var(--ui-heading)))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-program-details{border-top:1px solid var(--sn-border-soft,var(--border-soft,var(--ui-border)))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-program-details>summary{color:var(--sn-muted,var(--text-muted,var(--ui-text)))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-program-details>div{color:var(--sn-muted,var(--text-muted,var(--ui-text)))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-program-details>div>small{color:var(--sn-muted,var(--text-muted,var(--ui-text)))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-counters b{color:var(--sn-heading,var(--text,var(--ui-heading)))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-program-details p{color:var(--sn-muted,var(--text-muted,var(--ui-text)))}
html[data-theme="dark"][data-app-styles~="greenhouse_ventilation"] .gv-live .gv-progress{background:color-mix(in srgb,#0891b2 8%,var(--sn-card-bg,var(--surface,var(--ui-surface))));border:1px solid color-mix(in srgb,#0891b2 15%,var(--sn-card-border,var(--ui-border)));color:var(--sn-text,var(--text,var(--ui-heading)))}
/* hardware_psens.css */
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-head h2{color:var(--text-main,#85a8d6)}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-status{color:#85a7d6}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-intro{border:1px solid var(--ui-border);background:linear-gradient(115deg,var(--ui-raised),var(--ui-raised))}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-intro ol{color:#85a9d6}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-intro strong{color:#8599d6}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-card{border:1px solid var(--ui-border);background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-card-top{border-bottom:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-card-top h3{color:#85a8d6}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-badge{background:var(--ui-raised);color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-badge.is-on{background:var(--ui-raised);color:#72e9c7}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-badge.is-error{background:var(--ui-raised);color:#dd9c7e}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-metric small{color:var(--ui-muted)}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-metric strong{color:#eda86e}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-metric.humidity strong{color:#7eb1dd}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-led-key{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-led-key i{background:var(--ui-raised);border:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-meta{color:var(--ui-muted)}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-details-toggle{border-top:1px solid var(--ui-border);background:var(--ui-raised);color:#85a5d6}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-details{border-top:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-cal-row label{color:#85a6d6}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-cal-row small{color:var(--ui-muted)}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-tools{border-top:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-empty{border:1px dashed var(--ui-border);color:#85a4d6}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-message{color:#daa381}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-badge.is-waiting{background:var(--ui-raised);color:#d6bd85}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .sn4 .psens-identity-pop .gh-win-pop-body{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-identity-preview{background:var(--ui-raised);border:1px solid var(--ui-border);color:#907fdb}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-identity-pop label{color:#85a6d6}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-identity-pop small{color:#85a6d6}
html[data-theme="dark"][data-app-styles~="hardware_psens"] #psensIdentityError{color:#dd7d90}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-name-edit{border:1px solid var(--ui-border);background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-name-edit:focus-visible{outline:2px solid #422d9a}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-tools .psens-forget{border:1px solid var(--ui-border);background:var(--ui-raised);color:#d68491}
html[data-theme="dark"][data-app-styles~="hardware_psens"] .psens-tools .psens-forget:not(:disabled):hover{background:var(--ui-raised);border-color:#992e41}
/* home-v4.css */
html[data-theme="dark"][data-app-styles~="home-v4"] body.sn4[data-page="home"] .widget-card{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="home-v4"] body.sn4[data-page="home"] .card-head .widget-icon{background:color-mix(in srgb, var(--wc, var(--sn-primary)) 16%, var(--ui-surface))}
html[data-theme="dark"][data-app-styles~="home-v4"] body.sn4[data-page="home"] .modem-badge{background:color-mix(in srgb, var(--wc, var(--sn-primary)) 14%, var(--ui-surface))}
html[data-theme="dark"][data-app-styles~="home-v4"] body.sn4[data-page="home"] .sys-temp.warm{color:#f7c864}
html[data-theme="dark"][data-app-styles~="home-v4"] body.sn4[data-page="home"] .sys-temp.hot{color:#ee7f6d}
html[data-theme="dark"][data-app-styles~="home-v4"] body.sn4[data-page="home"] .card-row > b.good{color:#9cdf7c}
html[data-theme="dark"][data-app-styles~="home-v4"] body.sn4[data-page="home"] .card-row > b.bad{color:#ee7f6d}
html[data-theme="dark"][data-app-styles~="home-v4"] body.sn4[data-page="home"] .card-warn{color:#f7c864}
/* io-groups.css */
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-io-group{border:1px solid var(--sn-card-border, var(--ui-border));background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-io-group-head{color:var(--sn-heading, #85acd6)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-io-group-head:hover{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-io-group-head:focus-visible,html[data-theme="dark"][data-app-styles~="io-groups"] .sn-out-card:focus-visible,html[data-theme="dark"][data-app-styles~="io-groups"] .sn-io-channel:focus-visible{outline:3px solid #2d2f9a}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-io-group-icon{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-io-group-edit:hover{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-io-group-uid{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-board-name-modal{background:rgba(36,44,64,0.8)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-board-name-modal form{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-board-name-modal h3{color:#85acd6}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-board-name-modal label{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-board-name-modal input{border:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-board-name-error{color:#ef7e6c}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-board-analog{border-top:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-board-analog h3{color:#85acd6}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-board-analog h3 small{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-board-ao-grid .sn-ao-card{border:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-ao-feedback{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-ao-name-edit{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-io-group-title small,html[data-theme="dark"][data-app-styles~="io-groups"] .sn-io-group-stats{color:var(--sn-muted, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-io-group-badge{background:var(--ui-raised);color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-io-group-badge.is-ready{color:#88e476;background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-io-group[open] > summary{border-bottom:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-out-card.unknown .sn-out-state{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-io-channel-panel{border:1px solid var(--ui-border);background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-io-channel-panel h3{color:var(--sn-heading, #85acd6)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-io-channel-panel > p{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-io-channel{border:1px solid var(--ui-border);background:var(--ui-surface);color:#85acd6}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-io-channel.is-on{border-color:color-mix(in srgb, var(--io-color) 35%, var(--ui-border));background:color-mix(in srgb, var(--io-color) 7%, var(--ui-surface))}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-io-channel-number{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-io-channel-state{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-io-channel-state::before{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-exp-analog-item{border:1px solid var(--ui-border);color:#85acd6}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-exp-analog-item small{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-board-actions{border-bottom:1px solid var(--border-color, var(--ui-border))}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-board-batch-hint{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-batch-delay{border:1px solid var(--ui-border);background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-batch-delay-input input{border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-heading)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-batch-delay-input input:focus{outline:2px solid #2d2f9a}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-batch-delay-input span{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-batch-delay-hint{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="io-groups"] .sn-batch-delay-error{color:#df7c7c}
/* irrigation-v4.css */
html[data-theme="dark"][data-app-styles~="irrigation-v4"] body.sn4[data-page="irrigation"] .irr-sys-rule{background:var(--sn-border, var(--ui-raised))}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] body.sn4[data-page="irrigation"] .irr-sys-edit{background:var(--ui-surface);color:var(--sn-text, #85acd6)}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] body.sn4[data-page="irrigation"] .irr-sys-edit:hover{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] body.sn4[data-page="irrigation"] .irr-sys-reset{border:1px solid #2d869a;background:var(--ui-surface);color:var(--sn-text, #85acd6)}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] body.sn4[data-page="irrigation"] .irr-sys-reset:hover{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] body.sn4[data-page="irrigation"] .gh-zone-title .irr-sys-del{border:1.5px solid var(--ui-border);background:rgba(36,44,64,0.95);color:#ed6e6e}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] body.sn4[data-page="irrigation"] .irr-empty-cta{background:var(--ui-surface);color:var(--sn-text, #85acd6)}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] body.sn4[data-page="irrigation"] .irr-empty-cta:hover{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] body.sn4[data-page="irrigation"] .gh-equipment-grid .widget-card[data-widget-id="valve"]:hover{border-color:color-mix(in srgb, #e6a800 55%, var(--ui-border))}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] body.sn4[data-page="irrigation"] .irr-valve-relay-k{color:var(--sn-text-muted, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] body.sn4[data-page="irrigation"] .irr-valve-relay-v{color:var(--sn-muted, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-empty{color:var(--sn-muted, var(--ui-muted))}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-badge{background:var(--sn-secondary-soft, var(--ui-raised));color:var(--sn-secondary, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-badge.on{background:var(--sn-success-soft, var(--ui-raised));color:#a1e477}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-badge.warn{background:var(--sn-warning-soft, #504121);color:#f7c664}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-badge.bad{background:var(--sn-danger-soft, var(--ui-raised));color:var(--sn-danger, #f77964)}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-badge.info{background:var(--sn-info-soft, var(--ui-raised));color:#64e0f7}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-pop{background:rgba(36,44,64,0.8)}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-pop-box{background:var(--sn-card-bg, var(--ui-surface))}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-pop-head{border-bottom:1px solid var(--sn-border-soft, var(--ui-border))}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-pop-head h3{color:var(--sn-heading, #85acd6)}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-pop-x{color:var(--sn-muted, var(--ui-muted))}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-pop-foot{border-top:1px solid var(--sn-border-soft, var(--ui-border))}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-fieldset{border:1px solid var(--sn-border-soft, var(--ui-border));background:var(--sn-surface-2, var(--ui-raised))}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-fieldset > h4{color:var(--sn-heading, #85acd6)}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-note{color:var(--sn-muted, var(--ui-muted))}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-note.warn{color:#f7c664}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-day{border:1px solid var(--sn-border, var(--ui-border));background:var(--sn-card-bg, var(--ui-surface));color:var(--sn-text, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-slot{border:1px solid var(--sn-border, var(--ui-border));background:var(--sn-card-bg, var(--ui-surface))}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-slot-head strong{color:var(--sn-heading, #85acd6)}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-errors{background:var(--sn-danger-soft, var(--ui-raised));color:#ed806e}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-toast{background:var(--sn-dark, var(--ui-raised))}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-choice-card{border:1.5px solid var(--sn-border, var(--ui-border));background:var(--sn-card-bg, var(--ui-surface))}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-choice-card.is-selected{background:var(--sn-warning-soft, var(--ui-raised))}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-choice-card strong{color:var(--sn-heading, #85acd6)}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-choice-card span{color:var(--sn-muted, var(--ui-muted))}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-tank-triple-row{border-bottom:1px dashed var(--sn-border, var(--ui-border))}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-warn{color:#f7c664}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-alarm-card{border:1px solid var(--sn-border, var(--ui-border));background:var(--sn-card-bg, var(--ui-surface))}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-alarm-users label{color:var(--sn-text, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-chart-empty{color:var(--sn-muted, var(--ui-muted))}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] body.sn4[data-page="irrigation"] .sn-fs .irr-choice-card,html[data-theme="dark"][data-app-styles~="irrigation-v4"] body.sn4[data-page="irrigation"] .sn-fs .irr-slot,html[data-theme="dark"][data-app-styles~="irrigation-v4"] body.sn4[data-page="irrigation"] .sn-fs .text-input,html[data-theme="dark"][data-app-styles~="irrigation-v4"] body.sn4[data-page="irrigation"] .sn-fs .irr-alarm-card{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-time-btn{border:1px solid var(--sn-border, var(--ui-border));background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-tp-box{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-tp-cell{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-tp-clock{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-step-errors{background:var(--sn-danger-soft, var(--ui-raised));color:#ed806e}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-slot-add{background:var(--ui-raised);color:#6cefe1;border:1px solid #359286}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-slot-add:hover{background:var(--ui-raised);color:#6bf0e1}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-slot-del{background:var(--ui-raised) !important;color:#d79084 !important;border:1px solid #9a3f2d !important}
html[data-theme="dark"][data-app-styles~="irrigation-v4"] .irr-slot-del:hover{background:var(--ui-raised) !important;color:#d78e83 !important}
html[data-theme="dark"][data-app-styles~="irrigation-v4"].sn-coarse body.sn4[data-page="irrigation"] .irr-sys-edit:hover{color:var(--sn-text, #85acd6);background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="irrigation-v4"].sn-coarse body.sn4[data-page="irrigation"] .irr-sys-reset:hover{color:var(--sn-text, #85acd6);border-color:#2d869a;background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="irrigation-v4"].sn-coarse body.sn4[data-page="irrigation"] .irr-empty-cta:hover{color:var(--sn-text, #85acd6);background:var(--ui-surface)}
/* login-v4.css */
html[data-theme="dark"][data-app-styles~="login-v4"] body.sn4[data-page="login"] .login-card,html[data-theme="dark"][data-app-styles~="login-v4"] body.sn4[data-page="register"] .login-card,html[data-theme="dark"][data-app-styles~="login-v4"] body.sn4[data-page="forgot"] .login-card{background:rgba(36,44,64,0.8);border:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="login-v4"] body.sn4[data-page="register"] .reg-username-row{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="login-v4"] body.sn4[data-page="register"] .reg-otp-row .btn{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="login-v4"] body.sn4[data-page="login"] .sn-login-enter-stars{background-color:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="login-v4"] body.sn4[data-page="login"] .sn-login-enter-dot{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="login-v4"] body.sn4[data-page="login"] .sn-login-enter:hover{color:var(--ui-heading)}
/* mobile-shell.css */
@media (max-width: 767px){html[data-theme="dark"][data-app-styles~="mobile-shell"] body.sn4 .sn-mobile-nav{border-top:1px solid var(--sn-card-border, var(--ui-border));background:var(--sn-card-bg, var(--ui-surface))}
html[data-theme="dark"][data-app-styles~="mobile-shell"] .sn-mobile-nav-item{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="mobile-shell"] .sn-mobile-nav-item.is-active{color:#6e6cee;background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="mobile-shell"] .sn-mobile-nav-item:hover{color:#6e6cee;background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="mobile-shell"] .sn-mobile-nav-item:focus-visible{outline:2px solid #2d2f9a}}
/* monitoring-v4.css */
html[data-theme="dark"][data-app-styles~="monitoring-v4"] body.sn4[data-page="monitoring"] .monitoring-add-btn{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="monitoring-v4"] body.sn4[data-page="monitoring"] .widget-grid .widget-card{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="monitoring-v4"] body.sn4[data-page="monitoring"] .widget-grid .widget-icon{background:color-mix(in srgb, var(--wc, var(--sn-primary)) 20%, var(--ui-surface))}
html[data-theme="dark"][data-app-styles~="monitoring-v4"] body.sn4[data-page="monitoring"] .sn-io-panel .widget-card{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="monitoring-v4"] body.sn4[data-page="monitoring"] .card-head .widget-icon{background:color-mix(in srgb, var(--wc, var(--sn-primary)) 16%, var(--ui-surface))}
html[data-theme="dark"][data-app-styles~="monitoring-v4"] body.sn4[data-page="monitoring"] .add-widget-card{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="monitoring-v4"] body.sn4[data-page="monitoring"] .modal-box{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="monitoring-v4"] body.sn4[data-page="monitoring"] .type-option{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="monitoring-v4"] body.sn4[data-page="monitoring"] .icon-swatch{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="monitoring-v4"] .sn-io-tip{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="monitoring-v4"] .sn-io-toast{background:rgba(36,44,64,0.9)}
@media (max-width: 600px){html[data-theme="dark"][data-app-styles~="monitoring-v4"] body.sn4[data-page="monitoring"] .sn-io-group-body{background:var(--ui-raised)}}
/* ota-popup.css */
html[data-theme="dark"][data-app-styles~="ota-popup"] .ota-notes{background:var(--sn-body-bg, var(--ui-raised))}
/* outputs-v4.css */
html[data-theme="dark"][data-app-styles~="outputs-v4"] body.sn4[data-page="outputs"] .sn-out-all{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="outputs-v4"] body.sn4[data-page="outputs"] .sn-out-all-on{color:#9cdf7c}
html[data-theme="dark"][data-app-styles~="outputs-v4"] body.sn4[data-page="outputs"] .sn-out-all-on:hover{color:#99e17a}
html[data-theme="dark"][data-app-styles~="outputs-v4"] body.sn4[data-page="outputs"] .sn-out-all-off{color:#ee7f6d}
html[data-theme="dark"][data-app-styles~="outputs-v4"] body.sn4[data-page="outputs"] .sn-out-all-off:hover{color:#ef7e6c}
html[data-theme="dark"][data-app-styles~="outputs-v4"] .sn-out-card{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="outputs-v4"] .sn-out-card::after{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="outputs-v4"] .sn-out-lock{color:#9ce774}
html[data-theme="dark"][data-app-styles~="outputs-v4"] .sn-out-ico{background:color-mix(in srgb, var(--sn-tone) 16%, var(--ui-surface))}
html[data-theme="dark"][data-app-styles~="outputs-v4"] .sn-out-log-toggle{color:#f7ca64}
html[data-theme="dark"][data-app-styles~="outputs-v4"] .sn-out-log-toggle strong{color:#f7ca64}
html[data-theme="dark"][data-app-styles~="outputs-v4"] body.sn4[data-page="outputs"] .gh-log-alarm{color:#f77364;border-color:#9a312d}
html[data-theme="dark"][data-app-styles~="outputs-v4"] .sn-out-pop-box{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="outputs-v4"] .sn-out-pop-modes{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="outputs-v4"] .sn-out-mode{background:var(--ui-surface);color:var(--ui-heading)}
html[data-theme="dark"][data-app-styles~="outputs-v4"] .sn-out-start::before{background:linear-gradient(to right, transparent 1%, rgba(36,44,64,0.8) 40%, rgba(36,44,64,0.8) 60%, transparent 100%)}
html[data-theme="dark"][data-app-styles~="outputs-v4"] .sn-out-wheel[data-unit="h"] button:hover{color:#9cdf7c}
html[data-theme="dark"][data-app-styles~="outputs-v4"] .sn-out-wheel[data-unit="m"] button:hover{color:#f7c864}
html[data-theme="dark"][data-app-styles~="outputs-v4"] .sn-out-wheel[data-unit="s"] button:hover{color:#ee7f6d}
html[data-theme="dark"][data-app-styles~="outputs-v4"] .sn-out-wheel[data-unit="h"] input{color:#9cdf7c}
html[data-theme="dark"][data-app-styles~="outputs-v4"] .sn-out-wheel[data-unit="m"] input{color:#f7c864}
html[data-theme="dark"][data-app-styles~="outputs-v4"] .sn-out-wheel[data-unit="s"] input{color:#ee7f6d}
html[data-theme="dark"][data-app-styles~="outputs-v4"] body.sn4 .modal-box.sn-out-appear{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="outputs-v4"] body.sn4 .modal-box.sn-out-confirm{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="outputs-v4"] .sn-out-confirm.is-on .sn-out-confirm-ico{color:#9cdf7c}
html[data-theme="dark"][data-app-styles~="outputs-v4"] .sn-out-confirm.is-off .sn-out-confirm-ico{color:#ee7f6d}
html[data-theme="dark"][data-app-styles~="outputs-v4"] .sn-out-icon-grid button{background:var(--ui-surface)}
/* scenarios-v4.css */
html[data-theme="dark"][data-app-styles~="scenarios-v4"] body.sn4[data-page="scenarios"] .scen-banner{border:1px solid color-mix(in srgb, var(--sn-primary) 22%, var(--ui-border))}
html[data-theme="dark"][data-app-styles~="scenarios-v4"] body.sn4[data-page="scenarios"] .sn-card{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="scenarios-v4"] body.sn4[data-page="scenarios"] .scen-danger{border-color:color-mix(in srgb, var(--sn-danger) 35%, var(--ui-border))}
html[data-theme="dark"][data-app-styles~="scenarios-v4"] body.sn4[data-page="scenarios"] .scen-slot-badge{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="scenarios-v4"] body.sn4[data-page="scenarios"] .scen-row{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="scenarios-v4"] body.sn4[data-page="scenarios"] .scen-row select,html[data-theme="dark"][data-app-styles~="scenarios-v4"] body.sn4[data-page="scenarios"] .scen-row input{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="scenarios-v4"] body.sn4[data-page="scenarios"] .btn-mini{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="scenarios-v4"] body.sn4[data-page="scenarios"] .btn-mini.danger{border-color:color-mix(in srgb, var(--sn-danger) 30%, var(--ui-border))}
/* select-menu.css */
html[data-theme="dark"][data-app-styles~="select-menu"] .sr-select-menu{border:1px solid var(--border, var(--ui-border));background:var(--bg-1, var(--ui-surface));color:var(--text, var(--ui-heading))}
html[data-theme="dark"][data-app-styles~="select-menu"] .sr-select-option.is-selected{color:var(--sn-primary, var(--gold-bright, #7b76e5));background:var(--sn-primary-soft, var(--gold-glow, var(--ui-raised)))}
html[data-theme="dark"][data-app-styles~="select-menu"] .sr-select-option.is-active{background:var(--sn-primary-soft, var(--surface-2, var(--ui-raised)))}
html[data-theme="dark"][data-app-styles~="select-menu"] .sr-select-group,html[data-theme="dark"][data-app-styles~="select-menu"] .sr-select-empty{color:var(--text-muted, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="select-menu"] select option,html[data-theme="dark"][data-app-styles~="select-menu"] select optgroup{background-color:var(--bg-1, var(--ui-surface));color:var(--text, var(--ui-heading))}
html[data-theme="dark"][data-app-styles~="select-menu"] .sr-select-usage{color:var(--text-muted,var(--ui-text))}
html[data-theme="dark"][data-app-styles~="select-menu"] .sr-select-usage.is-used{color:var(--sn-primary,#7b78e3)}
html[data-theme="dark"][data-app-styles~="select-menu"] .output-usage-hint{color:var(--sn-primary,#7b78e3)}
html[data-theme="dark"][data-app-styles~="select-menu"] .io-channel-location{color:var(--text-muted,var(--ui-text))}
/* settings-battery.css */
html[data-theme="dark"][data-app-styles~="settings-battery"] #hwbStatusCard .settings-battery-stats>div{background:var(--ui-raised);border:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="settings-battery"] .hwb-info{background:var(--ui-raised);color:#e2ba79}
html[data-theme="dark"][data-app-styles~="settings-battery"] .hwb-diagnostics{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="settings-battery"] .hwb-diagnostics span{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="settings-battery"] .hwb-calibration small{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="settings-battery"] .hwb-preview>div{border:1px dashed var(--ui-border);background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="settings-battery"] .hwb-preview span{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="settings-battery"] .hwb-test-state{background:var(--ui-raised);color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="settings-battery"] .hwb-test-state.is-on{background:var(--ui-raised);color:#71eab6}
html[data-theme="dark"][data-app-styles~="settings-battery"] .hwb-test-start{background:var(--ui-raised);color:#71eab6}
html[data-theme="dark"][data-app-styles~="settings-battery"] .hwb-test-stop{background:var(--ui-raised);color:#e1837a;border:1px solid #9a362d}
html[data-theme="dark"][data-app-styles~="settings-battery"] .hwb-test-limits{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="settings-battery"] .hwb-test-note{color:#ddb77e}
html[data-theme="dark"][data-app-styles~="settings-battery"] .settings-battery-pills .status-pill:not(.online):not(.offline){background:var(--ui-raised);color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="settings-battery"] .hwb-test-option{background:var(--ui-raised);color:#e2ba79}
html[data-theme="dark"][data-app-styles~="settings-battery"] .hwb-test-option small{color:#d6b685}
html[data-theme="dark"][data-app-styles~="settings-battery"] #hwbGauge.is-unknown:after{color:var(--ui-text);background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="settings-battery"] .hwb-auto-card{border-top:3px solid #362d9a}
html[data-theme="dark"][data-app-styles~="settings-battery"] .hwb-mode-picker legend{color:#85a7d6}
html[data-theme="dark"][data-app-styles~="settings-battery"] .hwb-mode-choice{border:1px solid var(--ui-border);background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="settings-battery"] .hwb-mode-choice:has(input:checked){background:var(--ui-raised);border-color:#362d9a;color:#8378e3}
html[data-theme="dark"][data-app-styles~="settings-battery"] .hwb-mode-choice small{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="settings-battery"] .hwb-mode-icon{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="settings-battery"] .hwb-mode-description{color:var(--ui-text);background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="settings-battery"] .hwb-auto-advanced{border:1px solid var(--ui-border);background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="settings-battery"] .hwb-fan-icon{background:var(--ui-raised);color:#64e5f7}
html[data-theme="dark"][data-app-styles~="settings-battery"] .hwb-fan-controls .btn{border:1px solid var(--ui-border);background:var(--ui-raised);color:#85a8d6}
html[data-theme="dark"][data-app-styles~="settings-battery"] .hwb-fan-controls .btn[aria-pressed=true]{background:var(--ui-raised);color:#64e3f6}
/* settings-communications.css */
html[data-theme="dark"][data-app-styles~="settings-communications"] .gc-card-title{color:#85a5d6}
html[data-theme="dark"][data-app-styles~="settings-communications"] .gc-icon{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="settings-communications"] .gc-icon-audio{background:var(--ui-raised);color:#7be0c1}
html[data-theme="dark"][data-app-styles~="settings-communications"] .gc-card-title output{color:#7be0c1}
html[data-theme="dark"][data-app-styles~="settings-communications"] .gc-volume-range::-webkit-slider-runnable-track{background:linear-gradient(to right,#29b991 0 var(--gc-fill,55%),var(--ui-raised) var(--gc-fill,55%) 100%)}
html[data-theme="dark"][data-app-styles~="settings-communications"] .gc-volume-range::-webkit-slider-thumb{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="settings-communications"] .gc-volume-range::-moz-range-track{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="settings-communications"] .gc-volume-range::-moz-range-thumb{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="settings-communications"] .gc-volume-range:focus-visible{outline:2px solid #3b2d9a}
html[data-theme="dark"][data-app-styles~="settings-communications"] .gc-range-labels{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="settings-communications"] .gc-status{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="settings-communications"] .gc-status.is-ok{color:#7be0c3}
/* settings-v4.css */
html[data-theme="dark"][data-app-styles~="settings-v4"] body.sn4.sn-settings .settings-card{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="settings-v4"] body.sn4.sn-settings .gh-file-row{background:var(--sn-surface-2, var(--ui-raised))}
html[data-theme="dark"][data-app-styles~="settings-v4"] body.sn4.sn-settings .gh-emoji-btn{background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="settings-v4"] body.sn4.sn-settings .hw-rf-monitor{color:#64dcf7}
html[data-theme="dark"][data-app-styles~="settings-v4"] body.sn4.sn-settings .hw-key-chip{background:var(--sn-surface-2, var(--ui-raised))}
html[data-theme="dark"][data-app-styles~="settings-v4"] body.sn4.sn-settings .hw-key-chip.learned{border-color:color-mix(in srgb, var(--sn-success) 40%, var(--ui-border))}
html[data-theme="dark"][data-app-styles~="settings-v4"] body.sn4.sn-settings .hw-key-ok{color:#9cdf7c}
html[data-theme="dark"][data-app-styles~="settings-v4"] body.sn4.sn-settings .scmd-card{border-right:4px solid var(--scmd-c, var(--sn-primary, #362d9a))}
html[data-theme="dark"][data-app-styles~="settings-v4"] body.sn4.sn-settings .scmd-card > .field-label{color:var(--scmd-c, var(--sn-heading, #85add6));border-bottom:2px solid var(--scmd-c, var(--ui-border))}
html[data-theme="dark"][data-app-styles~="settings-v4"] body.sn4.sn-settings .scmd-row{border-bottom:1px solid var(--sn-card-border, var(--ui-border))}
html[data-theme="dark"][data-app-styles~="settings-v4"] body.sn4.sn-settings .scmd-ex{background:var(--sn-body-bg, var(--ui-raised));color:var(--sn-muted, var(--ui-muted))}
html[data-theme="dark"][data-app-styles~="settings-v4"] body.sn4.sn-settings .scmd-badge-dev{background:var(--sn-card-border, var(--ui-raised));color:var(--sn-muted, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="settings-v4"] body.sn4.sn-settings .scmd-badge-hot{background:var(--ui-raised);color:#f77964}
/* sms-quick-help.css */
html[data-theme="dark"][data-app-styles~="sms-quick-help"] .scmd-help-grid p{color:#85a3d6}
html[data-theme="dark"][data-app-styles~="sms-quick-help"] .scmd-help-grid code{color:#8598d6;background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="sms-quick-help"] .scmd-help-grid section{border:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="sms-quick-help"] .scmd-help-grid small{color:var(--ui-muted)}
/* storage-backup.css */
html[data-theme="dark"][data-app-styles~="storage-backup"] .device-backup{border:1px solid var(--ui-border);background:linear-gradient(120deg,var(--ui-surface) 65%,var(--ui-raised))}
html[data-theme="dark"][data-app-styles~="storage-backup"] .device-backup-icon{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="storage-backup"] .device-backup h2{color:#85a2d6}
html[data-theme="dark"][data-app-styles~="storage-backup"] .device-backup p{color:#85a0d6}
html[data-theme="dark"][data-app-styles~="storage-backup"] .device-backup-limit{color:#9184d6;background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="storage-backup"] .device-backup-meta{color:#85a5d6}
html[data-theme="dark"][data-app-styles~="storage-backup"] .device-backup-status{color:#85a5d6}
html[data-theme="dark"][data-app-styles~="storage-backup"] .device-backup-status[data-kind="error"]{color:#e17a8b}
html[data-theme="dark"][data-app-styles~="storage-backup"] .device-backup-status[data-kind="done"]{color:#76e5bf}
html[data-theme="dark"][data-app-styles~="storage-backup"] .device-backup-meter{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="storage-backup"] .device-backup-download{background:var(--ui-surface);border:1px solid var(--ui-border);color:#85a2d6}
html[data-theme="dark"][data-app-styles~="storage-backup"] .storage-option{border:1px solid var(--ui-border);background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="storage-backup"] .storage-option h2{color:#85a2d6}
html[data-theme="dark"][data-app-styles~="storage-backup"] .storage-option-icon{background:var(--ui-raised);color:#78ade3}
html[data-theme="dark"][data-app-styles~="storage-backup"] .storage-option-icon.restore{background:var(--ui-raised);color:#84d7c0}
html[data-theme="dark"][data-app-styles~="storage-backup"] .storage-pill{background:var(--ui-raised);color:#9285d6}
html[data-theme="dark"][data-app-styles~="storage-backup"] .storage-option p,html[data-theme="dark"][data-app-styles~="storage-backup"] .storage-option small{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="storage-backup"] .storage-option-actions label{color:#85a4d6}
html[data-theme="dark"][data-app-styles~="storage-backup"] .storage-option select{border:1px solid var(--ui-border);background:var(--ui-raised);color:#85a1d6}
html[data-theme="dark"][data-app-styles~="storage-backup"] .storage-usb{color:#85a3d6}
/* timers-v4.css */
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-loc-note{color:var(--sn-text-muted, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-astro-row span{color:var(--sn-text-muted, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-astro-row strong{color:var(--ui-heading)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-card{border:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-card.is-stopped::before{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-card-dot{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-card-id small{color:var(--sn-text-muted, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-iconbtn{border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-iconbtn-start{color:#64f7c9}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-iconbtn-start:not(:disabled):hover{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-iconbtn-pause{color:#f7a464}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-iconbtn-pause:not(:disabled):hover{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-iconbtn-stop{color:#e87272}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-iconbtn-stop:not(:disabled):hover{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-iconbtn-edit{color:#857edd}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-iconbtn-del{color:var(--ui-muted)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-iconbtn-del:hover{background:var(--ui-raised);color:#e87272}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-card-hero{background:linear-gradient(180deg, var(--ui-raised), var(--ui-raised));border:1px solid var(--ui-border)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-card-hero.is-on{background:linear-gradient(180deg, var(--ui-raised), var(--ui-raised));border-color:#2d9a53}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-card-hero strong{color:var(--ui-heading)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-card-hero span{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-pill{background:var(--ui-raised);color:var(--ui-heading)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-pill.is-out-on{color:#64f7cd}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-pill.is-out-off{color:var(--ui-heading)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-pill.is-disabled{background:#504621;color:#f19d6a}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-card-cyc{color:var(--ui-muted)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .irr-empty{color:var(--sn-text-muted, var(--ui-text))}
html[data-theme="dark"][data-app-styles~="timers-v4"] .irr-step-errors{background:var(--ui-raised);color:#ed806e}
html[data-theme="dark"][data-app-styles~="timers-v4"] .irr-day{border:1px solid var(--ui-border);background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .irr-day:has(input:checked){color:#8681da}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-modal-lead{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-sec{border:1px solid var(--ui-border);background:rgba(36,44,64,0.8)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-sec h4{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-type-card{border:1px solid var(--ui-border);background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-type-card-body > small{color:var(--ui-muted)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-type-card:has(input:checked){background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-dur-on{background:linear-gradient(180deg, var(--ui-raised), var(--ui-raised));border-color:#2d9a53}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-dur-off{background:linear-gradient(180deg, var(--ui-raised), var(--ui-raised));border-color:var(--ui-border)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-dur-on .tmr-dur-kicker{color:#64f7cd}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-dur-off .tmr-dur-kicker{color:var(--ui-heading)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-dur-field small{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-dur-field input{border:1px solid var(--ui-border);background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-cycle-arrow{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-cycle-hint{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-choice{border:1px solid var(--ui-border);background:var(--ui-surface)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-choice small{color:var(--ui-muted)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-choice:has(input:checked){background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-act-pills label{border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-act-pills label:has(input[value="on"]:checked){background:var(--ui-raised);color:#73e89f}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-act-pills label:has(input[value="off"]:checked){background:var(--ui-raised);color:#ea7171}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-act-pills label:has(input[value="toggle"]:checked){background:var(--ui-raised);color:#f58f65}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-act-pills label:has(input[value="pulse"]:checked){background:var(--ui-raised);color:#f7bb64}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-seq-row{border:1px solid var(--ui-border);border:1px solid color-mix(in srgb, var(--seq-c) 35%, var(--ui-border))}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-seq-row select.tmr-seq-keep.is-keep{background-color:var(--ui-raised);color:#73e89f}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-seq-row .field-group label{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-seq-row.has-error{background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-time-btn{border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-heading)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-time-lbl{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-toolbar-search{border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-muted)}
html[data-theme="dark"][data-app-styles~="timers-v4"] body.sn4[data-page="timers"] .tmr-toolbar-search input[type="text"]{color:var(--ui-heading)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-summary-row{border:1px solid var(--ui-border);background:var(--ui-raised)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-summary-row span:first-child{color:var(--ui-text)}
html[data-theme="dark"][data-app-styles~="timers-v4"] .tmr-summary-row span:last-child{color:var(--ui-heading)}
html[data-theme="dark"][data-app-styles~="timers-v4"] #tmrTimePop .irr-tp-box{background:linear-gradient(180deg, var(--tmr-yellow-soft), var(--ui-surface))}
/* window-position.css */
html[data-theme="dark"][data-app-styles~="window-position"] .gh-sensor-grid .widget-card[data-widget-id="window_pos_actual"] > .gh-window-fault{color:#ea7171}
/* Component states retain their meaning in both palettes. */
html[data-theme][data-app-styles], html[data-theme][data-app-styles] body { background: var(--ui-bg); }
html[data-theme][data-app-styles].sn4-html, html[data-theme][data-app-styles].sn4-html body { background: var(--ui-bg); }
html[data-theme="dark"][data-app-styles] body.sn4 {
    --bg-0: var(--ui-bg); --bg-1: var(--ui-surface); --surface: var(--ui-surface); --surface-2: var(--ui-raised);
    --text: var(--ui-heading); --text-muted: var(--ui-text); --text-faint: var(--ui-muted);
    --border: var(--ui-border); --border-soft: var(--ui-border);
}
html[data-theme="dark"][data-app-styles].sn4-html body.sn4 .sn-navbar-inner { background: var(--ui-surface); }
html[data-theme="dark"][data-app-styles] body.sn4 .btn-gold, html[data-theme="dark"][data-app-styles] body.sn4 .sn-sp-save.btn { background: #6964d5; color: #fff; border-color: #8e86ed; }
html[data-theme="dark"][data-app-styles] body.sn4 .btn-danger { background: #a52e47; border-color: #cc5a71; }
html[data-theme="dark"][data-app-styles] body.sn4 :is(input, textarea, select):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]) { background-color: var(--ui-raised); color: var(--ui-heading); border-color: var(--ui-border); color-scheme: dark; }
html[data-theme="dark"][data-app-styles] ::placeholder { color: #a0acc3; opacity: 1; }
html[data-theme="dark"][data-app-styles] :is(.sr-select-menu, .sr-select-option, select option, select optgroup) { color: var(--ui-heading); }
html[data-theme="dark"][data-app-styles] body.sn4 .sn-mobile-nav-item { color: var(--ui-muted); }
html[data-theme="dark"][data-app-styles] body.sn4 .sn-mobile-nav-item:is(.is-active, :hover) { background: var(--ui-primary-soft); color: var(--ui-primary); }
html[data-theme="dark"][data-app-styles] .sn-io-sq.is-on { color: #fff; }
html[data-theme="dark"][data-app-styles] .sn-io-bits[data-io="out"] .sn-io-sq.is-on { background: #287547; border-color: #4b9e6a; }
html[data-theme="dark"][data-app-styles] .sn-io-bits[data-io="in"] .sn-io-sq.is-on { background: #216b88; border-color: #448dac; }
html[data-theme="dark"][data-app-styles] body.sn4[data-page="monitoring"] .sn-io-bits[data-io="out"] .sn-io-sq.is-on { background: #287547; border-color: #4b9e6a; color: #fff; }
html[data-theme="dark"][data-app-styles] body.sn4[data-page="monitoring"] .sn-io-bits[data-io="in"] .sn-io-sq.is-on { background: #216b88; border-color: #448dac; color: #fff; }
html[data-theme="dark"][data-app-styles] .psens-metric strong { color: #ffaf69; }
html[data-theme="dark"][data-app-styles] .psens-metric.humidity strong { color: #7dcdff; }
html[data-theme="dark"][data-app-styles] .psens-art { color-scheme: light; }
html[data-theme="dark"][data-app-styles] body.sn4 :is(.login-card, .sn-out-confirm, .psens-identity-pop) { background: var(--ui-surface); color: var(--ui-text); border-color: var(--ui-border); }
html[data-theme="dark"][data-app-styles] .sn-auth-bg { opacity: .38; }
html[data-theme="dark"][data-app-styles] .sn-login-welcome { background: var(--ui-bg); }
html[data-theme="dark"][data-app-styles] .sn-pagehead-meta { box-shadow: none; }
html[data-theme="dark"][data-app-styles] :is(.eq-message.error, .error-box, .form-error, .login-error) { color: var(--ui-danger); }
html[data-theme="dark"][data-app-styles] :is(code, pre) { color: var(--ui-text); }
html[data-theme="light"] body:not(.sn4) :is(.app-header, .widget-card, .relay-card, .modal-box, .nav-tab, .gh-zone-card) { background: var(--ui-surface); color: var(--ui-heading); border-color: var(--ui-border); }
html[data-theme="light"] body:not(.sn4) :is(input, textarea, select):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]) { background-color: var(--ui-surface); color: var(--ui-heading); border-color: var(--ui-border); }
html[data-theme="light"] body:not(.sn4) .gh-empty-card { background: var(--ui-raised); }
html[data-theme="light"] {
    --sd-bg: #f3f5fa; --sd-surface: #fff; --sd-surface-low: #f1f3f8; --sd-surface-high: #e8edf6; --sd-surface-highest: #dce4f1; --sd-lowest: #e8edf5;
    --sd-on-surface: #293c56; --sd-on-surface-variant: #596d89; --sd-outline: #8394ad; --sd-outline-variant: #d5deec;
    --sd-primary: #346dbd; --sd-on-primary: #fff; --sd-primary-container: #dceaff; --sd-secondary: #5b6e88; --sd-secondary-container: #e5eaf3; --sd-on-secondary-container: #4a5f7c;
}
html[data-theme="dark"][data-app-styles] :is(.sd-header, .sd-sidebar, .sd-props, .sd-footer) { border-color: #35415c; }
html[data-theme="light"] .sd-canvas { background-color: #f3f5fa; }
html[data-theme="light"] body:has(.sd-sidebar) .sd-header { background: #fff; border-color: #d5deec; }
html[data-theme="light"] body:has(.sd-sidebar) :is(.sd-sidebar, .sd-props) { background: var(--sd-surface); }

/* Stateful fills must outrank the generated neutral background rules. */
html[data-theme="dark"][data-app-styles] .battery-tone-success { --battery-color: #57dfa7; --battery-soft: #203e36; }
html[data-theme="dark"][data-app-styles] .battery-tone-warning { --battery-color: #f1c565; --battery-soft: #453b24; }
html[data-theme="dark"][data-app-styles] .battery-tone-danger { --battery-color: #ff97a3; --battery-soft: #472d37; }
html[data-theme="dark"][data-app-styles] .battery-tone-unknown { --battery-color: #adc0dc; --battery-soft: #303c50; }
html[data-theme="dark"][data-app-styles] .battery-segments i.is-filled { background: var(--battery-color); }
html[data-theme="dark"][data-app-styles] .sn-out-card:not(.on) .sn-out-ico { background: #30394d; color: #a5b2ca; }
html[data-theme="dark"][data-app-styles] .sn-out-card.on {
    background: color-mix(in srgb, var(--sn-tone) 16%, var(--ui-surface));
    border-color: color-mix(in srgb, var(--sn-tone) 70%, #c6c1ff);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--sn-tone) 35%, transparent), var(--sn-shadow);
}
html[data-theme="dark"][data-app-styles] .sn-out-card.on .sn-out-ico { background: color-mix(in srgb, var(--sn-tone) 65%, #111827); color: #fff; }
html[data-theme="dark"][data-app-styles] .sn-out-card.on .sn-out-state {
    display: inline-flex; align-items: center; gap: 6px; min-height: 24px; padding: 3px 9px;
    border-radius: 7px; background: #244e42; color: #98f2c4;
}
html[data-theme="dark"][data-app-styles] .sn-out-card.on .sn-out-state::before { content: ''; width: 6px; height: 6px; flex: none; border-radius: 50%; background: currentColor; }
html[data-theme="dark"][data-app-styles] .sn-out-card.on::after { background: color-mix(in srgb, var(--sn-tone) 75%, #b5b0ff); }

/* Keep the busy overlay translucent so the current page remains visible. */
html[data-theme="dark"][data-app-styles] body.sn4 .gh-chip-pop {
    background: rgba(12, 18, 30, .24);
    -webkit-backdrop-filter: blur(4px) saturate(115%);
    backdrop-filter: blur(4px) saturate(115%);
}
html[data-theme="dark"][data-app-styles] body.sn4 .gh-chip-float {
    background: transparent;
}

/* Page-specific alarm/irrigation colors must not replace the sidebar palette. */
html[data-theme="dark"][data-app-styles] body.sn4 .sn-menu {
    --sn-primary: var(--ui-primary);
    --sn-primary-hover: #c0bbff;
    --sn-primary-soft: var(--ui-primary-soft);
}
