@import url('assets/fonts/fonts.css');
:root{color-scheme:dark;--bg:#0b1423;--text:#e9eff7;--muted:#8e9daf;--line:#243246;--accent:#64dfc3}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;background:transparent;border:1px solid var(--line);border-radius:7px;padding:9px 13px;cursor:pointer}button:hover{background:#1d2e42;border-color:#627791}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}#app{height:100dvh;min-height:600px;display:flex;flex-direction:column;padding:20px 26px 0}header{display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:700;color:var(--accent)}h1{font-family:Manrope,Arial,sans-serif;font-size:27px;margin:4px 0 0;letter-spacing:-1px;font-weight:800}h1 span{color:var(--accent)}.totals{display:flex;gap:32px}.totals>div{display:flex;flex-direction:column}.totals span{font-size:12px;color:var(--muted);margin-bottom:5px}.totals strong{font-size:23px;font-family:Manrope,Arial,sans-serif;letter-spacing:-.6px}.actions{display:flex;gap:8px;font-size:13px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-top:20px;gap:15px;border-bottom:1px solid var(--line);padding-bottom:12px}.years{display:flex;gap:5px}.years button{padding:6px 11px;font-size:14px;border-color:transparent;color:var(--muted)}.years button[aria-pressed=true]{color:#0c1725;background:var(--accent);font-weight:700}.toolbar p{font-size:12px;color:var(--muted);margin:0;white-space:nowrap}.hoverMark{display:inline-block;background:var(--accent);width:6px;height:6px;border-radius:50%;margin-right:7px}.stages{display:grid;grid-template-columns:28% 22% 23% 27%;padding:17px 0 9px;font-size:12px;color:#536b84}.stages b{color:#dce7f3;margin-left:6px;font-size:13px;font-weight:600}.stages a,.stages span{display:block;margin-top:4px;color:#778aa2;font-size:11px;text-decoration:none}.stages>div:nth-child(2),.stages>div:nth-child(3){text-align:center}.stages>div:last-child{text-align:right}.stages a:hover{color:var(--accent)}#chart{flex:1;min-height:0;position:relative;overflow:hidden}svg{width:100%;height:100%;display:block;overflow:visible}.flow{fill:none;opacity:.24;cursor:crosshair;transition:opacity .18s;pointer-events:stroke}.flow:focus{outline:none}svg.is-hovering .flow{opacity:.14}svg.is-hovering .flow.active{opacity:.95}.node{cursor:help}.node rect{rx:1.5}.node text{fill:#edf3fa;font-family:'DM Sans',Arial,sans-serif}.node .amount{fill:#92a4b9}.leader{stroke:#35465c;stroke-width:.7;fill:none}footer{font-size:11px;color:#758aa0;display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-top:1px solid var(--line);margin-top:4px}#tooltip{position:fixed;z-index:10;width:300px;background:rgba(18,32,49,.97);border:1px solid #40556e;border-radius:10px;padding:17px;pointer-events:none;box-shadow:0 12px 50px #0007;backdrop-filter:blur(14px)}#tooltip .kind{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--accent)}#tooltip h3{font-size:15px;line-height:1.45;margin:7px 0 12px;font-weight:500}#tooltip .value{font-size:26px;letter-spacing:-.8px;font-weight:700}#tooltip .change{font-size:16px;margin-top:10px;font-weight:600;color:#72d9bc}#tooltip .change.down{color:#f5ab8f}#tooltip .previous{font-size:12px;color:#91a3b8;margin-top:7px;line-height:1.5}dialog{background:#122036;color:var(--text);border:1px solid #40556e;border-radius:14px;width:min(680px,92vw);max-height:86dvh;overflow:auto;padding:30px;box-shadow:0 20px 100px #0009}dialog::backdrop{background:#020711a6;backdrop-filter:blur(4px)}dialog h2{font-family:Manrope;font-size:28px;margin:12px 0 20px}dialog h3{font-size:16px;margin:23px 0 8px;color:var(--accent)}dialog p{line-height:1.65;font-size:15px;color:#bdcada}dialog a{color:#7cd9ce}.close{position:absolute;right:15px;top:15px;border:0;font-size:25px;padding:0 8px}#loading{padding:70px;color:var(--muted)}@media(max-width:1150px){#app{padding:16px 16px 0}.totals{gap:18px}.totals strong{font-size:19px}.actions span{display:none}.toolbar p{display:none}h1{font-size:23px}.eyebrow{font-size:10px}.years button{padding:6px 9px}}@media(max-width:760px){#app{height:auto;min-height:100dvh;padding:16px 12px 0}header{flex-wrap:wrap}.identity{flex:1}.totals{order:3;width:100%;justify-content:space-between}.totals span{font-size:10px}.totals strong{font-size:18px}.actions{font-size:12px}.toolbar{margin-top:15px;overflow:auto}.years{gap:0}.years button{padding:7px 9px}#chart{height:700px;flex:none;overflow-x:auto}.stages{font-size:10px;grid-template-columns:25% 25% 25% 25%}.stages b{font-size:11px}.stages a,.stages span{display:none}footer{font-size:10px;flex-direction:column;gap:6px}}

#app{height:100dvh;min-height:620px;padding-top:12px}#chart{flex:1;min-height:420px;height:auto;overflow-x:auto}.stages{padding:9px 0}.family-group text{font-family:'DM Sans',Arial,sans-serif;font-weight:700}.toolbar{margin-top:10px;padding-bottom:8px}h1{font-size:23px}.totals strong{font-size:21px}footer{padding:8px 0}.post-total{font-size:12px;line-height:1.45;color:#bdcada;margin-top:10px;padding-top:9px;border-top:1px solid #40556e}@media(max-width:760px){#app{height:100dvh;min-height:620px}#chart{flex:1;min-height:420px;height:auto}.totals strong{font-size:16px}}

#tooltip .flow-value{display:block;font-size:28px;line-height:1.2;color:#f1f6ff;margin:6px 0 9px;letter-spacing:-.5px}#tooltip .flow-caption{font-size:12px;color:#bdcada}#tooltip .value{font-size:24px}

.evolution-link{display:inline-flex;align-items:center;white-space:nowrap;text-decoration:none;color:var(--text);border:1px solid var(--line);border-radius:7px;padding:9px 13px;font-size:13px}.evolution-link:hover{background:#1d2e42;border-color:#627791}@media(max-width:1150px){.actions{gap:5px;font-size:12px}.evolution-link{padding:9px;font-size:12px}}

.brand-credit{display:flex;align-items:center;gap:10px;color:#e9eff7;font-size:12px;white-space:nowrap}.brand-credit img{width:88px;height:28px;object-fit:contain;filter:brightness(0) invert(1)}
footer{align-items:center}#tooltip .global-total{border-top:1px solid #40556e;padding-top:8px;margin-top:8px}#tooltip .global-total .previous{margin-top:0}#tooltip .global-total .value{font-size:23px;margin-top:4px}#tooltip .change{font-size:14px}@media(max-width:1150px){footer{font-size:10px;gap:10px}.brand-credit{font-size:11px;gap:7px}.brand-credit img{width:75px;height:24px}}@media(max-width:760px){footer{align-items:flex-start}}
