html.auth-pending body{visibility:hidden}
.auth-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:var(--bg);position:relative;overflow:hidden}
.auth-page::before{content:"";position:fixed;inset:0 0 auto;height:390px;pointer-events:none;background:radial-gradient(circle at 72% -15%,var(--accent-weak),transparent 52%),linear-gradient(180deg,var(--card),transparent);opacity:.86}
/* mouse-light.js assumiu o brilho (orbe animado): mantém só o esmaecimento do topo, tira o
   gradiente radial estático pra não duplicar a luz */
body.mouse-light-active.auth-page::before{background:linear-gradient(180deg,var(--card),transparent)}
.auth-shell{position:relative;width:min(100%,450px)}
.auth-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:22px;color:var(--text);font-weight:900;font-size:16px;letter-spacing:-.01em}
.auth-brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:var(--accent);color:var(--on-accent);box-shadow:0 8px 20px var(--accent-weak)}
.auth-card{padding:28px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-lg)}
.auth-eyebrow{margin:0 0 8px;color:var(--accent-ink);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.auth-card h1{font-size:28px;letter-spacing:-.035em}.auth-description{margin:10px 0 24px;color:var(--muted);font-size:13px;line-height:1.55}
.auth-form{display:grid;gap:15px}.auth-field{display:grid;gap:6px}.auth-field label{margin:0;font-weight:700}.auth-input-wrap{position:relative}.auth-input-wrap input{padding-right:46px}.auth-password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);height:30px;width:34px;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer}.auth-password-toggle:hover{background:var(--surface-muted);color:var(--text)}
.auth-submit{width:100%;height:42px;margin-top:3px;font-size:13px}.auth-divider{display:flex;align-items:center;gap:10px;margin:21px 0;color:var(--text-faint);font-size:11px}.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:var(--border)}.auth-google{width:100%;height:42px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--text);font-weight:800;cursor:pointer}.auth-google:hover{background:var(--surface-muted);border-color:var(--border-strong)}.auth-divider[hidden],.auth-google[hidden]{display:none}
.auth-help{display:flex;justify-content:center;margin-top:18px}.auth-link{border:0;background:transparent;padding:0;color:var(--accent-ink);font:700 12px var(--font-ui);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.auth-message{display:none;margin:0 0 16px;padding:10px 12px;border:1px solid var(--danger-border);border-radius:var(--radius-sm);background:var(--danger-bg);color:var(--danger);font-size:12px;line-height:1.45}.auth-message.show{display:block}.auth-message.success{border-color:var(--success-border);background:var(--success-bg);color:var(--success)}
.auth-footer{margin:17px 0 0;text-align:center;color:var(--text-faint);font-size:11px;line-height:1.5}@media(max-width:480px){.auth-page{padding:16px}.auth-card{padding:22px}.auth-card h1{font-size:25px}}
.admin-shell{width:min(1320px,100%);padding:0 0 54px}.admin-intro{margin:0 0 28px}.admin-intro h1{font-size:32px;letter-spacing:-.035em}.admin-intro p:not(.auth-eyebrow){margin:9px 0 0;color:var(--muted);font-size:14px}.admin-intro p:has(.btn){margin-top:14px}.admin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:16px;align-items:start}.admin-list-card h2,.admin-perm-card h2{margin-bottom:6px}.admin-list-card .muted,.admin-perm-card .muted{font-size:12px;line-height:1.45;margin:0 0 18px}.admin-list-head{display:flex;align-items:start;justify-content:space-between;gap:10px;margin-bottom:14px}.admin-list-head-actions{display:flex;gap:8px;flex-shrink:0}.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:680px;font-size:12px}.admin-table th{text-align:left;padding:9px 8px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border)}.admin-table td{padding:11px 8px;border-bottom:1px solid var(--border);vertical-align:middle}.admin-table td:first-child{font-weight:800}.admin-table-actions{display:flex;gap:6px;justify-content:flex-end}.admin-badge{display:inline-flex;padding:4px 7px;border-radius:999px;background:var(--surface-muted);font-size:10px;font-weight:800}.admin-badge.active{background:var(--success-bg);color:var(--success)}.admin-badge.blocked{background:var(--danger-bg);color:var(--danger)}.home-user-slot{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.auth-home-logout{border:0;background:transparent;color:var(--accent-ink);font:800 12px var(--font-ui);cursor:pointer}
.admin-perm-card .admin-list-head{margin-bottom:16px}.admin-profile-list{display:flex;flex-direction:column;gap:6px}.admin-profile-row{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius-sm)}.admin-profile-row-name{flex:1;min-width:0;font-weight:700;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-profile-row-actions{display:flex;gap:6px;flex-shrink:0;min-height:32px}.admin-perm-pages{display:flex;flex-wrap:wrap;gap:8px}.admin-perm-pages .chip:has(input:disabled){opacity:.6;cursor:default}
.modal-user-list{display:flex;flex-direction:column;gap:6px;margin:12px 0 0;max-height:220px;overflow-y:auto}.modal-user-list-item{display:flex;flex-direction:column;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12.5px}.modal-user-list-item strong{font-size:13px}.modal-user-list-item span{color:var(--muted);font-size:11.5px}
#editUserBackdrop .modal,#createUserBackdrop .modal,#profilePermBackdrop .modal,#deleteProfileBackdrop .modal,#createProfileBackdrop .modal{max-width:440px}
@media(max-width:800px){.admin-grid{grid-template-columns:1fr}.admin-intro{margin:0 0 22px}}
