:root{--bg:#0b1020;--panel:#121a2d;--panel2:#18233a;--text:#edf2f7;--muted:#9fb0c8;--line:#2b3953;--primary:#4f8cff;--danger:#ef5b67;--ok:#2fbf71;--warn:#f0b44d}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Tahoma,Arial,sans-serif;line-height:1.7}.topbar{position:sticky;top:0;z-index:10;background:#0e1628;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:12px 4vw}.brand{font-weight:800;color:#fff;text-decoration:none}.topbar nav{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.topbar a,.linkbtn{color:#c9d8f0;text-decoration:none}.linkbtn{background:none;border:0;cursor:pointer;font:inherit}.container{width:min(1500px,94vw);margin:28px auto}.auth-card{width:min(520px,100%);margin:6vh auto;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 20px 60px #0005}.auth-card.wide{width:min(760px,100%)}h1{font-size:1.7rem;margin:0 0 12px}h2{font-size:1.2rem}.muted{color:var(--muted)}.center{text-align:center}.steps{display:inline-block;background:#20304f;color:#b9d2ff;padding:4px 10px;border-radius:999px;font-size:.85rem;margin-bottom:10px}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:18px}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.stat{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:18px;text-decoration:none;color:var(--text)}.stat b{display:block;font-size:2rem}.stat span{color:var(--muted)}.page-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.btn{display:inline-block;background:#23314b;color:#fff;border:1px solid #385074;border-radius:9px;padding:9px 14px;text-decoration:none;cursor:pointer;font:inherit}.btn.primary{background:var(--primary);border-color:var(--primary)}.btn.danger{background:#5c2630;border-color:var(--danger)}.btn.ghost{background:transparent}.btn.full{width:100%;text-align:center}.inline{display:inline}.alert{padding:12px 16px;border-radius:10px;margin:12px 0;background:#243149;border:1px solid #384969}.alert.success{border-color:#2c7f57}.alert.error{border-color:#8c3942}.alert.warning{border-color:#8b6c2d}form p{margin:14px 0}label{display:block;margin-bottom:5px;color:#d7e2f4}input,select,textarea{width:100%;background:#0e1728;color:var(--text);border:1px solid var(--line);border-radius:9px;padding:10px 12px;font:inherit}input[type=checkbox]{width:auto;margin-left:6px}ul.errorlist{color:#ff9ba4;margin:6px 0;padding-right:20px}.filterbar,.filter-row,.bulkbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0}.filterbar input{min-width:260px;flex:1}.filterbar select{width:auto;min-width:180px}.filter-row select{width:180px}.filter-row input{width:260px;max-width:100%}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel)}table{border-collapse:collapse;width:100%;min-width:900px}th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}th{background:#111c31;position:sticky;top:0}tr:hover td{background:#15213a}.thumb{width:38px;height:38px;object-fit:cover;border-radius:8px}.detail-photo{display:block;max-width:160px;max-height:160px;object-fit:cover;border-radius:14px;margin-top:8px}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.detail-grid div{padding:12px;background:var(--panel2);border-radius:10px}.detail-grid span,.detail-grid strong{display:block}.avatar{width:90px;height:90px;border-radius:50%;object-fit:cover;border:2px solid var(--line)}.profile-row{display:flex;align-items:center;gap:16px}.pagination{display:flex;justify-content:center;gap:20px;align-items:center;margin:20px}.pagination a{color:#a9c8ff}.secret-code{font:700 1.35rem monospace;direction:ltr;text-align:center;background:#07101e;border:1px dashed #4f8cff;border-radius:10px;padding:18px;margin:18px 0;letter-spacing:2px}.codebox{direction:ltr;text-align:left;overflow:auto;background:#07101e;padding:12px;border-radius:10px;font-family:monospace}hr{border:0;border-top:1px solid var(--line);margin:20px 0}@media(max-width:850px){.grid.two,.stats,.detail-grid{grid-template-columns:1fr}.topbar{align-items:flex-start}.topbar nav{gap:10px}.container{width:96vw;margin:16px auto}.auth-card{margin:20px auto}.filter-row>*{width:100%!important}.page-head{align-items:flex-start;flex-direction:column}}
