.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); }
.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; } }
