:root{--bg:#eef1f6;--panel:#fff;--panel-border:#e2e6ee;--text:#1f2430;--text-dim:#6b7280;--accent:#0072bc;--accent-ink:#fff;--highlight:#fc3;--danger:#e4483a;--radius:16px;--panel-shadow:0 1px 2px #1018280a, 0 1px 3px #1018280f;--chart-grid:#1f243014;--chart-tick:#1f243033;--chart-text:#1f24308c;--chart-curve:#e4483a;--chart-fill:#e4483a1a;--chart-now:#0072bc99;--chart-curve-secondary:#8b5cf6;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg:#000;--panel:#1c1c1e;--panel-border:#2c2c2e;--text:#fff;--text-dim:#8e8e93;--accent:#11a9ed;--accent-ink:#00131a;--highlight:#ff6b4a;--danger:#ff453a;--panel-shadow:none;--chart-grid:#ffffff14;--chart-tick:#ffffff40;--chart-text:#ffffff8c;--chart-curve:#11a9ed;--chart-fill:#11a9ed24;--chart-now:#ff6b4abf;--chart-curve-secondary:#a78bfa;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}#app{max-width:480px;padding:env(safe-area-inset-top,16px) 16px calc(env(safe-area-inset-bottom,16px) + 16px);flex-direction:column;gap:16px;margin:0 auto;display:flex}.app-header{justify-content:center;align-items:center;gap:10px;margin-top:8px;display:flex}.logo-rot{justify-content:center;align-items:center;width:105px;height:50px;display:inline-flex}.logo-rot img{width:auto;height:105px;display:block}.logo-rot--left img{transform:rotate(-90deg)}.logo-rot--right img{transform:rotate(90deg)}h1{margin:0;font-size:1.75rem}.app-title{text-align:center;flex-direction:column;align-items:center;font-family:Avenir Next,Avenir,system-ui,sans-serif;font-size:1.4rem;font-weight:700;line-height:1.1;display:flex}h2{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin:0 0 10px;font-size:.95rem}.connection-dot{background:var(--text-dim);vertical-align:middle;border-radius:50%;width:9px;height:9px;margin-left:8px;display:inline-block}.connection-dot--online{background:#2ecc71}.connection-dot--offline{background:var(--danger)}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--panel-shadow);padding:14px 16px}.stat-row{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.stat-col{flex-direction:column;display:flex}.stat-value{color:var(--accent);font-size:2.4rem;font-weight:700;line-height:1}.stat-value--secondary{color:var(--chart-curve-secondary);font-size:1.7rem}.stat-unit{color:var(--text-dim);margin-left:4px;font-size:1rem}.stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:5px;margin-top:2px;font-size:.7rem;display:flex}.stat-label--secondary{color:var(--chart-curve-secondary)}.stat-label-dot{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.stat-meta{color:var(--text-dim);justify-content:space-between;font-size:.85rem;display:flex}.view-toggle{gap:6px;display:flex}.view-toggle button{padding:6px 12px;font-size:.8rem}.buddy-legend{column-count:2;column-gap:16px;margin:10px 0 0;padding:0;font-size:.9rem;list-style:none}.buddy-legend li{break-inside:avoid;white-space:nowrap;text-overflow:ellipsis;margin-bottom:6px;overflow:hidden}.checkbox-field{color:var(--text);align-items:center;gap:8px;margin-top:12px;font-size:.85rem;display:flex}.checkbox-field input{width:auto}.buddy-dot{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.stat-meta--secondary{color:var(--chart-curve-secondary);margin-top:2px}canvas.chart{width:100%;height:180px;display:block}form{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.field{flex-direction:column;flex:80px;gap:4px;min-width:0;display:flex}.field-wide{flex-basis:100%}.form-actions{flex-basis:100%;display:flex}.form-actions button{width:100%}label{color:var(--text-dim);font-size:.75rem}input,select{background:var(--bg);border:1px solid var(--panel-border);color:var(--text);border-radius:8px;width:100%;padding:10px 8px;font-size:1rem}input[type=datetime-local],input[type=time],input[type=date]{appearance:none}.started-row{gap:8px;display:flex}.started-row input{flex:1;min-width:0}.started-row button{flex:none}.started-date{margin-top:8px}button{background:var(--accent);color:var(--accent-ink);cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-size:.95rem;font-weight:600}button:disabled{opacity:.4;cursor:not-allowed}button.secondary{color:var(--text-dim);border:1px solid var(--panel-border);background:0 0}button.danger{background:var(--danger);color:#fff}.quick-drinks{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.quick-drinks button{background:var(--bg);color:var(--text);border:1px solid var(--panel-border);padding:8px 10px;font-size:.85rem;font-weight:500}.quick-drinks button[data-action=same-as-last]{background:var(--highlight);color:#3b3b3b;border-color:#0000;font-weight:600}.drink-list{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.drink-list li{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;padding-bottom:8px;font-size:.9rem;display:flex}.drink-list li:last-child{border-bottom:none;padding-bottom:0}.drink-list .drink-info{color:var(--text-dim)}.drink-list button{color:var(--danger);background:0 0;margin-left:4px;padding:4px 8px;font-size:.8rem}.drink-list button[data-action=close-drink]{color:var(--accent)}.row{gap:10px;display:flex}.row>*{flex:1}.muted{color:var(--text-dim);margin:8px 0 0;font-size:.85rem}@media (orientation:landscape) and (hover:none) and (pointer:coarse){#app{max-width:none;height:100dvh;padding:env(safe-area-inset-top,8px) calc(env(safe-area-inset-right,12px) + 12px) env(safe-area-inset-bottom,8px) calc(env(safe-area-inset-left,12px) + 12px);gap:0;overflow:hidden}#app>:not(#stats-panel){display:none}#stats-panel{background:0 0;border:none;border-radius:0;flex-direction:column;height:100%;padding:0;display:flex}#stats-panel h2{display:none}#stats-panel canvas.chart{flex:1;height:auto;min-height:0}}
