:root{--bg: #070b14;--panel: rgba(14,18,30,.92);--panel2: rgba(18,24,38,.92);--border: rgba(255,255,255,.12);--text: rgba(255,255,255,.92);--muted: rgba(255,255,255,.65);--muted2: rgba(255,255,255,.45);--info: #60a5fa;--ok: #4ade80;--warn: #ffcc66;--danger: #ff5c5c;--shadow: 0 14px 40px rgba(0,0,0,.45);--radius: 16px;--radius2: 22px;--pad: 16px;--gap: 12px;--btn: rgba(255,255,255,.1);--btn2: rgba(255,255,255,.16)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;padding-top:132px;background:radial-gradient(1200px 600px at 10% 10%,rgba(60,90,180,.18),transparent 70%),radial-gradient(900px 600px at 90% 20%,rgba(120,80,180,.12),transparent 70%),linear-gradient(180deg,#050814,#070b14 60%,#060914);color:var(--text)}a{color:inherit;text-decoration:none}small{color:var(--muted)}button{font-family:inherit}.shell{min-height:100vh;display:flex;flex-direction:column;padding-top:132px}.container{max-width:1200px;margin:0 auto;padding:140px 18px 18px}.topbar{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:1000;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#060914d9;border:1px solid rgba(255,255,255,.12);border-radius:16px;max-width:1260px;width:calc(100% - 24px)}.topbarInner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px}.brand{display:flex;align-items:center;gap:10px;min-width:220px}.brand .dot{width:10px;height:10px;border-radius:999px;background:#508cfff2;box-shadow:0 0 18px #508cff59}.brandTitle{font-weight:900;letter-spacing:.5px;color:#fff}.brandSub{font-size:12px;color:var(--muted)}.topRight{display:flex;align-items:center;gap:10px;min-width:220px;justify-content:flex-end}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:980px){.grid2{grid-template-columns:1fr}.topbar{top:8px;width:calc(100% - 16px)}.topbarInner{flex-wrap:wrap}.brand,.topRight{min-width:unset;flex:1 1 auto}}.btn{border:1px solid var(--border);background:var(--btn);color:var(--text);padding:9px 12px;border-radius:12px;cursor:pointer;transition:background .15s ease,border-color .15s ease;white-space:nowrap}.btn:hover{background:var(--btn2)}.btn.primary{background:#60a5fa38;border-color:#60a5fa73}.btn.secondary{background:#ffffff12}.btn.danger{background:#ff5c5c2e;border-color:#ff5c5c66}button,.btn{color:var(--text)}.pill{border:1px solid var(--border);background:#ffffff0f;padding:7px 12px;border-radius:999px;font-weight:900;font-size:12px;white-space:nowrap;color:#fff}.card{border:1px solid var(--border);background:var(--panel);border-radius:var(--radius2);box-shadow:var(--shadow);padding:16px}.sectionHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.sectionHeaderLeft{display:flex;flex-direction:column;gap:4px}.sectionHeaderRight{display:flex;align-items:center;gap:10px}.form{display:flex;flex-direction:column;gap:10px}.row{display:flex;gap:10px;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:6px;min-width:220px;flex:1}label{font-size:12px;color:var(--muted)}input,select,textarea{border:1px solid var(--border);background:#0000004d;color:var(--text);padding:10px;border-radius:12px;outline:none}input::placeholder,textarea::placeholder{color:var(--muted)}.chips{display:flex;gap:10px;flex-wrap:wrap}.chip{border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:#ffffffe0;padding:8px 12px;border-radius:999px;font-weight:800;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.chip.active{background:#ffffff1f;border-color:#ffffff59}.chipCount{border:1px solid rgba(255,255,255,.16);background:#0003;padding:2px 8px;border-radius:999px;font-size:12px}.tableWrap{border:1px solid var(--border);background:var(--panel2);border-radius:14px;overflow-x:auto}table{width:100%;border-collapse:collapse;table-layout:fixed}th,td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08);font-size:13px;white-space:nowrap;vertical-align:middle}th{color:var(--muted);font-weight:700;background:#0a0e1af2}th:first-child,td:first-child{text-align:left;width:56px}th:last-child,td:last-child{text-align:right;width:160px}th:not(:first-child):not(:last-child),td:not(:first-child):not(:last-child){text-align:center}td span.pill,td span.badge{margin:0 auto}table .btn{padding:6px 10px;font-size:12px}tr{transition:background .12s ease}tr:hover{background:#ffffff0a}.msg{border:1px solid var(--border);background:#ffffff0f;padding:10px 12px;border-radius:12px}.msg.ok{border-color:#4ade8059;background:#4ade801f}.msg.err{border-color:#ff5c5c73;background:#ff5c5c26}.modalOverlay{position:fixed;inset:0;background:#000000b8;z-index:2000;display:flex;align-items:center;justify-content:center;padding:18px}.modalCard{width:min(980px,96vw);max-height:90vh;overflow:auto;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:#0e121ef2;box-shadow:0 28px 80px #0000008c}.topbar button,.topbar a{appearance:none;-webkit-appearance:none;background:#ffffff0f;color:#fff!important;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:8px 14px;font-weight:900;font-size:13px;letter-spacing:.2px;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,transform .08s ease}.topbar button:hover,.topbar a:hover{background:#ffffff1f;border-color:#ffffff47;transform:translateY(-1px)}.topbar button.active,.topbar a.active{background:#ffffff2e;border-color:#fff6;box-shadow:0 0 0 2px #ffffff1a inset,0 8px 22px #00000059}.topbar button:focus-visible,.topbar a:focus-visible{outline:none;box-shadow:0 0 0 2px #fff3,0 0 0 4px #60a5fa59}.topbar button:active{transform:translateY(0)}.loginPage{min-height:100vh;width:100%;display:flex;justify-content:center;align-items:flex-start;padding-top:6vh;padding-left:40px;padding-right:40px}.loginCard{width:100%;max-width:380px;padding:22px;border-radius:20px;background:linear-gradient(180deg,#ffffff1a,#ffffff0a);border:1px solid rgba(255,255,255,.14);box-shadow:0 28px 70px #0000008c,inset 0 1px #ffffff1a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.loginTitle{font-size:22px;font-weight:900;letter-spacing:.5px;margin-bottom:4px}.loginSub{font-size:12px;color:var(--muted);margin-bottom:14px}.loginCard input{background:#00000059}.loginCard .btn.primary{margin-top:6px;padding:10px;font-size:13px;font-weight:800}.loginError{margin-top:14px}
