/* Estilos restritos à autenticação: não alteram os componentes do aplicativo. */
#auth-root[hidden] { display:none !important; }
.ph-auth { min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:40px 20px; padding-top:max(40px,env(safe-area-inset-top)); padding-bottom:max(32px,env(safe-area-inset-bottom)); background:radial-gradient(ellipse at 90% 0,#fff0ec,transparent 55%),#fffbfd; color:#35353c; font:15px/1.6 'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
.ph-auth,.ph-auth * { box-sizing:border-box; }
.ph-auth-card { width:100%; max-width:460px; background:#fff; border:1px solid #eee1e9; border-radius:22px; padding:36px; box-shadow:0 12px 40px #963d7a0c; }
.ph-auth-logo { display:block; width:240px; max-width:90%; height:auto; aspect-ratio:1690/400; margin:0 auto 32px; fill:none; stroke:none; }
.ph-auth h1 { font-family:Manrope,system-ui,sans-serif; font-size:25px; font-weight:750; line-height:1.3; letter-spacing:-.7px; margin:0; text-align:center; overflow-wrap:anywhere; }
.ph-auth-subtitle { color:#736a75; text-align:center; margin:12px 0 26px; font-size:14px; }
.ph-auth-form { display:grid; gap:18px; margin-top:26px; }
.ph-auth-form label { display:grid; gap:7px; font-size:13px; font-weight:650; }
.ph-auth input { width:100%; min-width:0; min-height:48px; border:1px solid #dbc9d7; border-radius:9px; padding:12px; font:inherit; font-size:16px; color:#35353c; background:#fff; }
.ph-auth input:focus { outline:3px solid #f1d5e8; border-color:#934078; outline-offset:1px; }
.ph-auth button { font:inherit; cursor:pointer; touch-action:manipulation; min-height:44px; }
.ph-auth button:focus-visible { outline:3px solid #b25b9b; outline-offset:4px; }
.ph-auth button:disabled { opacity:.55; cursor:wait; }
.ph-auth-primary { width:100%; padding:12px 16px; border:1px solid #913d80; border-radius:9px; background:linear-gradient(120deg,#8e3d82,#a64482); color:#fff; font-weight:700!important; }
.ph-auth-actions { display:grid; gap:8px; margin-top:18px; text-align:center; }
.ph-auth-actions > button:not(.ph-auth-primary),.ph-auth-actions p button { border:0; background:transparent; color:#873c77; font-weight:650; padding:5px; text-decoration:underline; text-underline-offset:4px; }
.ph-auth-actions p { margin:2px 0 0; color:#736a75; font-size:13px; }
.ph-auth-message { background:#f9edf6; color:#64345b; border:1px solid #ead0e3; border-radius:10px; padding:13px 15px; margin:22px 0 0; font-size:14px; overflow-wrap:anywhere; }
.ph-auth-error { background:#fff0f2; color:#97233e; border-color:#f3ced8; }
.ph-auth-hint { color:#736a75; font-size:12px; margin:-10px 0 0; }
.ph-auth-loading { color:#736a75; font-size:14px; text-align:center; margin:20px 0 0; }
.ph-auth-footer { color:#8b7988; font-size:12px; text-align:center; margin:24px 0 0; }
@media(max-width:520px) { .ph-auth { padding-left:16px; padding-right:16px; } .ph-auth-card { padding:28px 23px; border-radius:18px; } .ph-auth h1 { font-size:23px; } }
@media(max-height:700px) { .ph-auth { justify-content:flex-start; padding-top:max(22px,env(safe-area-inset-top)); } .ph-auth-logo { margin-bottom:24px; } }
