/* Coreniverse chart and content standard. Legacy layouts retain their existing palette. */
.cv-ui{--cv-chart-primary:#026b66;--cv-chart-secondary:#7d9682;--cv-chart-tertiary:#617a88;--cv-chart-negative:#ad5949;--cv-chart-warning:#927039;--cv-chart-soft:#e5efea;--cv-chart-negative-soft:#f4e8e4;--cv-chart-warning-soft:#f2eddf;--cv-chart-line:#d9e3dc;--cv-chart-text:#53665e;--cv-chart-surface:#fffefa;--cv-chart-radius:16px}
.cv-ui .cv-dashboard{display:grid;gap:22px}.cv-ui .cv-dashboard>.panel,.cv-ui .cv-dashboard>.kpis,.cv-ui .cv-dashboard>.grid2,.cv-ui .cv-dashboard>.chart-grid{margin:0!important}
.cv-ui .cv-dashboard .kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}
.cv-ui .cv-dashboard .kpi{background:var(--cv-chart-surface)!important;border:1px solid var(--cv-chart-line)!important;border-top:3px solid var(--cv-chart-primary)!important;border-radius:var(--cv-chart-radius)!important;padding:22px!important;box-shadow:0 3px 12px rgba(20,65,51,.035)!important;min-width:0;color:#213e34!important}
.cv-ui .cv-dashboard .kpi>span{font-size:.8rem!important;line-height:1.45!important;font-weight:600;color:var(--cv-chart-text)!important}
.cv-ui .cv-dashboard .kpi>strong{font-size:clamp(1.35rem,2.2vw,1.85rem)!important;line-height:1.25!important;letter-spacing:-.025em;overflow-wrap:anywhere;margin:10px 0!important}
.cv-ui .cv-dashboard .kpi-link:hover{border-color:var(--cv-chart-primary)!important;box-shadow:0 5px 18px rgba(20,65,51,.07)!important}
.cv-ui .cv-dashboard .kpi-comparison{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cv-ui .cv-dashboard .kpi-trend{padding:3px 7px;border-radius:6px;font-size:.75rem}.cv-ui .cv-dashboard .kpi-trend.good{color:var(--cv-chart-primary)!important;background:var(--cv-chart-soft)!important}.cv-ui .cv-dashboard .kpi-trend.bad{color:var(--cv-chart-negative)!important;background:var(--cv-chart-negative-soft)!important}.cv-ui .cv-dashboard .kpi-trend.neutral{color:var(--cv-chart-text)!important;background:#edf0ea!important}
.cv-ui .cv-dashboard .panel-title{gap:12px;flex-wrap:wrap}.cv-ui .cv-dashboard .panel-title h2{font-size:1.08rem}.cv-ui .cv-dashboard .panel-title>span{font-size:.78rem;color:var(--cv-chart-text)}
.cv-ui .content :is(.chart-panel,.ap23-chart-panel,.ap3-chart-panel,.bank-balance-panel,.bank-daily-panel,.performance-target-chart-card,.branch-profitability){border:1px solid var(--cv-chart-line)!important;border-radius:var(--cv-chart-radius)!important;background:var(--cv-chart-surface)!important;box-shadow:0 3px 12px rgba(20,65,51,.035)!important}
.cv-ui .content :is(.legend,.chart-legend,.personnel-legend,.bank-chart-legend,.target-chart-legend){font-size:.8rem!important;line-height:1.5;color:var(--cv-chart-text)!important;display:flex!important;gap:14px!important;flex-wrap:wrap!important;white-space:normal!important}
.cv-ui .content :is(.bar.income,.income-dot,.current-dot,.compare-bars .current,.ap23-bar.current,.ap23-dot.current,.ap23-current,.cashflow-area .above,.scenario-track span){background:var(--cv-chart-primary)!important}
.cv-ui .content :is(.bar.expense,.expense-dot,.prior-dot,.compare-bars .prior,.ap23-bar.prior,.ap23-dot.prior,.ap23-prior){background:var(--cv-chart-secondary)!important}
.cv-ui .content .cashflow-area .below{background:var(--cv-chart-negative)!important}
.cv-ui .content .donut{background:conic-gradient(var(--cv-chart-primary) 0 calc(var(--material)*1%),var(--cv-chart-secondary) calc(var(--material)*1%) calc((var(--material) + var(--personal))*1%),var(--cv-chart-tertiary) calc((var(--material) + var(--personal))*1%) 100%)!important;box-shadow:none!important}
.cv-ui .content .donut:after{background:var(--cv-chart-surface)!important}.cv-ui .content .cost-a{background:var(--cv-chart-primary)!important}.cv-ui .content .cost-b{background:var(--cv-chart-secondary)!important}.cv-ui .content .cost-c{background:var(--cv-chart-tertiary)!important}
.cv-ui .content .donut-wrap{gap:22px!important;flex-wrap:wrap}.cv-ui .content .donut-list div{border-bottom-color:var(--cv-chart-line)!important;gap:8px}
.cv-ui .content :is(.bank-chart-path-current){stroke:var(--cv-chart-primary)!important}.cv-ui .content .bank-chart-path-previous{stroke:var(--cv-chart-secondary)!important;stroke-dasharray:6 4}
.cv-ui .content .bank-chart-point-current{fill:var(--cv-chart-primary)!important}.cv-ui .content .bank-chart-point-previous{fill:var(--cv-chart-secondary)!important}.cv-ui .content .bank-legend-current{background:var(--cv-chart-primary)!important}.cv-ui .content .bank-legend-previous{background:var(--cv-chart-secondary)!important}
.cv-ui .content .bank-daily-line{stroke:var(--cv-chart-primary)!important;stroke-width:1.7!important}.cv-ui .content .bank-daily-focus{stroke:var(--cv-chart-primary)!important}
.cv-ui .content :is(.bank-chart-grid,.bank-daily-grid){stroke:var(--cv-chart-line)!important}.cv-ui .content :is(.bank-chart-axis-label,.bank-daily-axis){fill:var(--cv-chart-text)!important;font-family:inherit;font-size:12px!important}
.cv-ui .content :is(.bank-chart-tooltip,.bank-daily-tooltip){background:#254c42!important;border-radius:8px!important;box-shadow:0 5px 18px rgba(20,65,51,.14)!important}
.cv-ui .content :is(.bar-chart,.compare-chart,.cashflow-chart,.ap23-combo-chart,.ap23-line-chart){scrollbar-width:thin;scrollbar-color:#adc2b6 transparent}
.cv-ui .content .bar-chart{overflow-x:auto!important;padding-bottom:8px!important}.cv-ui .content .bar-group{min-width:45px!important}.cv-ui .content :is(.bar,.compare-bars span,.ap23-bar){border-radius:4px 4px 0 0!important}
.cv-ui .content .profitability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px!important}
.cv-ui .content .profitability-card{background:var(--cv-chart-surface)!important;border:1px solid var(--cv-chart-line)!important;border-radius:14px!important;padding:20px!important;min-width:0;box-shadow:none!important}
.cv-ui .content .profitability-card>header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;align-items:start}.cv-ui .content .profitability-card h3{color:#234438;margin:4px 0;font-size:1.15rem}.cv-ui .content .profitability-multiple{font-size:1.7rem!important;color:var(--cv-chart-primary)!important;font-variant-numeric:tabular-nums}
.cv-ui .content .profitability-card.status-critical .profitability-multiple{color:var(--cv-chart-negative)!important}.cv-ui .content .profitability-card.status-target .profitability-multiple{color:var(--cv-chart-warning)!important}
.cv-ui .content .profitability-scale{display:flex;flex-wrap:wrap;gap:10px;background:none!important;margin-bottom:16px}.cv-ui .content .profitability-scale span{border-radius:6px;padding:6px 10px;font-size:.76rem}.cv-ui .content .profitability-scale .critical{background:var(--cv-chart-negative-soft)!important;color:var(--cv-chart-negative)!important}.cv-ui .content .profitability-scale .target{background:var(--cv-chart-warning-soft)!important;color:var(--cv-chart-warning)!important}.cv-ui .content .profitability-scale .strong{background:var(--cv-chart-soft)!important;color:var(--cv-chart-primary)!important}
.cv-ui .content .profitability-track{height:10px!important;background:linear-gradient(90deg,#ead3cb 0 60%,#e8dfc9 60% 80%,#c8ddd1 80% 100%)!important;border-radius:5px;margin:16px 0 20px!important}.cv-ui .content .profitability-track i{background:#254c42!important;box-shadow:0 0 0 2px var(--cv-chart-surface)!important}
.cv-ui .content :is(.profitability-values,.profitability-targets){gap:10px!important}.cv-ui .content :is(.profitability-values>div,.profitability-targets>div){background:#f1f5ef!important;border:1px solid #e5ebe3;border-radius:8px!important;min-width:0}.cv-ui .content :is(.profitability-values strong,.profitability-targets strong){font-size:.98rem;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.cv-ui .content .profitability-total{background:var(--cv-chart-soft)!important;color:var(--cv-chart-primary)!important;border-radius:8px!important}
/* Shared target-chart geometry; the PP scale and PHP widths stay unchanged. */
.cv-ui .target-chart-axis{display:flex;justify-content:space-between;margin:18px 88px 8px 230px;font-size:.75rem;color:var(--cv-chart-text)}
.cv-ui .target-chart-list{display:grid;gap:0}.cv-ui .target-chart-row{display:grid;grid-template-columns:210px minmax(120px,1fr) 68px;gap:20px;align-items:center;padding:15px 0;border-top:1px solid var(--cv-chart-line)}
.cv-ui .target-chart-name{min-width:0}.cv-ui .target-chart-name strong{display:block;overflow-wrap:anywhere;font-size:.9rem}.cv-ui .target-chart-name small{display:block;color:var(--cv-chart-text);font-size:.76rem;margin-top:4px}
.cv-ui .target-chart-track{height:22px;background:#edf2eb;position:relative;border-radius:5px;min-width:0}.cv-ui .target-chart-zero{position:absolute;left:50%;top:-5px;bottom:-5px;width:1px;background:#61766b;z-index:2}.cv-ui .target-chart-bar{position:absolute;top:3px;height:16px;border-radius:3px}.cv-ui .target-chart-bar-negative{background:var(--cv-chart-negative)}.cv-ui .target-chart-bar-positive{background:var(--cv-chart-primary)}.cv-ui .target-chart-value{font-weight:600;font-size:.88rem;text-align:right;font-variant-numeric:tabular-nums}
.cv-ui .content :is(.performance-pill,.branch-chip){border-radius:6px!important}.cv-ui .content :is(.perf-high,.perf-ok){background:var(--cv-chart-soft)!important;color:var(--cv-chart-primary)!important}.cv-ui .content .perf-watch{background:var(--cv-chart-warning-soft)!important;color:var(--cv-chart-warning)!important}.cv-ui .content .perf-low{background:var(--cv-chart-negative-soft)!important;color:var(--cv-chart-negative)!important}.cv-ui .content :is(.perf-open,.perf-na){background:#edf0ea!important;color:var(--cv-chart-text)!important}
.cv-ui .cv-upload-footer{display:grid;gap:18px;margin-top:32px;padding-top:26px;border-top:1px solid var(--cv-chart-line)}
.cv-ui .cv-upload-footer>.panel,.cv-ui .cv-upload-footer>.card{margin:0!important}.cv-ui .cv-upload-footer>details{padding:18px;background:var(--cv-chart-surface);border:1px solid var(--cv-chart-line);border-radius:14px}.cv-ui .cv-upload-footer summary{font-weight:600;cursor:pointer}
.cv-ui .import-layout,.cv-ui .cv-upload-layout{grid-template-columns:minmax(0,1fr)!important}.cv-ui .import-scroll{max-height:none!important}.cv-ui .cv-upload-footer .performance-dual-import{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
@media(max-width:1050px){.cv-ui .content .profitability-grid{grid-template-columns:1fr}.cv-ui .target-chart-row{grid-template-columns:170px minmax(100px,1fr) 66px;gap:14px}.cv-ui .target-chart-axis{margin-left:184px;margin-right:80px}}
@media(max-width:720px){.cv-ui .cv-dashboard .kpis,.cv-ui .cv-upload-footer .performance-dual-import{grid-template-columns:1fr}.cv-ui .cv-dashboard .chart-grid,.cv-ui .cv-dashboard .grid2{grid-template-columns:1fr!important}.cv-ui .content .profitability-values,.cv-ui .content .profitability-targets{grid-template-columns:1fr}.cv-ui .target-chart-row{grid-template-columns:minmax(0,1fr) 68px;gap:9px}.cv-ui .target-chart-name{grid-column:1/-1}.cv-ui .target-chart-axis{margin-left:0;margin-right:77px}.cv-ui .target-chart-track{height:24px}.cv-ui .cv-upload-footer{margin-top:24px;padding-top:20px}}
@media print{.cv-ui .cv-upload-footer{display:none}.cv-ui .target-chart-row{break-inside:avoid}.cv-ui .cv-dashboard .kpi{box-shadow:none!important}}
.cv-ui .performance-target-chart-card{padding:20px!important}.cv-ui .target-chart-value.trend-down,.cv-ui .profitability-card .negative{color:var(--cv-chart-negative)!important}.cv-ui .target-chart-value.trend-up,.cv-ui .profitability-card .positive{color:var(--cv-chart-primary)!important}@media(max-width:720px){.cv-ui .performance-target-chart-card{padding:14px!important}}

.cv-ui .performance-target-chart-card .panel-title{flex-wrap:wrap;gap:12px}.cv-ui .performance-target-chart-card .panel-title>div{flex:1 1 240px;min-width:0}.cv-ui .performance-target-chart-card .panel-title>span{white-space:nowrap;flex:0 0 auto}

/* Branch series and legend swatches must remain distinguishable. */
.cv-ui .opta-bar.lichtenau,.cv-ui .opta-li-dot{background:var(--cv-chart-primary)!important}
.cv-ui .opta-bar.guetersloh,.cv-ui .opta-gt-dot{background:var(--cv-chart-secondary)!important}
.cv-ui .personnel-legend>span{display:inline-flex;align-items:center;gap:6px}
.cv-ui .personnel-legend i{display:inline-block!important;flex:0 0 10px;width:10px!important;height:10px!important;border-radius:3px}
