/* Content-led additions; diagrams use server-authorized values, never invented trends. */
body.sba-redesign .portal-shell button { min-width:44px; }
body.sba-redesign .portal-shell .admin-preview-surface.customer-portal-shell { background:transparent; }
body.sba-redesign .portal-shell .glass-dropdown-menu { width:280px; min-width:min(240px,calc(100vw - 40px)); max-width:calc(100vw - 40px); }
body.sba-redesign .portal-shell .glass-dropdown-menu :is(button,a) { width:100%; white-space:normal; overflow-wrap:normal; }
@media(max-width:560px) {
  body.sba-redesign .portal-shell .glass-dropdown-menu { width:auto; min-width:0; max-width:none; bottom:calc(88px + env(safe-area-inset-bottom,0px)); }
}
body.sba-redesign .portal-shell :is(.state-pill.orange,.status-badge.pending,.asset-status-pill.orange,.tiny-pill.orange,.invoice-status-pill.orange) { color:#805310; background:#fff3da; }
body.sba-redesign .portal-shell :is(.state-pill.green,.warranty-line span,.asset-status-pill.green) { color:#216448; }
body.sba-redesign .portal-shell .warranty-line > .danger-button { justify-self:start; width:auto; padding:10px 14px; }
body.sba-redesign .portal-shell .insurance-detail-grid .module-line.rich-line { padding:18px; align-items:center; gap:12px; }
body.sba-redesign .portal-shell .widget-status-bar { height:auto; min-height:34px; padding-top:8px; overflow:visible; background:transparent; }
body.sba-redesign .portal-shell .widget-status-bar i { height:6px; top:0; min-width:0; border-radius:10px; }
body.sba-redesign .portal-shell .widget-status-bar b { position:relative; inset:auto; display:block; padding-top:7px; font-size:13px; color:#394650; line-height:1.4; }
body.sba-redesign .portal-shell .sba-vnext-property-hero__facts dt { color:#637078; }
body.sba-redesign .portal-shell .sba-vnext-property-hero__facts dd { color:#1b242b; }
body.sba-redesign .portal-shell .sba-vnext-property-hero__facts > div { border-color:#e4e8ec; }
body.sba-redesign .portal-shell .sba-vnext-hero-actions .secondary-button { color:#27333d; background:#f4f6f8; border-color:#e0e5e9; }
body.sba-redesign .portal-shell .sba-vnext-property-hero__media { min-height:180px; height:220px; }
body.sba-redesign .portal-shell .sba-project-team .sba-company-card { padding:10px 12px; border:0; box-shadow:none; border-radius:14px; gap:10px; }
.login-shell.sba-redesign-login .auth-tabs button::after { display:none; }
.login-shell.sba-redesign-login .hello-rotator { display:block; }
.login-shell.sba-redesign-login .login-welcome { order:0; }
.login-shell.sba-redesign-login .auth-tabs { order:1; }
.login-shell.sba-redesign-login .auth-card { order:2; }
.login-shell.sba-redesign-login .login-auth-promo { order:3; }
.login-shell.sba-redesign-login .login-motion-control { order:4; }
.sba-redesign .sba-project-shortcuts { display:flex; flex-wrap:wrap; gap:8px; }
.sba-redesign .sba-project-shortcuts button { display:flex; align-items:center; gap:8px; padding:10px 15px; border:1px solid #dde3e8; border-radius:100px; background:rgba(255,255,255,.94); color:#394650; font-size:13px; min-height:44px; }
.sba-redesign .sba-project-shortcuts button:hover { background:#eaf0f4; }
.sba-redesign [id^="project-widget-panel-"] { scroll-margin-top:90px; }
body.sba-redesign .flow-modal > form.form-grid { padding:20px 24px 24px; }
body.sba-redesign .portal-shell .sba-vnext-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
body.sba-redesign .portal-shell .sba-vnext-protection-hero :is(h2,p,strong,span) { color:#25323c; }
body.sba-redesign .portal-shell .sba-vnext-protection-hero__status { background:#f2f6f7; border:1px solid #e4ebee; }
body.sba-redesign .portal-shell .section-heading.clean { align-items:center; }
body.sba-redesign .portal-shell .section-heading.clean > button { align-self:center; height:auto; }
body.sba-redesign .portal-shell .sba-vnext-section__head { flex-wrap:wrap; }
body.sba-redesign .portal-shell .sba-vnext-section__head > div:first-child { flex:1 0 180px; }
body.sba-redesign .portal-shell .property-news-line .compact-action { width:auto; min-width:44px; padding:10px 12px; white-space:normal; }
body.sba-redesign .portal-shell .invoice-layout { grid-template-columns:minmax(0,2.5fr) minmax(240px,1fr) !important; }
body.sba-redesign .portal-shell .project-planner-nav-button { min-width:44px; width:44px; flex:0 0 44px; }
body.sba-redesign .portal-shell :is(.project-asset-thumb,.round-add-button) { min-width:44px; min-height:44px; }
body.sba-redesign .portal-shell .sba-vnext-project-detail .project-flow-columns { display:none; }
body.sba-redesign .portal-shell .project-month-event { display:flex; flex-direction:column; align-items:stretch; gap:4px; }
body.sba-redesign .portal-shell .project-month-event strong { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
body.sba-redesign .portal-shell .sba-vnext-document-list .sba-vnext-list-row { grid-template-columns:44px minmax(0,1fr) minmax(90px,auto) 44px; }
body.sba-redesign .portal-shell .sba-vnext-document-list .sba-vnext-list-row__aside { grid-column:3; grid-row:1; white-space:nowrap; }
body.sba-redesign .portal-shell .sba-vnext-document-list .document-actions { grid-column:4; grid-row:1; }
@media(max-width:767px) {
  body.sba-redesign .portal-shell .project-widget-grid > .project-widget-card { grid-column:1 / -1; width:100%; }
  body.sba-redesign .portal-shell .project-asset-row { grid-template-columns:44px minmax(0,1fr) 44px; gap:12px; }
  body.sba-redesign .portal-shell .project-asset-row .project-asset-thumb { grid-column:1; grid-row:1; }
  body.sba-redesign .portal-shell .project-asset-row .project-asset-copy { grid-column:2; grid-row:1; }
  body.sba-redesign .portal-shell .project-asset-row .asset-status-pill { grid-column:2 / 4; grid-row:2; justify-self:start; }
  body.sba-redesign .portal-shell .project-asset-row .project-asset-amount { grid-column:2 / 4; grid-row:3; text-align:left; }
  body.sba-redesign .portal-shell .project-asset-row .project-asset-menu { grid-column:3; grid-row:1; }
  body.sba-redesign .portal-shell .sba-vnext-document-list .sba-vnext-list-row { grid-template-columns:44px minmax(0,1fr) 44px; }
  body.sba-redesign .portal-shell .sba-vnext-document-list .sba-vnext-list-row__aside { grid-column:2; grid-row:2; text-align:left; }
  body.sba-redesign .portal-shell .sba-vnext-document-list .document-actions { grid-column:3; grid-row:1 / 3; }
}
@media(max-width:1150px) { body.sba-redesign .portal-shell .invoice-layout { grid-template-columns:minmax(0,1fr) !important; } }
@media(min-width:1280px) { body.sba-redesign .portal-shell .sba-vnext-summary-grid { grid-template-columns:repeat(4,minmax(0,1fr)) !important; } }
@media(max-width:600px) { body.sba-redesign .portal-shell .sba-vnext-summary-grid { grid-template-columns:minmax(0,1fr) !important; } }
.sba-redesign .sba-data-chart { min-width:0; padding:clamp(20px,3vw,32px); }
.sba-redesign .sba-data-chart h2 { font-size:clamp(20px,2vw,26px); letter-spacing:-.035em; margin:8px 0; }
.sba-redesign .sba-data-chart header p { color:#667078; font-size:14px; line-height:1.6; }
.sba-redesign .sba-data-chart ul { list-style:none; padding:0; margin:24px 0 0; display:grid; gap:22px; }
.sba-redesign .sba-data-chart-label { display:flex; justify-content:space-between; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:10px; font-size:14px; }
.sba-redesign .sba-data-chart-label span { overflow-wrap:anywhere; }
.sba-redesign .sba-data-chart-label strong { font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.sba-redesign .sba-data-chart-track { height:9px; background:#edf0f2; border-radius:20px; overflow:hidden; }
.sba-redesign .sba-data-chart-track i { height:100%; display:block; border-radius:20px; background:#477ea8; }
.sba-redesign .sba-data-chart-track .tone-green { background:#31866a; }
.sba-redesign .sba-data-chart-track .tone-amber { background:#be852a; }
.sba-redesign .sba-data-chart-track .tone-red { background:#c96765; }
.sba-redesign .sba-data-chart-track .is-credit { background:repeating-linear-gradient(120deg,#617c9b 0px,#617c9b 4px,#b4c6d8 4px,#b4c6d8 7px); }
.sba-redesign .sba-project-story { display:grid; grid-template-columns:minmax(0, .9fr) minmax(0,1.1fr); background:rgba(255,255,255,.94); border:1px solid #e9edf0; border-radius:28px; overflow:hidden; }
.sba-redesign .sba-project-story:not(:has(.sba-project-story-image)) { grid-template-columns:1fr; }
.sba-redesign .sba-project-story-image { min-height:260px; position:relative; background:#edf0f2; }
.sba-redesign .sba-project-story-image img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.sba-redesign .sba-project-story-copy { padding:clamp(24px,4vw,42px); min-width:0; }
.sba-redesign .sba-project-story-copy h2 { font-size:clamp(24px,3vw,36px); line-height:1.15; letter-spacing:-.045em; margin:12px 0; }
.sba-redesign .sba-project-story-copy p { color:#637078; line-height:1.7; overflow-wrap:anywhere; }
.sba-redesign .sba-project-team { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.sba-redesign .sba-project-team .sba-company-card { display:flex; align-items:center; gap:10px; padding:10px 14px; background:#f6f8f9; border-radius:16px; min-width:0; max-width:100%; }
.sba-redesign .sba-company-card > span:last-child { display:grid; gap:4px; min-width:0; overflow-wrap:anywhere; }
.sba-redesign .sba-company-card small { color:#637078; }
.sba-redesign .sba-invoice-state { display:flex; gap:7px; align-items:center; margin-top:10px; font-size:12px; color:#687078; }
.sba-redesign .sba-invoice-state i { width:6px; height:6px; border-radius:50%; background:#a3a9ae; flex:none; }
.sba-redesign .sba-invoice-state.is-confirmed i { background:#31866a; }
.sba-redesign .sba-invoice-state.is-reported i { background:#be852a; }
@media(max-width:767px) {
  .sba-redesign .sba-project-story { grid-template-columns:1fr; border-radius:22px; }
  .sba-redesign .sba-project-story-image { min-height:180px; }
  .sba-redesign .sba-data-chart-label { align-items:start; }
}
