:root{color-scheme:dark;--bg:#0f181f;--surface:#1a2933;--surface2:#223540;--line:#34444e;--text:#f2f7f8;--muted:#9caeb9;--teal:#63d8c1;--amber:#e7ad77;--red:#f39b95;--radius:15px;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:15px}#app{max-width:780px;margin:auto;min-height:100dvh}button,input,select,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:wait;opacity:.5}.topbar{padding:calc(17px + env(safe-area-inset-top)) 18px 14px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #263944;background:var(--bg)}.brand{display:flex;align-items:center;gap:10px}.brand strong{font-size:19px;letter-spacing:.095em;display:block}.brand small{display:block;color:var(--muted);font-size:11px;letter-spacing:.03em;margin-top:1px}.brand-mark{font-size:30px;color:var(--teal);line-height:1}.pill{font-size:11px;border-radius:999px;padding:6px 9px;background:var(--surface2);color:var(--muted);white-space:nowrap}.pill.good{color:var(--teal)}.pill.warn{color:var(--amber)}.pill.danger{color:var(--red)}main{padding:22px 16px calc(96px + env(safe-area-inset-bottom))}.page{display:none}.page.active{display:block}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px}h1{font-size:27px;margin:0 0 3px;letter-spacing:-.04em}h2{font-size:19px;margin:0}p{margin:0}.section-heading p,.muted{color:var(--muted);font-size:13px}.iconbtn{border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);width:38px;height:38px;font-size:23px}.panel,.device,.info{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:12px}.device-head,.batch-head{display:flex;align-items:center;justify-content:space-between;gap:9px}.device-head h2{font-size:19px}.device-head small,.batch-head small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 8px;margin-top:23px}.stat small,.chart-summary small{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.stat strong{font-size:27px;letter-spacing:-.035em;font-weight:650;font-variant-numeric:tabular-nums}.stat .smallval{font-size:20px}.stat em{display:block;font-style:normal;font-size:12px;color:var(--muted);margin-top:3px}.meta{margin-top:16px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.actions{display:flex;gap:8px;margin:17px 0 18px}.actions button{flex:1}.primary,.secondary,.danger{padding:12px 15px;border-radius:11px;border:none;font-weight:650;min-height:44px}.primary{background:var(--teal);color:#102b30}.secondary{background:var(--surface2);color:var(--text);border:1px solid var(--line)}.danger{background:#512c32;color:#ffd6d6;border:1px solid #81454d}.wide{width:100%}.info strong{font-size:14px}.info p{color:var(--muted);font-size:13px;line-height:1.55;margin-top:7px}.tabs{position:fixed;bottom:0;left:0;right:0;margin:auto;max-width:780px;display:grid;grid-template-columns:repeat(3,1fr);background:rgba(22,34,43,.97);border-top:1px solid var(--line);padding:10px 12px calc(11px + env(safe-area-inset-bottom));z-index:10;backdrop-filter:blur(15px)}.tabs button{background:none;border:0;color:var(--muted);font-size:11px;display:flex;align-items:center;flex-direction:column;gap:3px}.tabs button span{font-size:22px;line-height:1}.tabs button.selected{color:var(--teal)}.filters{display:grid;gap:14px}.filters label,#editor-content label{display:grid;gap:6px;font-size:12px;color:var(--muted);font-weight:600}input,select,textarea{width:100%;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font-size:15px}textarea{resize:vertical;min-height:75px}.filters button{margin-top:4px}.chart-panel{padding:17px 10px;overflow:hidden}.chart-panel h2{margin:0 8px 14px}.chart-summary{margin:0 8px 10px;display:flex;flex-wrap:wrap;gap:9px}.chart-summary span{background:var(--surface2);border-radius:8px;padding:6px 8px;font-size:12px}.chart-wrap{width:100%;min-height:225px;position:relative}.chart-wrap svg{width:100%;height:auto;display:block;touch-action:pan-y}.axis-label{font-size:10px;fill:var(--muted)}.chart-tooltip{padding:10px;background:#10212bd9;color:var(--text);font-size:12px;border:1px solid var(--line);border-radius:9px;margin:8px}.legend{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;color:var(--muted);font-size:12px;margin-top:5px}.dot{display:inline-block;width:10px;height:3px;vertical-align:middle;margin-right:5px}.teal{background:var(--teal)}.amber{background:var(--amber)}.batch-list{margin-top:13px}.batch{padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:11px}.batch h2{font-size:17px;margin:0}.batch .summary{margin-top:13px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.batch .summary span{font-variant-numeric:tabular-nums;font-size:14px}.batch .summary small{display:block;color:var(--muted);font-size:11px;margin-bottom:2px}.batch-buttons{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.batch-buttons button{flex:1;min-width:95px;padding:8px 6px;font-size:12px;min-height:38px}.empty{color:var(--muted);padding:24px 12px;text-align:center;font-size:13px;line-height:1.5}.modal{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:19px;width:calc(100% - 26px);max-width:450px;padding:20px;max-height:90dvh;overflow:auto}.modal::backdrop{background:rgba(1,7,11,.78)}.modal-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal #editor-content{display:grid;gap:14px}.modal-actions{display:flex;gap:10px;margin-top:20px}.modal-actions button{flex:1}.form-error{font-size:13px;color:var(--red);margin:12px 0}.toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);width:max-content;min-width:220px;background:#2a4d4e;border:1px solid var(--teal);border-radius:12px;padding:13px 16px;z-index:20;box-shadow:0 10px 30px #0006;font-size:13px}.notice{background:#392b25;border:1px solid var(--amber);border-radius:12px;padding:13px;margin-bottom:15px;color:#ffe0c5;font-size:13px;line-height:1.5}.hidden{display:none!important}@media (min-width:650px){main{padding-left:28px;padding-right:28px}.device-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.device{margin:0}.chart-wrap{min-height:300px}}
.events-list{max-height:180px;overflow:auto;border-bottom:1px solid var(--line);padding-bottom:12px;display:grid;gap:9px}.event-item{border:1px solid var(--line);border-radius:9px;padding:9px}.event-item strong{font-size:12px}.event-item small{display:block;color:var(--muted);font-size:11px;margin:3px 0}.event-item p{font-size:12px}.event-item button{padding:3px 7px;min-height:30px;font-size:11px;margin-top:6px}
