
*{margin:0;padding:0;box-sizing:border-box;font-family:"Segoe UI",system-ui,sans-serif}
body{background:#dde8d7;padding:20px;color:#22302a;font-size:13.5px}
.sheet{max-width:1400px;margin:0 auto;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.16)}
.header{background:linear-gradient(105deg,#0b5520,#1b7a2b);color:#fff;display:flex;align-items:center;padding:16px 26px;gap:20px;border-bottom:3px solid #f0b21e}
.header img.logo{height:64px;width:auto;background:#fff;border-radius:8px;padding:4px}
.htext{flex:1;text-align:center}
.htext h1{font-family:Georgia,"Times New Roman",serif;font-size:36px;font-weight:700;letter-spacing:.4px;text-shadow:0 2px 6px rgba(0,0,0,.25)}
.htext .sub{font-family:Georgia,serif;font-size:17px;color:#d6eccb;font-weight:600;margin-top:3px}
.header img.mascot{height:74px;width:74px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.55);background:#fff}
.layout{display:grid;grid-template-columns:252px 1.62fr 1.04fr;gap:14px;padding:16px;align-items:stretch}
.col{display:flex;flex-direction:column;gap:12px;min-width:0;background:#f5f9f2;border:1px solid #e3eedd;border-radius:11px;padding:12px}
.panel{border:none;border-radius:9px;overflow:hidden;background:#fff;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(20,60,30,.10)}
.panel>h2{background:linear-gradient(180deg,#26823a,#0b5520);color:#fff;font-size:14.5px;font-weight:800;padding:9px 14px;letter-spacing:.3px}
.pbody{padding:0;display:flex;flex-direction:column}
.idcard .pbody{padding:13px;gap:9px}
.svcp{flex:1}
.scale{background:#eef6ea;border:1px solid #cfe2c8;border-left:4px solid #f0b21e;border-radius:7px;padding:10px 13px;font-size:13.5px;line-height:1.85}
.sh2{font-weight:800;color:#0b5520;margin-bottom:2px;font-size:13px}
.kvi .k{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:#3d4a43;font-weight:800}
.kvi .v{display:block;font-size:13.5px;font-weight:600;color:#22302a;margin-top:1px}
.kvi .v.sm{font-weight:500;font-size:12.5px;color:#22302a;line-height:1.5}
.kvi .v.lk{color:#1b7a2b;font-size:12px;word-break:break-all}
.kvi.row{display:flex;justify-content:space-between;align-items:baseline}
.kvi.row .k{display:inline} .kvi.row .v{display:inline}
table{width:100%;border-collapse:collapse}
table.fl{font-size:13px}
table.fl th,table.fl td{border:1px solid #cfe2c8;padding:5px 5px;text-align:center}
table.fl .yr{background:#256d2c;color:#fff;font-weight:800;font-size:12px;white-space:nowrap;width:54px}
table.fl .hrow th{background:#d6eccb;color:#0b5520;font-weight:800;font-size:10.5px;line-height:1.12}
table.fl .ys{font-weight:600;color:#1b7a2b;font-size:9px;white-space:nowrap}
table.fl .bcell{background:#eef6ea;width:60px;padding:0}
table.fl .corner{background:#fff;border:1px solid #cfe2c8}
table.fl .vrow td:not(.tot){background:#fbfdfa}
.gbadge{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3px 0}
.gbadge .gb-pct{font-size:11px;font-weight:700;color:#22302a;line-height:1}
.gbadge .gb-L{font-size:26px;font-weight:800;color:#0b5520;line-height:1}
table.fl .vrow td{font-weight:600} table.fl .tot{background:#eef5ea;font-weight:800}
.ct{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:#3d4a43;font-weight:800;padding:10px 13px 0}
svg{padding:4px 12px 10px;display:block}
table.en{font-size:13px} table.en th,table.en td{padding:6px 6px;text-align:center;border-bottom:1px solid #cfe2c8}
table.en thead th{background:#d6eccb;color:#0b5520;font-weight:800;font-size:11.5px;line-height:1.15}
table.en .cap,.cap2{font-weight:500;font-style:italic;color:#3d4a43;font-size:11px}
table.en .gl,.kv .l{text-align:left} table.en td.gl{padding-left:14px} table.en .lblh{vertical-align:bottom}
table.en .totr td{background:#eef6ea;font-weight:800}
table.en .ph td{background:#256d2c;color:#fff;font-weight:800;text-align:left}
table.en .pend{color:#3d4a43}
.note{font-size:11px;color:#3d4a43;font-style:italic;padding:7px 13px 11px}
table.kv{font-size:13.5px} table.kv td{padding:7px 10px;text-align:center;border-bottom:1px solid #cfe2c8}
table.kv td.l{text-align:left} table.kv tr:first-child td,table.kv .l{font-weight:600}
table.kv .sh td{background:#256d2c;color:#fff;font-weight:800} table.kv .sh td.l{text-align:left}
table.kv.tight td{padding:4px 10px}
.adahead{padding:12px 13px 4px;display:flex;flex-direction:column;align-items:center;text-align:center}
.adahead .big{font-size:40px;font-weight:800;color:#0b5520;line-height:1}
.acad .ai{padding:7px 13px;border-bottom:1px solid #cfe2c8}
.acad .al{font-weight:800;color:#0b5520;font-size:13.5px} .acad .ad{font-size:12.5px;color:#22302a;margin-top:2px}
.svc{padding:11px 14px 13px 30px;font-size:13px;line-height:1.7} .svc a{color:#1b7a2b;text-decoration:underline}
/* ---- mobile: collapse the 3-column desktop grid to a single stacked column ---- */
@media (max-width:820px){
  body{padding:8px}
  .header{padding:12px 14px;gap:12px}
  .header img.logo{height:46px}
  .header img.mascot{height:52px;width:52px}
  .htext h1{font-size:23px;line-height:1.1}
  .htext .sub{font-size:13px}
  .layout{grid-template-columns:1fr;gap:12px;padding:10px}
  .col{padding:10px}
  svg{max-width:100%;height:auto;padding:4px 8px 10px}
  /* wide performance/enrollment tables scroll horizontally instead of crushing */
  .pbody{overflow-x:auto;-webkit-overflow-scrolling:touch}
  table.fl{min-width:540px}
  table.en{min-width:460px}
  .adahead .big{font-size:34px}
}
/* ---- print: true black text + keep the panel colors, for the paper copies ---- */
@media print{
  body{background:#fff;padding:0;color:#000;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .kvi .k,.kvi .v,.kvi .v.sm,.ct,.note,.acad .ad,table.en .cap,.cap2,table.en .pend{color:#000}
  .sheet{box-shadow:none}
  /* paper cannot scroll: release the mobile min-widths so wide tables shrink to the page */
  .pbody{overflow-x:visible}
  table.fl{min-width:0;width:100%}
  table.en{min-width:0;width:100%}
}


  body{padding:0;background:#dde8d7}
  .appbar{position:sticky;top:0;z-index:50;background:linear-gradient(105deg,#0b5520,#1b7a2b);border-bottom:3px solid #f0b21e;display:flex;align-items:center;gap:16px;padding:12px 22px}
  .appbar img{height:42px;background:#fff;border-radius:7px;padding:3px}
  .appbar .ttl{color:#fff;font-family:Georgia,serif;font-weight:700;font-size:19px}
  .appbar .ttl small{display:block;font-size:11px;color:#d6eccb;font-family:"Segoe UI",sans-serif;font-weight:600;letter-spacing:.4px}
  .picker{margin-left:auto;display:flex;align-items:center;gap:10px}
  .picker label{color:#d6eccb;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
  .picker select{font-size:15px;font-weight:600;color:#22302a;padding:9px 14px;border-radius:9px;border:none;background:#fff;min-width:360px;box-shadow:0 2px 6px rgba(0,0,0,.18);cursor:pointer}
  #stage{padding:18px 0 26px}
  @media (max-width:820px){
    .appbar{flex-wrap:wrap;gap:8px 12px;padding:10px 14px}
    .appbar img{height:34px}
    .appbar .ttl{font-size:16px}
    .appbar .ttl small{font-size:10px}
    .picker{margin-left:0;width:100%}
    .picker label{display:none}
    .picker select{min-width:0;width:100%}
    #stage{padding:10px 8px 22px}
  }
  @media print{
    .appbar{display:none}
    #stage{padding:0}
  }

[data-profile-part]{min-width:0}
table.en .live-year{background:#d6eccb}
.data-issue{color:#713b0d}.suppressed{color:#3d4a43}
