.portal-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr); gap: 1.5rem; align-items: start; }
.portal-card { max-width: 680px; margin: 3rem auto; padding: 2rem; border: 1px solid var(--gg-border); border-radius: var(--radius); background: var(--gg-surface); }
.scope-text { white-space: pre-line; color: var(--gg-text); }
.quote-breakdown { display:grid; grid-template-columns:minmax(145px,.35fr) 1fr; margin:1rem 0 1.5rem; }
.quote-breakdown dt,.quote-breakdown dd { margin:0; padding:.65rem 0; border-bottom:1px solid var(--gg-border); }
.quote-breakdown dd { white-space:pre-line; }
.totals { margin: 2rem 0 0; }
.totals div { display: flex; justify-content: space-between; padding: .55rem 0; border-top: 1px solid var(--gg-border); }
.totals dd { margin: 0; font-variant-numeric: tabular-nums; }
.grand-total { font-size: 1.2rem; font-weight: 800; }
.check { display: flex; gap: .7rem; align-items: flex-start; font-weight: 500; }
.check input { width: 1.25rem; height: 1.25rem; flex: 0 0 auto; }
@media (max-width: 760px) { .portal-grid { grid-template-columns: 1fr; } }
.portal-dashboard-header{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin:1rem 0 1.25rem}.portal-dashboard-header h1{margin:.25rem 0}.portal-business{display:grid;text-align:right;color:var(--gg-muted)}
.portal-nav{display:flex;gap:.55rem;overflow-x:auto;padding:.75rem;background:var(--gg-surface);border:1px solid var(--gg-border);border-radius:10px;position:sticky;top:.5rem;z-index:5}.portal-nav a{white-space:nowrap;padding:.45rem .7rem;border-radius:6px;text-decoration:none;font-weight:700}.portal-nav a:hover{background:#e7ede4}
.portal-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.25rem 0}.portal-summary article{display:grid;gap:.3rem;padding:1.1rem;background:#29463a;color:#fff;border-radius:10px}.portal-summary span{font-size:.8rem;opacity:.82}.portal-summary strong{font-size:1.45rem}
.portal-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.portal-section{scroll-margin-top:5rem}.portal-wide{grid-column:1/-1}.portal-record{padding:1rem 0;border-top:1px solid var(--gg-border)}.portal-record:first-of-type{border-top:0}.portal-record h3{margin:0 0 .35rem}.portal-record p{margin:.3rem 0}.portal-record-row{display:flex;justify-content:space-between;gap:1rem}.portal-record-row>div:last-child{display:grid;justify-items:end;align-content:center;gap:.4rem;white-space:nowrap}.portal-responsibility{margin:1.5rem 0;padding:1rem;border-top:1px solid var(--gg-border);color:var(--gg-muted);font-size:.86rem}.portal-line-items>div{display:grid;grid-template-columns:2fr .7fr .8fr .8fr;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--gg-border)}.portal-line-items small{display:block;color:var(--gg-muted)}.portal-terms-list{display:grid;grid-template-columns:160px 1fr;gap:.6rem 1rem}.portal-terms-list dd{margin:0;white-space:pre-line}
.portal-case{padding:1.25rem 0;border-top:1px solid var(--gg-border)}.portal-case>header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.portal-case h3{margin:.25rem 0}.portal-conversation{display:grid;gap:.65rem;margin:1rem 0}.portal-message{padding:.8rem 1rem;background:#f0f2ed;border-left:3px solid var(--gg-secondary);border-radius:6px}.portal-message p{margin:.25rem 0;white-space:pre-line}.portal-follow-up{margin-top:1rem}.portal-follow-up button{margin-top:.65rem}
@media(max-width:800px){.portal-summary{grid-template-columns:1fr 1fr}.portal-dashboard-grid{grid-template-columns:1fr}.portal-wide{grid-column:auto}.portal-dashboard-header{align-items:start;flex-direction:column}.portal-business{text-align:left}.portal-record-row{align-items:flex-start;flex-direction:column}.portal-record-row>div:last-child{justify-items:start}.portal-line-items>div{grid-template-columns:1fr 1fr}.portal-terms-list{grid-template-columns:1fr}}
.communication-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2rem}.communication-choice h2{margin:.25rem 0}.communication-choice-form{display:flex;gap:.7rem;flex-wrap:wrap}.communication-choice-form button{margin:0}@media(max-width:800px){.communication-choice{grid-template-columns:1fr}}
.portal-property-filter{display:flex;align-items:end;gap:.75rem;padding:1rem 1.1rem;margin-bottom:1.25rem;background:var(--gg-surface);border:1px solid var(--gg-border);border-radius:10px}.portal-property-filter label{flex:1;margin:0}.portal-property-filter select{margin-top:.35rem}.portal-property-filter button{margin:0}.portal-property-filter a{padding:.7rem 0;font-weight:700;white-space:nowrap}.work-period-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.work-period-grid>div{padding:1rem;background:#f4f5f1;border-radius:8px}.work-period-grid h3{margin:0 0 .5rem}.work-period-grid article{display:grid;gap:.25rem;padding:.75rem 0;border-top:1px solid var(--gg-border)}.work-period-grid article time,.work-period-grid article span,.work-period-grid article small{color:var(--gg-muted)}.statement-balance{font-size:1.2rem}.account-statement{overflow-x:auto}.statement-head,.account-statement>a{display:grid;grid-template-columns:125px 1fr 1.35fr 100px 100px 110px;gap:.75rem;align-items:center;min-width:850px;padding:.75rem;border-top:1px solid var(--gg-border);text-decoration:none;color:var(--gg-text)}.statement-head{font-size:.78rem;font-weight:800;text-transform:uppercase;color:var(--gg-muted)}.account-statement>a:hover{background:#f0f2ed}.account-statement>a span{display:grid}.account-statement>a small{color:var(--gg-muted)}.account-statement>a>span:nth-last-child(-n+3),.account-statement>a>strong:last-child{text-align:right;font-variant-numeric:tabular-nums}@media(max-width:800px){.portal-property-filter{align-items:stretch;flex-direction:column}.work-period-grid{grid-template-columns:1fr}}
.portal-inline-form{display:inline}.link-button{background:none!important;border:0!important;color:#29463a!important;padding:0!important;text-decoration:underline;font:inherit!important;box-shadow:none!important}
.portal-expired{max-width:720px;margin:3rem auto}.portal-expired .portal-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:1.5rem 0}.portal-expired .button-link{display:inline-block;padding:.8rem 1rem;border-radius:7px;background:var(--gg-primary);color:#fff;text-decoration:none;font-weight:750}.portal-header-account{display:grid;justify-items:end;gap:.75rem}.portal-header-account form,.portal-header-account button{margin:0}@media(max-width:800px){.portal-header-account{justify-items:start}.portal-expired .portal-actions{align-items:flex-start;flex-direction:column}}
