:root{--bg:#0f1115;--panel:#171a21;--line:#262b36;--ink:#e8eaf0;--mute:#8b93a7;--acc:#5aa9ff;--ok:#39b37a;--warn:#e8b23a;--bad:#e5533d;--r:10px}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
button{font:inherit;color:inherit;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:7px 12px;cursor:pointer}button:hover{border-color:var(--acc)}button.pri{background:var(--acc);border-color:var(--acc);color:#061325;font-weight:600}button:disabled{opacity:.5;cursor:default}
input,textarea{font:inherit;color:inherit;background:#0b0d12;border:1px solid var(--line);border-radius:8px;padding:8px 10px;width:100%}
.top{position:sticky;top:0;background:rgba(15,17,21,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:5}
.top-in{display:flex;align-items:center;gap:16px;padding:12px 20px 6px}.brand{display:flex;align-items:center;gap:14px}.mark{font-weight:800;letter-spacing:-.02em;font-size:20px}.mark i{color:var(--acc);font-style:normal}.rule{width:1px;height:28px;background:var(--line)}
.brand h1{margin:0;font-size:15px;font-weight:600}.brand p{margin:0;color:var(--mute);font-size:13px}.spacer{flex:1}
.pills{display:flex;gap:6px;flex-wrap:wrap}.pill{font-size:12px;padding:3px 9px;border-radius:999px;border:1px solid var(--line);color:var(--mute)}.pill.on{color:var(--ok);border-color:var(--ok)}.pill.off{color:var(--bad);border-color:var(--bad)}
.tabs{display:flex;gap:4px;padding:0 20px}.tabs button{background:none;border:0;border-bottom:2px solid transparent;border-radius:0;padding:8px 12px;color:var(--mute)}.tabs button.on{color:var(--ink);border-bottom-color:var(--acc)}.n{font-size:11px;color:var(--mute);margin-left:4px}
main{padding:18px 20px 60px;max-width:1500px;margin:0 auto}.tab{display:none}.tab.on{display:block}
.bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.bar .grow{flex:1;min-width:220px}
h2{font-size:16px;margin:22px 0 10px;color:var(--mute);font-weight:600;display:flex;align-items:center;gap:10px}h2 .dot{width:8px;height:8px;border-radius:50%;background:var(--mute)}h2 .dot.ok{background:var(--ok)}h2 .dot.bad{background:var(--bad)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.cam{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;cursor:pointer}.cam .img{aspect-ratio:16/9;background:#000;display:flex;align-items:center;justify-content:center;color:var(--mute);font-size:13px;position:relative}.cam img{width:100%;height:100%;object-fit:cover;display:block}
.cam .st{position:absolute;top:6px;left:6px;font-size:11px;padding:2px 7px;border-radius:999px;background:rgba(0,0,0,.6)}.st.dark,.st.unreachable,.st.error,.st.gone{background:var(--bad);color:#fff}.st.stale{background:var(--warn);color:#111}
.cam .meta{padding:8px 10px;display:flex;justify-content:space-between;gap:8px;font-size:13px}.cam .meta b{font-weight:600}.cam .meta span{color:var(--mute);white-space:nowrap}
.cam.hidden-cam{opacity:.45}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;margin-bottom:12px}.card h3{margin:0 0 6px;font-size:15px}.card .when{color:var(--mute);font-size:13px}.card p{margin:8px 0;white-space:pre-wrap}
.alert{border-left:3px solid var(--warn);padding:6px 10px;margin:6px 0;background:#1d1a14;border-radius:0 6px 6px 0}.alert.act{border-left-color:var(--bad);background:#211614}.alert b{font-weight:600}
.lines{margin:8px 0 0;padding:0;list-style:none;font-size:13px;columns:2;column-gap:24px}.lines li{break-inside:avoid;padding:2px 0;color:var(--mute)}.lines li b{color:var(--ink);font-weight:500}.lines li.flag{color:var(--warn)}
.sheets{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.sheets img{height:90px;border-radius:6px;border:1px solid var(--line);cursor:pointer}
table{width:100%;border-collapse:collapse;font-size:14px}td,th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}th{color:var(--mute);font-weight:600;font-size:12px}td.ok{color:var(--ok)}td.bad{color:var(--bad)}
.log{font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;color:var(--mute)}.log b{color:var(--ink);font-weight:500}
.empty{color:var(--mute);padding:30px;text-align:center;border:1px dashed var(--line);border-radius:var(--r)}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:20;display:flex;align-items:center;justify-content:center;padding:20px}.lb-in{max-width:1200px;width:100%;position:relative}.lb-in h3{margin:0 0 8px;font-size:15px}.lb-in img{width:100%;border-radius:8px;background:#000}.lb-x{position:absolute;right:0;top:-6px;font-size:20px;padding:2px 10px}
.strip{display:flex;gap:6px;overflow-x:auto;margin-top:8px;padding-bottom:4px}.strip img{height:64px;border-radius:4px;cursor:pointer;opacity:.7;border:2px solid transparent}.strip img.on{opacity:1;border-color:var(--acc)}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--panel);border:1px solid var(--line);padding:10px 16px;border-radius:8px;z-index:30}
@media(max-width:700px){.lines{columns:1}.top-in{padding:10px 14px 4px}main{padding:14px}}
/* securicheck additions */
.sev{font-size:11px;padding:2px 7px;border-radius:999px;border:1px solid var(--line);color:var(--mute);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.sev.critical{color:#fff;background:var(--bad);border-color:var(--bad)}.sev.high{color:var(--bad);border-color:var(--bad)}.sev.medium{color:var(--warn);border-color:var(--warn)}.sev.low{color:var(--mute)}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:18px}.tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;cursor:pointer}.tile h4{margin:0 0 6px;font-size:13px;color:var(--mute);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.tile .big{font-size:28px;font-weight:700;line-height:1}.tile .sub{font-size:12px;color:var(--mute);margin-top:6px}.tile.bad .big{color:var(--bad)}.tile.warn .big{color:var(--warn)}.tile.ok .big{color:var(--ok)}
.f{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);margin-bottom:8px}.f .body{flex:1;min-width:0}.f .t{font-weight:600}.f .d{color:var(--mute);font-size:13px;margin-top:2px;white-space:pre-wrap}.f .m{font-size:12px;color:var(--mute);margin-top:4px}.f .acts{display:flex;gap:6px;flex-wrap:wrap}.f .acts button{font-size:12px;padding:4px 9px}.f.ack{opacity:.8}.f.resolved,.f.dismissed{opacity:.5}
.dom{font-size:11px;color:var(--mute);border:1px solid var(--line);border-radius:4px;padding:1px 5px;margin-right:6px}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;font-size:13px}.kv b{color:var(--mute);font-weight:500}
.steps{margin:10px 0 0;padding:0;list-style:none}.step{display:flex;gap:10px;padding:8px 10px;border-top:1px solid var(--line);align-items:flex-start}.step .seq{width:22px;height:22px;border-radius:50%;background:var(--line);display:flex;align-items:center;justify-content:center;font-size:12px;flex:none}.step.done .seq{background:var(--ok);color:#041}.step.sent .seq,.step.seen .seq{background:var(--acc);color:#061325}.step.blocked .seq{background:var(--bad);color:#fff}.step .who{font-size:12px;color:var(--mute)}.step textarea{min-height:60px}
select{font:inherit;color:inherit;background:#0b0d12;border:1px solid var(--line);border-radius:8px;padding:7px 10px}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:6px 0}
.muted{color:var(--mute);font-size:13px}
.ok-text{color:var(--ok)}.bad-text{color:var(--bad)}.warn-text{color:var(--warn)}
pre{background:#0b0d12;border:1px solid var(--line);border-radius:8px;padding:10px;font-size:12px;overflow:auto;max-height:360px}
.toggle{display:flex;gap:8px;align-items:center;font-size:14px}.toggle input{width:auto}
.lb-in{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px;max-height:90vh;overflow:auto}
