:root { color-scheme: dark; --bg:#07090d; --panel:#0d1219; --panel2:#111923; --border:#223040; --text:#e4edf6; --muted:#8493a5; --green:#2ee59d; --red:#ff5d69; --gold:#f1c75b; --control:#101821; }
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; background:var(--bg); color:var(--text); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
button,input,select { font:inherit; }
button,a,input,select { -webkit-tap-highlight-color:transparent; }
a { color:var(--green); text-decoration:none; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.admin-shell { width:min(1500px,100%); margin:0 auto; padding:18px; }
.admin-header { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:58px; margin-bottom:18px; padding:10px 14px; border:1px solid var(--border); border-radius:12px; background:var(--panel); }
.brand { display:flex; align-items:center; gap:11px; }
.brand-mark { width:29px; height:29px; border:2px solid var(--green); border-radius:7px; position:relative; }
.brand-mark::after { content:""; position:absolute; left:7px; bottom:6px; width:12px; height:9px; border-left:2px solid var(--green); border-bottom:2px solid var(--green); transform:skewY(-28deg); }
.brand div { display:flex; flex-direction:column; gap:1px; }
.brand strong { font-size:1rem; }
.brand span { color:var(--muted); font-size:.72rem; }
.header-actions { display:flex; align-items:center; gap:10px; color:var(--muted); font-size:.78rem; }
.header-actions a,.header-actions button { min-height:34px; padding:0 12px; border:1px solid var(--border); border-radius:7px; background:var(--control); color:var(--text); cursor:pointer; display:inline-flex; align-items:center; }
.header-actions a:hover,.header-actions button:hover { border-color:var(--green); }
.access-card,.accounts-panel { border:1px solid var(--border); border-radius:12px; background:var(--panel); }
.access-card { max-width:620px; margin:12vh auto 0; padding:28px; text-align:center; }
.access-card h1 { margin:0 0 8px; font-size:1.2rem; }.access-card p { margin:0 0 18px; color:var(--muted); }
.summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:12px; }
.summary-grid article { min-height:94px; padding:16px; border:1px solid var(--border); border-radius:11px; background:linear-gradient(145deg,var(--panel),var(--panel2)); }
.summary-grid span { display:block; color:var(--muted); font-size:.76rem; }.summary-grid strong { display:block; margin-top:8px; font-size:1.65rem; font-variant-numeric:tabular-nums; }
.accounts-panel { overflow:hidden; }
.panel-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:17px 18px; border-bottom:1px solid var(--border); }
.panel-heading h1 { margin:0; font-size:1.05rem; }.panel-heading p { margin:4px 0 0; color:var(--muted); font-size:.75rem; }
.search-field input { width:min(310px,42vw); min-height:36px; padding:0 11px; border:1px solid var(--border); border-radius:7px; outline:none; background:var(--control); color:var(--text); }
.search-field input:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(46,229,157,.09); }
.notice { min-height:0; padding:0 18px; color:var(--green); font-size:.75rem; transition:.2s; }.notice:not(:empty) { padding-top:10px; }.notice.error { color:var(--red); }
.table-wrap { overflow:auto; }
table { width:100%; border-collapse:collapse; min-width:1080px; }
th,td { padding:12px 13px; border-bottom:1px solid var(--border); text-align:left; vertical-align:middle; font-size:.76rem; }
th { position:sticky; top:0; z-index:1; background:var(--panel2); color:var(--muted); font-size:.67rem; letter-spacing:.04em; text-transform:uppercase; }
tbody tr:hover { background:rgba(255,255,255,.018); }
.identity { display:flex; align-items:center; gap:9px; min-width:210px; }.identity img,.avatar-fallback { width:32px; height:32px; border-radius:50%; flex:0 0 auto; background:#243143; object-fit:cover; }
.avatar-fallback { display:grid; place-items:center; color:var(--green); font-weight:800; }
.identity strong,.identity span { display:block; max-width:260px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.identity span { margin-top:2px; color:var(--muted); font-size:.7rem; }
.verified { color:var(--green); }.badge { display:inline-flex; align-items:center; min-height:24px; padding:0 8px; border-radius:999px; font-size:.68rem; font-weight:700; }
.badge.active { background:rgba(46,229,157,.12); color:var(--green); }.badge.locked { background:rgba(255,93,105,.12); color:var(--red); }
.role-select { min-height:31px; padding:0 26px 0 8px; border:1px solid var(--border); border-radius:6px; background:var(--control); color:var(--text); }
.numeric { font-variant-numeric:tabular-nums; }.date { white-space:nowrap; color:var(--muted); }
.action-button { min-height:31px; padding:0 10px; border:1px solid var(--border); border-radius:6px; background:var(--control); color:var(--text); cursor:pointer; white-space:nowrap; }.action-button:hover { border-color:var(--green); }.action-button.danger:hover { border-color:var(--red); color:var(--red); }.action-button:disabled,.role-select:disabled { opacity:.45; cursor:not-allowed; }
.empty-state { padding:32px; color:var(--muted); text-align:center; }
@media(max-width:760px){.admin-shell{padding:9px}.admin-header{align-items:flex-start;padding:10px}.header-actions{flex-wrap:wrap;justify-content:flex-end}.header-actions #adminIdentity{width:100%;text-align:right}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-heading{align-items:stretch;flex-direction:column}.search-field input{width:100%}.table-wrap{margin-bottom:env(safe-area-inset-bottom)}}
