/* CoreDiet approved access design: white background, blue outline. */
html.cd-auth-page,body.cd-auth-page{color-scheme:light;background:#fff!important;color:#0a1931;font-family:Montserrat,system-ui,-apple-system,'Segoe UI',sans-serif;margin:0;min-height:100%;overflow-x:hidden}
.cd-auth-page *{box-sizing:border-box}.cd-auth-page button,.cd-auth-page input{font:inherit}.cd-auth-page button,.cd-auth-page a{touch-action:manipulation}.cd-auth-page button{cursor:pointer}.cd-auth-page .hidden{display:none!important}
.cd-auth-page .auth-shell,.cd-auth-page .login-app{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:100vh;min-height:100dvh;padding:36px 20px max(28px,env(safe-area-inset-bottom))!important;background:#fff!important;gap:24px!important;overflow:visible!important}
.cd-auth-page .login-hero,.cd-auth-page .hero-card{display:block!important;background:none!important;min-height:0!important;height:auto!important;width:auto!important;max-width:100%!important;padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;text-align:center!important;position:static!important}
.cd-auth-page .hero-card:after,.cd-auth-page .area-identification,.cd-auth-page .sheet-handle{display:none!important}
.cd-auth-page .core-logo,.cd-auth-page .auth-brand{display:block!important;width:174px!important;height:auto!important;max-height:64px!important;position:static!important;margin:0 auto!important;filter:none!important;transform:none!important}
.cd-auth-page .login-sheet,.cd-auth-page .form-card{flex:none!important;display:block!important;width:100%!important;max-width:430px!important;min-height:0!important;max-height:none!important;margin:0!important;padding:32px 35px 26px!important;background:#fff!important;border:2px solid #003b71!important;border-radius:24px!important;box-shadow:0 10px 32px #003b710a!important;overflow:visible!important}
.cd-auth-page .form-head,.cd-auth-page .form-body,.cd-auth-page .form-footer{padding:0!important;border:0!important;background:none!important}
.cd-auth-page .cd-auth-tag,.cd-auth-page .eyebrow{display:table!important;margin:0 auto 15px!important;padding:8px 13px!important;background:#eef5fb!important;border:0!important;border-radius:30px!important;color:#003b71!important;font-size:11px!important;font-weight:600!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.cd-auth-page .sheet-title,.cd-auth-page .form-title{margin:0 0 9px!important;text-align:center!important;color:#0a1931!important;font-size:25px!important;line-height:1.3!important;font-weight:600!important;letter-spacing:-.025em!important}
.cd-auth-page .sheet-subtitle,.cd-auth-page .form-sub{margin:0 0 24px!important;text-align:center!important;color:#64748b!important;font-size:13px!important;line-height:1.6!important;font-weight:400!important}
.cd-social{display:grid;gap:10px;margin:0 0 18px}.cd-social a{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:50px;padding:12px 14px;border:1px solid #dce7f1;border-radius:11px;color:#0a1931;background:#fff;text-decoration:none;font-size:14px;font-weight:500;line-height:1.5}.cd-social a:hover{background:#f8fafc;border-color:#9aa4b2}.cd-social i{font-size:19px}.cd-auth-divider{display:flex;align-items:center;gap:12px;color:#64748b;font-size:11px;margin:18px 0 24px}.cd-auth-divider:before,.cd-auth-divider:after{content:'';height:1px;background:#dce7f1;flex:1}
.cd-auth-page .login-form{display:flex;flex-direction:column;gap:0}.cd-auth-page .input-shell{position:relative;display:block;margin:0 0 18px}.cd-auth-page .cd-field-label,.cd-auth-page .field-label,.cd-auth-page .form-label{display:block!important;margin:0 0 8px!important;color:#0a1931!important;font-size:13px!important;font-weight:500!important;line-height:1.5!important;text-transform:none!important;letter-spacing:0!important}
.cd-auth-page .field-wrap{position:relative}.cd-auth-page .field-icon,.cd-auth-page .field-wrap>.icon{display:none!important}
.cd-auth-page .input-shell input,.cd-auth-page .input-field{display:block!important;width:100%!important;height:54px!important;min-height:54px!important;padding:12px 16px!important;border:1px solid #dce7f1!important;border-radius:11px!important;background:#fff!important;color:#0a1931!important;box-shadow:none!important;font-size:16px!important;line-height:1.4!important;font-weight:400!important;outline:0}
.cd-auth-page .input-shell input[type=password],.cd-auth-page .input-shell input[data-password-visible],.cd-auth-page .input-field.password{padding-right:54px!important}.cd-auth-page input::placeholder{color:#737b88!important;opacity:1;font-weight:400!important}.cd-auth-page input:focus{border-color:#003b71!important;box-shadow:0 0 0 3px #3fa8f433!important}
.cd-auth-page .password-toggle,.cd-auth-page .eye-btn{position:absolute!important;right:3px!important;top:auto!important;bottom:5px!important;transform:none!important;display:flex;align-items:center;justify-content:center;width:44px!important;height:44px!important;padding:10px!important;border:0!important;background:transparent!important;color:#64748b!important;box-shadow:none!important}.cd-auth-page .password-toggle svg{width:20px;height:20px;stroke:currentColor;fill:none}
.cd-auth-page .primary-button,.cd-auth-page .btn{display:flex!important;align-items:center;justify-content:center;gap:9px;width:100%;min-height:52px!important;margin:0!important;padding:14px!important;border:0!important;border-radius:11px!important;background:#003b71!important;color:#fff!important;box-shadow:none!important;font-size:14px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;text-decoration:none!important;line-height:1.5!important}
.cd-auth-page .btn-wrap{margin-top:20px}.cd-auth-page .primary-button:hover,.cd-auth-page .btn:hover{background:#0b4c92!important}.cd-auth-page button:disabled{opacity:.6;cursor:wait}.cd-auth-page .forgot-action{align-self:flex-end;margin:-2px 0 20px!important;padding:8px 0!important;min-height:36px;border:0;background:none;color:#64748b;font-size:12px;font-weight:400;text-transform:none;letter-spacing:0}.cd-auth-page .form-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.cd-auth-page .field-action{font-size:12px;color:#64748b;text-decoration:none}.cd-auth-page .form-footer{margin-top:22px!important;text-align:center;color:#64748b;font-size:12px;line-height:1.6}.cd-auth-page .form-footer a{color:#003b71;font-weight:500}.cd-auth-back{display:block;text-align:center;margin:22px 0 0;color:#64748b;text-decoration:none;font-size:12px;line-height:1.5}.cd-auth-legal{text-align:center;color:#64748b;font-size:11px;line-height:1.6}.cd-auth-legal a{color:inherit;text-decoration:none}.cd-auth-page .secondary-button{width:100%;min-height:48px;border:1px solid #dce7f1;border-radius:11px;background:#fff;color:#0a1931;margin-top:12px;font-size:13px}
.cd-auth-page .alert,.cd-auth-page .cd-oauth-notice{padding:12px 14px;margin:0 0 18px;border:1px solid #dce7f1;border-radius:11px;background:#f4f8fc;color:#003b71;font-size:13px;line-height:1.6}.cd-auth-page .alert.err{border-color:#fecdd3;background:#fff1f2;color:#a51938}
.cd-auth-page .core-alert-backdrop{display:none;position:fixed;inset:0;z-index:10000;background:#10203880;padding:20px;align-items:center;justify-content:center}.cd-auth-page .core-alert-backdrop.show{display:flex}.cd-auth-page .core-alert-box{width:min(380px,100%);background:#fff;color:#0a1931;padding:26px;border-radius:20px;text-align:center}.cd-auth-page .core-alert-title{font-size:20px;font-weight:600;margin:12px 0}.cd-auth-page .core-alert-msg{font-size:14px;line-height:1.6;margin-bottom:20px}.cd-auth-page .core-alert-btn{border:0;border-radius:10px;background:#003b71;color:#fff;padding:13px 20px;width:100%}.cd-auth-page .fade-out{opacity:0;pointer-events:none}
.cd-auth-page :is(a,button):focus-visible{outline:3px solid #003b71;outline-offset:3px}
.cd-auth-choice{display:flex;justify-content:space-between;align-items:center;gap:15px;border:1px solid #dce7f1;padding:18px 16px;border-radius:12px;margin-top:12px;color:#0a1931;text-decoration:none}.cd-auth-choice strong{font-size:14px}.cd-auth-choice small{display:block;margin-top:5px;color:#64748b;font-size:12px;line-height:1.4}.cd-auth-choice:hover{border-color:#003b71}
/* Desktop patient page contains the dashboard: scope every override to the login. */
body:has(#login-wrap:not(.hidden)){background:#fff!important}
body.cd-core-public-page #login-wrap.login-wrap{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:100dvh!important;padding:36px 20px!important;gap:24px!important;background:#fff!important;box-sizing:border-box}
body #login-wrap.hidden{display:none!important}
#login-wrap .login-hero{display:block!important;width:auto!important;min-height:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;position:static!important}
#login-wrap .login-hero:after,#login-wrap .login-hero h1,#login-wrap .login-eyebrow{display:none!important}
#login-wrap .login-brand{position:static!important;width:174px!important;height:auto!important;margin:auto!important;filter:none!important}
#login-wrap .login-box{width:100%!important;max-width:430px!important;min-height:0!important;margin:0!important;padding:32px 35px 26px!important;border:2px solid #003b71!important;border-radius:24px!important;box-shadow:0 10px 32px #003b710a!important;background:#fff!important;box-sizing:border-box}
#login-wrap .login-head,#login-wrap .login-body{padding:0!important;border:0!important}#login-wrap .login-mini{display:table!important;margin:0 auto 15px!important;padding:8px 13px!important;border-radius:30px;background:#eef5fb!important;color:#003b71!important;font-size:11px!important;text-transform:uppercase;letter-spacing:.08em}
#login-wrap .login-head h2{font-size:25px!important;font-weight:600!important;line-height:1.3!important;text-align:center!important;margin:0 0 9px!important;color:#0a1931!important}#login-wrap .login-head p{font-size:13px!important;font-weight:400!important;line-height:1.6!important;text-align:center!important;color:#64748b!important;margin:0 0 24px!important}
#login-wrap label{font-size:13px!important;font-weight:500!important;color:#0a1931!important;text-transform:none!important;letter-spacing:0!important}#login-wrap .input-wrap>i{display:none!important}#login-wrap .input-wrap input{height:54px!important;min-height:54px!important;padding:12px 48px 12px 16px!important;border:1px solid #dce7f1!important;border-radius:11px!important;background:#fff!important;color:#0a1931!important;font-size:16px!important;font-weight:400!important;box-sizing:border-box}#login-wrap .input-wrap input:focus{border-color:#003b71!important;box-shadow:0 0 0 3px #3fa8f433!important}#login-wrap .main-btn{min-height:52px!important;border-radius:11px!important;background:#003b71!important;font-size:14px!important;font-weight:600!important;box-shadow:none!important}#login-wrap .form-row{flex-wrap:wrap!important;font-size:12px!important;color:#64748b!important;line-height:1.5!important;gap:8px!important}#login-wrap .link-btn{font-size:12px!important;color:#64748b!important}#login-wrap .toggle-pass{width:44px!important;height:44px!important}
@media(max-width:480px){.cd-auth-page .auth-shell,.cd-auth-page .login-app{padding:26px 12px!important;gap:20px!important}.cd-auth-page .login-sheet,.cd-auth-page .form-card{padding:27px 21px 22px!important;border-radius:20px!important}.cd-auth-page .sheet-title,.cd-auth-page .form-title{font-size:23px!important}body.cd-core-public-page #login-wrap.login-wrap{padding:26px 12px!important;gap:20px!important}#login-wrap .login-box{padding:27px 21px 22px!important;border-radius:20px!important}}
@media(prefers-reduced-motion:reduce){.cd-auth-page *{transition:none!important;animation:none!important}}

/* Official CoreDiet symbol and brand focus color. */
.cd-auth-page .core-logo,.cd-auth-page .auth-brand,body #login-wrap .login-brand{width:44px!important;height:44px!important;max-height:none!important;object-fit:contain!important;filter:none!important}
.cd-auth-page input:focus,#login-wrap .input-wrap input:focus{border-color:#3fa8f4!important;box-shadow:0 0 0 3px #3fa8f433!important}
