.nav-group{margin-bottom:12px;min-width:0}
.nav-group-label{margin:12px 12px 5px;font-size:11px;font-weight:700;letter-spacing:.035em;color:#91a4c1}
.nav-group .nav-link{padding-block:8px}
.secondary-panel{margin:12px 0 18px;border:1px solid var(--border);border-radius:12px;background:#fff}
.secondary-panel>summary,.filter-advanced>summary{cursor:pointer;padding:12px;font-size:13px;font-weight:700;color:var(--text)}
.secondary-panel>.scope-bar{border:0;box-shadow:none;margin-bottom:0}
.secondary-panel .enrollment-contract-panel{border:0;box-shadow:none;margin-bottom:0}
.filter-advanced{grid-column:1/-1;min-width:0;border:1px solid var(--border);border-radius:10px;background:var(--surface-2,#f7f9fc)}
.filter-advanced>summary{min-height:40px;padding:10px 12px}
.filter-advanced[open]>.filters-inline{padding:10px 12px}
.filters-inline{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:12px;min-width:0}
.filters-inline>.form-field{min-width:0;margin:0}
.filters-inline>.class-checkboxes{grid-column:1/-1}
.scope-bar .scope-advanced{flex:0 1 220px;align-self:flex-end}
.scope-advanced .filters-inline{display:block}
.applied-filters{font-size:13px;color:var(--muted);margin:8px 0 12px;overflow-wrap:anywhere}
.financial-context{margin:12px 0 18px;padding:12px 16px;border-left:3px solid var(--blue-500,#2b5ccc);background:var(--surface-2,#f7f9fc);border-radius:8px}
.financial-context>summary{cursor:pointer;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.financial-context-summary{display:block;color:var(--muted);font-size:12px;padding-left:18px}
.financial-context dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px;margin:12px 0}
.financial-context dl>div{min-width:0}
.financial-context dt{font-size:11px;font-weight:700;color:var(--muted);margin-bottom:3px}
.financial-context dd{margin:0;font-size:13px;overflow-wrap:anywhere}
.financial-context p{font-size:12px;color:var(--muted);margin:8px 0 0}
.payable-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.payable-form .wide{grid-column:1/-1}
.payable-form input,.payable-form select,.payable-form textarea{min-width:0;max-width:100%}
.payable-form small,.form-required-note{color:var(--muted);font-size:12px;line-height:1.5}
.money-input{font-variant-numeric:tabular-nums;max-width:260px!important}
.modal-open{overflow:hidden}
.forecast-chart-panel{margin-bottom:18px}
.forecast-chart{width:100%;overflow:auto}
.forecast-chart svg{width:100%;min-width:560px;display:block}
.forecast-chart svg text{font-family:inherit;font-size:12px;fill:var(--muted)}
.forecast-base-line{fill:none;stroke:var(--blue-600,#2b5ccc);stroke-width:3}
.forecast-conservative-line{fill:none;stroke:#ad5300;stroke-width:3;stroke-dasharray:7 4}
.forecast-zero{stroke:#64748b;stroke-width:1;stroke-dasharray:3 4}
.forecast-chart circle{fill:#fff;stroke:#ad5300;stroke-width:2;cursor:pointer}
.forecast-chart a:hover circle,.forecast-chart a:focus-visible circle{fill:#ffe4b2;stroke-width:4}
.forecast-legend{display:flex;flex-wrap:wrap;gap:16px;margin:12px 0;font-size:12px}
.forecast-base,.forecast-conservative{display:inline-flex;align-items:center;gap:6px}
.forecast-base:before,.forecast-conservative:before{content:"";width:24px;border-top:3px solid var(--blue-600,#2b5ccc)}
.forecast-conservative:before{border-color:#ad5300;border-top-style:dashed}
.forecast-minimum{font-size:13px;line-height:1.6}
.forecast-opening{display:flex;flex-direction:column;align-items:flex-start;text-align:left;color:var(--text);font-family:inherit;cursor:pointer}
.forecast-value{white-space:nowrap;font-variant-numeric:tabular-nums}
.forecast-table caption{text-align:left;padding:12px;font-weight:700}
.forecast-table tr:target{background:var(--info-bg)}
.filters-inline .wide{grid-column:1/-1}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--blue-500,#2b5ccc);outline-offset:3px}
@media(max-width:820px){
 .sidebar{height:88px;padding-top:6px}
 .nav-group{display:flex;position:relative;padding-top:21px;margin:0 8px 0 0}
 .nav-group-label{position:absolute;left:8px;top:0;margin:0;white-space:nowrap;font-size:10px}
 .nav-group .nav-link{padding-block:4px;min-height:52px}
 .main{padding-bottom:118px}
 .financial-context dl{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
 .filters-inline,.payable-form .form-grid,.financial-context dl{grid-template-columns:minmax(0,1fr)}
 .financial-context{padding:10px 12px}
 .scope-bar .scope-advanced{width:100%;flex-basis:auto}
 .modal-foot{flex-wrap:wrap}
 .forecast-chart svg{min-width:520px}
}
