body.auth-locked{overflow:hidden;background:#f3f6fa}
body.auth-locked> :not(#authGate){visibility:hidden!important}
.auth-gate{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:22px;background:linear-gradient(145deg,#edf4fb 0%,#f8fafc 48%,#eef2f7 100%);visibility:visible!important}
.auth-gate[hidden]{display:none!important}
.auth-card{width:min(420px,100%);background:#fff;border:1px solid #dce5ef;border-radius:20px;box-shadow:0 24px 70px rgba(15,23,42,.14);padding:30px}
.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.auth-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#173b6c;color:#fff;font-weight:800;letter-spacing:.04em}
.auth-brand strong{display:block;color:#101828;font-size:18px}.auth-brand span{display:block;color:#667085;font-size:12px;margin-top:3px}
.auth-card h1{margin:0 0 8px;font-size:25px;color:#101828}.auth-intro{margin:0 0 22px;color:#667085;font-size:13px;line-height:1.65}
.auth-form{display:grid;gap:15px}.auth-form label{display:grid;gap:7px;color:#344054;font-size:13px;font-weight:650}.auth-form input{width:100%;box-sizing:border-box;border:1px solid #cfd8e3;border-radius:10px;padding:12px 13px;font:inherit;color:#101828;background:#fff}.auth-form input:focus{outline:3px solid rgba(46,144,250,.16);border-color:#2e90fa}
.auth-submit{border:0;border-radius:10px;padding:12px 16px;background:#173b6c;color:#fff;font:inherit;font-weight:750;cursor:pointer}.auth-submit:disabled{opacity:.65;cursor:wait}
.auth-error{border:1px solid #fecdca;background:#fef3f2;color:#b42318;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.5}.auth-error.hidden{display:none}
.auth-foot{margin:18px 0 0;color:#7a8699;font-size:11px;line-height:1.55;text-align:center}
.auth-user-actions{display:flex;align-items:center;gap:7px;color:#667085;font-size:12px}.auth-user-actions .button{white-space:nowrap}
@media(max-width:720px){.auth-gate{padding:16px}.auth-card{padding:24px 20px;border-radius:16px}.auth-user-actions span{display:none}#logoutBtn{padding:8px 10px}.family-top-actions{gap:6px}}
