:root{--ink:#0a0a0a;--white:#fff;--slate:#6b6b6b;--mist:#9b9b9b;--line:#e9e9e9;--haze:#f6f6f6;--bg:#fff;--danger:#b23b3b;--ok:#2f7d4f;--radius:14px;--radius-sm:9px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{color:var(--ink);background:var(--haze);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.45}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit;color:var(--ink)}.shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--ink);color:var(--white);flex-direction:column;gap:4px;height:100vh;padding:26px 18px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.02em;margin-bottom:22px;padding:0 10px;font-size:21px;font-weight:800}.brand small{letter-spacing:.14em;text-transform:uppercase;color:var(--mist);margin-top:2px;font-size:11px;font-weight:600;display:block}.navlink{border-radius:var(--radius-sm);color:#cfcfcf;justify-content:space-between;align-items:center;padding:10px 12px;font-weight:600;display:flex}.navlink:hover{color:var(--white);background:#ffffff14}.navlink.active{background:var(--white);color:var(--ink)}.sidebar-foot{color:var(--mist);border-top:1px solid #ffffff1f;margin-top:auto;padding-top:14px;font-size:12px}.sidebar-foot b{color:#e6e6e6;font-weight:700}.main{width:100%;max-width:1180px;padding:30px 34px 60px}.page-head{margin-bottom:22px}.page-head h1{letter-spacing:-.02em;font-size:26px;font-weight:800}.page-head p{color:var(--slate);margin-top:3px}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}.card+.card{margin-top:16px}.card-title{text-transform:uppercase;letter-spacing:.06em;color:var(--slate);margin-bottom:14px;font-size:13px;font-weight:700}.grid{gap:16px;display:grid}.metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.metric{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}.metric .k{text-transform:uppercase;letter-spacing:.06em;color:var(--slate);font-size:12px;font-weight:700}.metric .v{letter-spacing:-.02em;margin-top:6px;font-size:34px;font-weight:800}.metric .sub{color:var(--mist);margin-top:2px;font-size:12px}.table{border-collapse:collapse;width:100%}.table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--mist);border-bottom:1px solid var(--line);padding:10px 12px;font-size:11px;font-weight:700}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px}.table tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--haze)}.btn{border:1px solid var(--ink);background:var(--ink);color:var(--white);border-radius:var(--radius-sm);align-items:center;gap:7px;padding:9px 15px;font-size:13px;font-weight:700;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.ghost{background:var(--white);color:var(--ink);border-color:var(--line)}.btn.ghost:hover{border-color:var(--ink)}.btn.danger{background:var(--white);color:var(--danger);border-color:var(--danger)}.btn.sm{padding:6px 11px;font-size:12px}.field{margin-bottom:13px;display:block}.field label{color:var(--slate);margin-bottom:5px;font-size:12px;font-weight:700;display:block}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white);width:100%;padding:9px 11px}.field textarea{resize:vertical;min-height:84px;line-height:1.4}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink);outline:none}.formrow{flex-wrap:wrap;gap:12px;display:flex}.formrow>.field{flex:1;min-width:140px}.pill{border:1px solid var(--line);color:var(--slate);background:var(--white);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.pill.on{background:var(--ink);color:var(--white);border-color:var(--ink)}.pill.good{color:var(--ok);background:#f2f9f5;border-color:#bfe0cc}.pill.bad{color:var(--danger);background:#fbf3f3;border-color:#e6c4c4}.dot{background:var(--mist);border-radius:50%;width:8px;height:8px;display:inline-block}.dot.live{background:var(--ok)}.switch{background:var(--line);border:none;border-radius:999px;flex:none;width:46px;height:26px;transition:background .15s;position:relative}.switch.on{background:var(--ink)}.switch:after{content:"";background:var(--white);border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch.on:after{transform:translate(20px)}.overlay{z-index:50;background:#0a0a0a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--white);border-radius:var(--radius);width:100%;max-width:520px;max-height:90vh;padding:24px;overflow:auto}.modal h2{margin-bottom:8px;font-size:19px;font-weight:800}.modal .warn{color:var(--danger);border-radius:var(--radius-sm);background:#fbf3f3;border:1px solid #e6c4c4;margin:12px 0;padding:11px 13px;font-size:13px}.modal .ok{color:#137a3e;border-radius:var(--radius-sm);background:#eef7f0;border:1px solid #bfe3ca;margin:12px 0;padding:11px 13px;font-size:13px;font-weight:700}.modal-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.toast{z-index:100;background:var(--ink);max-width:90vw;color:var(--white);border-radius:var(--radius-md);cursor:pointer;padding:12px 18px;font-size:14px;font-weight:600;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #00000047}.toast.bad{background:var(--danger)}.auth{background:var(--haze);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth .card{width:100%;max-width:380px;padding:30px}.auth .brand{color:var(--ink);padding:0}.muted{color:var(--slate)}.err{color:var(--danger);margin-top:10px;font-size:13px}.center-note{color:var(--slate);text-align:center;padding:40px}.spacer{height:16px}.right{text-align:right}.nowrap{white-space:nowrap}.flexbetween{justify-content:space-between;align-items:center;gap:12px;display:flex}
