body:has(#auth-screen:not([hidden])){background:#edf3f3}
body:has(#auth-screen:not([hidden])) .prototype,body:has(#auth-screen:not([hidden])) .site-footer{display:none}
.auth-screen{min-height:calc(100dvh - 84px);padding:48px 20px;display:grid;place-items:center}
.auth-card{width:100%;max-width:460px;padding:36px 38px;margin:0;border:1px solid #d8e5e3;border-radius:20px;box-shadow:0 16px 50px #173f4510;background:white}
.auth-brand-mark{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:#096c60;color:white;font-size:35px;line-height:1}
.auth-card .auth-eyebrow{font-size:12px;font-weight:700;letter-spacing:.13em;color:#67817b;margin:24px 0 10px}
.auth-card h1{font-size:30px;font-weight:750;line-height:1.2;letter-spacing:-.035em;margin:0 0 10px;color:#193c3e}
.auth-card #auth-caption{font-size:15px;line-height:1.6;color:#667e7b;margin:0 0 24px}
.auth-card .auth-switches{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#edf3f2;border:1px solid #e2ebe9;padding:4px;border-radius:11px;margin:0 0 26px}
.auth-card .auth-switches button{margin:0;border:0;background:transparent;border-radius:8px;color:#617973;padding:10px 8px;font-size:14px;font-weight:650;min-height:42px}
.auth-card .auth-switches button[aria-pressed=true]{background:white;color:#096c60;box-shadow:0 2px 6px #163b3610}
.auth-card form{margin:0;gap:20px}
.auth-card label{font-size:14px;font-weight:600;color:#304f4c;gap:8px}
.auth-card input{height:52px;padding:13px 14px;border:1px solid #ccdcd8;border-radius:10px;background:#fbfdfc;font-size:16px;box-shadow:none}
.auth-card input::placeholder{color:#96aaa4;font-size:15px}
.auth-card input:focus{border-color:#096c60;background:white}
.auth-field-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.auth-field-heading label{margin:0}
.auth-card #auth-forgot{border:0;background:none;padding:0;color:#096c60;font-size:13px;font-weight:600;text-align:right}
.auth-password-wrap{position:relative}.auth-password-wrap input{padding-right:68px}
.auth-card #auth-password-toggle{position:absolute;right:10px;top:8px;border:0;background:transparent;border-radius:6px;padding:8px;color:#55756c;font-size:13px;font-weight:600;height:36px;min-height:36px}
.auth-card #auth-submit{min-height:52px;border-radius:10px;font-size:16px;font-weight:650;background:#096c60;margin-top:4px;display:flex;justify-content:center;align-items:center;gap:10px}
.auth-card #auth-submit:hover{background:#07594f}
.auth-card #auth-submit.is-loading:before{content:'';width:16px;height:16px;border:2px solid #ffffff66;border-top-color:white;border-radius:50%;animation:auth-spin .8s linear infinite}
.auth-card .auth-input-hint{font-size:13px;color:#738b83;margin:8px 0 0}
.auth-card .auth-support-button{display:block;width:100%;border:1px solid #cadcd6;background:#f7fbf9;color:#096c60;min-height:44px;padding:10px 14px;border-radius:10px;margin-top:16px;font-size:14px;font-weight:600}
.auth-card .auth-support-button:hover{background:#edf6f2}
.auth-card .auth-message{margin:18px 0 0;padding:14px;font-size:14px;line-height:1.6;border:1px solid #cce4d8}
.auth-card .auth-message.auth-error{border-color:#f0d3ce}
.auth-card .auth-bottom-note{border-top:1px solid #e7eeeb;margin:26px 0 0;padding-top:18px;color:#8a9c97;font-size:12px;text-align:center}
@keyframes auth-spin{to{transform:rotate(360deg)}}
@media(max-width:540px){.auth-screen{padding:24px 16px;min-height:calc(100dvh - 84px)}.auth-card{padding:28px 24px;border-radius:16px}.auth-card h1{font-size:28px}.auth-card .auth-eyebrow{margin-top:20px}.auth-card .auth-switches button{font-size:14px}.auth-card #auth-forgot{font-size:13px}}
@media(prefers-reduced-motion:reduce){.auth-card #auth-submit.is-loading:before{animation:none}}
.auth-portal-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}.portal-choice{display:flex;flex-direction:column;gap:5px;padding:14px 12px;border:1px solid #d8e5e3;border-radius:11px;text-decoration:none;color:#365950;background:#f8fbfa;line-height:1.4}.portal-choice strong{font-size:14px}.portal-choice span{font-size:12px;color:#637974}.portal-choice.selected{border:2px solid #096c60;background:#eaf5f0;padding:13px 11px}.portal-choice:hover{background:#edf6f2}.portal-choice:focus-visible{outline:3px solid #54b7ad;outline-offset:3px}
.client-company-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0 0}.client-company-details div{min-width:0}.client-company-details dt{font-size:14px;color:#637974}.client-company-details dd{margin:4px 0 0;font-size:16px;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:540px){.auth-portal-choices{grid-template-columns:1fr}.client-company-details{grid-template-columns:1fr}}

.auth-brand-mark{background:#000;overflow:hidden}.auth-brand-mark img{display:block;width:100%;height:100%;object-fit:contain;padding:9px}
