/* Shared surfaces and instrument palette: both themes cover the entire platform. */
:root,[data-bs-theme=light]{
  color-scheme:light;
  --theme-raised:#f8f9fc;--theme-tint:#f1eefc;--theme-accent:#6351d9;
  --gauge-bg:radial-gradient(ellipse at 50% 0,#eef0fc 0,transparent 65%),#fff;
  --gauge-ink:#272c47;--gauge-muted:#606d87;--gauge-line:#dee3ef;
  --gauge-track:#e1e6f0;--gauge-tick:#a0abc0;--gauge-major:#74809b;
  --gauge-hub:#f4f6fc;--gauge-hub-border:#8f9bb1;--gauge-selected:#6351d906;
  --gauge-temperature:#ba650f;--gauge-speed:#7861d4;--gauge-pressure:#128aab;
  --gauge-start:#2571b3;--gauge-target:#128360;--gauge-stop:#c34662;
  --gauge-start-bg:#edf5ff;--gauge-target-bg:#edf9f3;--gauge-stop-bg:#fff1f4;
  --gauge-alarm:#b94336;--gauge-stale:#727e95;
}
[data-bs-theme=dark]{
  color-scheme:dark;
  --ink:#e6e9f4;--muted:#a4adc5;--primary:#b4a4ff;--line:#33394f;
  --surface:#202537;--canvas:#151927;--green:#6bddb5;--purple:#b4a4ff;
  --theme-raised:#272d42;--theme-tint:#302c4a;--theme-accent:#c0b3ff;
  --bs-body-bg:var(--canvas);--bs-body-color:var(--ink);--bs-heading-color:var(--ink);
  --bs-border-color:var(--line);--bs-secondary-color:var(--muted);
  --bs-tertiary-bg:var(--theme-raised);--bs-secondary-bg:var(--surface);
  --gauge-bg:radial-gradient(ellipse at 50% 0,#30334f 0,transparent 63%),#1b2031;
  --gauge-ink:#f1f3fc;--gauge-muted:#adb8d0;--gauge-line:#ffffff14;
  --gauge-track:#3a4158;--gauge-tick:#727d9a;--gauge-major:#bdc6df;
  --gauge-hub:#42485f;--gauge-hub-border:#7c88a6;--gauge-selected:#ffffff04;
  --gauge-temperature:#ffbb69;--gauge-speed:#aaa0ff;--gauge-pressure:#6fd9f1;
  --gauge-start:#93ceff;--gauge-target:#88edc6;--gauge-stop:#ffa7b4;
  --gauge-start-bg:#70bcff08;--gauge-target-bg:#6ee7b70a;--gauge-stop-bg:#fb718508;
  --gauge-alarm:#ffc2af;--gauge-stale:#a7b0c6;
}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:40px;min-height:38px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:9px;padding:7px 10px;font-size:.75rem;font-weight:600;white-space:nowrap}
.theme-toggle:hover{background:var(--theme-tint);border-color:var(--theme-accent)}
.theme-toggle .icon{width:18px;height:18px}
.login-theme{position:absolute;right:24px;top:22px;z-index:2}.login-panel{position:relative;padding-top:88px}
.setup-theme{display:flex;justify-content:flex-end;margin-bottom:16px}
.appearance-card{margin-bottom:23px}.appearance-card .card-body{display:flex;align-items:center;justify-content:space-between;gap:24px}
.appearance-card p{font-size:.8125rem;color:var(--muted);margin:7px 0 0;line-height:1.7;max-width:560px}
.theme-options{display:flex;gap:10px;flex-shrink:0}.theme-options button{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:10px;padding:10px 15px;background:var(--surface);color:var(--muted);font-size:.8125rem}
.theme-options button[aria-pressed=true]{border-color:var(--theme-accent);background:var(--theme-tint);color:var(--theme-accent);box-shadow:inset 0 0 0 1px var(--theme-accent)}
.theme-swatch{width:22px;height:22px;border:1px solid #8a91a8;border-radius:6px;box-shadow:inset 6px 0 #e4e7f0}.theme-swatch.light{background:#fff}.theme-swatch.dark{background:#1b2031;box-shadow:inset 6px 0 #373f58}
/* Instruments use the same geometry and status colours in either theme. */
.cockpit{background:var(--gauge-bg);color:var(--gauge-ink);border-color:var(--line);box-shadow:0 8px 26px #11182b0b}
.cockpit h2,.instrument,.instrument-label,.dial-readout strong{color:var(--gauge-ink)}
.cockpit-header,.instrument-footer{border-color:var(--gauge-line)}
.cockpit-eyebrow,.cockpit-header p,.cockpit-select,.instrument-signal,.dial-readout span,.instrument-note,.instrument-controlled .instrument-note,.instrument-quality,.instrument-time,.cockpit-hint{color:var(--gauge-muted)}
.cockpit-select .form-select{background-color:var(--surface);border-color:var(--line);color:var(--ink);color-scheme:inherit}
[data-bs-theme=light] .cockpit-select .form-select{background-image:var(--bs-form-select-bg-img)}
.cockpit-eyebrow span,.sim-badge,.dashboard-grid .sim-badge{color:var(--gauge-target);background:var(--gauge-target-bg);border-color:color-mix(in srgb,var(--gauge-target) 25%,transparent)}
.instrument-temperature{--dial-color:var(--gauge-temperature)!important}.instrument-speed{--dial-color:var(--gauge-speed)!important}.instrument-pressure{--dial-color:var(--gauge-pressure)!important}
.instrument[aria-pressed=true]{border-color:color-mix(in srgb,var(--gauge-muted) 30%,transparent);background:var(--gauge-selected)}
.instrument[aria-pressed=true]:after{color:var(--theme-accent)}
.instrument:not([aria-pressed=true]){border-color:transparent}button.instrument:hover{border-color:var(--theme-accent);background:var(--gauge-selected)}
.dial-track,.dial-control-track{stroke:var(--gauge-track)}.dial-tick{stroke:var(--gauge-tick)}.dial-tick-major{stroke:var(--gauge-major)}.dial-scale{fill:var(--gauge-muted)}
.dial-hub-ring{stroke:var(--gauge-line)}.dial-hub{fill:var(--gauge-hub);stroke:var(--gauge-hub-border)}
[data-bs-theme=light] .dial-needle{filter:drop-shadow(0 1px 2px #34426435)}
.dial-control-zone.start,.dial-control-mark.start{stroke:var(--gauge-start)}.dial-control-mark.start{fill:var(--gauge-start)}
.dial-control-zone.target,.dial-control-mark.target{stroke:var(--gauge-target)}.dial-control-mark.target{fill:var(--gauge-target)}
.dial-control-zone.stop,.dial-control-mark.stop{stroke:var(--gauge-stop)}.dial-control-mark.stop{fill:var(--gauge-stop)}
.dial-control-mark.target path{stroke:var(--surface)}
.dial-rule.start{color:var(--gauge-start);background:var(--gauge-start-bg);border-color:color-mix(in srgb,var(--gauge-start) 25%,transparent)}
.dial-rule.target{color:var(--gauge-target);background:var(--gauge-target-bg);border-color:color-mix(in srgb,var(--gauge-target) 25%,transparent)}
.dial-rule.stop{color:var(--gauge-stop);background:var(--gauge-stop-bg);border-color:color-mix(in srgb,var(--gauge-stop) 25%,transparent)}
.machine-state{color:var(--gauge-muted)}.machine-running{color:var(--gauge-target)}.machine-running .machine-dot{background:var(--gauge-target)}.instrument-time strong{color:var(--gauge-ink)}
.instrument-alarm{--dial-color:var(--gauge-stop)!important}.instrument-alarm .instrument-signal,.instrument-alarm .dial-readout strong{color:var(--gauge-alarm)}
.instrument-at-target{--dial-color:var(--gauge-target)!important}.instrument-at-target .dial-readout strong,.instrument-at-target .instrument-signal{color:var(--gauge-target)}
.instruments-stale .dial-readout strong,.instruments-stale .instrument-signal{color:var(--gauge-stale)}.instruments-stale .dial-progress{stroke:var(--gauge-stale)}.instruments-stale .dial-needle{stroke:var(--gauge-stale);fill:var(--gauge-stale)}
[data-bs-theme=light] .instrument-warning{background:#fff5e6;border-color:#edc893;color:#865212}
/* Dark workspace: navigation, forms, tables, guides and notification settings. */
[data-bs-theme=dark] :is(.ey-sidebar,.company-tabs,.control-live,.card,dialog,.login-screen,.setup-card){background:var(--surface);border-color:var(--line);color:var(--ink)}
[data-bs-theme=dark] .ey-header{background:#1d2234f5;border-color:var(--line)}
[data-bs-theme=dark] :is(.header-name b,.device-guide b,.sms-budget-info strong,.chart-reading strong){color:var(--ink)}
[data-bs-theme=dark] :is(.header-name,.nav-link,.icon-btn,label,.company-tabs button,.device-guide summary){color:var(--muted)}
[data-bs-theme=dark] :is(.nav-caption,.breadcrumb-line,.ey-footer,.ey-footer b,.brand small,.device-cell small,.stat-heading,.stat-bottom,.login-form-wrap>p,.login-meta,.device-guide-eyebrow){color:var(--muted)}
[data-bs-theme=dark] :is(.nav-link.active,.nav-link:hover,.company-tabs button[aria-selected=true],.company-tabs button:hover,.icon-btn:hover,.control-mode.enabled){background:var(--theme-tint);color:var(--theme-accent)}
[data-bs-theme=dark] :is(.scope-banner,.simulation-box,.assigned-company,.connection-demo,.connection-pending){background:#29293f;border-color:#41415e;color:#c2b7e4}
[data-bs-theme=dark] :is(.simulation-box p,.scope-banner .icon,.connection-flow,.connection-flow span){color:#b2a7d3}
[data-bs-theme=dark] :is(.avatar,.company-mark,.stat-icon,.device-symbol,.device-guide-symbol,.device-guide-steps>li>span,.company-tabs button span){background:var(--theme-tint);color:var(--theme-accent)}
[data-bs-theme=dark] .ey-sidebar .brand-logo,[data-bs-theme=dark] .login-brand .brand-logo,[data-bs-theme=dark] .setup-card .brand-logo,[data-bs-theme=dark] .boot .brand-logo{background:#fff;border-radius:8px;padding:8px 10px;box-sizing:content-box;max-width:calc(100% - 20px)}
[data-bs-theme=dark] :is(.form-control,.form-select){background-color:#191e2f;border-color:#424a63;color:var(--ink)}
[data-bs-theme=dark] :is(.form-control,.form-select):focus{background-color:#1a2033;color:var(--ink);border-color:#a294ea;box-shadow:0 0 0 3px #a294ea20}
[data-bs-theme=dark] .form-control:disabled,[data-bs-theme=dark] .form-select:disabled{background-color:#292e41;color:#8992aa}
[data-bs-theme=dark] input::placeholder,[data-bs-theme=dark] textarea::placeholder{color:#8994af!important}
[data-bs-theme=dark] .btn-primary{background:#7662df;border-color:#7662df;color:#fff;box-shadow:none}
[data-bs-theme=dark] .btn-primary:hover{background:#8975ec;border-color:#8975ec;color:#fff}
[data-bs-theme=dark] .btn-light{background:var(--theme-raised);border-color:#404962;color:var(--ink)}
[data-bs-theme=dark] .btn-light:hover{background:#33394f;border-color:#8071b5}
[data-bs-theme=dark] .btn-danger-soft{background:#462c3b;border-color:#714052;color:#ffafbf}
[data-bs-theme=dark] :is(.control-dialog,.connection-dialog) .dialog-actions{background:var(--surface)}
[data-bs-theme=dark] dialog::backdrop{background:#070b17a6}
[data-bs-theme=dark] .ey-table th{background:#272c40;color:#bbc3d9;border-color:var(--line)}
[data-bs-theme=dark] .ey-table td{border-color:var(--line)}[data-bs-theme=dark] .ey-table tr:hover td{background:#272d42}
[data-bs-theme=dark] .pill{background:#292d43;color:#c3bddb;border-color:#41425b}
[data-bs-theme=dark] :is(.badge-status,.notify-health.ok){background:#173e37;color:#80dfbd}
[data-bs-theme=dark] :is(.badge-status.warn,.badge-status.pending,.notify-health){background:#453924;color:#edcb89}
[data-bs-theme=dark] :is(.badge-status.paused,.badge-status.stale,.control-mode){background:#30354a;color:#bbc3d7}
[data-bs-theme=dark] :is(.notice,.instrument-warning){background:#393327;border-color:#675536;color:#e5c58e}
[data-bs-theme=dark] :is(.error-notice,.form-error){background:#412b38;color:#ffb0be;border-color:#754456}
[data-bs-theme=dark] :is(.tag-card,.control-switch,.control-preview,.device-guide summary,.device-guide-note,.sms-budget-info,.notify-recipients,.notify-rule-title,.notify-schedule,.notify-cron,.mail-preview){background:var(--theme-raised);color:#b9c4db;border-color:var(--line)}
[data-bs-theme=dark] .device-guide details[open] summary{background:var(--theme-tint);color:var(--theme-accent)}
[data-bs-theme=dark] :is(.device-guide-answer code,.template-variables code,.notify-cron code){background:#353048;color:#d6c4ee}
[data-bs-theme=dark] .control-rule.stop h3{color:#ffa7b4}[data-bs-theme=dark] .control-rule.start h3{color:#88edc6}
[data-bs-theme=dark] .alarm-symbol{background:#423328;color:#f4c085}
[data-bs-theme=dark] .alarm-value{color:#efc17f}
[data-bs-theme=dark] .stat.primary{background:linear-gradient(110deg,#5542b3,#7354bd)}
[data-bs-theme=dark] .stat.primary :is(.stat-heading,.stat-bottom){color:#eee9ff}
[data-bs-theme=dark] .stat.green .stat-icon{background:#173e37;color:#80dfbd}
[data-bs-theme=dark] .stat.orange .stat-icon{background:#453924;color:#edcb89}
[data-bs-theme=dark] .stat.blue .stat-icon{background:#253c56;color:#9ac8ff}
[data-bs-theme=dark] .chart text{fill:#aeb8cf}[data-bs-theme=dark] .chart line[stroke="#eeedf5"]{stroke:#363e54}
[data-bs-theme=dark] .chart circle[stroke="white"]{stroke:var(--surface)}
[data-bs-theme=dark] .health-ring circle[stroke="#f0edfb"]{stroke:var(--line)}
[data-bs-theme=dark] .health-detail .stat-icon{background:var(--theme-tint);color:var(--theme-accent)}
[data-bs-theme=dark] .ey-footer{border-color:var(--line)}
[data-bs-theme=dark] .login-panel{background:var(--canvas)}
[data-bs-theme=dark] .login-brand small{color:var(--muted)}
[data-bs-theme=dark] #toast{background:#ece9fc;color:#252339}
@media(max-width:900px){.appearance-card .card-body{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.theme-toggle{padding:7px;min-width:35px;min-height:35px}.ey-header .theme-toggle span{display:none}.header-actions{gap:5px}.header-name{min-width:0}.login-theme{right:24px;top:20px}.theme-options{width:100%}.theme-options button{flex:1;justify-content:center;padding:10px}.appearance-card .card-body{gap:17px}}
@media(prefers-reduced-motion:reduce){.dial-progress,.dial-needle,.instrument,.ey-sidebar{transition:none!important}}
