/* Presentation adaptation around recovered controllers; no authentication logic here. */
.v3-auth-overlay{position:fixed;inset:0;z-index:2000;background:#07245077;display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(3px)}.v3-auth-modal{position:relative;width:min(450px,100%);max-height:calc(100dvh - 48px);overflow:auto;border-radius:18px;background:#fff;color:#102b58;padding:28px;box-shadow:0 25px 80px #06256844;text-align:left}.v3-auth-close{position:absolute;right:13px;top:11px;border:0;background:#eef5ff;color:#285584;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;font-size:23px;text-decoration:none;z-index:1}.restored-brand{display:block;width:146px;height:42px;background:var(--blue);mask:url(/brand/fitterous-wordmark-white.png) center/contain no-repeat;-webkit-mask:url(/brand/fitterous-wordmark-white.png) center/contain no-repeat}.fitterous-auth-brand{margin-bottom:24px}.v3-auth-modal h2{font-size:28px;margin:12px 0 8px;letter-spacing:-.6px}.v3-auth-modal p{font-size:13px;line-height:1.7;color:#5e779c}.v3-auth-modal label{display:block;font-size:12px;font-weight:600;margin:16px 0 8px}.v3-auth-modal input:not([type=checkbox]){display:block;width:100%;height:46px;margin-top:7px;padding:11px 13px;border:1px solid #bdcfe9;border-radius:9px;background:#fff!important;color:#172126!important;caret-color:#172126;font:inherit;box-sizing:border-box}.v3-auth-modal input:focus{outline:2px solid #8eb8f7;outline-offset:2px}.v3-auth-modal input:-webkit-autofill{box-shadow:0 0 0 100px white inset!important;-webkit-text-fill-color:#172126!important}.v3-auth-password{display:block;position:relative}.v3-auth-password input{padding-right:48px!important}.v3-auth-password button{position:absolute;right:5px;top:4px;width:40px;height:38px;border:0;background:none;color:#397391;display:grid;place-items:center}.v3-auth-primary,.fitterous-auth-secondary,.v3-reset-account{display:block;width:100%;text-align:center;border-radius:25px;border:0;background:#0c4fcb;color:white;padding:13px 18px;font-weight:700;font-size:13px;min-height:44px;margin-top:18px;box-sizing:border-box;text-decoration:none}.fitterous-auth-secondary{background:#f2f7ff;color:#12438c;border:1px solid #ccdff8;margin-top:8px}.v3-auth-forgot{display:block;margin:16px auto 0;border:0;background:none;color:#075bdf;font-size:12px}.fitterous-auth-switch{text-align:center;border-top:1px solid #e0e9f6;margin-top:20px;padding-top:5px}.fitterous-auth-terms{font-size:10px!important;text-align:center}.fitterous-auth-terms a{color:#075bdf}.v3-auth-modal .v3-auth-remember,.v3-auth-show-passwords{display:flex!important;align-items:center;gap:8px;margin:13px 0;font-size:11px;font-weight:400}.v3-auth-modal input[type=checkbox]{appearance:none;width:16px;height:16px;flex:none;border:1px solid #397391;border-radius:3px;background:transparent;margin:0;position:relative}.v3-auth-modal input[type=checkbox]:checked:after{content:'';position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid #397391;border-width:0 2px 2px 0;transform:rotate(45deg)}.v3-auth-modal-status,.v3-recovery-success{background:#f0f6ff;padding:12px;border-radius:9px;font-size:12px;color:#174c91}.v3-recovery-success span{display:block}.v3-auth-modal button:disabled{opacity:.5}.v3-recovery-site{height:0}.review-toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);z-index:2200;padding:16px;background:#fff;border:1px solid #c5d9f5;border-radius:12px;box-shadow:0 10px 30px #1234;font-size:13px}.review-toast button{background:transparent;border:0;margin-left:15px}.test-letter iframe{width:100%;height:320px;border:1px solid #dce7f6;border-radius:10px}.letter-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:16px}.letter-actions .primary{display:inline-flex;background:#0b4bc5;color:white;border-radius:25px;padding:12px 18px;font-size:12px}.test-letter small{font-size:11px;color:#617ba1}.cookies-section code{overflow-wrap:anywhere}.review-info .fitterous-info-reading-panel{border:1px solid #dce7f7;border-radius:12px}.review-info .fitterous-info-section-number{font-size:10px;color:#7f9cc5;letter-spacing:2px}
@media(max-width:600px){.v3-auth-overlay{padding:12px}.v3-auth-modal{padding:23px 22px;max-height:calc(100dvh - 24px)}.fitterous-auth-brand{margin-bottom:16px}.v3-auth-modal h2{font-size:25px}.v3-auth-modal p{font-size:12px}.v3-auth-modal label{margin-top:12px}.fitterous-auth-switch{margin-top:15px}.letter-actions{align-items:stretch;flex-direction:column}.test-letter iframe{height:380px}}
.v3-auth-modal .password-visibility-icon{width:24px;height:18px}
.footer-review .footer-socials .cut{fill:#0c43a9;stroke:none}
.v3-auth-modal .auth-test-label{font-size:10px;color:#7b8fab;margin:-12px 0 16px}.auth-test-mail{display:block;text-align:center;color:#075bdf;font-size:12px;text-decoration:underline;margin-top:12px}

/* 16 October 2026: Youssef's bottom-sheet cookie choice, within Clear & Strong.
   New component classes replace the historical centred .cookie-dialog surface. */
html body .cs-cookie-backdrop {
 position:fixed!important; inset:0!important; z-index:2147483000!important;
 display:flex!important; align-items:flex-end!important; justify-content:stretch!important;
 margin:0!important; padding:0!important; background:rgb(18 30 38 / 48%)!important;
 isolation:isolate; overflow:hidden!important; overscroll-behavior:contain;
}
html body .cs-cookie-sheet {
 box-sizing:border-box; width:100%; max-height:100vh; max-height:100dvh;
 margin:0; padding:32px max(28px,env(safe-area-inset-right)) max(30px,env(safe-area-inset-bottom)) max(28px,env(safe-area-inset-left));
 border:0; border-top:1px solid #dbe8f9; border-radius:0;
 background:#fff; color:#102350; box-shadow:0 -12px 40px #10235014;
 font:400 14px/1.6 Arial,Helvetica,sans-serif;
 animation:cs-cookie-rise 280ms cubic-bezier(.2,.7,.2,1) both;
 overscroll-behavior:contain; overflow:hidden;
}
html body .cs-cookie-content {
 display:grid; grid-template-columns:minmax(0,1fr) 210px; align-items:stretch;
 gap:40px; max-width:1280px; margin:0 auto; max-height:calc(100vh - 64px);
 max-height:calc(100dvh - 64px);
}
html body .cs-cookie-copy {display:grid; grid-template-columns:1fr 1fr; gap:40px; min-width:0; min-height:0; overflow:auto; overscroll-behavior:contain}
html body .cs-cookie-copy>div {min-width:0}
html body .cs-cookie-sheet :is(h2,h3,p) {padding:0; color:inherit; text-transform:none; letter-spacing:normal; text-shadow:none}
html body .cs-cookie-sheet h2 {font:700 18px/1.4 Arial,Helvetica,sans-serif; margin:0 0 10px}
html body .cs-cookie-sheet h3 {font:700 15px/1.4 Arial,Helvetica,sans-serif; margin:0 0 10px}
html body .cs-cookie-sheet p {font:400 14px/1.6 Arial,Helvetica,sans-serif; color:#667a9d; margin:0 0 8px; overflow-wrap:break-word}
html body .cs-cookie-sheet a {color:#073da5; font:inherit; text-decoration:underline; text-underline-offset:3px}
html body .cs-cookie-links {display:flex; flex-wrap:wrap; gap:8px 18px}
html body .cs-cookie-actions {display:grid; align-self:center; gap:10px; min-width:0}
html body .cs-cookie-sheet button {box-sizing:border-box; margin:0; cursor:pointer; font:700 14px/1.35 Arial,Helvetica,sans-serif; text-transform:none; letter-spacing:normal; text-shadow:none; box-shadow:none; transition:background-color .15s,border-color .15s}
html body .cs-cookie-actions>button {display:flex; align-items:center; justify-content:center; width:100%; min-height:46px; padding:12px 16px; border-radius:5px; border:1px solid #073da5; white-space:normal}
html body .cs-cookie-actions>.cs-cookie-primary {background:#073da5; color:#fff}
html body .cs-cookie-actions>.cs-cookie-primary:hover {background:#052d82; border-color:#052d82}
html body .cs-cookie-actions>.cs-cookie-secondary {background:#fff; color:#073da5}
html body .cs-cookie-actions>.cs-cookie-secondary:hover {background:#e9f7ff}
html body .cs-cookie-actions>.cs-cookie-manage {border-color:transparent; background:transparent; color:#073da5; font-weight:400; text-decoration:underline; text-underline-offset:3px}
html body .cs-cookie-actions>.cs-cookie-manage:hover {background:#f3f7fd}
html body .cs-cookie-sheet :is(a,button):focus-visible {outline:2px solid #102350; outline-offset:3px}
html body .cs-cookie-sheet h2:focus {outline:none}
html body .cs-cookie-sheet .cs-cookie-compact, html body .cs-cookie-sheet .cs-cookie-mobile-policy {display:none}
html body .cs-cookie-settings-body {overflow:auto; min-height:0; padding-right:6px; overscroll-behavior:contain}
html body .cs-cookie-sheet .cs-cookie-back {display:inline-flex; align-items:center; min-height:44px; border:0; padding:0 10px 0 0; background:transparent; color:#073da5}
html body .cs-cookie-option {display:flex; align-items:center; justify-content:space-between; gap:24px; border-top:1px solid #dbe8f9; padding:16px 0}
html body .cs-cookie-option>div {min-width:0}
html body .cs-cookie-option h3 {margin:0 0 4px}
html body .cs-cookie-option p {margin:0}
html body .cs-cookie-required {flex:none; color:#667a9d; font-size:13px; white-space:nowrap}
html body .cs-cookie-switch {display:flex; flex:none; align-items:center; gap:9px; min-height:44px; padding:0; border:0; color:#073da5; background:transparent}
html body .cs-cookie-switch i {position:relative; width:44px; height:26px; background:#dbe8f9; border:1px solid #a6c3ec; border-radius:20px}
html body .cs-cookie-switch i:after {content:''; position:absolute; top:3px; left:3px; height:18px; width:18px; border-radius:50%; background:#fff; box-shadow:0 1px 3px #10235030; transition:transform .15s}
html body .cs-cookie-switch[aria-checked=true] i {background:#073da5; border-color:#073da5}
html body .cs-cookie-switch[aria-checked=true] i:after {transform:translateX(18px)}
html body .cs-cookie-notice {position:fixed; z-index:2147483000; bottom:max(16px,env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:12px; box-sizing:border-box; width:max-content; max-width:calc(100% - 24px); padding:12px 16px; background:#fff; color:#102350; border:1px solid #dbe8f9; border-radius:6px; box-shadow:0 4px 24px #10235025; font:14px/1.5 Arial,Helvetica,sans-serif}
html body .cs-cookie-notice button {flex:none; width:44px; height:44px; border:0; background:transparent; color:#073da5; cursor:pointer; font-size:24px}
/* Policy reader shares the consent sheet; only the document body scrolls. */
html body .cs-cookie-reading .cs-cookie-content {display:flex; flex-direction:column; align-items:stretch; gap:0; height:min(620px,calc(100vh - 64px)); height:min(620px,calc(100dvh - 64px))}
html body .cs-cookie-policy-view {display:flex; flex-direction:column; min-height:0; height:100%; animation:cs-cookie-document-in .18s ease-out}
html body .cs-cookie-policy-top {flex:none; padding-bottom:12px; border-bottom:1px solid #dbe8f9}
html body .cs-cookie-policy-top h2 {margin:4px 0 0}
html body .cs-cookie-policy-scroll {flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; padding:20px 12px 8px 0}
html body .cs-cookie-policy-scroll h3 {font-size:16px; margin:22px 0 10px}
html body .cs-cookie-policy-scroll h3:first-child {margin-top:0}
html body .cs-cookie-policy-scroll p {max-width:1000px; margin:0 0 14px; line-height:1.65}
html body .cs-cookie-policy-scroll .cs-cookie-policy-item {padding-left:18px; border-left:2px solid #dbe8f9}
@keyframes cs-cookie-document-in {from {opacity:0;transform:translateY(10px)} to {opacity:1;transform:translateY(0)}}
@keyframes cs-cookie-rise {from {transform:translateY(100%)} to {transform:translateY(0)}}
@media(max-width:1023px) {
 html body .cs-cookie-sheet {padding:24px max(24px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}
 html body .cs-cookie-content {grid-template-columns:minmax(0,1fr); gap:18px; max-height:calc(100vh - 48px); max-height:calc(100dvh - 48px); grid-template-rows:minmax(0,1fr) auto}
 html body .cs-cookie-copy {gap:28px}
 html body .cs-cookie-actions {grid-template-columns:1fr 1fr; gap:8px 12px}
 html body .cs-cookie-actions>.cs-cookie-manage {grid-column:1/-1}
}
@media(max-width:599px) {
 html body .cs-cookie-sheet {padding:20px max(20px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}
 html body .cs-cookie-content {gap:14px; max-height:calc(100vh - 40px); max-height:calc(100dvh - 40px)}
 html body .cs-cookie-copy {display:block}
 html body .cs-cookie-sheet h2 {font-size:18px; margin-bottom:10px}
 html body .cs-cookie-sheet p {font-size:14px; line-height:1.5}
 html body .cs-cookie-sheet .cs-cookie-compact {display:block}
 html body .cs-cookie-sheet .cs-cookie-mobile-policy {display:flex}
 html body .cs-cookie-sheet .cs-cookie-full, html body .cs-cookie-sheet .cs-cookie-purposes {display:none}
 html body .cs-cookie-actions {grid-template-columns:minmax(0,1fr); gap:8px}
 html body .cs-cookie-actions>button {min-height:44px; padding:10px 14px}
 html body .cs-cookie-actions>.cs-cookie-manage {grid-column:auto}
 html body .cs-cookie-reading .cs-cookie-content {height:min(620px,calc(100vh - 40px)); height:min(620px,calc(100dvh - 40px))}
 html body .cs-cookie-policy-top {padding-bottom:10px}
 html body .cs-cookie-policy-scroll {padding-top:16px}
 html body .cs-cookie-option {gap:12px; align-items:flex-start}
 html body .cs-cookie-required {font-size:12px}
 html body .cs-cookie-option p {font-size:13px}
 html body .cs-cookie-option h3 {font-size:14px}
}
@media(max-height:500px) and (min-width:1024px) {
 html body .cs-cookie-sheet {padding-block:16px}
 html body .cs-cookie-content {max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px)}
}
@media(prefers-reduced-motion:reduce) {
 html body .cs-cookie-sheet,html body .cs-cookie-policy-view {animation:none}
 html body .cs-cookie-sheet button,html body .cs-cookie-switch i:after {transition:none}
}
