.auth-entry{margin:10px 16px;padding:10px 14px;border:1px solid #63846f;border-radius:9px;background:#234331;color:#e1f1e7;cursor:pointer;font:inherit}
body.auth-gated{overflow:hidden;background:#0b1e16}
body.auth-gated .app-frame,body.auth-gated .mobile-nav{visibility:hidden;pointer-events:none}
.auth-dialog{box-sizing:border-box;color:#183c36;background:#fffdf7;border:1px solid #e1d7c3;border-radius:22px;width:min(470px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:32px;box-shadow:0 28px 100px #0005;font:15px/1.5 system-ui,sans-serif}
.auth-dialog::backdrop{background:#06160ed9;backdrop-filter:blur(8px)}
.auth-welcome::backdrop{background:radial-gradient(ellipse at 25% 15%,#254c39 0,transparent 55%),radial-gradient(ellipse at 90% 95%,#303827 0,transparent 50%),#0b1e16}
.auth-brand{font-size:28px;letter-spacing:-1px;font-weight:800;margin-bottom:30px;display:flex;align-items:center;gap:0}.auth-brand>span:first-child{color:#ac8543;font-size:30px;margin-right:10px}.auth-brand>span:last-child{font-weight:400}
.auth-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:#778379}.auth-dialog [data-auth-close]{padding:0;width:34px;min-height:34px;border-radius:50%;font-size:22px;background:transparent;border-color:#e1d7c3}
.auth-dialog h2{font-size:29px;line-height:1.2;letter-spacing:-.6px;margin:12px 0;color:#152f29}.auth-intro{font-size:14px;color:#6a7b70;margin:0 0 24px}
.auth-dialog button,.auth-dialog input{font:inherit;min-height:46px;border-radius:9px;padding:11px 14px;border:1px solid #abc8b8;background:#fff9eb;color:#14554d}.auth-dialog button{cursor:pointer}.auth-dialog button:disabled{opacity:.5;cursor:wait}.auth-dialog button:hover:not(:disabled){background:#eef4e9}.auth-dialog :focus-visible{outline:3px solid #b48b3d;outline-offset:3px}
.auth-dialog .auth-provider{display:flex;align-items:center;justify-content:center;gap:12px;font-weight:750;width:100%;margin:9px 0;min-height:49px}
.auth-dialog form{display:grid;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid #e4e7dc}.auth-dialog label{display:grid;gap:7px;font-size:13px;font-weight:600}.auth-dialog input{width:100%;box-sizing:border-box;background:white;font-size:16px}.auth-dialog form button{background:#225442;color:white;font-weight:700}.auth-dialog form button:hover:not(:disabled){background:#30634f}
.auth-dialog .auth-switch{display:block;margin:10px auto 0;background:transparent;color:#225442;border:0;text-decoration:underline;text-underline-offset:4px;font-size:14px;font-weight:400}.auth-dialog .auth-help{font-size:12px;line-height:1.6;color:#748074;margin:0}.auth-dialog [data-auth-status]{font-size:12px;line-height:1.6;color:#626e5e;min-height:20px;margin:14px 0}
.auth-dialog form .auth-switch{margin:0 auto;font-weight:600;}
.auth-dialog form .auth-switch:hover:not(:disabled){background:#eef4e9;color:#183c36;}
.auth-dialog footer{display:flex;gap:10px;align-items:flex-start;border-top:1px solid #e4e7dc;padding-top:18px;margin-top:20px}.auth-dialog footer p{margin:0;font-size:12px;line-height:1.7;color:#647569}.auth-test-note{font-size:10px;line-height:1.6;color:#849086;margin:16px 0 0}.auth-dialog [hidden]{display:none!important}
@media(max-width:979px){.auth-entry{margin:4px 10px;font-size:12px;min-height:36px}}
@media(max-width:480px){.auth-dialog{padding:25px 22px;border-radius:18px}.auth-brand{margin-bottom:24px;font-size:26px}.auth-dialog h2{font-size:27px}}
.auth-email-view .auth-provider,.auth-email-view [data-auth-create],.auth-email-view .auth-intro{display:none}.auth-email-view form{border:0;padding-top:0}.auth-dialog [data-password-toggle]{justify-self:start;min-height:34px;padding:6px 10px;font-size:12px;font-weight:700;background:transparent}.auth-form-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.auth-email-view label{font-size:12px;text-transform:uppercase;color:#6b776f}.auth-dialog form [data-auth-back]{background:transparent;color:#183c36;font-weight:400}
.auth-dialog form [data-password-toggle],.auth-dialog form [data-auth-magic]{color:#14554d;-webkit-text-fill-color:#14554d;background:#fff9eb}.auth-dialog form [data-auth-magic]{font-weight:400;background:transparent}
.auth-dialog #auth-password[type=text]{-webkit-text-security:none;}
.auth-dialog form [data-password-toggle]{min-height:44px;touch-action:manipulation;}
.auth-dialog form [data-password-toggle]:hover:not(:disabled),.auth-dialog form [data-auth-magic]:hover:not(:disabled){color:#123e32;background:#e8efe5;-webkit-text-fill-color:#123e32}
.auth-confirmation-view .auth-intro{display:none}.auth-confirmation{line-height:1.7;font-size:14px}.auth-confirmation-icon{display:flex;width:52px;height:52px;align-items:center;justify-content:center;border-radius:50%;background:#edf2e6;color:#235442;font-size:25px;margin:20px 0 14px}.auth-confirmation h3{font-size:19px;color:#183c36;margin:0 0 12px}.auth-confirmation p{color:#617267}.auth-confirmation strong{display:block;padding:12px;background:#f4f0e4;border:1px solid #e3dac7;border-radius:9px;color:#235442;overflow-wrap:anywhere}.auth-dialog [data-confirmation-login]{display:block;width:100%;margin-top:22px;background:#225442;color:#fff;font-weight:700}.auth-dialog [data-confirmation-login]:hover{background:#30634f}
.auth-confirmation .auth-help{margin-top:16px}.auth-confirmation-view [data-auth-status]:empty{display:none}.auth-confirmation-view .auth-test-note{display:none}.auth-confirmation-view .auth-brand{margin-bottom:20px}
.auth-password-change.password-change-success{max-width:380px}.auth-password-change [data-password-success-ok]{width:100%;min-height:44px;background:#225442;color:#fff;font-weight:700;margin-top:8px}
.auth-password-change header{display:flex;align-items:flex-start;gap:12px}.auth-password-change h2{font-size:24px}.auth-password-change [data-close]{margin-left:auto}.auth-password-change p,.auth-password-change small{font-size:13px;line-height:1.6;color:#52665a}.auth-password-change [data-show]{background:#edf2e6;color:#14554d;font-size:13px}.auth-password-change [role=status]{min-height:22px}[data-account-password-change]{margin-right:10px;margin-bottom:10px}
.auth-logout-dialog{box-sizing:border-box;width:min(390px,calc(100vw - 32px));padding:25px;border:1px solid #526a54;border-radius:16px;background:#17291e;color:#e6eee8;box-shadow:0 24px 80px #0006;font:14px/1.6 system-ui,sans-serif}.auth-logout-dialog::backdrop{background:#07120bc9;backdrop-filter:blur(4px)}.auth-logout-dialog h2{font-size:22px;line-height:1.3;margin:0 0 10px;color:#ffe1a0}.auth-logout-dialog p{color:#b6c7b9;margin:0 0 23px}.auth-logout-dialog>div{display:flex;gap:10px}.auth-logout-dialog button{flex:1;min-height:44px;border:1px solid #65816c;border-radius:9px;background:transparent;color:#e6eee8;font:inherit;cursor:pointer;padding:9px}.auth-logout-dialog [data-logout-confirm]{background:#ffe1a0;border-color:#ffe1a0;color:#232218;font-weight:600}.auth-logout-dialog button:focus-visible{outline:2px solid #ffe1a0;outline-offset:3px}
/* Never replace a temporarily unreachable saved session with a login prompt. */
.auth-dialog [data-auth-resend-link]{display:block;margin:4px auto 12px;padding:6px;background:transparent;border:0;color:#315e53;text-decoration:underline;font-size:12px}.auth-dialog [data-auth-resend-link][hidden]{display:none}
.auth-resend-dialog header{display:flex;align-items:flex-start;gap:12px}.auth-resend-dialog h2{font-size:23px}.auth-resend-dialog [data-close]{margin-left:auto}.auth-resend-dialog p{font-size:14px;line-height:1.6}.auth-resend-dialog [type=submit]{background:#225442;color:#fff}
.auth-reconnecting{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:28px;background:#0b1e16;color:#f7edcf;text-align:center;gap:12px}
.auth-reconnecting[hidden]{display:none}
.auth-reconnecting h2{font-size:24px;margin:0}
.auth-reconnecting p{max-width:380px;line-height:1.6;color:#b9cfc3}
.auth-reconnecting button{padding:12px 24px;border:1px solid #87bda6;border-radius:10px;background:#244c39;color:#fff4d0;font:inherit;cursor:pointer}
