:root{color-scheme:light;font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#18212f;background:#f4f7f6}*{box-sizing:border-box}body{margin:0;min-width:320px}button{font:inherit}#app{width:min(1420px,calc(100% - 32px));margin:0 auto;padding:28px 0 40px}.topbar{display:flex;align-items:end;justify-content:space-between;gap:20px;min-height:112px;border-bottom:1px solid #d9e3df}.eyebrow,.subtle,.panel p,.sync-panel p,.updated{color:#62706c}.eyebrow{margin:0 0 8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0}h1,h2,p{margin:0}h1{font-size:38px;line-height:1.08}h2{font-size:16px}.subtle{margin-top:10px}.updated{text-align:right;font-size:13px;line-height:1.45}.updated strong{color:#18212f;font-size:18px}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}.kpis article,.panel,.sync-panel{background:#fff;border:1px solid #dce7e3;border-radius:8px;box-shadow:0 10px 28px #1f362f0f}.kpis article{display:grid;gap:8px;padding:18px;min-height:118px}.kpis span,.kpis small,.split-stats span,.stack-label span{color:#62706c}.kpis strong{font-size:28px;line-height:1}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.panel{padding:18px;min-width:0}.chart-panel:nth-child(1),.chart-panel:nth-child(2),.chart-panel:nth-child(3),.chart-panel:nth-child(4){grid-column:span 6}.chart-panel:nth-child(5){grid-column:span 4}.table-panel{grid-column:span 8;min-width:0}.panel-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:18px}.panel p{margin-top:5px;font-size:13px}.bar-chart,.stack-list{display:grid;gap:12px}.bar-row,.stack-label{display:grid;grid-template-columns:130px 1fr 72px;align-items:center;gap:12px;font-size:13px}.bar-track,.stack-track{height:12px;background:#eef3f1;border-radius:999px;overflow:hidden}.bar-fill,.stack-net{height:100%;border-radius:inherit}.hours{background:#2d8f7b}.stack-net{background:linear-gradient(90deg,#246f64,#5fb694)}.line-chart{width:100%;height:240px}.line-chart text{fill:#62706c;font-size:12px}.grid{stroke:#dae5e1;stroke-width:1;fill:none}.line{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.line.gross{stroke:#4b6fbc}.line.net{stroke:#2d8f7b}.legend{display:flex;align-items:center;gap:10px;color:#62706c;font-size:13px}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.dot.gross{background:#4b6fbc}.dot.net{background:#2d8f7b}.daily-chart{display:grid;grid-template-columns:repeat(var(--count),minmax(6px,1fr));align-items:end;gap:6px;height:240px;min-width:0}.daily-bar{height:100%;display:grid;grid-template-rows:1fr 20px;align-items:end;gap:6px}.daily-bar div{width:100%;min-height:4px;background:#6d8fbd;border-radius:4px 4px 0 0}.daily-bar span{color:#62706c;font-size:11px;text-align:center}.donut-wrap{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:22px}.donut{width:160px;aspect-ratio:1;border-radius:50%;background:conic-gradient(#c26f57 var(--tax),#2d8f7b 0);position:relative}.donut:after{content:"";position:absolute;inset:24px;background:#fff;border-radius:50%}.split-stats{display:grid;gap:12px}.split-stats div{display:grid;gap:4px}.table-wrap{overflow-x:auto;max-width:100%}table{width:100%;border-collapse:collapse;min-width:700px}th,td{text-align:right;padding:12px 10px;border-bottom:1px solid #edf2f0;font-size:13px}th:first-child,td:first-child{text-align:left}th{color:#62706c;font-weight:700}.sync-panel{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;margin-top:14px;padding:18px}.sync-panel button{height:42px;padding:0 18px;border:0;border-radius:6px;color:#fff;background:#246f64;cursor:pointer}.sync-status{grid-column:1 / -1;color:#62706c;font-size:13px}@media(max-width:980px){#app{width:min(100% - 20px,760px);padding-top:18px}.topbar,.sync-panel{align-items:start;grid-template-columns:1fr;flex-direction:column}h1{font-size:30px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-panel:nth-child(n),.table-panel{grid-column:1 / -1}}@media(max-width:560px){.kpis{grid-template-columns:1fr}.bar-row{grid-template-columns:1fr 70px}.bar-row .bar-track{grid-column:1 / -1;grid-row:2}.donut-wrap{grid-template-columns:1fr}}
