:root{--bg: #fbfaf8;--fg: #191817;--muted: #6b6660;--line: #e2ded7;--card: #ffffff;--accent: #2a4d8f;--accent-bg: #e8eef9;--urgent: #b4231f;--urgent-bg: #fdeceb;--attention: #a76a00;--attention-bg: #fdf3e2;--noise: #6b6660;--noise-bg: #f1efec;--ok: #1f7a4d;--ok-bg: #e6f4ec;--nav-h: 56px;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #16151a;--fg: #ece9e4;--muted: #9a948c;--line: #302e35;--card: #1e1d23;--accent: #9db7ee;--accent-bg: #23293a;--urgent: #ff8b83;--urgent-bg: #3a1e1d;--attention: #f0be6a;--attention-bg: #3a2f18;--noise: #9a948c;--noise-bg: #26252b;--ok: #7fd4a4;--ok-bg: #1c3328}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--fg)}body{font:15px/1.5 ui-sans-serif,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom))}a{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit}button{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:7px 12px;cursor:pointer;line-height:1.2}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{color:var(--urgent);border-color:var(--urgent)}button.small{padding:4px 9px;font-size:13px}input,select,textarea{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:8px 10px;width:100%}label{display:block;font-size:12.5px;color:var(--muted);margin:10px 0 4px}.shell{max-width:900px;margin:0 auto;padding:14px 14px 40px}h1{font-size:20px;margin:4px 0 12px;letter-spacing:-.01em}h2{font-size:15px;margin:22px 0 8px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.muted{color:var(--muted)}.small{font-size:12.5px}.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12.5px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.stack>*+*{margin-top:8px}nav.tabs{position:fixed;left:0;right:0;bottom:0;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:flex;background:var(--card);border-top:1px solid var(--line);z-index:10}nav.tabs a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--muted);font-size:11px;letter-spacing:.02em}nav.tabs a.active{color:var(--accent)}nav.tabs a .ico{font-size:18px;line-height:1}nav.tabs a .dot{position:absolute;margin-left:28px;margin-top:-22px;width:8px;height:8px;border-radius:50%;background:var(--urgent)}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.card+.card{margin-top:10px}.card.tap{cursor:pointer}.card.tap:active{background:var(--accent-bg)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.stat{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.stat .k{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.stat .v{font-size:19px;font-variant-numeric:tabular-nums;margin-top:2px}.stat.bad .v{color:var(--urgent)}.stat.ok .v{color:var(--ok)}.badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em;white-space:nowrap;vertical-align:middle}.badge.urgent{background:var(--urgent-bg);color:var(--urgent)}.badge.attention{background:var(--attention-bg);color:var(--attention)}.badge.noise{background:var(--noise-bg);color:var(--noise)}.badge.open{background:var(--urgent-bg);color:var(--urgent)}.badge.likely_resolved{background:var(--attention-bg);color:var(--attention)}.badge.closed,.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.neutral{background:var(--noise-bg);color:var(--muted)}.banner{border-radius:10px;padding:10px 12px;font-size:13.5px;margin-bottom:12px}.banner.warn{background:var(--attention-bg);color:var(--attention);border:1px solid var(--attention)}.banner.bad{background:var(--urgent-bg);color:var(--urgent);border:1px solid var(--urgent)}.banner.info{background:var(--accent-bg);color:var(--accent)}.msg{display:grid;grid-template-columns:46px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}.msg:last-child{border-bottom:none}.msg .when{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;padding-top:2px}.msg .who{font-size:12.5px;color:var(--muted)}.msg .body{overflow-wrap:anywhere;white-space:pre-wrap}.msg .meta{margin-top:4px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.chip{display:inline-block;border:1px solid var(--line);border-radius:5px;padding:0 6px;font-size:11.5px;color:var(--muted)}.daysep{position:sticky;top:0;background:var(--bg);padding:10px 0 4px;font-size:12px;color:var(--muted);font-weight:600;z-index:1}.tri{display:inline-flex;border:1px solid var(--line);border-radius:7px;overflow:hidden}.tri button{border:none;border-radius:0;padding:3px 10px;font-size:12px;background:transparent}.tri button+button{border-left:1px solid var(--line)}.tri button.on.urgent{background:var(--urgent-bg);color:var(--urgent)}.tri button.on.attention{background:var(--attention-bg);color:var(--attention)}.tri button.on.noise{background:var(--noise-bg);color:var(--noise)}.filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.filters select{width:auto;padding:5px 8px;font-size:13px}.filters button.on{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.seg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;margin-bottom:12px}.seg button{border:none;border-radius:0;padding:7px 14px;background:transparent}.seg button+button{border-left:1px solid var(--line)}.seg button.on{background:var(--accent);color:#fff}.center{text-align:center;padding:40px 12px;color:var(--muted)}.login{max-width:420px;margin:80px auto;padding:0 16px}.login h1{font-size:24px}table{width:100%;border-collapse:collapse;font-size:13.5px}th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.scroll{overflow-x:auto}.roomlist{max-height:260px;overflow-y:auto;border:1px solid var(--line);border-radius:8px;padding:4px 8px}.roomlist label{display:flex;gap:8px;align-items:center;margin:0;padding:6px 0;color:var(--fg);font-size:14px}.roomlist input{width:auto}.err{color:var(--urgent);font-size:13px;margin-top:6px}
