:root{--esc-ink:#172b3a;--esc-muted:#536877;--esc-primary:#17675c;--esc-primary-dark:#105247;--esc-bg:#f3f6f7;--esc-border:#d7e1e5;--esc-navy:#172f3e;--esc-surface:#fff;--esc-danger:#a92c36;--esc-radius:12px}
*{box-sizing:border-box}body{font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--esc-ink);background:var(--esc-bg);font-size:16px;line-height:1.55}a{color:var(--esc-primary)}a:hover{color:var(--esc-primary-dark)}button,a,input,select,textarea,summary{touch-action:manipulation}a,button,summary{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #be7024;outline-offset:3px}h1{font-size:30px;line-height:1.2;font-weight:700;margin:0}h2{font-size:20px;font-weight:650;line-height:1.4;margin:0}h3{font-size:18px;font-weight:650}p{margin:0 0 12px}small{font-size:13px;line-height:1.5;color:var(--esc-muted)}label{font-weight:600;margin:0 0 6px}fieldset{border:0;padding:0;margin:0}legend{font-size:16px;font-weight:600}.form-control{border:1px solid var(--esc-border);border-radius:7px;min-height:44px;font-size:16px;color:var(--esc-ink);background:#fff}textarea.form-control{height:auto}select.form-control{height:auto;min-height:44px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--esc-primary);vertical-align:middle;margin-right:8px}input[readonly]{background:#eef2f3}.btn{min-height:44px;border-radius:7px;padding:9px 16px;font-weight:600;white-space:normal}.btn-sm{min-height:40px;padding:7px 12px;font-size:14px}.btn-primary{background:var(--esc-primary);border-color:var(--esc-primary)}.btn-primary:hover,.btn-primary:active,.btn-primary:focus{background:var(--esc-primary-dark)!important;border-color:var(--esc-primary-dark)!important}.btn-secondary{background:#435d70;border-color:#435d70}.btn-light{background:#edf2f4;color:var(--esc-ink);border-color:#edf2f4}.btn-outline-primary{color:var(--esc-primary);border-color:var(--esc-primary)}.btn-outline-primary:hover{background:var(--esc-primary);border-color:var(--esc-primary)}.btn-outline-danger{color:var(--esc-danger);border-color:var(--esc-danger)}.btn[disabled]{opacity:.55;cursor:not-allowed}
.skip-link{position:fixed;top:-60px;left:10px;z-index:10000;background:#fff;padding:10px}.skip-link:focus{top:10px}.main-sidebar{width:250px;position:fixed;margin-left:0!important;height:100dvh!important;min-height:0!important;background:var(--esc-navy);border-right:1px solid #263f4f}.brand-link{display:flex;align-items:center;gap:12px;padding:25px 20px;font-size:19px;color:#fff!important;border-color:#344b5a!important}.brand-link small{display:block;color:#bad0dc;font-size:10px;letter-spacing:.8px;margin-top:3px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:#a4d4c4;color:var(--esc-navy);font-size:25px;font-weight:800;flex-shrink:0}.sidebar{padding:0 14px;height:calc(100vh - 160px);overflow-y:auto}.school-label{padding:25px 8px 14px;color:#c4d2db;font-size:13px}.nav-sidebar>.nav-item .nav-link{padding:11px 12px;margin-bottom:5px;border-radius:7px;display:flex;align-items:center;gap:12px;color:#d6e2e9;font-size:14px}.nav-sidebar .nav-link p{white-space:normal}.nav-sidebar>.nav-item>.nav-link.active{background:#245c61!important;box-shadow:none!important;color:#fff}.nav-sidebar .nav-link:hover{background:#274654!important}.nav-symbol{width:24px;height:24px;border:1px solid #7292a3;border-radius:6px;font-size:12px;font-weight:650;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-footer{position:absolute;bottom:0;width:100%;padding:16px 22px;border-top:1px solid #344b5a;color:#e2eaf0;font-size:12px}.sidebar-footer small{display:block;color:#aac0cd;font-size:11px}.content-wrapper{margin-left:250px!important;background:var(--esc-bg);min-height:100vh}.esc-topbar{min-height:78px;background:#fff;border-bottom:1px solid var(--esc-border);padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:14px}.topbar-school{font-weight:600;font-size:14px}.account-controls{display:flex;align-items:center;gap:14px;font-size:13px}.account-controls .btn{font-size:13px;padding:9px 12px}.account-link{font-weight:600}.language-form{display:flex;align-items:center;gap:8px}.language-form label{font-size:12px;margin:0}.language-form select{border:1px solid var(--esc-border);border-radius:6px;height:40px;padding:5px 8px;background:#fff;color:var(--esc-ink)}.language-save{padding:5px 8px!important}.nav-toggle{display:none}.esc-content{padding:32px;max-width:1600px;margin:0 auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.eyebrow{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--esc-primary);font-weight:700;margin:0 0 7px}.date-chip{font-size:13px;color:var(--esc-muted);background:#fff;border:1px solid var(--esc-border);border-radius:7px;padding:7px 12px}.page-intro{max-width:900px;color:var(--esc-muted);margin-bottom:24px}.page-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.page-tools p{margin:0;color:var(--esc-muted)}.esc-footer{padding:10px 32px 25px;font-size:12px;color:var(--esc-muted)}
.card{border:1px solid var(--esc-border);border-radius:var(--esc-radius);box-shadow:0 2px 4px #16324404;margin-bottom:24px;overflow:hidden}.card-header{padding:20px 24px;background:#fff;border-bottom:1px solid #e3eaed}.card-header p{font-size:14px;color:var(--esc-muted);margin:5px 0 0}.card-body{padding:24px}.card-footer{padding:16px 24px;background:#fafcfc;border-top:1px solid #e3eaed;display:flex;gap:12px;flex-wrap:wrap}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:28px}.metric-card{padding:24px;border:1px solid var(--esc-border);border-radius:var(--esc-radius);background:#fff}.metric-card p{font-size:14px;color:var(--esc-muted);margin:0 0 14px}.metric-card strong{font-size:30px;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.metric-rule{display:block;width:30px;height:3px;background:#84baa7;margin-top:22px}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.action-tile{border:1px solid var(--esc-border);padding:20px;border-radius:9px;display:flex;align-items:center;justify-content:space-between;color:var(--esc-ink)}.action-tile:hover{background:#f0f7f5;text-decoration:none}.action-tile span{font-size:23px;color:var(--esc-primary)}.notice{background:#e8f2ee;border:1px solid #c6ded3;border-radius:10px;padding:22px 24px;margin-bottom:24px}.notice p:last-child{margin-bottom:0}.notice strong{display:block;margin-bottom:6px}.filter-bar{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;padding:20px;background:#fff;border:1px solid var(--esc-border);border-radius:var(--esc-radius);margin-bottom:24px}.filter-bar>div{min-width:150px;flex:1}.filter-bar label{font-size:13px}.filter-bar .btn{flex-shrink:0}.table-card .table{margin:0}.table{font-size:14px}.table th{font-size:12px;color:var(--esc-muted);font-weight:700;border-top:0;border-bottom:1px solid var(--esc-border)!important;background:#f8fafb;vertical-align:middle;padding:14px 20px}.table td{padding:17px 20px;border-top:1px solid #e8eef0;vertical-align:middle;overflow-wrap:anywhere}.table tfoot th{font-size:14px;color:var(--esc-ink)}.table tbody tr:hover{background:#fbfdfd}.record-link{font-weight:650;white-space:nowrap}.numeric{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.status-pill{display:inline-block;border-radius:6px;font-size:12px;font-weight:650;padding:5px 9px;background:#e8f3ed;color:#265843}.status-pill.muted{background:#edf1f3;color:#4c6475}.status-pill.warning{background:#fff0d9;color:#825418}.empty-state{text-align:center;padding:44px!important;color:var(--esc-muted)}.subline{display:block;margin-top:4px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.form-grid>div{min-width:0}.span-full{grid-column:1/-1}.span-two{grid-column:1/-1}.stack-form{display:flex;flex-direction:column;gap:22px}.checkbox-field{display:flex;align-items:center;padding-top:26px}.checkbox-label{display:block;font-size:13px;font-weight:500;margin-top:10px}.tabs{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.tabs a{border:1px solid var(--esc-border);border-radius:7px;padding:11px 22px;color:var(--esc-ink);background:#fff;font-weight:600}.tabs .selected{background:var(--esc-primary);color:#fff;border-color:var(--esc-primary)}.tariff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.tariff-form{border-bottom:1px solid #e8eef0;padding-bottom:18px;margin-bottom:18px}.tariff-form:last-child{border:0;padding-bottom:0;margin-bottom:0}.tariff-form>label{font-size:14px}.inline-input{display:flex;gap:10px;align-items:flex-start}.inline-input .form-control{min-width:0}.inline-input .btn{flex-shrink:0}.disclosure>summary{padding:20px 24px;font-size:18px;font-weight:650;color:var(--esc-ink)}.disclosure[open]>summary{border-bottom:1px solid var(--esc-border)}.weekday-grid{display:flex;gap:14px;flex-wrap:wrap}.weekday-grid label{font-size:14px;font-weight:500;min-height:44px;display:flex;align-items:center}.billing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:28px 0}.detail-grid small,.detail-grid strong,.summary-strip small,.summary-strip strong{display:block}.document-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.document-heading h2{font-size:25px;margin-bottom:15px}.summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:22px;border-radius:10px;background:#eef5f2;gap:20px}.summary-strip strong{font-size:24px;font-variant-numeric:tabular-nums}.inline-disclosure summary{color:var(--esc-danger);padding:5px}.inline-disclosure form{min-width:230px;max-width:350px}.inline-disclosure .btn{margin-top:10px}.report-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.receipt-card{max-width:850px;margin-left:auto;margin-right:auto}.receipt-details{display:grid;grid-template-columns:1fr 2fr;gap:15px 30px;margin:30px 0 0}.receipt-details dt{font-weight:500;color:var(--esc-muted)}.receipt-total{font-size:25px;font-weight:700}.integration-row{display:flex;align-items:center;justify-content:space-between;padding:17px 0;border-top:1px solid var(--esc-border);gap:15px}.alert{border-radius:9px}.alert p{margin:6px 0 0}.alert-danger{background:#fae9e9;border:1px solid #e8bfc3;color:#852c35}.alert-success{background:#e4f2e9;border:1px solid #b7d7c2;color:#28533a}.public-page{padding:7vh 20px 30px}.public-card{max-width:470px;margin:0 auto;background:#fff;padding:40px;border:1px solid var(--esc-border);border-radius:16px;box-shadow:0 18px 55px #16324409}.public-brand{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:700;color:var(--esc-ink);margin-bottom:40px}.public-card h1{font-size:28px;margin-bottom:12px}.public-card>.stack-form{margin-top:28px}.public-languages{display:flex;justify-content:center;gap:18px;margin-top:28px;font-size:14px}.public-footer{text-align:center;color:var(--esc-muted);font-size:12px;margin:25px 0}.payment-total{font-size:38px;font-weight:700;color:var(--esc-primary);margin:25px 0}.setup-message{max-width:600px;margin:10vh auto;background:#fff;padding:40px;border-radius:12px}[hidden]{display:none!important}
@media(max-width:1200px){.esc-topbar{padding:16px 22px}.topbar-school{display:none}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tariff-grid{grid-template-columns:1fr}.tariff-grid .card-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.tariff-form{margin:0}.billing-grid{grid-template-columns:1fr}}
@media(max-width:991.98px){.main-sidebar{transform:translateX(-100%);z-index:1000;transition:transform .2s}.content-wrapper{margin-left:0!important}.nav-open .main-sidebar{transform:translateX(0)}.nav-open .content-wrapper{margin-left:250px!important;min-width:calc(100vw - 250px)}.nav-toggle{display:block;font-size:12px}.esc-content{padding:24px 18px}.esc-topbar{padding:12px 18px}.account-controls{gap:8px;flex-wrap:wrap;justify-content:flex-end}.account-link{display:none}.language-form label{display:none}.language-save{display:none}.page-heading h1{font-size:27px}.date-chip{font-size:11px}.form-grid{gap:18px}.card-body{padding:20px}.card-header{padding:18px 20px}.tariff-grid .card-body{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.esc-footer{padding-left:18px}.table-responsive{overflow-x:auto}.table{min-width:560px}}
@media(max-width:480px){.form-grid,.action-grid{grid-template-columns:1fr}.metric-grid{gap:12px}.metric-card{padding:18px 14px}.metric-card strong{font-size:25px}.metric-card p{font-size:12px}.page-heading{gap:10px}.date-chip{display:none}.filter-bar>div{min-width:100%;flex:1}.filter-bar .btn{width:100%}.page-tools{align-items:flex-start}.summary-strip{grid-template-columns:1fr}.checkbox-field{padding-top:0}.public-card{padding:30px 24px}.public-brand{font-size:20px}.receipt-details{grid-template-columns:1fr;gap:4px}.receipt-details dd{margin-bottom:15px}}
.main-sidebar{display:flex!important;flex-direction:column}.brand-link{flex-shrink:0}.sidebar{height:auto!important;flex:1;min-height:0}.sidebar-footer{position:static;flex-shrink:0}.nav-close{flex-shrink:0}.nav-close,.nav-backdrop{display:none}
@media(max-width:991.98px){.main-sidebar{visibility:hidden;transform:translateX(-100%)!important}.nav-open .main-sidebar{visibility:visible;transform:translateX(0)!important}.nav-open .content-wrapper{margin-left:0!important;min-width:0}.nav-close{display:block;margin:12px 14px;width:calc(100% - 28px)}.nav-open .nav-backdrop{display:block;position:fixed;inset:0;background:#142e3b66;z-index:990}.sidebar{height:calc(100dvh - 220px)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:#fff!important;font-size:12px}.main-sidebar,.esc-topbar,.esc-footer,.page-tools,.no-print,.filter-bar,.skip-link{display:none!important}.content-wrapper{margin:0!important;min-height:0}.esc-content{padding:0;max-width:none}.card{box-shadow:none;border:1px solid #ddd;break-inside:avoid}.card-body{padding:18px}.page-heading{margin-bottom:20px}.table-responsive{overflow:visible}.table{min-width:0;font-size:11px}.table td,.table th{padding:9px}a{color:#172b3a;text-decoration:none}.summary-strip{background:#fff!important}.receipt-card{width:100%;max-width:none}.date-chip{display:none}}
