:root{--bg:#f4f6f8;--surface:#fff;--border:#e2e8f0;--text:#0f172a;--muted:#64748b;--primary:#0f766e;--primary-hover:#115e59;--danger:#b91c1c;--charging:#16a34a;--plugged:#2563eb;--idle:#64748b;--radius:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.45}#root{min-height:100dvh}.app{flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex}.header{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex;position:sticky;top:0}.header h1{margin:0;font-size:1.1rem}.header-meta{color:var(--muted);margin:2px 0 0;font-size:.85rem}.header-serial{word-break:break-all}.tabs{gap:4px;padding:8px 16px 0;display:flex}.tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px 8px 0 0;flex:1;padding:10px;font-size:.95rem}.tab.active{background:var(--surface);color:var(--text);box-shadow:0 -1px 0 var(--border);font-weight:600}.content{flex-direction:column;flex:1;padding:16px;display:flex}.stack{flex-direction:column;gap:12px;display:flex}.screen-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.screen-head h2{margin:0;font-size:1.15rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.muted{color:var(--muted)}.block{display:block}.error{color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, transparent);border:1px solid color-mix(in srgb, var(--danger) 30%, transparent);border-radius:var(--radius);margin:0;padding:10px 12px;font-size:.9rem}.button{appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:10px;padding:10px 16px;font-size:.95rem;font-weight:500}.button:disabled{opacity:.55;cursor:not-allowed}.button-primary{background:var(--primary);border-color:var(--primary);color:#fff}.button-primary:not(:disabled):hover{background:var(--primary-hover)}.button-ghost{color:var(--muted);background:0 0;border:none;padding:8px}.field{flex-direction:column;gap:6px;font-size:.9rem;display:flex}.field span{color:var(--muted);font-weight:500}.field input,.field select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;width:100%;padding:10px 12px;font-size:1rem}.field input:focus,.field select:focus{outline:2px solid var(--primary);outline-offset:1px}.login{justify-content:center;align-items:center;min-height:100dvh;padding:16px;display:flex}.login-card{flex-direction:column;gap:14px;width:100%;max-width:400px;display:flex}.login-card h1{margin:0;font-size:1.4rem}.login-card .muted{margin:0}.status-row{justify-content:space-between;align-items:center;gap:12px;font-size:.95rem;display:flex}.badge{border-radius:999px;padding:4px 10px;font-size:.8rem;font-weight:600}.badge-charging{background:color-mix(in srgb, var(--charging) 15%, transparent);color:var(--charging)}.badge-plugged{background:color-mix(in srgb, var(--plugged) 15%, transparent);color:var(--plugged)}.badge-idle{background:color-mix(in srgb, var(--idle) 15%, transparent);color:var(--idle)}.switch-row{border-top:1px solid var(--border);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:.95rem;display:flex}.switch{appearance:none;background:var(--border);cursor:pointer;border-radius:999px;flex-shrink:0;width:46px;height:26px;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch:checked{background:var(--primary)}.switch:checked:after{transform:translate(20px)}.switch:disabled{opacity:.55;cursor:not-allowed}.schedule-block h3{margin:0 0 8px;font-size:.95rem}.schedule-details{flex-direction:column;gap:6px;margin:0;display:flex}.schedule-details div{justify-content:space-between;gap:12px;font-size:.9rem;display:flex}.schedule-details dt{color:var(--muted)}.schedule-details dd{text-align:right;margin:0}.schedule-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.schedule-item{flex-direction:column;gap:8px;display:flex}@media (width>=768px){.app{max-width:720px}.content{padding:24px}}
