:root{color-scheme:dark;--bg: #0a0a0a;--surface: #171717;--border: #2a2a2a;--text: #f5f5f5;--muted: #a3a3a3;--accent: #14b8a6;--warn: #f97316;--danger: #ef4444;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{min-height:100%;background:var(--bg);color:var(--text)}html{scroll-behavior:smooth}body{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}#app{overflow:visible}.dashboard-page{min-height:100%;padding-bottom:env(safe-area-inset-bottom,0)}.gauges-stage{min-height:82dvh;min-height:82vh;max-height:92dvh;display:flex;flex-direction:column;padding:10px 12px 8px;box-sizing:border-box}.gauges-stage .topbar{flex-shrink:0}.open-controls-btn{flex-shrink:0;width:100%;margin-top:6px;padding:14px 16px;font-size:1rem}.controls-panel{padding:20px 16px max(32px,env(safe-area-inset-bottom,16px));display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--bg) 92%,var(--surface));scroll-margin-top:8px;min-height:40vh}.controls-title{font-size:1.15rem;font-weight:700;text-align:center;color:var(--accent)}.controls-panel .toolbar{padding-bottom:8px}.live-toggle{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);cursor:pointer;font-size:.95rem;-webkit-user-select:none;user-select:none}.live-toggle input{width:20px;height:20px;accent-color:var(--accent)}.alert-settings h3{font-size:1rem;margin-bottom:10px}.alert-settings .section-label{font-size:.85rem;margin:4px 0 8px}.threshold-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.threshold-row label{display:flex;flex-direction:column;gap:6px}.threshold-row input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:1.1rem;text-align:center}.live-pulse:before{content:"";display:inline-block;width:8px;height:8px;margin-inline-end:8px;border-radius:50%;background:var(--accent);animation:live-pulse 1s ease-in-out infinite}.coolant-alert{flex-shrink:0;margin:6px 0 4px;padding:12px 14px;border-radius:12px;font-weight:700;text-align:center;font-size:1rem}.coolant-alert.hidden{display:none}.coolant-alert.warning{display:block;background:color-mix(in srgb,var(--warn) 22%,var(--surface));border:1px solid var(--warn);color:#fdba74}.coolant-alert.critical{display:block;background:color-mix(in srgb,var(--danger) 30%,#1a0000);border:2px solid var(--danger);color:#fecaca;animation:crit-flash .9s ease-in-out infinite;font-size:1.15rem}.gauge-wrap.gauge-warn canvas{filter:drop-shadow(0 0 10px color-mix(in srgb,var(--warn) 55%,transparent))}.gauge-wrap.gauge-crit canvas{filter:drop-shadow(0 0 14px color-mix(in srgb,var(--danger) 70%,transparent))}@keyframes crit-flash{0%,to{opacity:1}50%{opacity:.72}}@keyframes live-pulse{0%,to{opacity:.35}50%{opacity:1}}.app{display:flex;flex-direction:column;min-height:100vh;padding:12px 16px 20px;gap:12px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.brand h1{font-size:1.35rem;font-weight:700}.brand p{color:var(--muted);font-size:.85rem}.status-chip{display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:10px;font-size:.8rem}.status-chip.ok{border-color:color-mix(in srgb,var(--accent) 50%,var(--border))}.status-chip.warn{border-color:color-mix(in srgb,var(--warn) 50%,var(--border))}.clock{font-size:1.1rem;font-weight:600;color:var(--accent)}.gauges{display:grid;grid-template-columns:1fr 1.22fr 1fr;gap:6px;flex:1;align-items:stretch;min-height:0}.gauge-wrap{display:flex;flex-direction:column;min-height:0;min-width:0}.gauge-wrap canvas{width:100%;flex:1;min-height:0;height:100%;display:block}.toolbar{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}button,.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:12px;padding:12px 18px;font-size:.95rem;font-weight:600;cursor:pointer;background:var(--accent);color:#042f2e}button.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}button:disabled{opacity:.45;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px}.card h2{font-size:1.1rem}.muted{color:var(--muted);font-size:.9rem;line-height:1.5}.payment-number{font-size:1.35rem;font-weight:700;letter-spacing:.05em;color:var(--accent);text-align:center;padding:12px;background:#0f0f0f;border-radius:10px}input{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:#0f0f0f;color:var(--text);font-size:1rem}.toast{padding:10px 14px;border-radius:10px;background:color-mix(in srgb,var(--accent) 15%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));font-size:.9rem}.toast.error{background:color-mix(in srgb,var(--danger) 12%,var(--surface));border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}.screen-center{max-width:420px;margin:auto;display:flex;flex-direction:column;gap:16px;padding:24px 0}.hidden{display:none!important}@media(max-width:640px)and (orientation:portrait){.gauges{grid-template-columns:1fr}}
