.auth-shell{background:#fff;min-height:100vh;display:grid}.auth-showcase{color:#173047;background:radial-gradient(circle at 82% 86%,#facc15 0,#facc15e6 13%,#0000 38%),radial-gradient(circle at 70% 46%,#facc15 0,#facc15a6 12%,#0000 36%),linear-gradient(145deg,#fef9c3,#facc15 48%,#facc15);padding:42px;display:none;position:relative;overflow:hidden}.auth-showcase:after{content:"";background:linear-gradient(125deg,#ffffff5c,#0000 54%);position:absolute;inset:0}.auth-showcase>*{z-index:1;position:relative}.auth-showcase-copy{max-width:470px;margin-top:auto}.auth-showcase-copy p{color:#775b44;margin:0;font-size:13px;font-weight:750}.auth-showcase-copy h2{color:#102d3a;letter-spacing:-.055em;margin:15px 0;font-size:clamp(34px,3.2vw,52px);font-weight:780;line-height:1.08}.auth-showcase-copy span{color:#4f5d5c;max-width:380px;font-size:14px;line-height:1.65;display:block}.auth-showcase-note{color:#6d5b4c;margin:0;font-size:12px;font-weight:650}.auth-content{background:#fff;flex-direction:column;display:flex}.auth-mobile-logo{padding:23px}.auth-content-inner{flex:1;justify-content:center;align-items:center;padding:32px 24px;display:flex}.auth-form{width:100%;max-width:390px}.auth-form-mark{color:#0d304c;place-items:center;width:32px;height:32px;margin-bottom:15px;font-size:26px;display:inline-grid}.auth-form h1{color:#15242b;letter-spacing:-.055em;margin:0;font-size:34px;font-weight:800;line-height:1.06}.auth-form>p:not(.auth-form-switch){color:#75817d;margin:10px 0 0;font-size:14px;line-height:1.5}.auth-form form{margin-top:29px!important}.auth-form form label{font-size:13px!important;font-weight:750!important}.auth-form form input{min-height:46px;background:#fff!important;border-color:#dde3e0!important;border-radius:5px!important}.auth-form form button[type=submit]{min-height:46px;box-shadow:0 8px 18px #0d304c2e;background:#0d304c!important;border-radius:5px!important;font-size:14px!important}.auth-form-switch{text-align:center;color:#78847f!important;margin:23px 0 0!important;font-size:13px!important}.auth-form-switch a{color:#0d304c;font-weight:800;text-decoration:none}.auth-form-switch a:hover{text-decoration:underline}@media (min-width:900px){.auth-shell{grid-template-columns:minmax(0,1fr) minmax(460px,1.12fr);gap:12px;padding:12px}.auth-showcase{border-radius:14px;flex-direction:column;display:flex}.auth-content{border-radius:14px}.auth-mobile-logo{display:none}.auth-content-inner{padding:54px}}@media (max-width:899px){.auth-showcase{display:none}}.auth-showcase{background:linear-gradient(145deg,#facc15c2,#facc158c 48%,#082c438c),url(/images/login-showcase.jpg) 50%/cover no-repeat}.auth-showcase:after{background:linear-gradient(#ffffff0a 42%,#0821308c)}.auth-showcase-copy p{color:#fef08a}.auth-showcase-copy h2{color:#fff;text-shadow:0 2px 16px #08213038}.auth-showcase-copy span{color:#ffffffe6}.auth-showcase-note{color:#ffffffc7}.auth-form form button[type=submit]{box-shadow:0 8px 18px #0d304c38;color:#fff!important;background:#0d304c!important}.auth-form form button[type=submit]:hover{background:#0d304c!important}.auth-register-form form input{border-radius:1px!important}.recovery-form{max-width:420px}.recovery-back{color:#62716e;align-items:center;gap:7px;margin:0 0 30px;font-size:13px;font-weight:650;text-decoration:none;transition:color .18s;display:inline-flex}.recovery-back:hover{color:#082c43}.recovery-icon{color:#0d304c;background:#fef9c3;border:1px solid #facc15;border-radius:50%;place-items:center;width:52px;height:52px;margin-bottom:18px;display:grid}.recovery-eyebrow{letter-spacing:.11em;text-transform:uppercase;color:#0d304c!important;margin:0 0 7px!important;font-size:11px!important;font-weight:800!important}.recovery-form h1{font-size:36px}.recovery-intro{color:#687774!important;max-width:395px!important;margin-top:12px!important;font-size:14px!important;line-height:1.6!important}.recovery-fields{gap:10px;display:grid;margin-top:28px!important}.recovery-fields label{color:#0d304c;font-size:13px;font-weight:750}.recovery-input-wrap{position:relative}.recovery-input-wrap>svg{z-index:1;color:#94a09d;pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.recovery-input-wrap input{color:#0d304c;outline:0;width:100%;font-size:14px;transition:border-color .18s,box-shadow .18s;border:1px solid #e5d37c!important;border-radius:5px!important;min-height:49px!important;padding:0 14px 0 44px!important}.recovery-input-wrap input:focus{box-shadow:0 0 0 3px #facc152b;border-color:#0d304c!important}.recovery-fields button{color:#fff;background:#0d304c;border:0;border-radius:5px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:48px;margin-top:8px;font-size:14px;font-weight:800;transition:background .18s,transform .18s;display:inline-flex;box-shadow:0 8px 18px #0d304c38}.recovery-fields button:hover:not(:disabled){background:#0d304c;transform:translateY(-1px)}.recovery-fields button:disabled{cursor:not-allowed;opacity:.7}.recovery-message,.recovery-error{border-radius:5px;padding:11px 13px;margin:5px 0 0!important;font-size:13px!important;line-height:1.45!important}.recovery-message{background:#fefce8;border:1px solid #e5d37c;color:#0d304c!important}.recovery-error{background:#fff5f3;border:1px solid #f0c5bf;color:#a63d32!important}.recovery-field-hint{color:#87928f!important;margin:0!important;font-size:12px!important;line-height:1.45!important}.recovery-help{text-align:center;color:#75817d!important;margin:23px 0 0!important;font-size:13px!important}.recovery-help a{color:#0d304c;font-weight:800;text-decoration:none}.recovery-help a:hover{text-decoration:underline}.registration-success{text-align:center;width:100%;max-width:440px}.registration-success-mark{color:#082c43;background:#facc15;border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto 20px;font-size:31px;font-weight:900;display:grid}.registration-success-eyebrow{color:#0d304c;letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.registration-success h1{color:#15242b;letter-spacing:-.055em;margin:10px 0 0;font-size:38px;font-weight:800;line-height:1.08}.registration-success>p:not(.registration-success-eyebrow){color:#687572;max-width:390px;margin:16px auto 0;font-size:15px;line-height:1.65}.registration-success-button{color:#fff;background:#0d304c;border-radius:5px;justify-content:center;align-items:center;min-height:46px;margin-top:28px;padding:0 22px;font-size:14px;font-weight:800;transition:background .2s,transform .2s;display:inline-flex}.registration-success-button:hover{background:#0d304c;transform:translateY(-1px)}.registration-success-note{color:#87918e;margin-top:16px;font-size:12px;display:block}.membership-welcome{width:100%;max-width:720px}.membership-welcome-eyebrow{color:#0d304c;letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.membership-welcome h1{color:#15242b;letter-spacing:-.06em;max-width:620px;margin:10px 0 0;font-size:clamp(32px,4vw,44px);font-weight:800;line-height:1.08}.membership-welcome-intro{color:#687572;max-width:590px;margin:14px 0 0;font-size:14px;line-height:1.65}.membership-choice-grid{grid-template-columns:minmax(0,.84fr) minmax(0,1.4fr);gap:16px;margin-top:30px;display:grid}.membership-choice{background:#fff;border:1px solid #e5d37c;border-radius:8px;padding:21px}.membership-choice-label{color:#8a9892;letter-spacing:.09em;text-transform:uppercase;margin:0;font-size:10px;font-weight:800}.membership-choice h2{color:#0d304c;letter-spacing:-.04em;margin:11px 0 0;font-size:22px;font-weight:750}.membership-choice-standard>strong{color:#0d304c;letter-spacing:-.05em;margin-top:12px;font-size:28px;font-weight:800;display:block}.membership-choice-standard>p:not(.membership-choice-label){color:#72807a;min-height:36px;margin:5px 0 0;font-size:12px;line-height:1.45}.membership-choice-standard form{margin-top:19px}.membership-choice-standard button{color:#fff;cursor:pointer;background:#0d304c;border:0;border-radius:5px;justify-content:center;align-items:center;width:100%;min-height:42px;font-size:12px;font-weight:800;transition:background .2s,transform .2s;display:flex}.membership-choice-standard button:hover{background:#0d304c;transform:translateY(-1px)}.membership-choice-paid{background:#fefce8;border:1px solid #e5d37c;border-radius:8px;padding:21px}.membership-choice-paid>.membership-choice-label{margin-bottom:10px}.membership-choice-paid-row{border-top:1px solid #e5d37c;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;text-decoration:none;display:flex}.membership-choice-paid-row:first-of-type{border-top:0}.membership-choice-paid-row span{gap:3px;display:grid}.membership-choice-paid-row b{color:#0d304c;font-size:13px;font-weight:750}.membership-choice-paid-row small{color:#7d8984;font-size:11px;line-height:1.3}.membership-choice-price{text-align:right}.membership-choice-paid-row:hover b{color:#0d304c}.membership-welcome-note{color:#7d8884;margin:19px 0 0;font-size:12px}.membership-welcome-pricing{color:#0d304c;text-underline-offset:3px;margin-top:7px;font-size:12px;font-weight:800;text-decoration:underline;display:inline-flex}@media (max-width:640px){.membership-welcome{max-width:430px}.membership-choice-grid{grid-template-columns:1fr}.membership-choice-standard>p:not(.membership-choice-label){min-height:0}.membership-choice-paid-row{padding:12px 0}}.auth-loading-skeleton{width:100%;max-width:390px}.auth-loading-mark{border-radius:8px;width:32px;height:32px;margin-bottom:16px}.auth-loading-title{border-radius:7px;width:62%;height:36px}.auth-loading-copy{border-radius:5px;width:88%;height:15px;margin-top:12px}.auth-loading-form{gap:10px;margin-top:30px;display:grid}.auth-loading-social{border-radius:5px;width:100%;height:44px}.auth-loading-divider{color:#b4bdb9;letter-spacing:.1em;text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;height:23px;font-size:10px;font-weight:800;display:grid}.auth-loading-divider .skeleton{border-radius:0;height:1px}.auth-loading-label{border-radius:4px;width:27%;height:11px;margin-top:4px}.auth-loading-field{border-radius:5px;width:100%;height:46px}.auth-loading-button{border-radius:5px;width:100%;height:46px;margin-top:10px}.auth-loading-footer{border-radius:4px;width:48%;height:13px;margin:24px auto 0}.auth-shell{background:#fefce8;min-height:100svh;padding:0;display:flex}.auth-content{background:0 0;border-radius:0;width:100%}.auth-card{background:#fff;border:1px solid #eae8d9;border-radius:5px;width:100%;max-width:432px;padding:36px;box-shadow:0 12px 40px #2f31180f}.auth-card .auth-form{max-width:none}.login-brand{justify-content:center;margin-bottom:36px;display:flex}.login-brand .site-logo-crop{width:224px;max-width:100%;height:52px}.auth-card h1{text-align:center;letter-spacing:-.035em;font-size:24px;font-weight:650;line-height:1.3}.auth-card .auth-form>p:not(.auth-form-switch){text-align:center}.auth-card form.login-fields{gap:20px;display:grid;margin-top:30px!important}.auth-card form label{color:#263e4b;font-size:13px!important;font-weight:600!important}.auth-card form input{min-height:48px;font-size:16px;border-color:#dce2e5!important;border-radius:5px!important}.auth-card form input:focus-visible{outline-offset:2px;outline:2px solid #123c50}.auth-card .login-forgot{color:#395567;justify-self:end;margin-top:-8px;font-size:13px;font-weight:500;text-decoration:none}.auth-card .login-forgot:hover{text-underline-offset:3px;text-decoration:underline}.auth-card form button[type=submit]{min-height:48px;box-shadow:none;font-weight:650;border-radius:5px!important}.auth-card form button[type=submit]:hover{background:#17475f!important}.auth-card form>a[href^="/api/auth/google"]{border-radius:5px;height:48px;font-weight:500}.auth-card .auth-form-switch{color:#6a7780!important;margin-top:28px!important;font-size:13px!important}.auth-card .auth-form-switch a,.auth-card .recovery-help a{color:#173e51;font-weight:600}.auth-card a:focus-visible{outline-offset:4px;outline:2px solid #173e51}.auth-card .recovery-icon,.auth-card .recovery-eyebrow{display:none}.auth-card .recovery-back{margin-bottom:24px}.auth-card .recovery-intro{font-size:14px!important;line-height:1.6!important}.auth-card .recovery-fields{margin-top:28px!important}body:has(.auth-shell)>.site-footer{display:none}@media (max-width:480px){.auth-content-inner{padding:28px 16px}.auth-card{padding:28px 24px}.login-brand{margin-bottom:30px}}.auth-login-form .login-fields input:not([type=hidden]){border-radius:2px!important}.auth-content{isolation:isolate;position:relative;overflow:hidden}.auth-content-inner{z-index:1;position:relative}.auth-background-icons{z-index:0;pointer-events:none;display:none;position:absolute;inset:0;overflow:hidden}.auth-content:has(.auth-login-form,.auth-register-form) .auth-background-icons{display:block}.auth-background-icon{color:#0d304c;opacity:.09;stroke-width:1.5px;width:24px;height:24px;position:absolute}.auth-background-icon:nth-child(2n){color:#bd8b12;opacity:.15}.auth-background-icon-1{width:26px;height:26px;top:9%;left:9%}.auth-background-icon-2{width:21px;height:21px;top:15%;right:12%}.auth-background-icon-3{width:23px;height:23px;top:43%;left:5%}.auth-background-icon-4{width:27px;height:27px;bottom:24%;right:7%}.auth-background-icon-5{width:22px;height:22px;bottom:10%;left:17%}.auth-background-icon-6{width:22px;height:22px;bottom:8%;right:18%}.auth-background-icon-7{width:19px;height:19px;top:33%;right:5%}.auth-background-icon-8{width:20px;height:20px;top:71%;left:7%}.auth-background-icon-9{width:21px;height:21px;top:7%;right:39%}.auth-background-icon-10{width:21px;height:21px;bottom:39%;left:18%}.auth-background-icon-11{width:19px;height:19px;top:55%;right:20%}.auth-background-icon-12{width:20px;height:20px;bottom:7%;right:45%}.auth-content-inner{padding:32px 20px}.auth-card{max-width:400px;padding:24px}.login-brand{margin-bottom:20px}.login-brand .site-logo{height:46px}.login-brand .site-logo-crop{width:196px;height:46px}.auth-card form.login-fields{gap:14px;margin-top:20px!important}.auth-card .auth-register-form form{margin-top:16px!important}.auth-card form label{margin-bottom:3px!important}.auth-card form input{min-height:42px}.auth-card form button[type=submit]{height:42px;min-height:42px}.auth-card form>a[href^="/api/auth/google"]{height:40px}.auth-card .auth-form-switch{margin-top:16px!important}@media (max-width:899px){.auth-content-inner{padding:24px 16px}}@media (max-width:480px){.auth-content-inner{padding:18px 12px}.auth-card{padding:20px 16px}.login-brand{margin-bottom:16px}}
