/* PullMetric Apex customer themes. The administration site intentionally does not load this file. */
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#05090d;--panel:#0a1219;--panel2:#0e1820;--line:#25343f;--muted:#81929d;--text:#edf5f8;
  --cyan:#22c9f4;--cyan2:#087b9d;--live-bg:#05090d;--live-panel:#081117;--live-border:#273843;--live-cyan:#52dcf1;
  --surface:#091117;--surface-raised:#0d171f;--surface-soft:#101b23;--surface-input:#081017;--surface-top:#080d12eb;--surface-side:#070c11;
  --accent:#20c9f4;--accent-soft:#0d2933;--accent-text:#76e8f6;--focus:#43d9f2;
  --gauge-face:#030709;--gauge-face-edge:#101a20;--gauge-bezel:#252d32;--gauge-bezel-hi:#7a8388;--gauge-text:#f2f6f8;--gauge-muted:#8e9aa1;
  --gauge-normal:#18d0f5;--gauge-warning:#f9b51f;--gauge-limit:#ff302e;--gauge-needle:#2ad8fb;--gauge-digital:#f5f8fa;
  --chart-line:#263640;--chart-grid:#1a2730;--chart-muted:#7c8a93;
  --shadow:rgba(0,0,0,.58);--overlay:rgba(1,4,7,.82);
}
:root[data-theme="light"]{
  color-scheme:light;
  --bg:#f4f7f9;--panel:#fff;--panel2:#f6f8fa;--line:#d4dee5;--muted:#667783;--text:#17222b;
  --cyan:#00aee7;--cyan2:#007ea8;--live-bg:#f4f7f9;--live-panel:#fff;--live-border:#d1dce3;--live-cyan:#08afe4;
  --surface:#fff;--surface-raised:#fff;--surface-soft:#f2f6f8;--surface-input:#fff;--surface-top:rgba(255,255,255,.94);--surface-side:#fff;
  --accent:#00aee7;--accent-soft:#e7f7fc;--accent-text:#007fa8;--focus:#008fbd;
  --gauge-face:#f8fafb;--gauge-face-edge:#e5ebee;--gauge-bezel:#cbd3d8;--gauge-bezel-hi:#ffffff;--gauge-text:#16232c;--gauge-muted:#667680;
  --gauge-normal:#00b8ed;--gauge-warning:#efa819;--gauge-limit:#ec303b;--gauge-needle:#00aee7;--gauge-digital:#17222a;
  --chart-line:#d7e0e6;--chart-grid:#e4eaee;--chart-muted:#71808a;
  --shadow:rgba(25,42,52,.17);--overlay:rgba(20,31,38,.38);
}
:root[data-theme="red"]{
  color-scheme:dark;
  --bg:#080708;--panel:#111011;--panel2:#181416;--line:#392c30;--muted:#a18e93;--text:#f5f1f2;
  --cyan:#ef2438;--cyan2:#991625;--live-bg:#080708;--live-panel:#110f10;--live-border:#3b2b30;--live-cyan:#f12b3f;
  --surface:#100e0f;--surface-raised:#171315;--surface-soft:#1c1719;--surface-input:#100d0f;--surface-top:rgba(12,9,10,.94);--surface-side:#0d0a0b;
  --accent:#ef2438;--accent-soft:#311419;--accent-text:#ff7180;--focus:#ff4053;
  --gauge-face:#050405;--gauge-face-edge:#191315;--gauge-bezel:#30272a;--gauge-bezel-hi:#74666a;--gauge-text:#f6f2f3;--gauge-muted:#a29498;
  --gauge-normal:#d5d9db;--gauge-warning:#f19a22;--gauge-limit:#ff263b;--gauge-needle:#ff263b;--gauge-digital:#f7f3f4;
  --chart-line:#3a2d31;--chart-grid:#291f22;--chart-muted:#9c8b90;
  --shadow:rgba(0,0,0,.65);--overlay:rgba(3,1,2,.86);
}

body{background:var(--bg);color:var(--text)}
.topbar{background:var(--surface-top);border-color:var(--line)}
.sidebar{background:var(--surface-side);border-color:var(--line)}
.auth-panel{background:var(--bg)}
.brand-panel{background:radial-gradient(circle at 75% 45%,color-mix(in srgb,var(--accent) 18%,transparent) 0,transparent 32%),linear-gradient(135deg,var(--surface-raised),var(--bg) 72%)}
.brand-panel:after{background-image:linear-gradient(color-mix(in srgb,var(--accent) 8%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--accent) 8%,transparent) 1px,transparent 1px)}
.hero-copy p,.auth-card>p,.panel p{color:var(--muted)}
.auth-card label:not(.check-row){color:var(--text)}
.auth-card input:not([type=checkbox]),.folder-field input,.gauge-dialog input[type=search],.live-panel-head select,.preset-row select{background:var(--surface-input);border-color:var(--line);color:var(--text)}
.button,.icon-button,.panel-icon-button,.preset-row button{background:var(--surface-soft);border-color:var(--line);color:var(--text)}
.button.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 24px color-mix(in srgb,var(--accent) 18%,transparent)}
[data-theme="light"] .button.primary{color:#04222d}
.nav-item:hover{background:var(--surface-soft);color:var(--text)}
.nav-item.active{color:var(--text);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 17%,transparent),transparent);border-left-color:var(--accent)}
.panel,.metric-card,.telemetry-panel,.preset-panel,.channel-panel{background:linear-gradient(145deg,var(--surface-raised),var(--surface));border-color:var(--line)}
.list-item,.stat,.release-facts div{background:var(--surface-raised);border-color:var(--line)}
.chart-wrap,.drop-zone{background:var(--surface);border-color:var(--line)}
.live-page{background:radial-gradient(circle at 54% -20%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 40%),var(--live-bg)}
.live-connection-status{color:var(--muted)}.live-connection-status.online,.vehicle-picker{color:var(--text)}.account-menu{color:var(--muted)}.account-avatar{border-color:var(--muted);color:var(--muted)}
.live-panel-head h2,.preset-panel label,.channel-head{color:var(--text)}.live-indicator{color:var(--accent-text)}
.live-connect-button.connected{background:var(--surface-soft);border-color:var(--line);color:var(--text)}
.nav-item:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
.live-channel-row{border-color:var(--line);color:var(--text)}
.live-channel-row span:nth-child(2){color:var(--text)}
.live-channel-row span:nth-child(3),.live-chart-legend{color:var(--muted)}
.telemetry-panel:fullscreen{background:var(--bg)}
.gauge-dialog{background:var(--surface-raised)!important;color:var(--text)!important;border-color:var(--line)!important;box-shadow:0 30px 90px var(--shadow)!important}
.gauge-dialog::backdrop{background:var(--overlay)}
.gauge-dialog-head strong,.gauge-options span{color:var(--text)}
.gauge-dialog-head span,.gauge-options small,.gauge-dialog-actions>span{color:var(--muted)}
.gauge-dialog-head button,.gauge-options label{background:var(--surface);border-color:var(--line);color:var(--text)}
.gauge-options label:hover{background:var(--surface-soft);border-color:color-mix(in srgb,var(--accent) 44%,var(--line))}
.gauge-options label:has(input:checked){background:var(--accent-soft);border-color:var(--accent)}
.gauge-options input,.layout-setting-list input{accent-color:var(--accent)}
.setting-row strong,.layout-setting-list strong,.logging-settings .field-label,.logging-settings .threshold-field{color:var(--text)}
.setting-row span,.layout-setting-list small{color:var(--muted)}
.settings-status{border-color:var(--line);color:var(--accent-text)}
.switch input:checked+i{background:color-mix(in srgb,var(--accent) 56%,#243038)}
.switch input:checked+i:after{background:var(--accent-text)}
.threshold-field input{accent-color:var(--accent)}.threshold-field output{color:var(--accent-text)}
.bridge-card{background:radial-gradient(circle at 15% 0,color-mix(in srgb,var(--accent) 15%,transparent),transparent 34%),linear-gradient(145deg,var(--surface-raised),var(--surface))}
.installer-icon{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));color:var(--accent)}
.release-facts{background:var(--line);border-color:var(--line)}

/* The toggle lives outside the sidebar, so it always remains recoverable. */
.sidebar-toggle{display:grid;place-content:center;gap:4px;width:38px;height:38px;flex:none;margin-right:14px;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);color:var(--text);cursor:pointer}
.sidebar-toggle span{display:block;width:17px;height:2px;border-radius:2px;background:currentColor;transition:transform .18s,opacity .18s}
.sidebar-toggle[aria-expanded="false"] span:first-child{transform:translateY(6px) rotate(45deg)}
.sidebar-toggle[aria-expanded="false"] span:nth-child(2){opacity:0}
.sidebar-toggle[aria-expanded="false"] span:last-child{transform:translateY(-6px) rotate(-45deg)}
.sidebar-toggle:hover,.sidebar-toggle:focus-visible{border-color:var(--focus);color:var(--accent-text);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 14%,transparent)}

/* Account appearance selector. */
.theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.theme-card{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;gap:4px 12px;min-width:0;padding:13px;text-align:left;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);cursor:pointer}
.theme-card:hover,.theme-card:focus-visible{border-color:color-mix(in srgb,var(--accent) 58%,var(--line));outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 12%,transparent)}
.theme-card.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),0 10px 30px color-mix(in srgb,var(--accent) 10%,transparent)}
.theme-card strong{font-size:13px}.theme-card small{grid-column:1/-1;color:var(--muted);font-size:10px;line-height:1.45}.theme-card>b{display:none;align-self:start;color:var(--accent-text);font-size:9px;letter-spacing:.08em;text-transform:uppercase}.theme-card.selected>b{display:block}
.theme-preview{grid-column:1/-1;height:72px;margin-bottom:7px;border:1px solid #3a444a;border-radius:6px;overflow:hidden;position:relative;background:#071016}
.theme-preview:before{content:"PULLMETRIC  APEX";position:absolute;left:10px;top:9px;font:800 7px/1 "Segoe UI",sans-serif;letter-spacing:.09em;color:#edf5f8}
.theme-preview i{position:absolute;bottom:11px;width:24px;height:24px;border:3px solid #18c9ef;border-radius:50%}.theme-preview i:nth-child(1){left:12px}.theme-preview i:nth-child(2){left:43px}.theme-preview i:nth-child(3){left:74px}.theme-preview-light{background:#f7f9fb;border-color:#d4dee5}.theme-preview-light:before{color:#17222b}.theme-preview-light i{border-color:#00aee7}.theme-preview-red{background:#0a0809;border-color:#3a2d31}.theme-preview-red i{border-color:#ef2438}

/* Track Pro + LED Ring hybrid gauges. */
.gauge-strip{gap:10px;max-height:292px}
.apex-gauge{filter:drop-shadow(0 13px 17px var(--shadow));min-height:176px;max-height:282px}
.apex-gauge:before{content:none}
.gauge-bezel{position:absolute;inset:2.5%;border-radius:50%;background:radial-gradient(circle at 44% 38%,var(--gauge-bezel-hi) 0 1%,var(--gauge-bezel) 3% 7%,#111 8% 10%,var(--gauge-bezel) 11% 12%,#050607 13% 100%);box-shadow:inset 0 0 10px #000,0 0 0 1px color-mix(in srgb,var(--gauge-bezel-hi) 38%,#000),0 8px 22px var(--shadow)}
.gauge-face{inset:6.2%;overflow:hidden;background:radial-gradient(circle at 48% 44%,var(--gauge-face-edge) 0,var(--gauge-face) 54%,#010203 84%);box-shadow:inset 0 0 22px #000;border:1px solid color-mix(in srgb,var(--gauge-bezel-hi) 22%,transparent)}
.gauge-led-ring{position:absolute;inset:0;border-radius:50%;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--gauge-normal) 52%,transparent));opacity:.98}
.gauge-led-ring i{position:absolute;display:block;width:2.1%;height:7.5%;border-radius:1px;background:var(--gauge-normal);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gauge-normal) 60%,white)}
.gauge-led-ring i.warning{background:var(--gauge-warning);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gauge-warning) 58%,white)}
.gauge-led-ring i.limit{background:var(--gauge-limit);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gauge-limit) 58%,white)}
.gauge-ticks{inset:4%;background:repeating-conic-gradient(from 135deg,var(--gauge-text) 0 .65deg,transparent .75deg 3deg);mask:radial-gradient(circle,transparent 0 69%,#000 70% 75%,transparent 76%);opacity:.82}
.gauge-scale{color:var(--gauge-text);font:650 clamp(8px,.75vw,12px)/1 "Bahnschrift","Segoe UI",sans-serif;text-shadow:0 1px 2px var(--shadow)}
.gauge-label{left:18%;right:18%;top:39%;color:var(--gauge-text);font-size:clamp(9px,.78vw,13px);font-weight:700;line-height:1.08;letter-spacing:.02em;text-wrap:balance;z-index:2}
.gauge-digital{bottom:17%;color:var(--gauge-digital);font:650 clamp(22px,2.35vw,40px)/1 "Bahnschrift","Segoe UI",sans-serif;text-shadow:0 0 12px color-mix(in srgb,var(--gauge-needle) 22%,transparent);z-index:2}
.gauge-unit{top:auto;bottom:8.5%;color:var(--gauge-muted);font-size:clamp(8px,.66vw,11px);z-index:2}
.gauge-peak{bottom:3.1%;color:var(--gauge-muted);font-size:clamp(5px,.43vw,7px);z-index:2}.gauge-peak b{color:var(--accent-text)}
.gauge-needle{width:37%;height:3px;background:linear-gradient(90deg,var(--gauge-needle),color-mix(in srgb,var(--gauge-needle) 82%,white),transparent);box-shadow:0 0 8px var(--gauge-needle);z-index:4}
.gauge-hub{z-index:5;background:radial-gradient(circle at 38% 34%,var(--gauge-bezel-hi),#151b1e 30%,#050607 68%,#000);box-shadow:0 0 0 1px var(--gauge-bezel),0 4px 8px var(--shadow)}
[data-theme="light"] .gauge-bezel{background:radial-gradient(circle at 44% 38%,#fff 0 1%,#cbd3d8 3% 7%,#7c878d 8% 10%,#eef2f4 11% 12%,#b6c0c5 13% 100%)}
[data-theme="light"] .gauge-face{background:radial-gradient(circle at 48% 44%,#fff 0,#f7f9fa 57%,#e9eef1 86%);box-shadow:inset 0 0 18px #aebbc355}
[data-theme="red"] .gauge-led-ring{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--gauge-limit) 48%,transparent))}

[data-theme="light"] .form-error{color:#c6273c!important}
[data-theme="light"] .pair-banner{background:#e7f7fc;color:#17222b}
[data-theme="light"] .flash{background:#e9f8f1;color:#176642}
[data-theme="light"] .security-chain span{color:#007fa8}
[data-theme="red"] .metric-card.accent strong,[data-theme="red"] .access-list b{color:#ff7180}

@media(max-width:900px){.theme-options{grid-template-columns:1fr}.theme-preview{height:60px}}
@media(max-width:650px){
  .sidebar-toggle{width:34px;height:34px;margin-right:9px}.theme-card{padding:11px}
  .gauge-strip{display:flex;max-width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none}
  .gauge-strip::-webkit-scrollbar{display:none}
  .gauge-strip .apex-gauge:nth-child(n){display:grid;flex:0 0 100%;min-width:0;scroll-snap-align:start}
  .gauge-label{top:38%;font-size:9px}.gauge-digital{bottom:17%;font-size:32px}.gauge-unit{bottom:9%;font-size:8px}
  .live-panel-head{align-items:flex-start;flex-direction:column;gap:10px}.live-panel-head>div{width:100%;gap:8px}.live-panel-head select{min-width:0;flex:1}.panel-icon-button{flex:none}
}
