:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#152336;background:#f7f8fa;font-size:15px;line-height:1.6}*{box-sizing:border-box}body{margin:0}a{color:#b51262;text-underline-offset:3px}a:hover{color:#79104b}.portal-header{background:#fff;border-bottom:1px solid #e3e7ed;padding:18px max(20px,calc((100vw - 1120px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px}.portal-header>a{text-decoration:none;color:#152336}.portal-header strong{font-size:23px}.portal-header strong span{color:#c8186c}.portal-header small{display:block;color:#637188}.portal-header nav{display:flex;flex-wrap:wrap;align-items:center;gap:20px}.portal-header nav form{margin:0}main{max-width:1120px;margin:36px auto;padding:0 20px}h1{font-size:30px;line-height:1.25;margin:12px 0 20px}h2{font-size:21px;line-height:1.4}h3{font-size:17px}.eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#b51262;font-weight:700}.panel{padding:26px;background:#fff;border:1px solid #e3e7ed;border-radius:10px;margin:20px 0}.auth{max-width:500px;margin:45px auto}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:20px}.cards .panel{margin:0}label{display:block;font-weight:600;margin:16px 0}input:not([type=checkbox]),select,textarea{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #cdd4df;border-radius:6px;background:#fff;color:inherit;font:inherit}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid #ce4887;outline-offset:2px}button,.button{display:inline-block;background:#b51262;border:1px solid #b51262;border-radius:6px;color:#fff;padding:10px 16px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}.secondary{background:#fff;color:#203249;border-color:#cdd4df}.check{display:flex;align-items:flex-start;gap:10px;font-weight:400}.check input{width:17px;height:17px;margin-top:4px;flex-shrink:0}details{border-top:1px solid #e3e7ed;margin-top:24px;padding-top:18px}summary{cursor:pointer}.notice{background:#eaf5f0;border:1px solid #c7e3d5;padding:14px 18px;border-radius:6px}.error{background:#fff0f4;border-color:#f0bbd0;color:#9b194e}.muted{color:#637188}.pre{white-space:pre-wrap;overflow-wrap:anywhere}article{padding:18px 0;border-top:1px solid #e3e7ed}footer{text-align:center;color:#637188;padding:30px 20px}table{border-collapse:collapse;width:100%}td,th{padding:10px;text-align:left;border-bottom:1px solid #e3e7ed}@media(max-width:650px){.portal-header{align-items:flex-start;flex-direction:column}.portal-header nav{gap:14px}.panel{padding:18px}main{margin-top:24px}h1{font-size:26px}}

/* Client workspace */
.client-portal{background:#f3f5fa;color:#12243b}
.client-portal .portal-header{padding-block:20px;box-shadow:0 4px 24px #12243b05}
.client-portal .portal-header nav{gap:8px}
.client-portal .portal-header nav>a{padding:9px 12px;border-radius:9px;text-decoration:none;color:#344760;font-weight:600;font-size:13px}
.client-portal .portal-header nav>a:hover{background:#fcebf3;color:#b51262}
.client-portal main{margin-top:40px}
.client-portal h1{font-size:clamp(27px,3vw,36px);letter-spacing:-.035em}
.client-portal .panel{border-color:#e1e7f0;border-radius:16px;padding:28px;box-shadow:0 6px 22px #12243b04}
.client-portal button,.client-portal .button{border-radius:9px;padding:11px 18px}
.client-portal input:not([type=checkbox]),.client-portal select,.client-portal textarea{background:#fbfcfe;border-color:#d9e0eb;border-radius:9px}
.portal-title{display:flex;justify-content:space-between;align-items:center;gap:22px;flex-wrap:wrap;margin-bottom:26px}
.portal-title h1{margin-bottom:8px}.portal-title p{margin:0}
.portal-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:26px 0}
.portal-metrics>div{display:flex;flex-direction:column;background:#fff;padding:24px;border:1px solid #e1e7f0;border-radius:14px}
.portal-metrics strong{font-size:34px;line-height:1.3;color:#152d48;letter-spacing:-.05em}
.portal-metrics span{font-size:13px;color:#637188;margin-top:6px}
.status-pill{display:inline-flex;align-items:center;padding:5px 12px;border-radius:30px;background:#fcebf3;color:#a61658;font-size:12px;font-weight:700}
.client-portal .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}
.portal-actions{display:flex;gap:12px;flex-wrap:wrap}
.timeline-event{border-left:2px solid #ead3e0;border-top:0;padding:0 0 22px 20px;margin-top:20px}
.timeline-event small{display:block;color:#637188}
.client-auth-layout{display:grid;grid-template-columns:1fr 1fr;max-width:1060px;margin:55px auto;background:white;border:1px solid #dde4ef;border-radius:24px;overflow:hidden;box-shadow:0 20px 65px #1029430d}
.client-auth-layout .client-auth-story{background:linear-gradient(145deg,#0e2139,#183b5c);padding:58px 44px;color:#e4edf7;display:flex;flex-direction:column;justify-content:center}
.client-auth-story .eyebrow{color:#ff8cbd}.client-auth-story h2{font-size:38px;line-height:1.17;letter-spacing:-.04em;color:white;margin:15px 0 22px}
.client-auth-story p{color:#c5d3e4}.client-auth-story ol{padding-left:20px;line-height:2.4;margin:24px 0 34px}.client-auth-story small{color:#aabed3;font-size:12px}
.client-auth-layout .auth{margin:0;border:0;border-radius:0;box-shadow:none;padding:45px 40px;max-width:none}
.client-auth-layout .auth button{width:100%}.client-auth-layout .auth h1{font-size:32px}
@media(max-width:760px){.client-auth-layout{grid-template-columns:1fr;margin:24px auto}.client-auth-layout .client-auth-story{padding:28px}.client-auth-story h2{font-size:29px}.client-auth-story ol{display:none}.client-auth-layout .auth{padding:26px}.portal-metrics{gap:9px}.portal-metrics>div{padding:15px 12px}.portal-metrics strong{font-size:27px}.client-portal .form-grid{grid-template-columns:1fr}.client-portal .panel{padding:20px}.client-portal .portal-header nav{gap:2px}.client-portal main{margin-top:25px}}

@media(max-width:760px){.client-auth-layout .client-auth-story{padding:22px 26px}.client-auth-story h2{font-size:24px;margin:10px 0}.client-auth-story p:not(.eyebrow),.client-auth-story small{display:none}}
