:root{--bg:#0b1020;--bg2:#0a1633;--panel:#ffffff14;--card:#ffffff1a;--stroke:#ffffff24;--text:#ffffffeb;--muted:#ffffffad;--brand:#7fb2ff;--danger:#ff6b6b;--ok:#3ddc97;--shadow:0 18px 55px #00000073;--radius:18px;--radius2:22px;--ring:0 0 0 4px #7fb2ff2e;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji}*{box-sizing:border-box}html,body{height:100%}body{color:var(--text);background:radial-gradient(1200px 600px at 20% -10%,#7fb2ff73,transparent 55%),radial-gradient(900px 500px at 90% 0%,#9ad7ff47,transparent 55%),linear-gradient(160deg,var(--bg),var(--bg2));margin:0}a{color:inherit;text-decoration:none}.shell{width:100%;min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--stroke);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#00000026;width:264px;padding:18px}.brand{border:1px solid var(--stroke);border-radius:var(--radius2);background:var(--panel);box-shadow:var(--shadow);align-items:center;gap:12px;padding:14px 12px;display:flex}.brand img{object-fit:cover;border-radius:12px;width:34px;height:34px}.brand .t1{letter-spacing:.3px;font-weight:800}.brand .t2{color:var(--muted);font-size:12px}.nav{flex-direction:column;gap:8px;margin-top:14px;display:flex}.nav a{color:var(--muted);border:1px solid #0000;border-radius:14px;align-items:center;gap:10px;padding:11px 12px;display:flex}.nav a:hover{color:var(--text);background:#ffffff0f;border-color:#ffffff14}.nav a.active{color:var(--text);background:#7fb2ff2e;border-color:#7fb2ff38}.nav .ico{opacity:.9;width:18px;height:18px}.main{flex-direction:column;flex:1;display:flex}.topbar{z-index:20;border-bottom:1px solid var(--stroke);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0000001f;justify-content:space-between;align-items:center;padding:18px 22px;display:flex;position:sticky;top:0}.topbar h1{letter-spacing:.2px;margin:0;font-size:18px}.topbar .sub{color:var(--muted);font-size:12px}.topbar .right{align-items:center;gap:10px;display:flex}.content{width:100%;max-width:1180px;padding:22px}.card{background:var(--card);border:1px solid var(--stroke);border-radius:var(--radius2);box-shadow:var(--shadow)}.cardPad{padding:16px}.row{flex-wrap:wrap;gap:12px;display:flex}input,select,textarea,.input{width:100%;color:var(--text);background:#0000002e;border:1px solid #ffffff29;border-radius:14px;outline:none;padding:12px}.input:focus,select:focus,textarea:focus{box-shadow:var(--ring);border-color:#7fb2ff59}.btn{color:var(--text);cursor:pointer;background:#ffffff14;border:1px solid #ffffff29;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:10px 12px;display:inline-flex}.btn:hover{background:#ffffff1f}.btnPrimary{background:linear-gradient(135deg,#7fb2ff59,#9ad7ff2e);border-color:#7fb2ff59}.btnDanger{background:#ff6b6b1f;border-color:#ff6b6b66}.btnGhost{background:0 0}.badge{color:var(--muted);background:#ffffff14;border:1px solid #ffffff24;border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;display:inline-flex}.badge.ok{color:#ffffffeb;background:#3ddc971f;border-color:#3ddc9759}.badge.warn{color:#ffffffeb;background:#7fb2ff29;border-color:#7fb2ff59}.badge.danger{color:#ffffffeb;background:#ff6b6b24;border-color:#ff6b6b59}.tableWrap{border-radius:var(--radius2);border:1px solid var(--stroke);overflow:auto}.table{border-collapse:collapse;background:#0000001a;width:100%;min-width:820px}.table th,.table td{text-align:left;vertical-align:top;border-bottom:1px solid #ffffff14;padding:12px}.table th{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px}.table tr:hover td{background:#ffffff0a}.hr{background:#ffffff1a;height:1px;margin:14px 0}.muted{color:var(--muted)}.small{font-size:12px}.loginWrap{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.loginCard{grid-template-columns:1.1fr .9fr;gap:18px;width:min(980px,100%);display:grid}.loginLeft{border-radius:var(--radius2);border:1px solid var(--stroke);background:linear-gradient(135deg,#7fb2ff38,#0000001a);padding:22px}.loginLeft .hero{color:var(--muted);margin-top:18px}.loginForm{padding:22px}.loginTitle{margin:0 0 8px;font-size:22px;font-weight:850}.modalOverlay{z-index:80;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modalBackdrop{background:#0000008c;border:0;position:fixed;inset:0}.modalCard{border:1px solid var(--stroke);border-radius:var(--radius2);width:min(860px,100%);max-height:min(86vh,860px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0a1020eb;position:relative;overflow:hidden}.modalHead{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 10px;display:flex}.modalTitle{font-size:16px;font-weight:850}.modalSub{color:var(--muted);margin-top:2px;font-size:12px}.modalBody{max-height:calc(86vh - 120px);padding:14px 16px;overflow:auto}.modalFoot{background:#0000002e;border-top:1px solid #ffffff1a;justify-content:flex-end;gap:10px;padding:12px 16px;display:flex}.toastWrap{z-index:120;flex-direction:column;gap:10px;display:flex;position:fixed;top:16px;right:16px}.toast{width:min(360px,100vw - 32px);box-shadow:var(--shadow);background:#0a1020eb;border:1px solid #ffffff24;border-radius:16px;gap:10px;padding:12px;display:flex}.toastTitle{margin-bottom:2px;font-size:13px;font-weight:800}.toastMsg{color:#ffffffdb;font-size:13px}.toastX{color:#ffffffb3;cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:18px}.toast-info{border-color:#7fb2ff4d}.toast-success{border-color:#3ddc9759}.toast-danger{border-color:#ff6b6b59}.pill{background:#ffffff0f;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:8px;padding:8px 10px;display:inline-flex}.pager{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.pager .pages{align-items:center;gap:8px;display:flex}.btnIcon{width:38px;height:38px;padding:0}.avatar{background:#7fb2ff2e;border:1px solid #7fb2ff40;border-radius:12px;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.coverMini{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:12px;width:86px;height:34px;overflow:hidden}@media (max-width:900px){.sidebar{display:none}.content{padding:16px}.loginCard{grid-template-columns:1fr}}
