:root{--bg: #0f1419;--card: #1a2230;--line: #2a3a52;--txt: #e6edf3;--mut: #8b98ab;--acc: #2f81f7;--ok: #3fb950;--bad: #f85149}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--txt);font:14px/1.45 system-ui,sans-serif}.login-wrap{min-height:100vh;display:grid;place-items:center}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:28px;width:340px}.card h1{margin:0 0 4px;font-size:20px}.card p.sub{margin:0 0 18px;color:var(--mut)}.field{margin-bottom:12px}.field label{display:block;margin-bottom:4px;color:var(--mut)}input,select{width:100%;padding:8px 10px;border-radius:6px;border:1px solid var(--line);background:#0d1117;color:var(--txt)}button{padding:8px 14px;border-radius:6px;border:1px solid var(--line);background:var(--acc);color:#fff;cursor:pointer}button.ghost{background:transparent}button.danger{background:var(--bad);border-color:var(--bad)}button:disabled{opacity:.5;cursor:default}.error{color:var(--bad);margin-top:10px;min-height:20px}.top{display:flex;gap:8px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--card);position:sticky;top:0}.top nav{display:flex;gap:6px}.top nav button{background:transparent}.top nav button.on{background:var(--acc)}.top .sp{flex:1}.main{padding:16px;max-width:1100px;margin:0 auto}table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden}th,td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left}th{color:var(--mut);font-weight:600}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--mut);margin-right:6px}.dot.on{background:var(--ok)}.row{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0;align-items:center}.row input,.row select{width:auto}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center}.modal .card{width:420px}.modal.wide .card{width:760px;max-width:94vw}.mut{color:var(--mut)}.tag{display:inline-block;padding:1px 8px;border:1px solid var(--line);border-radius:20px;margin:1px 3px 1px 0;font-size:12px}.checks{display:flex;flex-wrap:wrap;gap:6px 14px;margin:8px 0}.checks label{display:flex;gap:5px;align-items:center}.checks input{width:auto}.toasts{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:50}.toast{background:var(--bad);color:#fff;padding:10px 14px;border-radius:8px;max-width:340px}.acc{border:1px solid var(--line);border-radius:8px;margin:8px 0}.acc summary{cursor:pointer;padding:8px 10px;font-weight:600}.acc .checks{padding:0 10px 10px}.tabs{display:flex;gap:6px;margin:12px 0}.tabs button{background:transparent}.tabs button.on{background:var(--acc)}
