[hidden]{display:none!important}
:root{--bg:#f4f6f5;--card:#fff;--ink:#14201d;--muted:#5f6e6a;--line:#e1e7e5;--brand:#0f766e;--brand-ink:#fff;--bad:#b42318;--warn:#b54708;--warn-bg:#fff4e0;--ok-bg:#e7f6f3}
@media (prefers-color-scheme:dark){:root{--bg:#0e1513;--card:#17211e;--ink:#e7efec;--muted:#93a39e;--line:#26332f;--brand:#2bb3a3;--brand-ink:#04211d;--bad:#f0645a;--warn:#f5a524;--warn-bg:#2d2414;--ok-bg:#12302b}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
h1{font-size:22px;margin:0}h2{font-size:20px;margin:0}h3{font-size:16px;margin:18px 0 8px}
a{color:var(--brand)}
input,select{font:inherit;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);width:100%;min-width:0}
label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;flex:1}
label.check{flex-direction:row;align-items:center;gap:8px;font-weight:500;font-size:14px}
label.check input{width:auto}
.btn{font:inherit;font-weight:600;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:10px;padding:8px 14px;cursor:pointer;white-space:nowrap}
.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.btn.danger{color:var(--bad)}
.btn.ghost{border-color:transparent;background:transparent;color:var(--muted)}
.stack{display:flex;flex-direction:column;gap:12px}
.row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.panel-head .row{align-items:center}
.muted{color:var(--muted)}.small{font-size:13px}
.err{color:var(--bad);min-height:1em}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px}
.auth{min-height:100vh;display:grid;place-items:center;padding:16px}
.auth-card{width:100%;max-width:380px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px}
.brand{display:flex;align-items:center;gap:10px;margin-bottom:16px}.brand.small{margin:0}
.brand img{border-radius:10px}
.topbar{display:flex;align-items:center;gap:16px;padding:10px 16px;background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1000;flex-wrap:wrap}
nav{display:flex;gap:4px;overflow-x:auto;flex:1}
nav button{font:inherit;border:0;background:transparent;color:var(--muted);padding:8px 12px;border-radius:8px;cursor:pointer;white-space:nowrap;font-weight:600}
nav button.active{background:var(--ok-bg);color:var(--ink)}
.pill{background:var(--bad);color:#fff;border-radius:99px;padding:0 7px;font-size:12px;margin-left:4px}
.content{padding:16px;max-width:1300px;margin:0 auto}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.split{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:16px}
.split.narrow-right{grid-template-columns:minmax(0,1fr) 340px}
@media (max-width:860px){.split,.split.narrow-right{grid-template-columns:1fr}}
.map{height:520px;border-radius:14px;border:1px solid var(--line);margin-top:8px}
@media (max-width:860px){.map{height:360px}}
.side-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.item{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer}
.item:hover{border-color:var(--brand)}
.item .t{font-weight:700}
.table-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:14px}
.table{border-collapse:collapse;width:100%;font-size:14px}
.table th,.table td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.table th{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:700}
.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}
.table tr.click{cursor:pointer}.table tr.click:hover td{background:var(--bg)}
.table tr.sub td{background:var(--bg);font-size:13px}
.ot{color:var(--warn);font-weight:700}
.flag{display:inline-block;background:var(--warn-bg);color:var(--warn);border-radius:6px;padding:1px 7px;font-size:12px;font-weight:700;margin:1px 2px 1px 0}
.flag.ok{background:var(--ok-bg);color:var(--brand)}
dialog{border:1px solid var(--line);border-radius:16px;padding:0;max-width:760px;width:calc(100% - 24px);background:var(--card);color:var(--ink)}
dialog::backdrop{background:rgba(0,0,0,.45)}
.dlg-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--card);z-index:500}
#dlgBody{padding:16px}
.photos{display:flex;gap:10px}.photos img{width:120px;height:120px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:14px}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:10px;opacity:0;transition:opacity .2s;pointer-events:none;z-index:3000}
.toast.show{opacity:1}
