:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-display:var(--font-sans);--bg:#fff4e5;--ink:#1c1c22;--muted:#5f6071;--brand-start:#ff3b00;--brand-end:#ffb200;--card:#fff;--card-border:#f1e2cf;--shadow:0 14px 32px rgba(255,123,30,.18);--shadow-soft:0 10px 20px rgba(33,20,10,.08);--accent:#ff6a00;--teal:#1db8a6;--blue:#2f7bff;--green:#22b573;--yellow:#f7b23b;--red:#ff5b5b}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);font-size:.875rem;line-height:1.5;color:var(--ink);background:radial-gradient(circle at 15% 10%,rgba(255,196,137,.45),transparent 55%),radial-gradient(circle at 85% 0,hsla(0,0%,100%,.6),transparent 40%),linear-gradient(180deg,#fff4e5,#fff 45%,#fff9ef)}.page,body{min-height:100vh}.header{position:-webkit-sticky;position:sticky;top:0;z-index:20;padding:16px 28px;color:#fff;background:linear-gradient(90deg,var(--brand-start),var(--brand-end));box-shadow:0 12px 28px rgba(255,96,0,.35)}.header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:start;grid-gap:20px;gap:20px}.brand{display:flex;align-items:center;gap:12px}.logo{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;color:var(--brand-start);background:#fff;box-shadow:var(--shadow-soft)}.brand-title{font-family:var(--font-display);font-size:1.1rem;font-weight:600;letter-spacing:.01em}.brand-subtitle{font-size:.85rem;opacity:.85}.filters{gap:12px;justify-content:center}.filter,.filters{display:flex;align-items:center}.filter{gap:8px;padding:8px 12px;border-radius:14px;background:hsla(0,0%,100%,.25);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.filter span{text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;font-weight:600}.filter select{min-width:160px;border:none;border-radius:12px;padding:8px 12px;font-family:var(--font-sans);font-size:.9rem;color:var(--ink);background-color:#fff;outline:none;box-shadow:var(--shadow-soft);-webkit-appearance:none;-moz-appearance:none;appearance:none}.current{text-align:right;padding:10px 14px;border-radius:14px;background:hsla(0,0%,100%,.25)}.current-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;opacity:.8}.current-name{font-weight:600;font-size:.95rem}.current-code{font-size:.8rem;opacity:.85}.main{padding:28px 24px 60px}.container{max-width:1260px;margin:0 auto}.grid{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:18px;gap:18px}.card{background:var(--card);border-radius:20px;padding:20px;border:1px solid var(--card-border);box-shadow:var(--shadow-soft);position:relative;overflow:hidden}.annual-card{padding:18px}.annual-card .stat-card{padding:12px}.annual-card .mini-stat{padding:10px}.notice{text-align:center;font-weight:600;color:var(--accent)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-title{font-family:var(--font-display);font-size:1.05rem;font-weight:600}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:.75rem;font-weight:600;color:#e06a00;background:#fff1d5}.icon-badge{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;background:var(--accent);box-shadow:var(--shadow-soft)}.icon-badge.blue{background:var(--blue)}.icon-badge.teal{background:var(--teal)}.right-rail{grid-gap:12px;align-content:start}.kpi-row,.right-rail{display:grid;gap:12px}.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px}.right-rail .card{height:auto}.kpi-card{display:flex;flex-direction:column;justify-content:space-between;background:#eef4ff;border-color:#c8d9ff;min-height:110px;padding:16px}.kpi-card .card-header{margin-bottom:8px}.kpi-card .muted-text{text-align:left}.annual-grid{display:grid;grid-template-columns:240px 1fr;grid-gap:16px;gap:16px;align-items:center}.gauge-block{display:grid;grid-gap:10px;gap:10px;justify-items:center;align-content:start}.gauge-tag{padding:6px 12px;border-radius:999px;border:1px solid #baf0d1;background:#e9fbf1;color:#1e8d5b;font-size:.75rem;font-weight:600}.gauge{width:210px;height:115px;position:relative;overflow:hidden;--gauge-fill:#ff6a00;--gauge-track:#f3f3f3}.gauge:before{content:"";position:absolute;top:0;left:0;width:210px;height:210px;border-radius:50%;background:conic-gradient(#ff4d4f 0deg,#ff9f1a calc(var(--value) * 1%),var(--gauge-track) 0);transform:rotate(-90deg);z-index:1}.gauge-value{bottom:18px;transform:translateX(-50%);font-size:2rem;font-weight:700;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.35)}.gauge-needle,.gauge-value{position:absolute;left:50%;z-index:3}.gauge-needle{bottom:8px;width:5px;height:76px;background:#1f1f24;border-radius:4px;transform-origin:bottom center;transform:translateX(-50%) rotate(var(--rotation))}.gauge-needle:after{content:"";position:absolute;bottom:-8px;left:50%;width:16px;height:16px;border-radius:50%;background:#1f1f24;border:3px solid #fff;transform:translateX(-50%)}.gauge-target{position:absolute;left:50%;bottom:8px;width:0;height:76px;border-left:2px dashed #22b573;transform-origin:bottom center;transform:translateX(-50%) rotate(var(--target-rotation));z-index:2}.gauge-target:after{content:"";position:absolute;top:-6px;left:50%;width:10px;height:10px;border-radius:50%;background:#22b573;transform:translateX(-50%);box-shadow:0 0 0 3px #fff}.gauge-label{position:absolute;bottom:6px;font-size:.7rem;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.35);z-index:3}.gauge-label.left{left:4px}.gauge-label.right{right:4px}.status-pill{padding:6px 12px;border-radius:999px;font-size:.75rem;font-weight:600}.status-ok{color:#1e8d5b;background:#e7f8ef}.status-warn{color:#b87400;background:#fff4dc}.muted-text{font-size:.85rem;color:var(--muted);text-align:center}.annual-details{display:grid;grid-gap:10px;gap:10px}.stat-card{padding:14px;border-radius:16px;border:1px solid #ffe2c6;background:#fff8ef;display:grid;grid-gap:6px;gap:6px}.stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.stat-value{font-size:1.4rem;font-weight:700;color:var(--accent)}.stat-badge{font-size:.75rem;font-weight:600;color:#e06a00}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}.mini-stat{padding:12px;border-radius:14px;border:1px solid #e6ecff;background:#f3f6ff}.mini-stat.green{border-color:#d6f5e4;background:#eefbf4}.mini-stat.blue .stat-value{color:var(--blue)}.mini-stat.green .stat-value{color:var(--green)}.callout{padding:12px 14px;border-radius:14px;background:linear-gradient(120deg,#2f7bff,#00b7cc);color:#fff;font-weight:600}.metric-big{font-size:2.5rem;font-weight:700;color:var(--ink);margin-bottom:14px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.metric-card{padding:12px;border-radius:14px;border:1px solid #eae9ff;background:#f7f7ff;text-align:center}.metric-card strong{display:block;margin-top:4px;font-size:1.2rem;color:var(--ink)}.kpi-value{font-size:1.8rem;font-weight:700;color:var(--blue)}.kpi-value.accent{color:var(--accent)}.toggle{border:none;background:#fff1d5;color:#d96c00;font-weight:600;border-radius:999px;padding:8px 14px;cursor:pointer}.toggle:hover{filter:brightness(.98)}.table-wrap{width:100%;overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table td,.table th{text-align:left;padding:10px 8px;border-bottom:1px solid #f0f0f0}.table th{color:var(--muted);font-weight:600}.table-pills td:not(:first-child),.table-pills th:not(:first-child){text-align:center}.total-row{font-weight:600;background:#f7fbff}.pill{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid;background:#fff;min-width:36px}.pill-blue{color:#2f7bff;background:#eef4ff;border-color:#c8d9ff}.pill-red{color:#ff5b5b;background:#ffecec;border-color:#ffc9c9}.pill-teal{color:#1db8a6;background:#e8fbf7;border-color:#c6f2ea}.pill-orange{color:#f59d0b;background:#fff4dc;border-color:#ffd9a0}.pill.solid{color:#fff;border-color:transparent}.pill.solid.pill-blue{background:#2f7bff}.pill.solid.pill-red{background:#ff5b5b}.pill.solid.pill-teal{background:#1db8a6}.pill.solid.pill-orange{background:#f59d0b}.badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:600}.badge.good{background:#e7f8ef;color:#1e8d5b}.badge.warn{background:#fff4dc;color:#b87400}.badge.bad{background:#ffe2e2;color:#c43737}.chart{display:grid;grid-gap:16px;gap:16px}.chart-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:.8rem;color:var(--muted)}.legend-item{display:flex;align-items:center;gap:6px}.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.bar.bar-total,.legend-dot.bar-total{background:#79839a}.bar.bar-admissions,.legend-dot.bar-admissions{background:#ff6b6b}.bar.bar-rollovers,.legend-dot.bar-rollovers{background:#22c0a9}.bar.bar-available,.legend-dot.bar-available{background:#f7b23b}.bar-chart{display:grid;grid-template-columns:36px 1fr;grid-gap:12px;gap:12px;align-items:start}.chart-y{height:180px;display:grid;align-content:space-between;font-size:.75rem;color:var(--muted)}.chart-y span{transform:translateY(50%)}.chart-area{position:relative;height:180px;overflow:visible}.chart-grid{inset:0;background-image:linear-gradient(0deg,rgba(0,0,0,.08) 1px,transparent 0);background-size:100% 25%}.chart-grid,.chart-zero{position:absolute;pointer-events:none}.chart-zero{left:0;right:0;height:2px;background:rgba(0,0,0,.4);bottom:calc(var(--zero) * 1%)}.chart-columns{position:relative;height:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));grid-gap:14px;gap:14px;align-items:end}.chart-main{display:grid;grid-template-rows:180px 26px;grid-gap:6px;gap:6px}.chart-x{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));grid-gap:14px;gap:14px;align-items:start}.chart-group{grid-gap:8px;gap:8px;justify-items:center;position:relative;cursor:default}.bars,.chart-group{display:grid;align-items:end;height:100%}.bars{grid-template-columns:repeat(4,10px);grid-gap:6px;gap:6px}.bar-col{width:10px;display:flex;align-items:flex-end;height:100%;position:relative}.bar-fill{width:100%;height:calc(var(--bar-size) * 1%);position:absolute;bottom:calc(var(--bar-start) * 1%);border-radius:6px 6px 0 0}.bar-col.bar-total .bar-fill,.bar-fill{background:#79839a}.bar-col.bar-admissions .bar-fill{background:#ff6b6b}.bar-col.bar-rollovers .bar-fill{background:#22c0a9}.bar-col.bar-available .bar-fill{background:#f7b23b}.chart-x-label{font-size:.75rem;text-align:center;color:var(--muted)}.chart-tooltip{position:absolute;top:0;left:50%;transform:translate(-50%,-4px);background:#fff;border:1px solid #eadfce;border-radius:12px;padding:10px 12px;box-shadow:var(--shadow-soft);opacity:0;pointer-events:none;min-width:150px;z-index:6;transition:opacity .2s ease,transform .2s ease}.chart-group:hover .chart-tooltip{opacity:1;transform:translate(-50%,-12px)}.rank-cell{display:inline-flex;align-items:center;gap:8px}.rank-text{font-weight:600}.rank-medal{display:inline-flex;align-items:center;justify-content:center;filter:drop-shadow(0 4px 6px rgba(0,0,0,.15))}.rank-medal,.rank-medal svg{width:34px;height:34px}.rank-1 .medal-ring{fill:#b6d5e9}.rank-1 .medal-core{fill:#3e6a86}.rank-2 .medal-ring{fill:#f1c14e}.rank-2 .medal-core{fill:#b4581a}.rank-3 .medal-ring{fill:#c9824b}.rank-3 .medal-core{fill:#6f3b22}.medal-star{fill:#fff2cc}.tooltip-title{font-weight:600;margin-bottom:6px;color:var(--ink)}.tooltip-row{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--muted);margin-bottom:4px}.tooltip-row:last-child{margin-bottom:0}.chart-row{display:grid;grid-template-columns:140px 1fr;grid-gap:14px;gap:14px;align-items:flex-start}.chart-label{font-weight:600;font-size:.9rem}.chart-bars{display:grid;grid-gap:8px;gap:8px}.bar-track{display:grid;grid-template-columns:1fr auto;grid-gap:10px;gap:10px;align-items:center}.bar{height:8px;border-radius:999px;width:calc(var(--value) * 1%)}.bar-value{font-size:.8rem;color:var(--muted)}.tabs{display:flex;gap:10px;margin-bottom:12px}.tab{border:1px solid #eadfce;background:#fff;border-radius:999px;padding:8px 14px;font-weight:600;cursor:pointer}.tab.active{background:#fff1d5;border-color:#ffd3a0;color:#d96c00}.resources{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px}.resource-card{padding:14px;border-radius:16px;border:1px solid #f1e2cf;background:#fffaf4;display:grid;grid-gap:6px;gap:6px}.resource-title{font-weight:600}.resource-desc{color:var(--muted);font-size:.85rem}.resource-orange{border-color:#ffd4b2;background:#fff4e5}.resource-yellow{border-color:#ffe2a6;background:#fff8e6}.resource-red{border-color:#ffd2d2;background:#fff0f0}.resource-green{border-color:#c9f2dd;background:#effaf4}.span-3{grid-column:span 3}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-12{grid-column:span 12}.animate-in{opacity:0;transform:translateY(12px);animation:fadeUp .6s ease forwards;animation-delay:var(--delay,0s)}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.animate-in{animation:none;opacity:1;transform:none}}@media (max-width:1100px){.header-inner{grid-template-columns:1fr;text-align:left}.filters{justify-content:flex-start;flex-wrap:wrap}.current{text-align:left}.grid{grid-template-columns:repeat(6,1fr)}.span-3,.span-5,.span-6,.span-7{grid-column:span 6}.annual-grid,.kpi-row{grid-template-columns:1fr}}@media (max-width:720px){.header{position:static}.grid{grid-template-columns:1fr}.span-12,.span-3,.span-5,.span-6,.span-7{grid-column:span 1}.chart-row,.metric-grid,.resources{grid-template-columns:1fr}.filter select{min-width:200px}.kpi-row{grid-template-columns:1fr}}