
.portal-body{background:#f8f8f6;min-height:100vh}.portal-header{position:relative}.portal-main{width:min(1080px,calc(100% - 40px));margin:0 auto;padding:70px 0 55px}.portal-intro{max-width:650px;margin:0 auto 32px;text-align:center}.portal-intro h1{font:600 clamp(38px,5vw,58px)/1.08 'DM Serif Display',Georgia,serif;color:#1c2943;margin:0 0 15px}.portal-intro h1 em{font-style:normal;color:var(--blue)}.portal-intro>p:last-child{color:#687386;max-width:520px;margin:0 auto}.portal-auth{max-width:490px;margin:0 auto;padding:28px}.portal-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:22px}.portal-tabs button{border:0;background:none;padding:10px 14px;color:#667085;font-weight:700;font-size:12px;border-bottom:2px solid transparent}.portal-tabs button.active{color:var(--blue);border-color:var(--red)}.portal-form{display:grid;gap:14px}.portal-form h2{font:600 25px 'DM Serif Display',Georgia,serif;margin:0;color:#1c2943}.portal-form label{display:grid;gap:6px;font-size:11px;font-weight:700;color:#44506a}.portal-form input{width:100%;padding:12px 13px;border:1px solid #dce1e9;border-radius:9px;background:white;font:13px 'DM Sans',sans-serif}.portal-form input:focus{outline:2px solid #173d9120;border-color:var(--blue)}.portal-small{font-size:10px;color:#778094;line-height:1.6;margin:0}.portal-text-button{justify-self:start;border:0;background:none;color:var(--blue);font-size:11px;font-weight:700;padding:4px 0}.portal-message{font-size:12px;color:#536078;min-height:18px;margin:12px 0 0}.portal-message.error{color:#a52a31}.portal-message.success{color:#247447}.portal-dashboard{margin-top:36px}.portal-dashboard-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.portal-dashboard-head h2{font:600 32px 'DM Serif Display',Georgia,serif;margin:0;color:#1c2943}.portal-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.portal-stat{background:white;border:1px solid var(--line);border-radius:14px;padding:18px}.portal-stat span{display:block;font-size:10px;color:#7b8495}.portal-stat strong{display:block;font:600 28px 'DM Serif Display',Georgia,serif;color:var(--blue);margin-top:4px}.portal-panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:15px}.portal-panel h3{font:600 19px 'DM Serif Display',Georgia,serif;margin:0 0 13px;color:#1c2943}.portal-record{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-top:1px solid #eef0f3}.portal-record:first-of-type{border-top:0}.portal-record strong{display:block;font-size:12px;color:#34415c}.portal-record small{display:block;font-size:10px;color:#7b8495;margin-top:3px}.portal-status{font-size:10px;font-weight:700;color:#3f6549;background:#edf3ee;border-radius:30px;padding:5px 9px;height:max-content}.portal-empty{font-size:12px;color:#778094;padding:15px 0}.portal-privacy{max-width:700px;margin:26px auto 0;padding:14px 16px;border-left:3px solid #879b87;background:#f0f3ef;display:flex;flex-direction:column;gap:4px}.portal-privacy b{font-size:11px;color:#405b48}.portal-privacy span{font-size:10px;color:#687386;line-height:1.5}.portal-footer{padding:20px max(5vw,24px);display:flex;justify-content:space-between;gap:15px;background:white;border-top:1px solid var(--line);font-size:10px;color:#778094}.portal-footer a{color:var(--blue);font-weight:700}.portal-loading{padding:25px;color:#778094;font-size:12px}@media(max-width:650px){.portal-main{padding:45px 0 35px}.portal-summary{grid-template-columns:1fr 1fr}.portal-record{flex-direction:column;gap:8px}.portal-dashboard-head{align-items:flex-start;flex-direction:column}.portal-auth{padding:20px}.portal-footer{flex-wrap:wrap}}

.portal-head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.portal-head-actions .btn{white-space:nowrap}@media(max-width:640px){.portal-dashboard-head{align-items:flex-start;gap:14px;flex-direction:column}.portal-head-actions{width:100%}.portal-head-actions .btn{flex:1}}

.portal-switch{font-size:11px;color:#687386;margin:3px 0 0}.portal-switch a{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:3px}.portal-form[hidden]{display:none!important}

.portal-auth-switch{display:flex;justify-content:center;gap:10px 24px;flex-wrap:wrap;margin:18px auto 0;text-align:center;font-size:14px}
.portal-auth-switch a{color:#244f87;text-decoration:none;padding:8px 4px}
.portal-auth-switch a:hover{text-decoration:underline}
.portal-auth-switch a[aria-current="page"]{font-weight:700}
