:root{--navy:#102b5c;--blue:#174ca6;--green:#15966c;--red:#df3f4d;--gold:#d9a72e;--ink:#132440;--muted:#6f7b8e;--line:#e6eaf0;--bg:#f4f6f9}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif}button{font:inherit}
.topbar{height:72px;padding:0 32px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5}.brand,.tools,.profile,.page-head,.title,.lead,.highlight,.updated{display:flex;align-items:center}.brand{gap:11px}.logo{width:38px;height:38px;border-radius:11px;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:20px;font-weight:800}.brand b,.brand small{display:block}.brand small{color:var(--muted);font-size:11px}.tools{gap:12px;position:relative}
.periods{display:flex;background:var(--bg);padding:3px;border-radius:9px}.periods button{border:0;background:transparent;color:var(--muted);padding:7px 12px;border-radius:7px;font-size:12px;cursor:pointer;white-space:nowrap}.periods .active{background:#fff;color:var(--navy);box-shadow:0 1px 4px #dce2eb;font-weight:700}.period-panel{position:absolute;right:0;top:46px;width:330px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 40px #19365b26;border-radius:12px;padding:14px;z-index:20}.period-panel[hidden]{display:none}.period-panel-head b,.period-panel-head span{display:block}.period-panel-head b{font-size:12px;color:var(--navy)}.period-panel-head span{font-size:9px;color:var(--muted);margin-top:3px}.date-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:13px 0 8px}.date-fields label{font-size:8px;color:var(--muted);font-weight:700;text-transform:uppercase}.date-fields input{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:7px;padding:8px;color:var(--ink);background:#fbfcfe;font-size:11px}.date-fields input:focus{outline:2px solid #174ca624;border-color:var(--blue)}.period-error{display:block;min-height:14px;color:var(--red);font-size:8px}.apply-period{width:100%;border:0;border-radius:8px;background:var(--navy);color:#fff;padding:9px;font-size:10px;font-weight:700;cursor:pointer}.apply-period:hover{background:var(--blue)}.profile{border:0;background:transparent;gap:8px;cursor:pointer;color:var(--ink)}.profile span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#e2eafa;color:var(--navy);font-size:11px;font-weight:800}.profile-menu{position:absolute;right:0;top:44px;width:150px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px #19365b20;border-radius:10px;padding:6px}.profile-menu button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:9px;cursor:pointer}
.import-link{display:flex;align-items:center;gap:6px;padding:8px 11px;border-radius:8px;background:var(--navy);color:#fff;text-decoration:none;font-size:10px;font-weight:800;white-space:nowrap}.import-link:hover{background:var(--blue)}.import-link span{font-size:13px}
.page-head{justify-content:space-between;padding:28px 32px 20px}.page-head p{margin:0 0 7px;color:var(--blue);font-size:10px;letter-spacing:1.4px;font-weight:800}.page-head h1{margin:0;font-size:26px;letter-spacing:-.8px}.page-head span{color:var(--muted);font-size:12px}.updated{gap:8px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:7px 8px;color:var(--muted);font-size:11px}.updated i{width:7px;height:7px;background:var(--green);border-radius:50%}.updated button{border:0;background:var(--bg);border-radius:6px;cursor:pointer}
.block-heading{margin:0 32px 10px;padding:10px 0 8px;border-bottom:1px solid #dde3eb;display:flex;align-items:end;justify-content:space-between}.block-heading>div{display:flex;align-items:center;gap:8px}.block-heading>div>span{width:24px;height:24px;border-radius:7px;background:#e9eff9;color:var(--blue);display:grid;place-items:center;font-size:9px;font-weight:800}.block-heading h2{margin:0;color:var(--navy);font-size:13px;letter-spacing:.15px}.block-heading p{margin:0;color:var(--muted);font-size:9px}.hero-grid{display:grid;grid-template-columns:1.05fr 1.05fr 1.15fr 1fr;gap:12px;padding:0 32px 22px}.main-grid{display:grid;grid-template-columns:minmax(0,1.48fr) minmax(340px,.72fr);gap:12px;padding:0 32px 26px;align-items:start}.left,.right{display:grid;gap:12px}.single{display:grid;grid-template-columns:1fr;gap:12px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:0 1px 2px #102b5c08;overflow:hidden}
.title{justify-content:space-between;border-bottom:1px solid #edf0f4;padding-bottom:10px;margin-bottom:12px}.title h2{margin:0;color:var(--navy);font-size:11px;text-transform:uppercase;letter-spacing:.55px}.title>span{color:#8994a5;background:var(--bg);border-radius:4px;padding:4px 6px;font-size:8px;font-weight:700}.lead{justify-content:space-between;margin-bottom:12px}.lead strong{font-size:23px}.positive{color:var(--green)}.negative{color:var(--red)!important}.up{color:var(--green)}.down{color:var(--red)}small.up,small.down{font-size:9px;font-weight:700}
.split,.triple{display:grid;gap:6px}.split{grid-template-columns:1fr 1fr}.triple{grid-template-columns:repeat(3,1fr)}.split div,.triple div{background:#f8f9fb;padding:9px;border:1px solid #edf0f4;border-radius:7px}.split span,.triple span{display:block;color:var(--muted);font-size:8px;margin-bottom:4px}.split b,.triple b{font-size:11px;color:var(--navy)}
.spark{height:38px;display:flex;align-items:flex-end;gap:5px;padding:4px 3px}.spark i{flex:1;background:currentColor;border-radius:4px 4px 0 0;opacity:.8}.spark i:nth-child(1){height:14px}.spark i:nth-child(2){height:21px}.spark i:nth-child(3){height:17px}.spark i:nth-child(4){height:26px}.spark i:nth-child(5){height:20px}.spark i:nth-child(6){height:31px}.spark i:nth-child(7){height:23px}.spark i:nth-child(8){height:28px}.spark i:nth-child(9){height:25px}.spark.green{color:var(--green)}.spark.red{color:var(--red)}
.bars{height:96px;display:flex;align-items:flex-end;justify-content:space-around;gap:5px}.bars div{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.bars i{display:block;width:52%;background:linear-gradient(#1aaa79,#12865f);border-radius:3px 3px 0 0}.bars b,.bars span{font-size:8px}.bars b{margin-bottom:4px}.bars span{color:var(--muted);margin-top:4px}.highlight{gap:11px;padding:9px 0}.highlight+.highlight{border-top:1px solid var(--line)}.highlight>i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e7f6f1;color:var(--green);font-style:normal}.highlight>i.gold{background:#fff5d9;color:var(--gold)}.highlight div{display:grid;grid-template-columns:1fr auto;flex:1;gap:3px}.highlight span{grid-column:1/-1;color:var(--muted);font-size:8px}.highlight strong{font-size:15px;color:var(--navy)}
.kpis{display:grid;border:1px solid var(--line);border-radius:8px;margin-bottom:14px}.kpis.four{grid-template-columns:repeat(4,1fr)}.kpis.five{grid-template-columns:repeat(5,1fr)}.three-kpi{grid-template-columns:repeat(3,1fr)}.two-kpi{grid-template-columns:repeat(2,1fr)}.kpis>div{padding:11px;min-width:0}.kpis>div+div{border-left:1px solid var(--line)}.kpis span{display:block;color:var(--muted);font-size:8px;margin-bottom:5px;text-transform:uppercase}.kpis strong{display:block;color:var(--navy);font-size:14px;margin-bottom:5px}.kpis.accumulated{background:#f9fbfe;margin-top:0}.subsection-label{color:var(--navy);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.35px;margin:10px 0 7px}.chart-wrap{display:grid;grid-template-columns:1.55fr 1fr;gap:15px}.chart-label{display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase}.chart-label span{font-size:8px;color:var(--muted)}
.line-chart{height:150px;position:relative;padding-bottom:20px;display:flex;flex-direction:column;justify-content:space-around}.gridline{border-top:1px dashed #e4e8ee}.trend i{position:absolute;width:7px;height:7px;background:var(--blue);border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px var(--blue)}.trend i:not(:last-child)::after{content:"";position:absolute;left:4px;top:1px;width:calc(18vw - 7px);max-width:108px;height:2px;background:var(--blue);transform:rotate(-12deg);transform-origin:left center}.axis{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;font-size:8px;color:var(--muted)}.summary>b,h3{display:block;color:var(--navy);font-size:9px;text-transform:uppercase;margin:0 0 8px}.row{display:grid;grid-template-columns:repeat(3,1fr);padding:5px 7px;font-size:8px;color:var(--muted);border-bottom:1px solid #f0f2f5}.row.six{grid-template-columns:1.05fr repeat(5,.9fr);gap:3px;padding-left:4px;padding-right:4px}.row.head{color:var(--navy);font-weight:700}.row.selected{background:#e9f0ff;color:var(--blue);font-weight:700;border-radius:5px}
.plan>div{display:grid;grid-template-columns:1.1fr .8fr 1fr 25px;align-items:center;gap:7px;padding:5px 0;font-size:8px}.plan span{color:var(--muted);font-weight:700}.plan i{height:6px;background:#edf0f4;border-radius:5px;overflow:hidden}.plan em{display:block;height:100%;background:var(--blue);border-radius:5px}.plan .plan-total{border-top:1px solid var(--line);margin-top:4px;padding-top:8px}.plan .plan-total span,.plan .plan-total b,.plan .plan-total small{color:var(--navy);font-weight:800}.group-bars{height:118px;display:flex;justify-content:space-around;align-items:flex-end}.group-bars div{height:100%;display:grid;grid-template-columns:13px 13px;align-items:end;gap:3px}.group-bars i,.group-bars em{display:block;background:var(--navy);border-radius:2px 2px 0 0}.group-bars em{background:var(--gold)}.group-bars span{grid-column:1/-1;text-align:center;font-size:8px;color:var(--muted)}
.mini-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:8px;margin-bottom:14px;background:#f9fbfe}.mini-stats>div{padding:9px}.mini-stats>div+div{border-left:1px solid var(--line)}.mini-stats span{display:block;color:var(--muted);font-size:7px;text-transform:uppercase;margin-bottom:4px}.mini-stats strong{color:var(--navy);font-size:11px}
.finance-table-wrap{overflow-x:auto}.finance-row{min-width:690px;display:grid;grid-template-columns:1.35fr 1fr 1fr .9fr 1fr .65fr;gap:10px;align-items:center;padding:7px 8px;border-bottom:1px solid #edf0f4;color:var(--muted);font-size:8px}.finance-row:nth-child(odd):not(.finance-head){background:#fafbfd}.finance-row b{color:var(--ink)}.finance-row em{color:var(--green);font-style:normal;font-weight:700}.finance-head{background:var(--bg);color:var(--navy);font-weight:800;text-transform:uppercase;border-radius:6px}.right>.card:first-child{order:1}.right>.cancellations{order:2}.right>.card:nth-child(2){order:3}
.stock{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:14px}.donut{width:120px;aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--navy) 0 52%,var(--gold) 52% 76%,#aeb6c2 76% 96%,var(--red) 96%);display:grid;place-items:center}.donut::after{content:"";width:69%;aspect-ratio:1;background:#fff;border-radius:50%;grid-area:1/1}.donut div{grid-area:1/1;z-index:1;text-align:center}.donut b{display:block;font-size:11px}.donut span{font-size:7px;color:var(--muted)}.legend p,.reason-list p,.composition-list p{display:grid;grid-template-columns:8px 1fr auto;gap:6px;align-items:center;margin:0;padding:5px 0;font-size:8px;color:var(--muted)}.legend span small{display:block;margin-top:2px;color:#9aa4b3;font-size:7px}.legend i,.reason-list i,.composition-list i{width:7px;height:7px;border-radius:2px}.navy{background:var(--navy)}.blue-dot{background:var(--blue)}.yellow{background:var(--gold)}.gray{background:#aeb6c2}.red-dot{background:var(--red)}.metric{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.metric span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase}.metric strong{font-size:20px;color:var(--blue)}.metric small{font-size:9px}.stock-spark{height:44px;display:flex;align-items:flex-end;gap:4px;margin-top:-36px;margin-left:125px;padding:0 4px}.stock-spark i{flex:1;background:var(--blue);opacity:.78;border-radius:2px 2px 0 0}.people{grid-template-columns:repeat(4,1fr)}.indicators{display:grid;grid-template-columns:repeat(4,1fr)}.indicators>div{text-align:center;padding:2px 7px}.indicators>div+div{border-left:1px solid var(--line)}.indicators i{width:30px;height:30px;display:grid;place-items:center;margin:0 auto 6px;color:#fff;border-radius:50%;background:var(--gold);font-style:normal}.indicators div:nth-child(2) i{background:var(--navy)}.indicators div:nth-child(3) i{background:#b68b26}.indicators div:nth-child(4) i{background:#314157}.indicators span{display:block;min-height:25px;color:var(--muted);text-transform:uppercase;font-size:7px}.indicators strong{display:block;color:var(--blue);font-size:14px;margin-bottom:4px}
.cancellation-body{display:grid;grid-template-columns:1fr 1.15fr;gap:14px}.rate-chart{height:118px;display:flex;align-items:flex-end;gap:5px;padding:18px 2px 18px}.rate-chart>div{position:relative;flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center}.rate-chart i{width:7px;background:var(--red);border-radius:50% 50% 2px 2px;position:relative}.rate-chart i::after{content:"";position:absolute;left:2px;top:0;width:5px;height:5px;background:var(--red);border-radius:50%}.rate-chart span{position:absolute;bottom:-15px;font-size:7px;color:var(--muted)}.rate-chart b{position:absolute;top:-14px;font-size:7px;color:var(--muted)}.reason-wrap{display:grid;grid-template-columns:105px 1fr;align-items:center;gap:8px}.reason-donut{width:98px;aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--navy) 0 34%,var(--blue) 34% 57%,var(--gold) 57% 72%,var(--red) 72% 84%,#aeb6c2 84%);display:grid;place-items:center}.reason-donut::after{content:"";width:62%;aspect-ratio:1;background:#fff;border-radius:50%;grid-area:1/1}.reason-donut div{grid-area:1/1;z-index:1;text-align:center}.reason-donut b{display:block;font-size:9px}.reason-donut span{font-size:7px;color:var(--muted)}
.reason-donut.unavailable{background:#e4e9f0}
.headcount-chart{height:78px;display:flex;align-items:flex-end;gap:6px;padding:15px 2px 17px}.headcount-chart>div{position:relative;flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center}.headcount-chart i{width:5px;background:var(--blue);border-radius:4px 4px 0 0}.headcount-chart b{position:absolute;top:-12px;font-size:7px}.headcount-chart span{position:absolute;bottom:-14px;font-size:7px;color:var(--muted);white-space:nowrap}
.people-grid-block{display:grid;grid-template-columns:1.45fr .75fr;gap:12px;padding:0 32px 26px;align-items:stretch}.people-grid-block>.card{height:100%}.bottom-grid{display:grid;grid-template-columns:.85fr 1.45fr;gap:12px;padding:0 32px 26px}.personnel-body{display:grid;grid-template-columns:.7fr 1.3fr;align-items:center;gap:20px;min-height:128px}.cost-lead span,.cost-lead small{display:block}.cost-lead span{font-size:8px;color:var(--muted);text-transform:uppercase}.cost-lead strong{display:block;color:var(--blue);font-size:25px;margin:7px 0}.composition{display:grid;grid-template-columns:126px 1fr;align-items:center;gap:14px}.people-donut{width:122px;aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--navy) 0 67%,var(--gold) 67% 89%,#aeb6c2 89% 97%,var(--red) 97%);position:relative;display:grid;place-items:center}.people-donut::after{content:"";position:absolute;inset:25%;background:#fff;border-radius:50%;z-index:1}.people-donut>div{position:relative;z-index:2;text-align:center}.people-donut b,.people-donut span{display:block}.people-donut b{font-size:10px;color:var(--navy)}.people-donut span{font-size:7px;color:var(--muted);margin-top:2px}.cost-trend{border-top:1px solid var(--line);margin-top:10px;padding-top:2px}
.chart-box{position:relative;width:100%;min-width:0;padding-top:4px}.chart-box::after{content:"";position:absolute;left:30px;right:8px;bottom:25px;border-bottom:1px solid #dfe5ed;pointer-events:none}.chart-canvas{display:block;width:100%;height:150px}.compact-chart .chart-canvas{height:104px}.small-chart .chart-canvas{height:118px}.headcount-box .chart-canvas{height:155px}.cost-chart-box .chart-canvas{height:105px}.chart-legend{display:flex;justify-content:flex-end;gap:14px;margin:1px 0 2px;color:var(--muted);font-size:7px}.chart-legend span{display:flex;align-items:center;gap:5px}.chart-legend i{display:block;width:7px;height:7px;border-radius:2px}
footer{padding:16px 32px 24px;color:var(--muted);display:flex;justify-content:space-between;font-size:9px}.pulse{animation:pulse .55s ease}@keyframes pulse{50%{opacity:.35}}
@media(max-width:1100px){.hero-grid{grid-template-columns:1fr 1fr}.main-grid{grid-template-columns:1fr}.right{grid-template-columns:1fr 1fr}.people-grid-block,.bottom-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.topbar{padding:0 16px}.profile b{display:none}.import-link{padding:8px}.import-link:not(:hover){font-size:0}.import-link span{font-size:14px}.periods button{padding:7px 8px;font-size:10px}.period-panel{right:0}.page-head{padding:22px 16px 16px}.updated{display:none}.block-heading{margin-left:16px;margin-right:16px}.block-heading p{display:none}.hero-grid,.main-grid,.people-grid-block,.bottom-grid{padding-left:16px;padding-right:16px;grid-template-columns:1fr}.right{grid-template-columns:1fr}.chart-wrap,.cancellation-body{grid-template-columns:1fr}.kpis.four,.kpis.five{grid-template-columns:1fr 1fr}.kpis.four>div:nth-child(3),.kpis.five>div:nth-child(3),.kpis.five>div:nth-child(5){border-left:0;border-top:1px solid var(--line)}.stock-spark{margin-left:110px}.personnel-body{grid-template-columns:1fr 1fr}footer{padding:16px;flex-direction:column;gap:5px}}
@media(max-width:480px){.brand small,.profile{display:none}.periods button{padding:7px 5px;font-size:9px}.period-panel{position:fixed;left:12px;right:12px;top:64px;width:auto}.date-fields{grid-template-columns:1fr}.card{padding:14px}.three-kpi,.two-kpi,.kpis.five{grid-template-columns:1fr}.three-kpi>div+div,.two-kpi>div+div,.kpis.five>div+div{border-left:0;border-top:1px solid var(--line)}.people,.indicators{grid-template-columns:1fr 1fr}.indicators>div:nth-child(3){border-left:0}.mini-stats,.personnel-body{grid-template-columns:1fr}.mini-stats>div+div{border-left:0;border-top:1px solid var(--line)}.stock{grid-template-columns:110px 1fr}.donut{width:100px}.stock-spark{margin-left:0;margin-top:10px}.reason-wrap{grid-template-columns:95px 1fr}}
