:root{--bg:#090704;--bg-image:url(/bg-dark.webp);--panel:#101111e0;--panel-soft:#181816bd;--line:#ffa82a2e;--text:#f7f3eb;--muted:#f7f3eb9e;--accent:#ff980d;--accent-strong:#ffb02f;--danger:#ff7068;--green:#5be09a;--shadow:0 24px 80px #0000005c;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=light]{--bg:#f8f3ea;--bg-image:url(/bg-light.webp);--panel:#ffffffe6;--panel-soft:#ffffffbd;--line:#6b4e262e;--text:#1f1a14;--muted:#1f1a149e;--shadow:0 22px 70px #68441429}*{box-sizing:border-box}body{background:linear-gradient(90deg, #000000c7, #0000002e), var(--bg-image) center / cover fixed, var(--bg);min-width:320px;min-height:100vh;margin:0}[data-theme=light] body{background:linear-gradient(90deg, #ffffffc7, #fff3), var(--bg-image) center / cover fixed, var(--bg)}button,input{font:inherit}button{cursor:pointer}.app{grid-template-columns:288px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0a0807c7;flex-direction:column;gap:24px;height:100vh;padding:20px 12px;display:flex;position:sticky;top:0}[data-theme=light] .sidebar{background:#fffaf1c7}.brand{align-items:center;gap:12px;padding:0 12px 14px;display:flex}.brand img{object-fit:contain;width:48px;height:48px}.brand strong{letter-spacing:0;font-size:1.45rem;display:block}.brand span{color:var(--muted);font-size:.82rem;font-weight:700;display:block}.sidebar nav{gap:8px;display:grid}.sidebar button{min-height:52px;color:var(--text);background:#ffffff09;border:1px solid #0000;border-radius:8px;align-items:center;gap:12px;padding:0 18px;font-size:1rem;font-weight:850;display:flex}.sidebar button:hover,.sidebar button.active{color:#140c04;background:linear-gradient(135deg,#ff980df0,#cf6d00e0);border-color:#ff980d57}.logout{margin-top:auto}.workspace{min-width:0}.topbar{z-index:3;background:linear-gradient(90deg,#f65307,#ff9d0c);justify-content:flex-end;gap:16px;height:74px;padding:14px 32px;display:flex;position:sticky;top:0;box-shadow:0 12px 35px #0000003d}.theme,.profile{color:#fff;background:#ffffff29;border:0;border-radius:999px;align-items:center;gap:10px;font-weight:900;display:inline-flex}.theme{justify-content:center;width:46px}.profile{padding:8px 18px 8px 8px}.profile img{border-radius:50%;width:34px;height:34px}.page{width:min(1500px,100vw - 344px);margin:32px auto;padding:0 24px 44px}.page-header,.metric,.toolbar,.table-card,.panel,.state{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:8px}.page-header{justify-content:space-between;align-items:center;padding:28px 24px;display:flex}.page-header h1{letter-spacing:0;margin:0;font-size:clamp(2.6rem,5vw,4.5rem);line-height:.92}.page-header p,.page-header span{color:var(--muted);font-weight:800}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:14px 0;display:grid}.metric{padding:18px 20px}.metric span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;font-weight:900;display:block}.metric strong{margin-top:6px;font-size:2rem;line-height:1;display:block}.metric.danger strong{color:var(--danger)}.toolbar{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin-bottom:18px;padding:16px;display:grid}.toolbar input,.login-card input{border:1px solid var(--line);width:100%;min-height:50px;color:var(--text);background:#00000038;border-radius:6px;outline:none;padding:0 14px}[data-theme=light] .toolbar input,[data-theme=light] .login-card input{background:#ffffffb8}.toolbar input:focus,.login-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #ff980d29}.toolbar button,.login-card button{color:#140c04;background:linear-gradient(135deg,#ffad21,#ff8500);border:0;border-radius:7px;justify-content:center;align-items:center;gap:9px;min-height:52px;padding:0 20px;font-weight:950;display:inline-flex}.table-card{overflow:hidden}table{border-collapse:collapse;table-layout:fixed;width:100%}.col-user{width:30%}.col-phone{width:14%}.col-audit{width:9%}.col-date,.col-access{width:13%}.col-state{width:11%}.col-actions{width:10%}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;text-overflow:ellipsis;padding:14px 16px;overflow:hidden}th{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:950}.group-row td{color:var(--accent-strong);text-transform:uppercase;background:#ff980d21;font-size:.8rem;font-weight:950}.group-row td,.person{min-width:0}.person>span:last-child{gap:2px;min-width:0;display:grid}.person strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.person{align-items:center;gap:12px;display:flex}.group-row small{color:var(--muted);font-size:.76rem}.avatar{color:#140c04;background:linear-gradient(135deg,#ffb72c,#c46b00);border-radius:50%;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-weight:950;display:inline-flex}.person strong,.person small{display:block}.person small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.pill,.status{border-radius:999px;justify-content:center;align-items:center;min-width:48px;min-height:30px;font-weight:950;display:inline-flex}.pill{background:#ffffff14}.status.active{color:var(--green);background:#5be09a29;border:1px solid #5be09a52}.status.revoked{color:var(--danger);background:#ff706824;border:1px solid #ff70685c}.actions button{width:40px;height:40px;color:var(--accent-strong);background:#ff980d2e;border:1px solid #ff980d61;border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.table-card footer{color:var(--muted);padding:14px 16px;font-weight:900}.lead-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:16px;display:grid}.panel,.state{padding:22px}.panel h2{margin:0 0 18px}.bars{align-items:flex-end;gap:7px;height:190px;display:flex}.bars span{background:linear-gradient(#ffbd39,#ff7900);border-radius:999px 999px 0 0;flex:1 1 0;min-width:6px}.empty,.state{color:var(--muted);font-weight:850}.state.danger{color:var(--danger)}.lead-row{border-bottom:1px solid var(--line);gap:3px;padding:12px 0;display:grid}.lead-row span{color:var(--muted)}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);width:min(520px,100%);box-shadow:var(--shadow);text-align:center;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#0e0a08db;border-radius:8px;padding:42px 40px}.login-card img{object-fit:contain;width:84px;height:84px}.login-card h1{margin:16px 0 12px;font-size:clamp(2.2rem,7vw,3.8rem);line-height:1.05}.login-card p{color:var(--muted);font-size:1.08rem;font-weight:800}.login-card form{text-align:left;gap:12px;margin-top:34px;display:grid}.login-card label{font-weight:850}.login-card small{color:var(--muted);margin-top:14px;font-weight:850;display:block}.login-card small.error{color:var(--danger)}@media (width<=980px){.app{grid-template-columns:1fr}.sidebar{height:auto;position:static}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.page{width:100%;padding-inline:14px}.metrics,.lead-grid{grid-template-columns:1fr}.toolbar{grid-template-columns:auto minmax(0,1fr)}.toolbar button{grid-column:1/-1}table,thead,tbody,tr,th,td{display:block}thead{display:none}tr{border-bottom:1px solid var(--line)}td{border-bottom:0}}
