body.auth-locked .wrap{display:none}
.auth-bar{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:12px;flex-wrap:wrap}
.auth-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid #e2e7f0;background:#fff;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900;color:#344054}
.auth-chip b{color:#241b48}.auth-chip small{color:#667085;font-weight:800}
.auth-overlay{display:none;position:fixed;inset:0;z-index:2000;background:linear-gradient(135deg,rgba(246,247,251,.96),rgba(238,242,255,.96));align-items:center;justify-content:center;padding:24px}
body.auth-locked .auth-overlay{display:flex}
.auth-card{width:min(420px,100%);border:1px solid #dde3ee;background:#fff;border-radius:24px;box-shadow:0 24px 70px rgba(26,32,52,.16);padding:26px}
.auth-card h2{margin:0;font-size:22px;letter-spacing:-.03em;color:#172033}.auth-card p{margin:8px 0 18px;color:#667085;font-size:13px;line-height:1.5}
.auth-form{display:grid;gap:11px}.auth-form label{display:grid;gap:6px;font-size:12px;font-weight:900;color:#526078}
.auth-form input{height:42px;border:1px solid #d9dee8;border-radius:12px;padding:0 12px;font-size:14px}.auth-form button{height:42px}
.auth-error{display:none;border:1px solid #fecaca;background:#fff1f2;color:#be123c;border-radius:12px;padding:9px 10px;font-size:12px;font-weight:800}
.auth-demo{margin-top:14px;border:1px dashed #cbd5e1;background:#f8fafc;border-radius:14px;padding:10px 12px;font-size:12px;color:#526078;line-height:1.6}.auth-demo b{color:#243247}
.admin-grid{display:grid;grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr);gap:16px;align-items:start}
.admin-form-panel,.admin-table-panel{border:1px solid var(--line);border-radius:18px;background:#fbfcff;padding:16px}
.admin-form-panel h3,.admin-table-panel h3{margin:0 0 10px;font-size:15px}
.admin-account-form{display:grid;gap:10px}.admin-account-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.admin-account-form label{display:grid;gap:6px;font-size:12px;font-weight:900;color:#526078}
.admin-account-form input,.admin-account-form select{height:38px;border:1px solid var(--line);border-radius:10px;padding:0 10px;background:#fff}
.admin-message{margin-top:10px;font-size:12px;color:#667085;font-weight:800;min-height:18px}
.admin-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}
.admin-table{width:100%;min-width:760px!important;table-layout:fixed;border-collapse:collapse;font-size:12px}
.admin-table th,.admin-table td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:normal}
.admin-table th{background:#f6f8fb;color:#526078}.admin-table .role-select,.admin-table .name-input{height:32px;border:1px solid #d9dee8;border-radius:9px;background:#fff;padding:0 8px}
.admin-table .name-input{width:100%;min-width:120px}
.admin-table .admin-actions{display:flex;gap:6px;flex-wrap:wrap}.admin-table button{border:1px solid #d9dee8;background:#fff;border-radius:9px;padding:6px 9px;font-size:11px;font-weight:900;cursor:pointer}
.admin-table button.danger{color:#be123c}.admin-table button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:980px){.admin-grid{grid-template-columns:1fr}.admin-account-form .form-row{grid-template-columns:1fr}}
