/* Each report keeps its own two-column group grid. */
.timingPaymentSplit { display:block; font-size:12px; font-weight:400; color:#64748b; }
.revenueDetailColumns { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; min-width:0; }
.revenueDetailColumns > section { min-width:0; }
.revenueDesktopZoomControls { display:none; }
@media(min-width:921px) {
  html body .revenueDetailColumns :is(.revenueDesktopZoomControls,.revenueMovementZoomControls) { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; padding:8px; }
  .revenueDetailColumns .revenueMobileZoomBar > div { display:flex; align-items:center; gap:8px; }
  .revenueDetailColumns .revenueMobileZoomBar button { min-height:36px; padding:4px 10px; }
  .revenueDetailColumns .revenueMobileZoomBar output { min-width:48px; text-align:center; font-variant-numeric:tabular-nums; }
  html body .revenueDetailColumns .revenueBoardGrid { grid-template-columns:minmax(0,1fr) !important; gap:12px; }
  .revenueDetailColumns .revenueMovementTableViewport { overflow:auto; min-width:0; }
  .revenueDetailColumns .revenueMovementZoomContent,
  .revenueDetailColumns #revenueSegmentReport > .revenueBoardGrid { zoom:var(--revenue-table-zoom,1); }
  html body .revenueDetailColumns .revenueBoardTable { table-layout:fixed; width:100% !important; min-width:0 !important; }
  html body .revenueDetailColumns .revenueBoardTable :is(th,td) { padding:6px 4px; white-space:normal; overflow-wrap:normal; word-break:normal; }
  html body .revenueDetailColumns .revenueBoardTable col.revenueColClass { width:16%; }
  html body .revenueDetailColumns .revenueBoardTable col.revenueColCount { width:7%; }
  html body .revenueDetailColumns .revenueBoardTable col.revenueColMoney { width:21%; }
  html body .revenueDetailColumns .revenueBoardTable th { font-size:12px !important; }
  html body .revenueDetailColumns .revenueSectionTitle { font-size:16px; margin:8px 0; }
}
@media(min-width:1100px) { html body .revenueDetailColumns .revenueBoardGrid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }
.studentFlowReport { min-width:0; margin-top:16px; }
.studentFlowReport header { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px; }
.studentFlowReport h3 { font-size:16px; }
.studentFlowTabs,.studentFlowPager { display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0; }
html body #studentFlowReport .studentFlowTabs button.active { background:var(--account-accent,#0f766e) !important;color:#fff !important;font-weight:700; }
.studentFlowPager label { display:flex;align-items:center;gap:8px; }
.studentFlowPager :is(button,select),.studentFlowTabs button { min-height:44px; }
.studentFlowPager select { width:auto;min-width:88px; }
.studentFlowTableWrap { overflow:auto; max-width:100%; }
.studentFlowTable { width:100%; border-collapse:collapse; table-layout:fixed; }
.studentFlowTable :is(th,td) { padding:8px; border:1px solid var(--account-border,#d8e6f0); text-align:left; vertical-align:top; overflow-wrap:anywhere; }
.studentFlowTable col:nth-child(1) { width:5%; }
.studentFlowTable col:nth-child(2) { width:10%; }
.studentFlowTable col:nth-child(3) { width:19%; }
.studentFlowTable col:nth-child(4),.studentFlowTable col:nth-child(5) { width:18%; }
.studentFlowTable col:nth-child(6) { width:30%; }
.studentFlowTable small { display:block; color:var(--account-muted,#64748b); }
@media(max-width:920px) { .studentFlowTable { min-width:650px; } }
.revenueMoneyUnit { font-size:13px; color:var(--account-muted,#64748b); }
html body #revenueSegmentReport .revenueNineColumns col.revenueColClass { width:15%; }
html body #revenueSegmentReport .revenueNineColumns col.revenueColCount { width:5%; }
html body #revenueSegmentReport .revenueNineColumns col:nth-child(4) { width:8%; }
html body #revenueSegmentReport .revenueNineColumns col:nth-child(5) { width:4%; }
html body #revenueSegmentReport .revenueNineColumns col.revenueColMoney { width:14%; }
html body #revenueSegmentReport .revenueNineColumns col.revenueColRatio { width:12%; }
html body #revenueSegmentReport .revenueNineColumns th { white-space:nowrap !important; padding:6px 3px; font-size:11px !important; }
@layer testdd-typography {
  html body #revenueSegmentReport .revenueNineColumns th { font-size:11px !important; }
  @media(min-width:921px) { html body #revenueSegmentReport .revenueNineColumns td { font-size:12px !important; } }
}
@media(min-width:921px) { html body #revenueSegmentReport .revenueNineColumns td { font-size:12px; padding:6px 3px; } }
html body #revenueSegmentReport .revenueNineColumns td:not(:first-child) { white-space:nowrap !important; font-variant-numeric:tabular-nums; }
.revenueBenefitGrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); gap:12px; }
.revenueBenefitCard { padding:14px; border:1px solid var(--account-border,#d8e6f0); border-radius:14px; background:var(--account-surface,#fff); }
.revenueBenefitCard h4 { margin:0 0 12px; }
.revenueBenefitBody { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.revenueBenefitBody dl { flex:1; min-width:160px; margin:0; font-size:13px; }
.revenueBenefitBody dt { color:var(--account-muted,#64748b); }
.revenueBenefitBody dd { margin:0 0 6px; font-variant-numeric:tabular-nums; }
.revenueBenefitDonut { width:116px; height:116px; border-radius:50%; background:conic-gradient(#b45309 0 var(--discount-end),#0f766e var(--discount-end) var(--voucher-end),#dbeafe var(--voucher-end) 100%); display:grid; place-items:center; flex-shrink:0; }
.revenueBenefitDonut span { background:var(--account-surface,#fff); width:86px; height:86px; border-radius:50%; display:grid; place-items:center; font-size:18px; }
#revenueBenefitReport details > summary,.revenueVoucherWarnings > summary { cursor:pointer; min-height:44px; padding:10px 4px; }
#revenueBenefitReport { margin:16px 0; min-width:0; }
#revenueBenefitReport > p { font-size:13px; }
.revenueBenefitMore { margin-top:8px; min-height:44px; width:100%; }
html body dialog.reportDetailDialog { width:min(960px,calc(100vw - 24px)); max-width:960px; max-height:calc(100dvh - 32px); padding:0; overflow:hidden; }
html body dialog.reportDetailDialog[open] { display:flex; flex-direction:column; }
.reportDetailDialog > :is(header,footer) { padding:12px 16px; flex-shrink:0; }
.reportDetailDialog > header { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.reportDetailDialog h3 { margin:0; font-size:18px; overflow-wrap:anywhere; }
.reportDetailDialog .iconBtn { min-width:44px; min-height:44px; flex-shrink:0; }
.reportDetailBody { overflow:auto; min-height:0; padding:16px; overscroll-behavior:contain; }
.reportDetailBody > p { margin:0 0 12px; font-size:13px; }
.reportDetailDialog > footer { display:flex; justify-content:flex-end; }
#auditView .auditCompactDetail { display:flex; align-items:center; gap:12px; }
#auditView .auditCompactText { flex:1; min-width:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; text-align:left; }
#auditView .auditDetailButton { flex-shrink:0; min-height:36px; padding:4px 10px; font-size:12px; }
#auditView .auditPageSizeLabel { display:flex; align-items:center; gap:8px; font-size:13px; }
#auditView [data-audit-page-size] { width:76px; min-height:36px; padding:4px 8px; }
.auditDetailMeta { display:grid; grid-template-columns:130px minmax(0,1fr); gap:8px 12px; margin:0 0 16px; }
.auditDetailMeta dt { color:var(--account-muted,#64748b); }
.auditDetailMeta dd { margin:0; overflow-wrap:anywhere; }
.auditFullDetail { line-height:1.6; overflow-wrap:anywhere; }
.auditFullDetail .auditAttendanceSummary { display:flex; flex-wrap:wrap; gap:8px; }
.auditFullDetail .auditPill { white-space:normal; }
@media(max-width:920px) {
  #auditView .auditCompactDetail { flex-direction:column; align-items:stretch; gap:6px; }
  #auditView .auditDetailButton { align-self:flex-end; min-height:44px; }
  .auditDetailMeta { grid-template-columns:1fr; gap:4px; }
  .auditDetailMeta dd { margin-bottom:8px; }
}
@media(max-width:920px) {
  html body .revenueMobileGroup .revenueMobileTable :is(th,td):nth-child(9) { width:62px; }
  html body .revenueMobileGroup .revenueMobileTable { min-width:560px; }
}
/* TESTDD-095: compact area summaries, details rendered only inside the dialog. */
.statusAreaGrid,.issueAreaGrid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.statusAreaGrid > section,.issueAreaCard { min-width:0; border:1px solid #dbe5ef; border-radius:14px; padding:14px; background:#fff; }
.statusPieCard header,.issueAreaCard header { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
.statusPieCard h4,.issueAreaCard h4 { margin:0; }
.statusPieBody { display:flex; align-items:center; gap:20px; padding:16px 0; }
.statusPie { width:140px; height:140px; flex-shrink:0; border-radius:50%; display:grid; place-items:center; }
.statusPie > span { width:104px; height:104px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:50%; background:#fff; font-size:24px; }
.statusPie small { font-size:12px; }
.statusPieBody ul { list-style:none; padding:0; margin:0; flex:1; min-width:0; }
.statusPieBody li { display:flex; gap:7px; align-items:center; padding:4px 0; flex-wrap:wrap; }
.statusPieBody li i { width:9px; height:9px; border-radius:50%; }
.statusPieBody li b { margin-left:auto; white-space:nowrap; }
.statusAreaGrid button,.issueAreaGrid button { min-height:44px; }
.tuitionTimingReport { margin-top:24px; }
.timingExcluded { font-size:12px; line-height:1.6; margin-bottom:8px; }
.issueRankList { padding-left:24px; }
.issueRankList li { padding:8px 0; border-bottom:1px solid #edf4f8; }
.issueRankList li > div { display:inline-flex; flex-direction:column; max-width:80%; }
.issueRankList li > b { float:right; }
.issueRankList small { color:#64748b; }
.reportRowsScroll { overflow:auto; max-width:100%; margin:12px 0; }
@media(max-width:760px) { .statusAreaGrid,.issueAreaGrid { grid-template-columns:minmax(0,1fr); } .statusPie { width:110px;height:110px; } .statusPie > span { width:82px;height:82px; } .statusPieBody { gap:12px; } }
.studentFlowFilters {display:flex;flex-wrap:wrap;gap:12px;margin:16px 0;}
.studentFlowFilters label {display:grid;gap:5px;flex:1 1 150px;min-width:0;}
.studentFlowFilters input,.studentFlowFilters select {min-height:44px;width:100%;font-size:16px;}
.reportOverview > .statusAreaGrid {grid-column:1/-1;}
.issueRankBar {display:block;margin-top:6px;height:7px;background:#edf4f8;border-radius:8px;overflow:hidden;}
.issueRankBar i {display:block;height:100%;background:linear-gradient(90deg,#f59e0b,#fb7185);border-radius:8px;}

/* TESTDD274: compact controls, paired movement rows and readable benefit detail. */
html body #studentFlowReport { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; align-items:start; }
html body #studentFlowReport>header { grid-column:1/-1; margin:0; padding:0; }
html body #studentFlowReport>header h3 { margin:0; }
html body #studentFlowReport .studentFlowQuickFilters { margin:0; padding:0; gap:8px; align-items:end; }
html body #studentFlowReport .studentFlowAdvanced { margin:0; padding:0; }
html body #studentFlowReport .studentFlowAdvanced[open],html body #studentFlowReport .studentFlowTableWrap,html body #studentFlowReport>p { grid-column:1/-1; }
html body #studentFlowReport .studentFlowPager { grid-column:1/-1; order:2; margin:0; padding:8px 0; }
html body #studentFlowReport .studentFlowFilters { margin:8px 0; }
html body #studentFlowReport .studentFlowAdvanced>summary { min-height:44px; display:flex; align-items:center; }
html body .revenueBoardGrid.movement { grid-template-columns:minmax(0,1fr)!important; align-items:start; }
html body :is(.studentMovementGroup,.revenueMovementCard) :is(th,td)[class*="movementCol-"] { text-align:left; vertical-align:top; overflow-wrap:anywhere; }
html body :is(.studentMovementGroup,.revenueMovementCard) :is(th,td):is(.movementCol-before,.movementCol-after) { text-align:right; width:6%; }
html body :is(.studentMovementGroup,.revenueMovementCard) :is(th,td).movementCol-className { width:12%; }
html body :is(.studentMovementGroup,.revenueMovementCard) :is(th,td):is(.movementCol-added,.movementCol-removed) { width:19%; }
html body :is(.studentMovementGroup,.revenueMovementCard) :is(th,td):is(.movementCol-source,.movementCol-reason) { width:19%; }
html body .revenueAdjustmentDetails { margin:8px; padding:0; min-width:0; }
html body .revenueAdjustmentDetails>summary { gap:10px; padding:10px 12px; flex-wrap:wrap; }
html body .revenueAdjustmentSections { padding:10px; }
html body .revenueAdjustmentTable :is(th,td) { text-align:left!important; vertical-align:top; overflow-wrap:anywhere; padding:8px!important; }
html body .revenueScholarshipTable :is(th,td):nth-child(4),html body .revenueScholarshipTable :is(th,td):nth-child(5) { text-align:right!important; font-variant-numeric:tabular-nums; }
html body .revenueAdjustmentSection h4 { margin:0; padding:8px 10px; }
@media(max-width:600px) {
 html body #studentFlowReport { grid-template-columns:minmax(0,1fr); }
 html body #studentFlowReport .studentFlowAdvanced { grid-column:1; }
 html body .reportPager274 { gap:8px; font-size:14px; }
 html body .revenueAdjustmentDetails>summary strong { font-size:14px; }
}

/* 276: opening benefits stays within its area; never span neighbouring areas. */

html body #studentMovementGroups { grid-template-columns:minmax(0,1fr); }
