.portal-login{display:grid;grid-template-columns:1.15fr 1fr;gap:96px;align-items:center;max-width:1120px;padding:64px 32px 80px;margin:auto;min-height:calc(100vh - 210px)}
.portal-intro h1{font-size:clamp(40px,4.7vw,66px);line-height:1.08!important;margin:24px 0;letter-spacing:-.065em!important}
body.app-design .portal-lead{font-size:18px;line-height:1.8;color:var(--ui-muted);max-width:440px}
.login-connection{display:flex;align-items:center;margin:40px 0;gap:10px;max-width:420px}
.login-connection span{border:1px solid var(--ui-border);background:var(--ui-surface);padding:12px 18px;border-radius:16px;font-size:13px;font-weight:700}
.login-connection span:last-child{background:var(--site-tint);color:var(--ui-teal);border-color:transparent}.login-connection i{height:1px;background:var(--ui-border);flex:1;min-width:8px}
.login-benefit{display:flex;gap:16px;max-width:420px}.login-benefit>span{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:12px;background:var(--site-tint);color:var(--ui-teal);font-size:22px}.login-benefit strong{font-size:14px}.login-benefit p{font-size:13px;line-height:1.7;color:var(--ui-muted)!important;margin:8px 0}
.portal-form-card{border:1px solid var(--ui-border);border-radius:32px;padding:40px;background:var(--ui-surface);box-shadow:var(--ui-shadow)}
.login-symbol{display:grid;place-items:center;width:48px;height:48px;background:var(--site-tint);color:var(--ui-teal);border-radius:16px;font-size:28px;margin-bottom:24px}
.portal-form-card h2{font-size:28px;letter-spacing:-.045em;margin:16px 0 10px}.portal-form-card .portal-hint{color:var(--ui-muted)!important;font-size:14px;line-height:1.6}
#portal-login-form{display:grid;gap:10px;margin-top:28px}#portal-login-form label{font-size:13px;font-weight:700;margin-top:8px}#portal-login-form input{min-width:0;width:100%;padding:14px 16px;font:inherit}#portal-login-form input:focus-visible{outline:3px solid var(--ui-teal);outline-offset:3px}#account-code-field[hidden]{display:none}
#portal-login-form small{display:block;font-size:12px;color:var(--ui-muted);margin-top:8px}
body.app-design #login-submit{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;margin-top:16px;border-radius:14px;border:0;background:#267b76;color:white;font:inherit;font-weight:700;cursor:pointer}#login-submit:disabled{opacity:.65;cursor:wait}#login-submit span{font-size:22px}
#login-status{min-height:20px;font-size:13px;color:var(--ui-danger)!important;margin:4px 0;line-height:1.6}
.login-access-note{font-size:12px;line-height:1.8;color:var(--ui-muted)!important;margin:20px 0 0;padding-top:20px;border-top:1px solid var(--ui-border)}.login-footer{max-width:1120px}
@media(max-width:900px){.portal-login{gap:40px;padding-top:40px}.portal-form-card{padding:28px}.portal-intro h1{font-size:44px}.login-connection span{padding:10px 12px}}
@media(max-width:680px){.portal-login{grid-template-columns:1fr;padding:32px 20px 48px;gap:28px}.portal-intro h1{font-size:38px;margin:16px 0}.portal-lead{font-size:16px!important}.login-connection,.login-benefit{display:none}.portal-form-card{border-radius:24px;padding:28px 24px}.site-back{display:none}}