/* Edspire V18.2.1 - targeted final client finishing layer. */

/* Browser-safe chart lines: SVG markup also carries fill="none". */
svg.analytics-svg-chart polyline.chart-line,
svg.analytics-svg-chart polyline.chart-line.series-1,
svg.analytics-svg-chart polyline.chart-line.series-2,
svg.analytics-svg-chart polyline.chart-line.series-3{fill:none!important;fill-opacity:0!important;stroke-linejoin:round;stroke-linecap:round}

/* One visually aligned top-right tool row. */
.top-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;min-width:0}
.top-drop{position:relative!important;display:flex!important;align-items:center!important;margin:0!important;padding:0!important}
.top-drop>summary{box-sizing:border-box!important;height:40px!important;min-height:40px!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;border-radius:10px!important;vertical-align:middle!important}
.top-drop>summary::-webkit-details-marker{display:none!important}
.top-tool-icon,.top-drop .top-tool-icon{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;width:40px!important;min-width:40px!important;height:40px!important;padding:0!important;line-height:1!important}
.top-tool-icon svg,.top-drop>summary svg{display:block!important;margin:0!important;flex:0 0 auto}
.top-drop.quick-links-drop>summary{width:auto!important;min-width:116px!important;height:40px!important;padding:0 12px!important}
.top-count{position:absolute!important;top:-4px!important;right:-4px!important;z-index:3!important;display:grid!important;place-items:center!important;min-width:17px!important;height:17px!important;padding:0 4px!important;margin:0!important;border-radius:999px!important;font-size:9px!important;line-height:1!important;pointer-events:none!important}
.top-drop-menu{top:calc(100% + 8px)!important;right:0!important;left:auto!important;margin:0!important;z-index:200!important;max-width:min(420px,calc(100vw - 20px))!important}
.topbar{z-index:100!important}.table-wrap thead th{z-index:10}.app-confirm{z-index:500!important}.app-confirm-card{z-index:510!important}

/* Desktop sidebar rail. The control stays INSIDE the rail after collapse. */
@media(min-width:851px){
  .sidebar{overflow-x:hidden!important}
  .sidebar-collapse-btn{position:relative!important;right:auto!important;bottom:auto!important;top:auto!important;transform:none!important;z-index:80!important;pointer-events:auto!important;flex:0 0 30px!important}
  body.sidebar-collapsed .app-shell{grid-template-columns:76px minmax(0,1fr)!important}
  body.sidebar-collapsed .sidebar{padding-inline:8px!important;overflow-x:hidden!important}
  body.sidebar-collapsed .brand{position:relative!important;display:flex!important;justify-content:flex-start!important;align-items:center!important;padding:10px 0!important;gap:0!important;overflow:visible!important}
  body.sidebar-collapsed .brand-logo{width:38px!important;height:38px!important;flex:0 0 38px!important}
  body.sidebar-collapsed .brand .sidebar-collapse-btn{position:absolute!important;right:1px!important;top:14px!important;bottom:auto!important;width:28px!important;height:28px!important;transform:none!important;background:#174c82!important;border-color:#2e679f!important;z-index:80!important}
  body.sidebar-collapsed .brand-copy,
  body.sidebar-collapsed .sidebar-caption,
  body.sidebar-collapsed .sidebar-footer,
  body.sidebar-collapsed .nav-link>span:not(.nav-icon),
  body.sidebar-collapsed .nav-group-title b,
  body.sidebar-collapsed .nav-sub{display:none!important}
  body.sidebar-collapsed .nav-link,body.sidebar-collapsed .nav-group-title{justify-content:center!important;padding:9px!important;min-height:44px!important}
  body.sidebar-collapsed .nav-group-title>span:first-child{display:flex!important;justify-content:center!important;gap:0!important;font-size:0!important}
  body.sidebar-collapsed .nav-group-title .nav-icon,body.sidebar-collapsed .nav-icon{font-size:15px!important;margin:0!important}
}

/* Family workflow screen. */
.family-ledger-filter .toolbar{align-items:end}.family-search-field{min-width:min(420px,100%);flex:1 1 300px}
.family-search-results{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.family-search-results a{display:grid;gap:2px;padding:8px 10px;border:1px solid #dde6ef;border-radius:9px;text-decoration:none;background:#fff;color:#233a55}.family-search-results span{font-size:11px;color:#718197}
.family-ledger-identity{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px;margin:12px 0;border:1px solid #dfe7ef;border-radius:12px;background:#fff}.family-ledger-identity span{font-size:10px;text-transform:uppercase;color:#718197;font-weight:800}.family-ledger-identity h2{margin:3px 0}.family-ledger-identity p{margin:0;color:#66778c}.family-generated-state{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 12px;margin-bottom:10px;border:1px solid #dfe7ef;border-radius:9px;background:#f8fbfe;color:#52647a;font-size:11px}.family-generated-state b{color:#263950}
.family-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:10px 0 13px}.family-summary-grid>div{padding:11px 12px;border:1px solid #dfe7ef;border-radius:10px;background:#fff}.family-summary-grid small,.family-summary-grid strong{display:block}.family-summary-grid small{font-size:9.5px;text-transform:uppercase;font-weight:800;color:#728196}.family-summary-grid strong{margin-top:5px;font-size:15px;font-variant-numeric:tabular-nums}

/* Official document primitives. */
.official-document{background:#fff;color:#1f2d3d;border:1px solid #dce4ec;border-radius:8px;padding:12mm 10mm;margin:12px 0;box-shadow:none}
.document-section{margin-top:6mm}.document-section>h3{margin:0 0 3mm;font-size:11pt;text-transform:uppercase;letter-spacing:.03em;color:#233b57}
.document-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid #cfd9e4;margin:5mm 0}.document-meta-grid>div{display:grid;grid-template-columns:42% 1fr;gap:6px;padding:7px 9px;border-bottom:1px solid #e0e7ef}.document-meta-grid>div:nth-child(odd){border-right:1px solid #e0e7ef}.document-meta-grid span{font-size:9.5px;color:#66788d}.document-meta-grid strong{font-size:10.5px;color:#243b55}.document-note{margin:4mm 0;padding:3mm 3.5mm;border-left:3px solid #7e9dbc;background:#f6f9fc;font-size:9.5pt;color:#4f6277}.document-table{width:100%;border-collapse:collapse;font-size:9pt}.document-table th,.document-table td{border:1px solid #cfd8e2;padding:5px 6px;vertical-align:top}.document-table thead th{background:#edf2f7;color:#203850;font-weight:800}.document-table .money{text-align:right;font-variant-numeric:tabular-nums}.document-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:12mm;margin:15mm 0 6mm;text-align:center}.document-signatures span{display:block;border-top:1px solid #33485f;margin-bottom:2mm}.document-signatures b,.document-signatures small{display:block;font-size:9pt}.document-signatures small{margin-top:1mm;color:#67788a}


@page ledgerPortrait{size:A4 portrait;margin:10mm 11mm}
@page familyLedgerPortrait{size:A4 portrait;margin:10mm 11mm}
@page feeReceiptPortrait{size:A4 portrait;margin:10mm 11mm}
/* Keep screen shell operational; print only the institutional document. */
@media print{
  body.route-fee-ledger .report-print-area{page:ledgerPortrait!important}
  body.route-fee-family-ledger .report-print-area{page:familyLedgerPortrait!important}
  body.route-fee-receipt .report-print-area{page:feeReceiptPortrait!important}
  body.route-fee-ledger,body.route-fee-family-ledger,body.route-fee-receipt{background:#fff!important}
  body.route-fee-ledger .workflow-page-head,body.route-fee-ledger .ledger-student-head,body.route-fee-ledger .ledger-actions,
  body.route-fee-family-ledger .family-ledger-screen,body.route-fee-family-ledger .family-ledger-filter,
  body.route-fee-receipt .workflow-page-head,body.route-fee-receipt .report-screen-actions{display:none!important}
  body.route-fee-ledger .report-print-area,body.route-fee-family-ledger .report-print-area,body.route-fee-receipt .report-print-area{display:block!important;visibility:visible!important;position:static!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}
  body.route-fee-ledger .main-area,body.route-fee-family-ledger .main-area,body.route-fee-receipt .main-area,
  body.route-fee-ledger .content,body.route-fee-family-ledger .content,body.route-fee-receipt .content{margin:0!important;padding:0!important;background:#fff!important}
  .document-table thead{display:table-header-group}.document-table tr{break-inside:avoid;page-break-inside:avoid}
  .document-signatures{break-inside:avoid}.document-note{break-inside:avoid}
}
@media(max-width:1023px){.family-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.top-drop>summary{height:40px!important;min-height:40px!important}.top-tool-icon,.top-drop .top-tool-icon{width:40px!important;min-width:40px!important;height:40px!important}.top-drop-menu{position:fixed!important;top:58px!important;left:8px!important;right:8px!important;width:auto!important;max-width:none!important}.family-ledger-identity{display:block}.family-ledger-identity .ledger-actions{margin-top:10px}.family-generated-state{display:block}.family-generated-state span{display:block;margin-top:3px}.family-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.document-meta-grid{grid-template-columns:1fr}.document-meta-grid>div:nth-child(odd){border-right:0}}
@media(max-width:390px){.family-summary-grid{grid-template-columns:1fr}}

/* The receipt is a special print route, so give its official header the same
   proportions as standard report-page letterheads without changing vouchers. */
@media print{
  body.route-fee-receipt .report-letterhead-grid{display:grid!important;grid-template-columns:20mm minmax(0,1fr) 36mm!important;gap:3mm!important;align-items:center!important;min-height:18mm!important;padding:0!important;border:0!important;margin:0!important}
  body.route-fee-receipt .report-brand-side{display:flex!important;align-items:center!important;min-width:0!important}
  body.route-fee-receipt .report-brand-left{justify-content:flex-start!important} body.route-fee-receipt .report-brand-right{justify-content:flex-end!important}
  body.route-fee-receipt .report-brand-side img{display:block!important;width:auto!important;height:17mm!important;max-width:20mm!important;max-height:17mm!important;object-fit:contain!important}
  body.route-fee-receipt .report-brand-right img{width:36mm!important;height:auto!important;max-width:36mm!important;max-height:16mm!important;object-fit:contain!important}
  body.route-fee-receipt .report-brand-center{text-align:center!important;min-width:0!important}
  body.route-fee-receipt .report-school-title{font-size:17pt!important;line-height:1.02!important;color:#b82020!important;margin:0!important}
  body.route-fee-receipt .report-school-subtitle{font-size:7.5pt!important;margin-top:.5mm!important;color:#173f70!important}
  body.route-fee-receipt .report-main-title{font-size:11.5pt!important;margin-top:1mm!important;color:#103f76!important}
  body.route-fee-receipt .report-subtitle{font-size:7.5pt!important;margin-top:.6mm!important;color:#4f6073!important}
  body.route-fee-receipt .report-contact-line{font-size:6.5pt!important;margin-top:.7mm!important;color:#384c62!important}
  body.route-fee-receipt .report-divider{border-top:1.3pt solid #103f76!important;margin-top:1.2mm!important}
  body.route-fee-receipt .report-generated-meta{font-size:6pt!important;gap:4mm!important;margin-top:1mm!important;color:#65768a!important}
  body.route-fee-receipt .report-summary-doc{border-radius:0!important;box-shadow:none!important;background:#fff!important;border-top:1.2pt solid #333!important;border-bottom:.6pt solid #777!important;padding:2.2mm 0!important;margin:3mm 0 4mm!important;break-inside:avoid!important}
  body.route-fee-receipt .report-summary-title{font-size:8.5pt!important;margin-bottom:1mm!important}
  body.route-fee-receipt .report-summary-row{grid-template-columns:1fr 38mm!important;border-bottom:.35pt solid #bbb!important;padding:1mm 0!important;font-size:8.5pt!important}
  body.route-fee-receipt .report-footer{margin-top:5mm!important;padding-top:2mm!important;font-size:6.5pt!important}
}
