*{box-sizing:border-box}
body.dashboard-page{background:#0c0a14}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 85% 2%,#392353 0,transparent 34%),#0c0a14;color:#f6f0fc;font-family:system-ui,-apple-system,sans-serif}a{color:#cda5ff;text-decoration:none}header{height:84px;max-width:1140px;margin:auto;border-bottom:1px solid #ffffff16;display:flex;align-items:center;justify-content:space-between;padding:0 22px}header .brand{display:flex;align-items:center;gap:11px;color:#fff;font-weight:800;letter-spacing:.13em;font-size:20px}header .brand img{width:37px;height:37px;object-fit:contain}header .brand small{display:block;letter-spacing:.23em;font-size:9px;color:#a98bd1;font-weight:500}main{width:min(1100px,calc(100% - 36px));margin:64px auto}.login-card{max-width:480px;margin:8vh auto 0;padding:38px;background:#1a1425;border:1px solid #594270;border-radius:22px;box-shadow:0 35px 95px #0005}.overline{color:#b38be4;letter-spacing:.15em;font-size:11px;font-weight:800}h1{font-size:clamp(30px,4vw,47px);letter-spacing:-.05em;margin:12px 0 15px}p{color:#b4a7c3;line-height:1.7;font-size:14px}label{display:block;font-size:13px;font-weight:600;margin:24px 0 8px}input{display:block;width:100%;background:#261d33;border:1px solid #76558d;border-radius:11px;color:white;padding:15px;font:inherit}button{font:inherit;cursor:pointer}button.primary{display:block;width:100%;margin-top:20px;border:0;background:#9863d7;border-radius:11px;padding:15px;color:#fff;font-weight:800}button.secondary{padding:11px 16px;border:1px solid #785b93;border-radius:10px;background:#251b32;color:#f5e9ff}button:disabled{opacity:.6;cursor:wait}.notice{margin-top:18px;color:#e0c6fc;font-size:13px;line-height:1.6}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:26px 0}.panel{background:#1b1527;border:1px solid #513b69;border-radius:17px;padding:24px;min-width:0}.panel small{font-size:11px;letter-spacing:.12em;color:#aa93c0}.panel strong{display:block;margin-top:11px;font-size:25px;overflow-wrap:anywhere}.gold{color:#e6c488}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.muted{color:#b1a3bf}.code{font-family:monospace;font-size:12px;word-break:break-all;background:#261d34;padding:12px;border-radius:10px;margin:10px 0}.hidden{display:none!important}table{width:100%;border-collapse:collapse;min-width:700px}th,td{text-align:left;border-bottom:1px solid #534262;padding:14px 10px;font-size:12px}th{color:#bfa7df}td{color:#eee5f6}.table-scroll{overflow-x:auto}#admin-panel{margin-top:25px}input.search{max-width:320px;margin:15px 0}#welcome{overflow-wrap:anywhere}@media(max-width:650px){.stats,.grid{grid-template-columns:1fr}main{margin:35px auto}.login-card{padding:26px;margin-top:40px}}
.header-user{display:flex;align-items:center;gap:9px}.header-avatar-link{display:inline-flex;align-items:center;justify-content:center}.header-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(150deg,#342642,#211930);border:1px solid #77588f;display:grid;place-items:center;color:#b5a7c7;box-shadow:inset 0 0 0 4px #ffffff08}.header-avatar svg{display:block;width:25px;height:25px}.icon-logout{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;cursor:pointer;border-radius:50%}.icon-logout:hover{background:#30233d}.icon-logout:focus-visible{outline:2px solid #b88cff;outline-offset:3px}

.admin-status{font:inherit;background:#251c34;color:#f5e9ff;border:1px solid #785b93;border-radius:8px;padding:10px;min-width:130px}.admin-status:focus-visible{outline:2px solid #b88cff;outline-offset:2px}#admin-message:empty{display:none}#admin-panel button.secondary{white-space:nowrap}

/* Avatar neutro do perfil, antes da saudação */
.identity-block{display:flex;align-items:center;gap:22px;min-width:0}.identity-copy{min-width:0}.identity-copy h1{margin-top:10px}.profile-avatar{width:88px;height:88px;flex:0 0 88px;border-radius:50%;background:linear-gradient(150deg,#342642,#211930);border:1px solid #77588f;display:grid;place-items:center;color:#b5a7c7;box-shadow:inset 0 0 0 4px #ffffff08}.profile-avatar svg{display:block;width:67px;height:67px}@media(max-width:650px){.identity-block{gap:13px}.profile-avatar{width:66px;height:66px;flex-basis:66px}.profile-avatar svg{width:51px;height:51px}.identity-copy h1{font-size:clamp(25px,6vw,34px)}}

/* Administração separada */
.welcome-row{display:flex;align-items:center;gap:16px}.welcome-row h1{margin:10px 0 15px}.admin-entry{width:40px;height:40px;border-radius:50%;display:inline-grid;place-items:center;color:#edca8c;border:1px solid #8d7047;background:#31251f}.admin-entry:hover{background:#463520}
.admin-back{padding:11px 16px;border:1px solid #785b93;border-radius:12px}.admin-capacity{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.admin-capacity label{margin:0}.admin-capacity input{width:200px}.admin-capacity button{min-height:51px}.admin-delete{margin-left:7px;border-color:#a36072!important;color:#ffbec9!important}#admin-panel{margin-top:20px}

/* Entrada administrativa ao lado do e-mail, no local indicado */
.profile-contact{display:flex;align-items:center;gap:12px;min-height:38px}.profile-contact p{margin:0}.profile-contact .admin-entry{width:36px;height:36px;flex:0 0 36px}.profile-contact .admin-entry svg{width:23px;height:23px}.identity-copy>h1{margin:10px 0 10px}

/* Ações compactas do perfil: configurações para todos; administração só para UID autorizado */
.profile-contact{min-height:29px;gap:9px;margin-top:2px}.profile-contact .admin-entry,.profile-contact .settings-entry{width:29px;height:29px;flex:0 0 29px;border-radius:50%;display:inline-grid;place-items:center;transition:background .18s,transform .18s}.profile-contact .admin-entry.hidden{display:none!important}.profile-contact .admin-entry svg{width:17px;height:17px}.settings-entry{color:#d0b7e9;border:1px solid #76598d;background:#292037}.settings-entry:hover{background:#39294e}.settings-entry:focus-visible,.admin-entry:focus-visible{outline:2px solid #b88cff;outline-offset:3px}

/* Controles idênticos na home e dashboard */
header .header-user{display:flex;align-items:center;gap:9px;flex-shrink:0}header .header-avatar,header .icon-logout{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;min-width:38px;min-height:38px;border-radius:50%;box-sizing:border-box}header .icon-logout{border:1px solid #785b93;background:#251b32;color:#f5e9ff;padding:0;opacity:1;visibility:visible}header .icon-logout svg{display:block;flex:none}header .icon-logout:hover{background:#30233d}.dashboard-empty{min-height:180px}

.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.settings-avatar{position:relative;overflow:hidden;width:96px;height:96px;border-radius:50%;background:#342642;border:1px solid #77588f;display:grid;place-items:center;color:#b5a7c7;margin:20px 0}.settings-grid form label{display:block;margin:16px 0 8px}.settings-grid .primary{max-width:260px}.settings-grid input[type=file]{padding:12px;max-width:100%}@media(max-width:740px){.settings-grid{grid-template-columns:1fr}}

/* Seleção moderna de foto: avatar clicável, sem input nativo visível */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.avatar-picker-form{display:flex;flex-direction:column;align-items:flex-start}
.avatar-picker{display:inline-block!important;position:relative;cursor:pointer;margin:20px 0 0!important;border-radius:50%;outline-offset:5px}
.avatar-picker:focus-visible,.avatar-picker:focus-within{outline:2px solid #ba8fff}
.avatar-picker .settings-avatar{width:120px;height:120px;margin:0;border:2px solid #8464a5;transition:transform .18s,border-color .18s,box-shadow .18s}
.avatar-picker:hover .settings-avatar{transform:scale(1.025);border-color:#c497ff;box-shadow:0 0 0 5px #9b64dd20}
.avatar-picker .settings-avatar img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.avatar-camera{position:absolute;bottom:3px;right:1px;width:36px;height:36px;display:grid;place-items:center;border:3px solid #1b1527;border-radius:50%;background:#925fd2;color:white;box-shadow:0 3px 16px #0006}
.avatar-picker-hint{color:#e6d5fc;font-size:13px;font-weight:600;margin:15px 0 0}
.avatar-picker-subhint{color:#9e90b0;font-size:12px;margin:3px 0 0}
.settings-grid .avatar-save{margin-top:18px;max-width:260px}

/* Avatar editável no dashboard */
.dashboard-avatar-picker{padding:0;cursor:pointer;font:inherit;position:relative;transition:border-color .2s,transform .2s;}
.dashboard-avatar-picker:hover{border-color:#c69bff;transform:scale(1.02)}
.dashboard-avatar-picker:focus-visible{outline:2px solid #c69bff;outline-offset:4px}
.dashboard-avatar-camera{position:absolute;right:1px;bottom:0;background:#915ecf;border:2px solid #15101d;border-radius:50%;width:26px;height:26px;display:grid;place-items:center;font-size:14px;color:#fff;z-index:2}
.dashboard-avatar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px}
.dashboard-avatar-actions span{color:#d2b9ec;font-size:13px}
.dashboard-avatar-actions .secondary{font-size:13px}
