*{box-sizing:border-box}body{margin:0;min-height:100svh;display:grid;place-items:center;padding:24px;font-family:Lexend,Arial,sans-serif;color:#182b45;background:radial-gradient(ellipse at top,#e8f2fc,#f8fafc 65%)}.login-card{width:min(100%,440px);padding:34px;background:white;border:1px solid #dce6ef;border-radius:16px;box-shadow:0 20px 60px #25456e0d}.login-card img{width:190px;max-width:100%;margin-bottom:25px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:#58769e}h1{font-size:27px;margin:18px 0 8px}p,small{font-size:13px;line-height:1.8;color:#526b87}label{display:block;font-size:12px;margin:18px 0}input{display:block;width:100%;font:inherit;padding:13px;border:1px solid #cbd9e8;border-radius:8px;margin-top:8px;background:#f8fafc}button{display:flex;align-items:center;justify-content:center;text-align:center;width:100%;border:0;padding:14px;border-radius:8px;font:500 13px Lexend,Arial;cursor:pointer;color:white;background:linear-gradient(110deg,#30466f,#5073aa)}button:disabled{opacity:.6;cursor:wait}input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #8aa7ca;outline-offset:3px}a{display:block;font-size:12px;margin-top:25px;color:#30466f}small{display:block;font-size:11px}.secondary{background:#eef3f9;color:#30466f}#status:empty{display:none}#status{color:#923e36}@media(max-width:400px){body{padding:16px}.login-card{padding:25px}}
small{margin-top:16px}
/* Blue canopy: selected login design. Password setup retains its own layout. */
body.canopy-login{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:0;background:#f1f5fa;min-height:100svh}
.canopy-header{width:100%;background:linear-gradient(110deg,#192942,#45638e);color:#fff;padding-bottom:96px}
.canopy-nav{width:min(100%,1280px);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:32px 48px}
.canopy-nav a{color:#fff;margin:0;text-decoration:none}
.canopy-brand{font-size:25px;font-weight:600;line-height:1.1;letter-spacing:-1px}
.canopy-brand span{display:block;font-size:9px;letter-spacing:3.1px;font-weight:500;margin-top:8px}
.canopy-back{font-size:12px;padding:12px 0;min-height:44px;display:flex;align-items:center}
.canopy-back:hover{text-decoration:underline}
.canopy-heading{text-align:center;padding:clamp(24px,5vh,60px) 24px 0}
.canopy-heading .eyebrow{font-size:11px;color:#c3d7ef;letter-spacing:1.8px;margin:0 0 13px}
.canopy-heading h1{font-size:clamp(26px,3vw,34px);font-weight:500;letter-spacing:-.8px;line-height:1.25;margin:0;color:#fff}
.canopy-card{position:relative;margin-top:-46px;width:min(450px,calc(100% - 40px));padding:28px 40px;border:1px solid #e1e7f0;box-shadow:0 15px 35px #1929420b}
.canopy-label{display:flex;align-items:center;gap:9px;font-size:12px;padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid #e0e8f1}
.canopy-label>span{width:7px;height:7px;background:#70b695;border-radius:50%}
.canopy-card label{font-size:12px;margin:0 0 20px;font-weight:500}
.canopy-card input{height:48px;background:#fff;font-weight:400;font-size:14px;border-color:#d5e0ec;margin-top:8px}
.canopy-card input::placeholder{color:#7b8899;opacity:1}
.password-field{display:block;position:relative}
.password-field input{padding-right:65px}
.canopy-card .password-toggle{position:absolute;right:4px;top:2px;min-height:44px;width:55px;padding:0;background:transparent;color:#345580;font-size:11px;font-weight:400}
.canopy-card button[type=submit]{min-height:48px;margin-top:25px}
.login-help{text-align:center;margin-top:23px;font-size:11px;color:#5c6d82;line-height:1.8}
.login-help summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap}
.login-help summary::-webkit-details-marker{display:none}
.login-help summary span{color:#345580;font-weight:500}
.login-help summary:hover span{text-decoration:underline}
.login-help p{font-size:12px;margin:10px 0 0}
.canopy-footer{text-align:center;font-size:11px;color:#5c6d82;padding:28px 20px 40px;line-height:1.8}
@media(max-width:520px){.canopy-nav{padding:24px;gap:16px}.canopy-brand{font-size:22px}.canopy-back{font-size:11px}.canopy-heading{padding-top:30px}.canopy-header{padding-bottom:85px}.canopy-card{width:calc(100% - 36px);padding:26px}.canopy-card input{font-size:16px}.canopy-card input::placeholder{font-size:12px}.canopy-heading .eyebrow{font-size:10px}}
@media(max-height:650px) and (min-width:521px){.canopy-nav{padding-top:20px;padding-bottom:20px}.canopy-heading{padding-top:15px}.canopy-header{padding-bottom:76px}}
/* Real brand asset, cropped only to remove its existing white canvas. */
.canopy-nav .canopy-brand{display:block;flex:0 0 auto;background:#fff;border-radius:8px;padding:10px 12px;width:232px;line-height:normal}
.canopy-brand .canopy-logo-crop{position:relative;display:block;width:100%;aspect-ratio:500/145;overflow:hidden;margin:0;letter-spacing:normal}
.canopy-logo-crop img{display:block;position:absolute;width:100%;height:auto;top:0;left:0;transform:translateY(-36%)}
.canopy-header{height:max(310px,calc(50svh - 160px));display:flex;flex-direction:column;padding-bottom:96px;flex-shrink:0}
.canopy-nav{flex-shrink:0;margin:0 auto;padding-top:24px;padding-bottom:20px}
.canopy-heading{margin-top:auto;padding:10px 24px 0}
@media(max-width:520px){.canopy-nav{padding:20px;gap:12px}.canopy-nav .canopy-brand{width:190px;padding:8px 10px}.canopy-header{height:max(290px,calc(50svh - 160px));padding-bottom:85px}.canopy-heading{padding-top:12px}.canopy-back{font-size:10px}}
@media(max-width:360px){.canopy-nav{padding:18px}.canopy-nav .canopy-brand{width:172px}.canopy-back{max-width:80px;text-align:right}}
