.user-portal-page{width:min(1040px,calc(100% - 40px));margin:clamp(34px,7vh,76px) auto 64px;color:var(--text,#eef2f5)}
.user-portal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:0 4px 22px;border-bottom:1px solid var(--border,#38424c);margin-bottom:24px}
.user-portal-heading h1{font-size:clamp(30px,4vw,42px);line-height:1.06;letter-spacing:-.04em;margin:8px 0 10px}
.user-portal-heading p:not(.user-portal-kicker){color:var(--muted,#a5b0ba);margin:0;max-width:610px;line-height:1.6}
.user-portal-kicker{color:#94a7b8;font-size:10px;letter-spacing:.13em;font-weight:700;margin:0}
.user-portal-home{color:#a9c9dd;text-decoration:none;border:1px solid #394650;border-radius:8px;padding:9px 12px;font-size:13px;white-space:nowrap}
.user-portal-card{background:linear-gradient(145deg,#1a1e22,#171a1d);border:1px solid #36414b;border-radius:14px;box-shadow:0 18px 55px #0002}
.user-portal-login{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.78fr);gap:36px;padding:clamp(24px,4vw,42px);align-items:center}
.user-portal-login-copy{display:flex;align-items:flex-start;gap:18px;max-width:480px}
.user-portal-device-icon{display:grid;place-items:center;flex:0 0 46px;height:46px;border:1px solid #506273;border-radius:11px;color:#a8c7da;font-size:23px;background:#252e36}
.user-portal-login h2,.user-portal-session h2{font-size:23px;letter-spacing:-.025em;margin:8px 0 10px}
.user-portal-login-copy p:not(.user-portal-kicker){color:#aab3bb;line-height:1.65;margin:0;font-size:14px}
.user-portal-form{display:grid;gap:9px}
.user-portal-form label{font-size:12px;color:#cad1d7;margin-top:6px}
.user-portal-form input,.user-portal-form select{width:100%;min-height:44px;padding:10px 12px;color:#eef2f5;background:#121619;border:1px solid #3d4852;border-radius:7px;font:inherit}
.user-portal-form input:focus,.user-portal-form select:focus{outline:2px solid #6c9ab4;outline-offset:2px}
.user-portal-submit{margin-top:7px;min-height:46px;border:1px solid #98b4c6;border-radius:7px;background:#b4c9d5;color:#101820;font-weight:700;font-size:14px;cursor:pointer}
.user-portal-submit:hover{background:#c5d8e2}
.user-portal-security{font-size:11px;color:#929da7;line-height:1.55;margin:6px 0 0}
.user-portal-session{padding:clamp(24px,4vw,42px)}
.user-portal-session-info{display:flex;gap:16px;align-items:center}
.user-portal-session h2{margin:4px 0}
.user-portal-session-info p{color:#aab3bb;margin:0;font-size:13px}
.user-portal-expiry{color:#8f9ba5;font-size:12px;margin:20px 0}
.user-portal-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.user-portal-action{display:grid;grid-template-columns:38px 1fr;column-gap:12px;align-items:center;min-height:92px;padding:16px;border:1px solid #3c4852;border-radius:9px;color:#eef2f5;text-decoration:none;background:#20262b;transition:border-color .16s,background .16s}
.user-portal-action:hover{border-color:#7e9bb0;background:#252d33}
.user-portal-action>span{grid-row:span 2;display:grid;place-items:center;width:36px;height:36px;border:1px solid #607382;border-radius:8px;color:#b9d0df;font-size:20px}
.user-portal-action strong{font-size:14px}
.user-portal-action small{font-size:11px;color:#9da8b1;margin-top:3px}
.user-portal-action-primary{background:#293640;border-color:#536879}
.user-portal-logout{margin-top:20px;text-align:right}
.user-portal-logout button{border:0;background:none;color:#a7b6c1;text-decoration:underline;text-underline-offset:3px;font-size:12px;cursor:pointer}
.home-security-banner{width:min(1088px,calc(100% - 40px));margin:0 auto 16px;display:flex;align-items:center;gap:12px;padding:12px 15px;border:1px solid #36434e;border-left:3px solid #78a9c7;border-radius:8px;background:#1c242b;color:#e4ebf0}
.home-security-mark{display:grid;place-items:center;flex:0 0 24px;height:24px;border:1px solid #58788e;border-radius:50%;color:#b2d2e4;font-size:13px;font-weight:700}
.home-security-banner strong{font-size:12px}
.home-security-banner p{margin:3px 0 0;color:#a8b5bf;font-size:12px;line-height:1.45}
@media(max-width:720px){.user-portal-page{width:min(100% - 24px,520px);margin-top:28px}.user-portal-heading{padding-bottom:17px}.user-portal-login{grid-template-columns:1fr;gap:24px}.user-portal-actions{grid-template-columns:1fr}.user-portal-action{min-height:82px}}
@media(prefers-reduced-motion:reduce){.user-portal-action{transition:none}}
