:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#10141a;--surface:#1a2029;--border:#2a3140;--text:#e6e9ef;--muted:#8b93a3;--accent:#4f8cff;--green:#3ecf8e;--red:#f0555a;--amber:#e0a83e}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,sans-serif}.shell{max-width:960px;margin:0 auto;padding:0 1.5rem 3rem}.topbar{justify-content:space-between;align-items:center;padding:1.25rem 0;display:flex}.brand{color:var(--text);font-size:1.2rem;font-weight:600;text-decoration:none}.brand-mark{text-align:center;background:var(--accent);color:#fff;border-radius:6px;width:1.6rem;height:1.6rem;margin-right:.4rem;line-height:1.6rem;display:inline-block}.accent{color:var(--accent)}button,.button-link{background:var(--surface);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:.5rem .9rem;font-size:.9rem;text-decoration:none;display:inline-block}button:hover:not(:disabled),.button-link:hover{border-color:var(--accent)}button:disabled{opacity:.45;cursor:default}.logout-button{background:0 0}.login-page{justify-content:center;padding-top:4rem;display:flex}.login-form{flex-direction:column;gap:.9rem;width:100%;max-width:300px;display:flex}.login-form input{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:.6rem .8rem;font-size:1rem}.passkey-button{border-color:var(--accent)}.login-form .divider{text-align:center;color:var(--muted);margin:0;font-size:.8rem}.card-stack{flex-direction:column;gap:1rem;margin:1rem 0;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1rem 1.1rem}.card-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.card-header h3{margin:0;font-size:1rem}.card-actions{gap:.5rem;margin-top:.8rem;display:flex}.meta{color:var(--muted);margin:.4rem 0 0;font-size:.85rem}.status-pill{border:1px solid var(--border);border-radius:999px;padding:.2rem .55rem;font-size:.75rem}.status-pill.online{color:var(--green);border-color:var(--green)}.status-pill.stopped{color:var(--muted)}.status-pill.errored{color:var(--red);border-color:var(--red)}.status-pill.unknown,.status-pill.starting{color:var(--amber);border-color:var(--amber)}.error{color:var(--red)}.modal-overlay{z-index:100;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:10px;width:100%;max-width:480px;padding:1.2rem}.modal-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.modal-header h3{color:var(--red);margin:0;font-size:1rem}.modal-body{white-space:pre-wrap;margin:.8rem 0;font-size:.9rem}.modal-actions{justify-content:flex-end;display:flex}.icon-button{color:var(--muted);background:0 0;border:none;padding:.2rem .4rem;font-size:1.2rem;line-height:1}.icon-button:hover{color:var(--text);border-color:#0000}.confirm-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--surface);border:1px solid var(--border);border-radius:10px;width:100%;max-width:420px;padding:1.5rem;box-shadow:0 24px 60px #00000080}.confirm-dialog h3{margin:0 0 .6rem;font-size:1.1rem}.confirm-dialog p{color:var(--muted);margin:0 0 1.2rem;font-size:.9rem;line-height:1.45}.confirm-input{color:var(--muted);flex-direction:column;gap:.4rem;margin-bottom:1.2rem;font-size:.85rem;display:flex}.confirm-input input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:.6rem .8rem;font-size:1rem}.confirm-actions{justify-content:flex-end;gap:.6rem;display:flex}.danger-button{border-color:var(--red);color:var(--red)}.danger-button:hover:not(:disabled){border-color:var(--red);background:#f0555a1f}.primary-button{border-color:var(--accent);color:var(--accent)}.dashboard{padding-top:.5rem}.summary-card{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem;display:grid}.summary-item{flex-direction:column;gap:.2rem;display:flex}.power-value{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:600}.toolbar{justify-content:space-between;align-items:center;margin-top:1rem;display:flex}.range-switch{gap:.3rem;display:inline-flex}.range-switch button{padding:.25rem .65rem;font-size:.8rem}.range-switch button.active{border-color:var(--accent);color:var(--accent)}.device-card .power-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.8rem;margin-top:.7rem;display:flex}.device-card .power-row .meta{margin:0}.sparkline{width:100%;height:56px;margin-top:.7rem;display:block}.spark-area{fill:var(--accent);opacity:.15}.spark-line{fill:none;stroke:var(--accent);stroke-width:1.6px;vector-effect:non-scaling-stroke}.spark-caption{margin-top:.2rem}@media (width<=480px){.summary-card{grid-template-columns:1fr 1fr 1fr;gap:.5rem}.power-value{font-size:1.15rem}}.refresh-group{align-items:center;gap:.5rem;display:inline-flex}.refresh-button{border:1px solid var(--border);color:var(--text);border-radius:6px;padding:.3rem .45rem;line-height:0}.refresh-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.refresh-button.spinning svg{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
