/* Account forms: isolated from the dashboard and benchmark layouts. */
.auth-page { background: #edf8fa; }
.auth-main { padding:48px 24px 56px; background:radial-gradient(ellipse at 15% 15%,#d5f2f4,transparent 55%); }
.auth-shell { display:grid;grid-template-columns:1fr 1fr;max-width:1060px;margin:auto;background:#fff;border:1px solid #d2e6eb;border-radius:24px;overflow:hidden;box-shadow:0 20px 65px #0a425312; }
.auth-story { position:relative;display:flex;flex-direction:column;padding:42px 40px 30px;background:linear-gradient(145deg,#073b54,#07637b);color:white;overflow:hidden; }
.auth-story::after { content:'';position:absolute;bottom:-4px;left:0;right:0;height:100px;background:url('../waves.svg') bottom/160% 100% no-repeat;opacity:.08;pointer-events:none; }
.auth-eyebrow { font-size:11px;font-weight:700;letter-spacing:.14em;color:#06778b;line-height:1.6;margin:0 0 14px; }
.auth-story .auth-eyebrow { color:#a0e3e9;display:flex;align-items:center;gap:9px; }
.auth-eyebrow span { width:7px;height:7px;border-radius:50%;background:#80e2d3; }
.auth-story h2 { color:white;font-size:clamp(27px,3vw,36px);line-height:1.25;letter-spacing:-.03em;margin:10px 0 16px; }
.auth-story h2 em { color:#89e6df;font-style:normal; }
.auth-story-copy { color:#d0e9ee;font-size:16px;line-height:1.7;max-width:32ch;margin:0; }
.auth-illustration { display:block;width:100%;max-width:390px;height:auto;align-self:center;margin:6px 0; }
.auth-story-bottom { position:relative;z-index:1;display:flex;gap:14px;margin-top:auto;padding-top:22px;border-top:1px solid #ffffff25; }
.auth-story-bottom strong { display:block;font-size:15px;font-weight:600; }
.auth-story-bottom p { font-size:13px;line-height:1.65;color:#c2e2e9;margin:5px 0 0;max-width:32ch; }
.auth-watermark { font-size:36px;color:#85e2de;line-height:1; }
.auth-form-side { padding:36px 44px 34px;min-width:0; }
.auth-back { display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#56717f;text-decoration:none;margin-bottom:32px; }
.auth-back:hover { color:#006f83; }
.auth-form-heading h1 { color:#123b50;font-size:34px;line-height:1.15;letter-spacing:-.04em;margin:0 0 10px;text-wrap:initial; }
.auth-form-heading>p:last-child { color:#607580;font-size:15px;line-height:1.6;margin:0 0 26px; }
.auth-form-heading .auth-eyebrow { margin-bottom:10px; }
.auth-form .field { margin:0 0 19px; }
.auth-form label { display:block;font-size:14px;font-weight:600;color:#224456;margin-bottom:8px; }
.auth-form input,.auth-form select { display:block;width:100%;min-height:50px;padding:12px 14px;background:#fff;border:1px solid #b9cfd7;border-radius:10px;color:#173d52;font:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s; }
.auth-form input::placeholder { color:#728894;opacity:1; }
.auth-form input:focus,.auth-form select:focus { outline:2px solid #04788c;outline-offset:2px;border-color:#04788c;box-shadow:0 0 0 4px #dff4f6; }
.auth-password { position:relative; }
.auth-password input { padding-right:74px; }
.auth-reveal { position:absolute;right:5px;top:5px;bottom:5px;min-width:58px;padding:0 9px;background:transparent;border:0;border-radius:7px;font:inherit;font-size:13px;font-weight:600;color:#006d81;cursor:pointer; }
.auth-reveal:hover { background:#e9f6f8; }
.auth-help { font-size:13px;color:#526e7c;margin-top:-3px; }
.auth-help summary { cursor:pointer;color:#006e82;width:fit-content; }
.auth-help p { background:#f0f8fa;padding:12px;border-radius:8px;margin:10px 0 0; }
.auth-message { font-size:14px;line-height:1.5;color:#9c2e28;margin:0; }
.auth-message:not(:empty) { margin:15px 0;padding:11px 13px;background:#fff2ef;border:1px solid #efc7bf;border-radius:9px; }
.auth-form .auth-submit { display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:51px;margin-top:23px;background:#04788b;border:1px solid #04788b;border-radius:10px;color:white;font-size:15px;font-weight:700;box-shadow:0 4px 12px #00788b18; }
.auth-form .auth-submit:hover { background:#035e73; }
.auth-form .auth-submit:disabled { opacity:.65;cursor:wait; }
.auth-privacy { display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;color:#627c88;margin:16px 0 0; }
.auth-privacy svg { flex-shrink:0; }
.auth-divider { height:1px;background:#e4edf0;margin:26px 0 22px; }
.auth-register { font-size:14px;line-height:1.8;color:#56717f;margin:0; }
.auth-register a { color:#006d82;font-weight:600;text-decoration:none; }
.auth-coach { font-size:13px;color:#607986;margin:9px 0 0; }
.auth-coach a { color:#406777; }
.auth-page .site-foot { background:transparent;border-top:1px solid #d8e9ed; }
.auth-page .site-foot .wrap { text-align:center;font-size:13px; }
.auth-page .site-foot p { margin-inline:auto !important; }
.auth-fieldset { border:0;padding:0;margin:0 0 17px;min-width:0; }
.auth-fieldset legend { width:100%;padding:0 0 10px;margin:0 0 16px;border-bottom:1px solid #e3edf0;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#496b7a; }
.auth-field-row { display:grid;grid-template-columns:1fr 1fr;gap:15px; }
.auth-form small { display:block;font-size:12px;line-height:1.5;color:#607984;margin-top:7px; }
.auth-optional { font-weight:400;color:#657d88; }
.auth-signup-note { font-size:13px;color:#607984;line-height:1.6;margin:0; }
.auth-shell-signup .auth-story { justify-content:flex-start; }
.auth-shell-signup .auth-illustration { margin:36px 0; }
@media(max-width:800px) {
 .auth-main { padding:28px 18px 36px; }
 .auth-story { padding:32px 26px; }
 .auth-form-side { padding:30px 26px; }
 .auth-story h2 { font-size:28px; }
 .auth-form-heading h1 { font-size:29px; }
 .auth-privacy { font-size:11px; }
}
@media(max-width:620px) {
 .auth-main { padding:20px 14px 28px; }
 .auth-shell { grid-template-columns:1fr;border-radius:18px;max-width:460px; }
 .auth-story { padding:24px; }
 .auth-story h2 { font-size:25px;margin:3px 0 0; }
 .auth-story h2 br { display:none; }
 .auth-story h2 em::before { content:' '; }
 .auth-story-copy,.auth-illustration,.auth-story-bottom { display:none; }
 .auth-story .auth-eyebrow { font-size:9px;margin-bottom:10px; }
 .auth-form-side { padding:25px 24px 30px; }
 .auth-back { margin-bottom:24px; }
 .auth-form input,.auth-form select { font-size:16px; }
 .auth-form-heading h1 { font-size:30px; }
 .auth-privacy { font-size:12px;justify-content:flex-start; }
 .auth-shell-signup .auth-story h2 { font-size:22px; }
}
@media(prefers-reduced-motion:reduce) { .auth-form input,.auth-form select { transition:none; } }
