html.app-html,html.app-html body{height:100%}body.app{--sb-w:248px;grid-template-columns:var(--sb-w) minmax(0, 1fr);background:var(--surface);width:100vw;height:100dvh;transition:grid-template-columns var(--ease);display:grid;overflow:hidden}.sb-collapsed body.app{--sb-w:76px}.sb{background:var(--white);box-shadow:1px 0 0 var(--border);z-index:20;flex-direction:column;padding:1rem .75rem;display:flex;overflow:hidden auto}.sb__top{justify-content:space-between;align-items:center;gap:.5rem;min-height:48px;margin-bottom:1.25rem;padding-left:.4rem;display:flex}.sb__brand img{width:auto;height:36px;transition:opacity var(--ease)}.sb__toggle,.sb__open{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--muted);cursor:pointer;transition:background var(--ease), color var(--ease);background:0 0;border:0;flex:none;place-items:center;display:inline-grid}.sb__toggle:hover,.sb__open:hover{background:var(--surface);color:var(--navy)}.sb__toggle svg,.sb__open svg{width:20px;height:20px}.sb nav{flex-direction:column;flex:1;display:flex}.sb ul{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.sb nav a{border-radius:var(--radius-sm);color:var(--muted);white-space:nowrap;transition:background var(--ease), color var(--ease), transform var(--ease);align-items:center;gap:.85rem;padding:.7rem .8rem;font-size:.95rem;font-weight:600;text-decoration:none;display:flex}.sb nav a svg{flex:none;width:22px;height:22px}.sb nav a:hover{background:var(--surface);color:var(--navy);transform:translate(2px)}.sb nav a[aria-current=page]{background:var(--navy);color:var(--white)}.sb__back{margin-top:auto}.sb-collapsed .sb nav a span,.sb-collapsed .sb__brand{display:none}.sb-collapsed .sb__top{justify-content:center;padding:0}.sb-collapsed .sb nav a{justify-content:center;padding-inline:0}.sb__open{display:none}.sb__scrim{z-index:15;background:#0b1f4066;animation:.2s ease-in-out fade;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.dash{flex-direction:column;gap:1.25rem;min-width:0;min-height:0;padding:1.25rem 1.5rem 1.5rem;display:flex}.dash__head{align-items:center;gap:1rem;display:flex}.dash__head>div{flex:1;min-width:0}.dash__head .eyebrow{margin:0 0 .15rem;font-size:.75rem}.dash__head h1{margin:0;font-size:clamp(1.4rem,1.1rem + 1vw,1.9rem)}.pill-btn{background:var(--white);color:var(--navy);font:600 .9rem var(--font);box-shadow:var(--shadow);cursor:pointer;transition:box-shadow var(--ease), transform var(--ease);border:0;border-radius:99px;align-items:center;gap:.45rem;padding:.6rem 1rem;display:inline-flex}.pill-btn svg{width:18px;height:18px}.dash__actions{flex:none;gap:.5rem;display:flex}.pill-btn--home{background:var(--navy);color:var(--white);text-decoration:none}.pill-btn--home:hover{color:var(--white)}.pill-btn:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.pill-btn:active{transform:scale(.97)}.dash__grid{flex:1;grid-template:"ctrl kpi kpi kpi""ctrl map areas list"minmax(0,1fr)"ctrl map funders list"minmax(0,1fr)/minmax(240px,270px) minmax(0,1.6fr) minmax(0,.95fr) minmax(0,1fr);gap:1.25rem;min-height:0;display:grid}.tile{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;min-height:0;transition:box-shadow var(--ease), transform var(--ease);flex-direction:column;gap:1rem;padding:1.25rem 1.35rem;animation:.4s ease-in-out both rise;display:flex;overflow:auto}.tile:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.tile--ctrl{grid-area:ctrl;gap:1.25rem}#ex-form{gap:1.5rem;display:grid}.tile--kpi{grid-area:kpi;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1rem 1.35rem;animation-delay:50ms;display:grid;overflow:hidden}.tile--map{grid-area:map;animation-delay:.1s}.tile--areas{grid-area:areas;animation-delay:.15s}.tile--funders{grid-area:funders;animation-delay:.2s}.tile--list{grid-area:list;padding-right:.75rem;animation-delay:.25s}.tile__title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.8rem;font-weight:700}.map-note{color:var(--muted);white-space:nowrap;font-size:.8rem}.tile__row{justify-content:space-between;align-items:center;gap:.75rem;padding-right:.6rem;display:flex}.ctl{border:0;gap:.55rem;min-width:0;margin:0;padding:0;display:grid}.ctl[hidden]{display:none}.ctl__label{color:var(--navy);padding:0;font-size:.875rem;font-weight:650}.ctl__row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.ctl__help{color:var(--muted);margin:0;font-size:.8rem;line-height:1.45}.ctl input[type=search]{font:inherit;border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);width:100%;transition:background var(--ease), box-shadow var(--ease), border-color var(--ease);border:1px solid #0000;padding:.7rem .9rem;font-size:.95rem}.ctl input[type=search]:focus{background:var(--white);border-color:var(--green-deep);box-shadow:var(--ring);outline:none}.ctl--inline{margin-top:auto}.seg{background:var(--surface);border-radius:var(--radius-sm);grid-template-columns:repeat(3,1fr);padding:4px;display:grid}.seg label{position:relative}.seg input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.seg span{text-align:center;color:var(--muted);transition:background var(--ease), color var(--ease), box-shadow var(--ease);border-radius:8px;padding:.5rem .25rem;font-size:.85rem;font-weight:600;display:block}.seg label:hover span{color:var(--navy)}.seg input:checked+span{background:var(--white);color:var(--navy);box-shadow:0 2px 8px #0b1f401f}.seg input:focus-visible+span{box-shadow:var(--ring)}.active-chips{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.active-chips button{background:var(--green-tint);color:var(--green-deep);font:600 .82rem var(--font);cursor:pointer;transition:background var(--ease);border:0;border-radius:99px;padding:.4rem .75rem;animation:.2s ease-in-out pop}.active-chips button:hover{background:#e0edc4}.kpi{gap:.15rem;padding:.35rem .25rem;display:grid}.kpi+.kpi{box-shadow:inset 1px 0 0 var(--surface-2);padding-left:1.25rem}.kpi__v{color:var(--navy);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(1.6rem,1.1rem + 1.4vw,2.4rem);font-weight:800;line-height:1.05}.kpi__l{color:var(--muted);font-size:.82rem;font-weight:500}.map-box{flex:1;place-items:center;min-height:0;display:grid}.ex-map{width:100%;height:100%;max-height:100%}.ex-map path{fill:#e8edf4;outline:none}.ex-map path.has{fill:color-mix(in srgb, var(--green-deep) calc(var(--k) * 100%), #dfeacb);cursor:pointer}.ex-map path.dim{opacity:.3}.ex-map path.has:hover,.ex-map path.has:focus-visible{fill:var(--blue)}.ex-map path.sel{fill:var(--navy)}.ex-map path:focus-visible{stroke:var(--green);stroke-width:3px}.bars{gap:.2rem;margin:0;padding:0;list-style:none;display:grid}.bars button{border-radius:var(--radius-sm);width:100%;font:inherit;text-align:left;cursor:pointer;transition:background var(--ease), opacity var(--ease);background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;gap:.3rem .75rem;padding:.5rem .6rem;display:grid}.bars button:hover{background:var(--surface)}.bars button[aria-pressed=true]{background:var(--green-tint)}.bars button.is-zero{opacity:.45}.bar__l{color:var(--navy);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;overflow:hidden}.bar__n{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:700}.bar__t{background:var(--surface-2);border-radius:99px;grid-column:1/-1;height:6px;overflow:hidden}.bar__f{border-radius:inherit;background:var(--accent-grad);height:100%;transition:width .35s ease-in-out;display:block}.plist{flex:1;gap:.35rem;min-height:0;margin:0;padding:0 .6rem 0 0;list-style:none;display:grid;overflow:auto}.plist a{border-radius:var(--radius-sm);color:var(--ink);transition:background var(--ease), transform var(--ease);gap:.35rem;padding:.7rem .8rem;text-decoration:none;display:grid}.plist a:hover{background:var(--surface);transform:translate(2px)}.plist__t{color:var(--navy);font-size:.9rem;line-height:1.35}.plist__t strong{font-weight:750}.plist__m{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.3rem .6rem;font-size:.78rem;display:flex}.plist__m .tag{font-size:.65rem}.tile--list .empty{padding:1.5rem}@media (width<=1180px),(height<=640px){html.app-html,html.app-html body.app{height:auto;min-height:100vh;overflow:visible}.dash__grid{flex:none}.sb{height:100vh;position:sticky;top:0}.dash__grid{grid-template-rows:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"kpi kpi""ctrl map""areas funders""list list"}.tile{overflow:visible}.tile--map{min-height:460px}.tile--list{max-height:640px;overflow:hidden}}@media (width<=760px){body.app{grid-template-columns:minmax(0,1fr)}.sb{width:272px;transition:transform var(--ease);box-shadow:var(--shadow-lg);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sb-open .sb{transform:none}.sb__toggle{display:none}.sb-collapsed .sb nav a span,.sb-collapsed .sb__brand{display:revert}.sb-collapsed .sb nav a{justify-content:flex-start;padding-inline:.8rem}.sb__open{margin-left:-.5rem;display:inline-grid}.dash{gap:1rem;padding:1rem}.dash__grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"kpi""ctrl""map""list""areas""funders";gap:1rem}.tile--kpi{grid-template-columns:1fr 1fr;row-gap:1rem}.kpi:nth-child(3){box-shadow:none;padding-left:.25rem}.tile--map{min-height:380px}.pill-btn{padding:.55rem .85rem}.dash__head{flex-wrap:wrap;row-gap:.75rem}.dash__head>div:first-of-type{flex:calc(100% - 56px)}.dash__head .eyebrow{display:none}.dash__actions{flex:100%}.dash__actions .pill-btn{flex:1;justify-content:center}.tile{overflow:visible}.tile--list{max-height:none;padding-right:1.35rem;overflow:visible}.plist{padding-right:0;overflow:visible}.tile--ctrl{padding-bottom:1.5rem}.ctl__help{overflow-wrap:anywhere}}
