:root{--bg: #f2f5f4;--panel: #ffffff;--panel-2: #f7faf9;--ink: #13211d;--muted: #5b6d68;--line: #dce4e1;--brand: #0f8a6c;--brand-2: #0b6e56;--brand-soft: #e3f4ee;--accent: #2563eb;--warn: #b45309;--warn-soft: #fff4dc;--bad: #c2410c;--bad-soft: #ffe9e1;--good: #15803d;--sel: #d6ecff;--rx: #e6f3ff;--radius: 10px;--shadow: 0 8px 30px rgba(10, 30, 25, .12);color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0c1412;--panel: #131e1b;--panel-2: #172420;--ink: #e5eeeb;--muted: #8fa29c;--line: #26352f;--brand-soft: #123a30;--warn-soft: #3a2c10;--bad-soft: #3b1b12;--sel: #17324a;--rx: #132a3c;color-scheme:dark}}:root[data-theme=dark]{--bg: #0c1412;--panel: #131e1b;--panel-2: #172420;--ink: #e5eeeb;--muted: #8fa29c;--line: #26352f;--brand-soft: #123a30;--warn-soft: #3a2c10;--bad-soft: #3b1b12;--sel: #17324a;--rx: #132a3c;color-scheme:dark}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--brand);text-decoration:none}h1{font-size:20px;margin:0 0 14px}h2{font-size:16px;margin:0 0 10px}.muted{color:var(--muted)}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.grow{flex:1}.grid{display:grid;gap:12px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 760px){.g2,.g3,.g4{grid-template-columns:1fr}}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.stat .v{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.stat .l{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}input,select,textarea{font:inherit;color:inherit;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 10px;min-width:0;width:100%}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--brand) 40%,transparent);border-color:var(--brand)}label.f{display:grid;gap:4px;font-size:12px;color:var(--muted);font-weight:600}label.chk{display:flex;gap:6px;align-items:center;font-size:13px}label.chk input{width:auto}.btn{display:inline-flex;align-items:center;gap:6px;justify-content:center;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;padding:8px 14px;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}.btn:hover{border-color:var(--brand)}.btn.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.btn.primary:hover{background:var(--brand-2)}.btn.danger{color:var(--bad)}.btn.sm{padding:4px 9px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed}kbd{font:11px ui-monospace,monospace;background:var(--panel-2);border:1px solid var(--line);border-radius:4px;padding:0 4px;color:var(--muted)}table.t{width:100%;border-collapse:collapse}table.t th{text-align:left;font-size:12px;color:var(--muted);font-weight:600;padding:8px;border-bottom:1px solid var(--line);background:var(--panel-2);position:sticky;top:0;z-index:1}table.t td{padding:7px 8px;border-bottom:1px solid var(--line)}table.t tr.clickable{cursor:pointer}table.t tr.clickable:hover td{background:var(--panel-2)}table.t tr.sel td{background:var(--sel)}.tbl-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.badge{display:inline-block;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:700;background:var(--panel-2);border:1px solid var(--line)}.badge.rx{background:var(--rx);color:var(--accent);border-color:transparent}.badge.mk{background:var(--brand-soft);color:var(--brand);border-color:transparent}.badge.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}.badge.bad{background:var(--bad-soft);color:var(--bad);border-color:transparent}.badge.ok{background:var(--brand-soft);color:var(--good);border-color:transparent}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#050f0c73;display:grid;place-items:center;z-index:50;padding:16px}.modal{background:var(--panel);border-radius:14px;box-shadow:var(--shadow);width:min(560px,100%);max-height:92vh;overflow:auto;padding:20px}.modal.wide{width:min(900px,100%)}.modal header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.toasts{position:fixed;right:16px;bottom:16px;display:grid;gap:8px;z-index:100;max-width:380px}.toast{background:var(--ink);color:var(--bg);padding:10px 14px;border-radius:10px;box-shadow:var(--shadow);white-space:pre-line}.toast.error{background:var(--bad);color:#fff}.toast.success{background:var(--good);color:#fff}.page{padding:18px;max-width:1400px;margin:0 auto}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px;overflow-x:auto}.tabs button{background:none;border:0;padding:9px 14px;font:inherit;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}.tabs button.on{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.empty{padding:30px;text-align:center;color:var(--muted)}
