:root{color-scheme:light;--forest: #23372b;--moss: #4e7a5a;--cream: #f3f1eb;--gold: #c9a227;--paper: #fbfaf6;--line: #ddd8ca;--line-soft: #e8e4d8;--ink: #1c2a21;--ink-2: #4a5850;--ink-3: #6c776f;--focus: #c9a227;--radius: 10px;--shadow: 0 1px 2px rgba(35, 55, 43, .06), 0 2px 8px rgba(35, 55, 43, .05);font-family:Public Sans,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.5;color:var(--ink);background:var(--cream)}*{box-sizing:border-box}body{margin:0;background:var(--cream)}h1,h2,h3,h4{margin:0}button,input,select{font:inherit;color:inherit}a{color:var(--moss)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}.top{display:flex;align-items:center;gap:24px;background:var(--forest);color:var(--cream);padding:14px 28px;border-bottom:4px solid var(--gold)}.logo{height:40px;width:auto;background:var(--cream);border-radius:8px;padding:6px 10px}.top-text h1{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:1.35rem;letter-spacing:.01em}.top-text p{margin:2px 0 0;color:#cfd8cf;font-size:.9rem}.layout{display:grid;grid-template-columns:290px minmax(0,1fr);align-items:start}.side{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--paper);border-right:1px solid var(--line);padding:18px 16px 40px}.side-head{display:flex;align-items:baseline;gap:12px;margin-bottom:8px}.side-head h2{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);flex:1}.side-close,.drawer-btn,.scrim{display:none}.main{padding:22px 28px 40px;display:flex;flex-direction:column;gap:20px;min-width:0;transition:opacity .15s}.main.loading .panel,.main.loading .kpis{opacity:.6}.fgroup{border:0;border-top:1px solid var(--line-soft);margin:0;padding:6px 0 8px}.fgroup legend{padding:0;width:100%}.fgroup-head{display:flex;align-items:center;gap:8px;width:100%;background:none;border:0;padding:8px 2px;cursor:pointer;font-weight:600;color:var(--forest);text-align:left}.chev{width:12px;color:var(--ink-3);font-size:.8rem}.fcount{margin-left:auto;background:var(--gold);color:var(--forest);font-size:.72rem;font-weight:700;border-radius:99px;padding:0 7px}.fhint{margin:0 0 4px 20px;font-size:.78rem;color:var(--ink-3)}.fsub{margin:8px 0 2px 20px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.fopt{display:flex;align-items:center;gap:8px;padding:5px 6px 5px 18px;border-radius:6px;cursor:pointer;font-size:.9rem;color:var(--ink-2)}.fopt:hover{background:var(--cream)}.fopt.on{color:var(--ink);font-weight:600}.fopt input{accent-color:var(--moss);width:15px;height:15px;margin:0;flex:none}.flabel{flex:1;min-width:0}.fn{font-size:.78rem;color:var(--ink-3);font-variant-numeric:tabular-nums}.swatch{width:10px;height:10px;border-radius:3px;flex:none;display:inline-block}.swatch.lg{width:12px;height:12px}.fskeleton{height:400px;border-radius:var(--radius);background:linear-gradient(90deg,var(--cream),var(--paper),var(--cream))}.linkbtn{background:none;border:0;padding:4px 0;color:var(--moss);font-weight:600;font-size:.85rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.fgroup .linkbtn{margin-left:20px}.intro p{margin:0;max-width:78ch;color:var(--ink-2)}.active{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pill{display:inline-flex;gap:6px;align-items:center;cursor:pointer;border:1px solid var(--moss);background:var(--paper);color:var(--forest);border-radius:99px;padding:3px 10px;font-size:.85rem}.pill span{color:var(--ink-3)}.pill b{color:var(--moss)}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.kpi{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow);border-top:3px solid var(--moss)}.kpi-label{font-size:.8rem;font-weight:600;color:var(--ink-2)}.kpi-value{font-family:Fraunces,Georgia,serif;font-size:2.1rem;font-weight:600;color:var(--forest);line-height:1.15;font-variant-numeric:tabular-nums}.kpi-note{font-size:.8rem;color:var(--ink-3)}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow);min-width:0}.panel-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin-bottom:12px}.panel-head h2{font-family:Fraunces,Georgia,serif;font-size:1.2rem;font-weight:600;color:var(--forest)}.panel-head .sub{margin:0;font-size:.85rem;color:var(--ink-3)}.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.empty,.error{color:var(--ink-3);font-size:.9rem;margin:8px 0}.error{color:#9b2c1f}.chart{position:relative}.legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.82rem;color:var(--ink-2);margin-bottom:6px}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:3px;display:inline-block}svg .grid{stroke:var(--line-soft);stroke-width:1}svg .axis{fill:var(--ink-3);font-size:11px;font-variant-numeric:tabular-nums}svg .val{fill:var(--ink-2);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}svg .col:hover rect:first-child{fill:#4e7a5a12}.tip{position:absolute;z-index:20;pointer-events:none;min-width:180px;max-width:240px;background:var(--forest);color:var(--cream);border-radius:8px;padding:8px 10px;font-size:.8rem;box-shadow:0 6px 18px #0000002e}.tip strong{display:block;margin-bottom:4px}.tip-row{display:flex;align-items:center;gap:6px}.tip-row i{width:8px;height:8px;border-radius:2px;display:inline-block}.tip-row b{margin-left:auto;font-variant-numeric:tabular-nums}.tip-row.total{border-top:1px solid rgba(243,241,235,.25);margin-top:4px;padding-top:4px}.tip-hint{margin-top:4px;color:#b9c6bb;font-size:.74rem}.scards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.scard{position:relative;border:1px solid var(--line-soft);border-radius:8px;padding:14px;background:#fff;min-width:0}.scard header{display:flex;align-items:center;gap:8px}.scard h3{font-size:.95rem;color:var(--forest)}.scard-figs{display:flex;gap:22px;margin:8px 0 10px}.scard-figs b{display:block;font-family:Fraunces,Georgia,serif;font-size:1.5rem;color:var(--forest);font-variant-numeric:tabular-nums;line-height:1.2}.scard-figs span{font-size:.78rem;color:var(--ink-3)}.srows{width:100%;border-collapse:collapse;font-size:.85rem}.srows thead th{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:600;text-align:left;padding:0 0 4px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.srows tbody tr{cursor:pointer}.srows tbody tr:hover{background:var(--cream)}.srows tbody tr.on th{font-weight:700}.srows tbody th{font-weight:500;text-align:left;padding:6px 6px 6px 0;white-space:nowrap;color:var(--ink)}.srows td{padding:6px 0}.srows .num{text-align:right;font-variant-numeric:tabular-nums;padding-left:8px;white-space:nowrap}.srows .muted{color:var(--ink-3)}.bar-cell{width:40%}.bar{display:block;height:10px;border-radius:0 4px 4px 0;min-width:2px}.barlist{position:relative}.bl-group+.bl-group{margin-top:12px}.bl-group h4{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin-bottom:4px}.bl-row{display:grid;grid-template-columns:minmax(120px,42%) 1fr 48px;align-items:center;gap:10px;padding:4px;border-radius:6px;font-size:.86rem}.bl-row:hover{background:var(--cream)}.bl-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.bl-track{display:block}.bl-val{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-2);font-weight:600}.tools{margin-left:auto;display:flex;flex-wrap:wrap;gap:8px}.tools input,.tools select{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 10px;font-size:.88rem}.tools input{width:260px;max-width:100%}.btn{display:inline-flex;align-items:center;border:1px solid var(--moss);color:var(--forest);background:#fff;border-radius:8px;padding:6px 12px;font-size:.85rem;font-weight:600;text-decoration:none}.btn:hover{background:var(--cream)}.alist{list-style:none;margin:0;padding:0}.arow{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;padding:14px 0;border-top:1px solid var(--line-soft)}.arow-meta{display:flex;flex-direction:column;font-size:.8rem;color:var(--ink-3)}.arow-meta .fy{font-weight:700;color:var(--moss)}.arow h4{font-size:.98rem;font-weight:600;line-height:1.35}.arow h4 a{color:var(--forest);text-decoration:none}.arow h4 a:hover{text-decoration:underline}.ext{color:var(--moss);margin-left:4px;font-size:.85em}.chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:6px 0;font-size:.8rem}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--cream);border-radius:99px;padding:1px 10px;color:var(--ink)}.chip i{width:8px;height:8px;border-radius:2px;display:inline-block}.meta{color:var(--ink-3)}.inst{margin:4px 0;font-size:.84rem;color:var(--ink-2)}.desc{margin:4px 0 0;font-size:.86rem;color:var(--ink-2);max-width:90ch}.desc.clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pager{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line-soft);padding-top:12px;font-size:.85rem;color:var(--ink-3)}.pager div{display:flex;gap:4px;align-items:center}.pager button{min-width:32px;height:32px;border:1px solid var(--line);background:#fff;border-radius:6px;cursor:pointer}.pager button.on{background:var(--forest);color:var(--cream);border-color:var(--forest)}.pager button:disabled{opacity:.4;cursor:default}.foot{font-size:.78rem;color:var(--ink-3);text-align:center}@media (max-width: 1320px){.scards{grid-template-columns:1fr}}@media (max-width: 1180px){.two{grid-template-columns:1fr}}@media (max-width: 900px){.layout{grid-template-columns:1fr}.side{position:fixed;z-index:50;left:0;top:0;width:min(320px,86vw);transform:translate(-100%);transition:transform .2s;box-shadow:0 0 30px #0003}.side.open{transform:none}.side-close{display:block;background:none;border:0;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--ink-2)}.scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#1c2a2159;z-index:40}.drawer-btn{display:inline-flex;align-self:flex-start;border:1px solid var(--moss);background:var(--paper);color:var(--forest);font-weight:600;border-radius:8px;padding:8px 14px;cursor:pointer}.main{padding:16px}.top{padding:12px 16px;gap:14px}.top-text h1{font-size:1.05rem}.top-text p{display:none}.logo{height:32px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.arow{grid-template-columns:1fr;gap:4px}.arow-meta{flex-direction:row;gap:10px}.tools{margin-left:0;width:100%}.tools input{flex:1;width:auto}}
