.portal-page{background:#f4f7f7}.portal-page [hidden]{display:none!important}.portal-main{padding-top:48px;padding-bottom:72px;min-height:75vh}.portal-nav{display:flex;gap:24px;align-items:center;font-size:14px}.portal-page .header-inner{flex-wrap:wrap}.auth-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.portal-welcome h1{font-size:clamp(38px,4.5vw,60px)}.portal-welcome>p:not(.eyebrow){max-width:440px;font-size:18px}.portal-benefits{list-style:none;padding:0;margin:32px 0}.portal-benefits li{padding:12px 0;border-bottom:1px solid #d7e2df;font-size:15px}.portal-benefits li:before{content:'✓';color:var(--teal);margin-right:12px}.auth-card,.portal-panel{padding:36px;background:white;border:1px solid #dce5e3;border-radius:14px;box-shadow:0 15px 50px #143b3310}.auth-card h2{font-size:30px;margin:28px 0 12px}.auth-card>p{font-size:14px}.auth-tabs{display:flex;border-bottom:1px solid var(--line);gap:24px}.auth-tabs button{background:none;border:0;padding:12px 0;font-size:14px;font-weight:700;color:var(--body);border-bottom:3px solid transparent}.auth-tabs button[aria-pressed=true]{color:var(--teal);border-bottom-color:var(--teal)}.social-buttons{display:grid;gap:10px;margin-top:24px}.social-button{border:1px solid #c9d7d3;border-radius:6px;background:#fff;color:var(--navy);padding:13px 20px;font-weight:600;font-size:14px}.social-button:hover{background:#f1f7f4}.facebook-button{background:#1877f2;color:white;border-color:#1877f2}.facebook-button:hover{background:#1261c5}.portal-page button:disabled{opacity:.55;cursor:not-allowed;transform:none}.auth-divider{display:flex;align-items:center;gap:15px;font-size:12px;color:#66766e;margin:24px 0}.auth-divider:before,.auth-divider:after{content:'';height:1px;background:var(--line);flex:1}.portal-text-button{color:var(--teal);background:none;border:0;text-decoration:underline;text-underline-offset:3px;padding:12px 0;font-size:14px}.portal-help{font-size:13px;line-height:1.7;color:#607168;margin:12px 0 0}.portal-message,.portal-notice{padding:16px 20px;border-radius:8px;background:#e3f3eb;color:#244c3c;border:1px solid #bfdacd;font-size:14px;margin-bottom:24px}.portal-message.error{background:#fff0eb;border-color:#e7c3b6;color:#803d29}.portal-notice{background:#f8f3e6;border-color:#e7d7ac;color:#6e5a28}.portal-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.dashboard-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:20px}.dashboard-heading h1{font-size:42px;margin:0 0 15px}.dashboard-heading p{margin-bottom:0}.dashboard-heading .eyebrow{margin-bottom:12px}.case-list{display:grid;gap:24px;margin:26px 0}.case-card{padding:28px;background:white;border:1px solid var(--line);border-radius:12px}.case-card-top{display:flex;justify-content:space-between;align-items:start;gap:20px}.case-card h2{font-size:26px;margin:12px 0}.case-service{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--teal);font-weight:700}.status-badge{background:#e7f2ed;color:#155a47;border-radius:25px;padding:7px 13px;font-size:12px;font-weight:700;white-space:nowrap}.status-badge[data-status=action_required]{background:#fff0d5;color:#835f14}.case-reference,.case-date{font-size:12px;color:#64716c}.next-step{padding:18px;background:#f1f7f4;border-left:3px solid var(--teal);margin:20px 0;white-space:pre-wrap;overflow-wrap:anywhere}.next-step strong{display:block;margin-bottom:5px}.case-card h3{font-size:16px;margin:22px 0 12px}.case-history{padding:0;list-style:none}.case-history li{padding:15px 0 15px 18px;border-left:2px solid #bdd8cc;position:relative;margin:0 0 5px}.case-history li:before{content:'';position:absolute;width:8px;height:8px;border-radius:50%;background:var(--teal);left:-5px;top:22px}.case-history p{font-size:14px;margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.case-history time{font-size:12px;color:#6a766f}.empty-cases{padding:36px;background:white;border:1px dashed #b4c9c0;border-radius:12px;text-align:center}.empty-cases h2{font-size:25px}.account-settings{margin:30px 0;border-top:1px solid var(--line);padding-bottom:20px}.account-settings p{margin:12px 0;overflow-wrap:anywhere}.admin-panel{margin-top:50px;padding-top:32px;border-top:3px solid var(--teal)}.admin-panel h2{font-size:30px}.client-search{display:flex;gap:16px;align-items:end;max-width:750px}.client-search .field{flex:1;margin:0}.client-search .button{min-height:45px}.client-result{display:flex;gap:20px;align-items:center;justify-content:space-between;background:white;padding:18px;border:1px solid var(--line);border-radius:8px;margin:15px 0}.client-result p{margin:0;overflow-wrap:anywhere}.client-result small{display:block}.admin-panel #case-editor{background:white;padding:28px;border:1px solid var(--line);border-radius:12px;margin-top:28px}.portal-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:25px 0;font-size:13px}.portal-footer p{margin:0}.case-card button{margin-top:12px}.portal-page input,.portal-page textarea,.portal-page select{min-width:0}.portal-page .field-row{grid-template-columns:1fr 1fr}.portal-panel h1{font-size:38px}.portal-welcome{align-self:start;padding-top:65px}@media(max-width:900px){.auth-layout{gap:35px}.auth-card{padding:25px}.portal-nav{gap:15px}.portal-welcome h1{font-size:42px}}@media(max-width:640px){.portal-main{padding-top:30px}.auth-layout{grid-template-columns:1fr;gap:25px}.portal-welcome{padding-top:0}.portal-welcome h1{font-size:38px}.portal-benefits{display:none}.portal-welcome>p:not(.eyebrow){font-size:16px}.portal-page .header-inner{padding:15px 0;gap:15px}.portal-nav{font-size:12px}.auth-card,.portal-panel{padding:24px}.dashboard-heading{display:block}.dashboard-heading>.button{margin-top:20px}.case-card{padding:21px}.case-card-top{display:block}.status-badge{display:inline-block;margin-top:12px}.portal-page .field-row{grid-template-columns:1fr;gap:0}.client-search{display:block}.client-search button{margin-top:12px}.client-result{display:block}.client-result button{margin-top:12px}.portal-footer{display:block}.portal-footer a{display:block;margin-top:8px}.portal-nav .button{font-size:12px;padding:9px 12px}}

/* Account and staff views adapt to narrow screens and long client details. */
.auth-layout>*,.case-card-top>*,.client-result>*{min-width:0}
.case-card h2,.case-reference,.case-date,#account-greeting,#selected-client-id,.portal-message,.portal-notice{overflow-wrap:anywhere}
.portal-actions>*{max-width:100%;white-space:normal}
@media(max-width:800px){.auth-layout{grid-template-columns:minmax(0,1fr);gap:24px}.portal-welcome{padding-top:0}.portal-benefits{display:none}.auth-card{width:100%;max-width:560px;justify-self:center}}
@media(max-width:640px){
  .portal-main{padding-top:26px;padding-bottom:44px}.portal-page .header-inner{padding:12px 0}
  .portal-nav{width:100%;justify-content:space-between;flex-wrap:wrap;gap:8px}.portal-nav>a{min-height:44px;display:flex;align-items:center;font-size:14px}
  .auth-card,.portal-panel{padding:22px 20px}.auth-card h2{font-size:28px}.auth-tabs{gap:20px}.auth-tabs button,.portal-text-button{min-height:48px}
  .social-button{min-height:48px;padding:12px 16px;font-size:15px}.portal-page .field-row{grid-template-columns:minmax(0,1fr)}
  .portal-actions{display:grid;grid-template-columns:minmax(0,1fr)}.dashboard-heading h1{font-size:34px}
  .admin-panel #case-editor{padding:20px 16px}.case-card{padding:20px}.case-card h2{font-size:24px}.status-badge{white-space:normal}
  .empty-cases{padding:24px 18px}.portal-footer a{min-height:44px;padding-block:10px}
}
