:root{
  --green:#176b2c;--green-dark:#105320;--local:#9bc65f;--bg:#f5f8f5;
  --card:#fff;--text:#17351f;--muted:#627269;--border:#dbe7dc;--track:#edf3ed;
  --grid:#dfe8e0;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.container{max-width:1500px;margin:auto;padding:24px 22px 48px}
.header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin:4px 0 14px}
.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.11em;color:var(--green);font-weight:850}
h1{font-size:clamp(1.7rem,4vw,3rem);line-height:1.07;margin:.35rem 0 0}
h2{margin:0}
.lang{display:flex;border:1px solid var(--border);border-radius:999px;background:#fff;padding:3px}
.lang button{border:0;background:transparent;cursor:pointer;font-weight:800;padding:7px 11px;border-radius:999px}
.lang button.active{background:var(--green);color:#fff}
.card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:19px;margin:15px 0;box-shadow:0 7px 25px rgba(23,107,44,.055)}
.totals-card{margin-top:8px}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:13px}
.section-head p{margin:3px 0 0;color:var(--muted);font-size:.88rem}
.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.metric{background:#f7faf7;border-radius:12px;padding:14px}
.metric span{display:block;color:var(--muted);font-size:.78rem;font-weight:750}
.metric strong{display:block;margin-top:5px;font-size:clamp(1rem,2.2vw,1.55rem)}
.share-row{display:grid;grid-template-columns:145px 1fr 58px;gap:9px;align-items:center;margin-top:11px;font-size:.85rem}
.share-track{height:10px;background:var(--track);border-radius:999px;overflow:hidden}
.share-track i{display:block;height:100%;background:var(--green)}
.share-row.local .share-track i{background:var(--local)}
.controls{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr)) auto;gap:12px;align-items:end}
.controls label{font-size:.8rem;color:var(--muted);font-weight:800}
select,input{width:100%;margin-top:6px;padding:10px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--text);font:inherit}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.actions button{border:1px solid var(--border);background:#fff;border-radius:10px;padding:9px 11px;font-weight:800;cursor:pointer}
.actions button:hover{background:var(--green);color:#fff}
.chart-header{display:grid;grid-template-columns:1fr minmax(220px,1.1fr) 1fr;align-items:end;gap:10px;text-align:center}
.chart-header .side-title:first-child{color:var(--green);text-align:right}
.chart-header .side-title:last-child{color:#658f31;text-align:left}
.chart-status{text-align:center;color:var(--muted);font-size:.86rem;margin:5px 0 12px}
.pyramid{display:flex;flex-direction:column;gap:7px}
.pyramid-row{display:grid;grid-template-columns:minmax(175px,1fr) minmax(230px,380px) minmax(175px,1fr);gap:10px;align-items:center;min-height:31px}
.side{display:flex;align-items:center;gap:7px}
.side.left{justify-content:flex-end}
.side.right{justify-content:flex-start}
.bar-zone{height:24px;display:flex;align-items:center;width:100%}
.left .bar-zone{justify-content:flex-end}
.bar{height:100%;min-width:0;border-radius:6px}
.left .bar{background:var(--green);border-radius:6px 0 0 6px}
.right .bar{background:var(--local);border-radius:0 6px 6px 0}
.percent{min-width:49px;font-size:.8rem;font-weight:900;white-space:nowrap}
.left .percent{text-align:right}
.right .percent{text-align:left}
.center-label{text-align:center;line-height:1.12}
.center-label b{display:block;font-size:.84rem}
.center-label span{display:block;color:var(--muted);font-size:.72rem;margin-top:2px}
.value-note{font-size:.67rem;color:var(--muted);white-space:nowrap}
.legend-note{text-align:center;color:var(--muted);font-size:.78rem;margin:12px 0 0}
.trend-card{position:relative}
.trend-head{align-items:flex-start}
.trend-legend{display:flex;gap:8px;flex-wrap:wrap}
.legend-button{display:flex;align-items:center;gap:7px;border:1px solid var(--border);background:#fff;border-radius:999px;padding:8px 11px;font-weight:800;cursor:pointer;opacity:.45}
.legend-button.active{opacity:1;box-shadow:0 2px 8px rgba(23,107,44,.08)}
.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.import-dot{background:var(--green)}
.local-dot{background:var(--local)}
.trend-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:8px 0 15px}
.trend-kpis div{background:#f7faf7;border-radius:12px;padding:12px}
.trend-kpis span{display:block;color:var(--muted);font-size:.76rem;font-weight:800}
.trend-kpis strong{display:block;margin-top:5px;font-size:1rem}
.trend-chart{width:100%;min-height:600px;overflow-x:auto}
.trend-chart svg{display:block;width:100%;min-width:900px;height:600px}
.trend-tooltip{position:absolute;pointer-events:none;background:#17351f;color:white;border-radius:10px;padding:10px 12px;font-size:.78rem;box-shadow:0 8px 20px rgba(0,0,0,.18);z-index:5;line-height:1.5}
.table-wrap{overflow:auto;max-height:620px}
table{border-collapse:collapse;width:100%;min-width:900px}
th,td{border-bottom:1px solid var(--border);padding:10px;text-align:right;font-size:.84rem}
th{position:sticky;top:0;background:#f1f7f1;color:var(--green);z-index:2}
th:nth-child(-n+3),td:nth-child(-n+3){text-align:left}
td:nth-child(3){max-width:410px}
tfoot td{background:#f1f7f1;font-weight:900}
.badge{background:#edf5ed;color:var(--green);font-size:.78rem;font-weight:850;padding:7px 10px;border-radius:999px}
@media(max-width:1050px){
  .controls{grid-template-columns:repeat(2,1fr)}
  .pyramid-row{grid-template-columns:minmax(130px,1fr) minmax(180px,300px) minmax(130px,1fr)}
  .value-note{display:none}
}
@media(max-width:660px){
  .container{padding:15px 10px 35px}
  .header{align-items:center}
  .metric-row,.trend-kpis{grid-template-columns:1fr}
  .controls{grid-template-columns:1fr}
  .chart-header{grid-template-columns:1fr 1fr}
  .chart-header h2{grid-column:1/-1;grid-row:1}
  .pyramid-row{grid-template-columns:1fr minmax(125px,170px) 1fr;gap:4px}
  .percent{min-width:39px;font-size:.72rem}
  .center-label b{font-size:.7rem}
  .center-label span{font-size:.63rem}
  .section-head.trend-head{display:block}
  .trend-legend{margin-top:12px}
}

/* Trend chart now sits directly below fiscal-year totals */
.totals-card + .trend-card{margin-top:15px}

