#central-sector-progress { --cp-surface:var(--white); --cp-ink:var(--ink); --cp-muted:var(--muted); --cp-edge:var(--line); --cp-soft:light-dark(#f3f7f4,#1d3026); --cp-green:var(--green); --cp-blue:#248bc0; --cp-orange:light-dark(#b14e16,#ffb486); --cp-warm:light-dark(#fff3e9,#3b2a1f); font-family:inherit; color:var(--cp-ink); color-scheme:light; }
    #central-sector-progress * { box-sizing:border-box; }
    #central-sector-progress .cp-panel { background:var(--cp-surface); border:1px solid var(--cp-edge); border-radius:12px; padding:16px 24px; }
    #central-sector-progress .cp-head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; }
    #central-sector-progress h2 { font-size:1.0625rem; font-weight:700; margin:0; color:var(--cp-ink); }
    #central-sector-progress .cp-sub { color:var(--cp-muted); font-size:.75rem; }
    #central-sector-progress label { display:flex; align-items:center; gap:9px; flex-wrap:wrap; font-size:.875rem; color:var(--cp-muted); }
    #central-sector-progress select, #central-sector-progress button { font:inherit; color:var(--cp-ink); background:var(--cp-surface); border:1px solid var(--cp-edge); padding:9px 12px; border-radius:7px; cursor:pointer; }
    #central-sector-progress select { font-size:.875rem; max-width:100%; min-width:156px; height:36px; padding:4px 8px; }
    #central-sector-progress .cp-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin:16px 0 12px; }
    #central-sector-progress .cp-metric { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; column-gap:12px; padding:0 24px; border-inline-end:1px solid var(--cp-edge); min-width:0; }
    #central-sector-progress .cp-metric:first-child { padding-inline-start:0; }
    #central-sector-progress .cp-metric:last-child { border:0; }
    #central-sector-progress .cp-label { color:var(--cp-muted); font-size:.875rem; margin:0; }
    #central-sector-progress .cp-value { font-size:1.625rem; font-weight:700; font-family:Arial,sans-serif; font-variant-numeric:tabular-nums; direction:ltr; text-align:right; }
    #central-sector-progress .cp-unit { grid-column:1/-1; font-size:.75rem; color:var(--cp-muted); min-height:20px; margin-top:2px; }
    #central-sector-progress .cp-track { grid-column:1/-1; height:5px; background:var(--cp-soft); margin-top:6px; border-radius:3px; overflow:hidden; }
    #central-sector-progress .cp-fill { height:100%; background:var(--cp-green); }
    #central-sector-progress .cp-plan-fill { background:var(--cp-blue); }
    #central-sector-progress .cp-elapsed-fill { background:#78958a; }
    #central-sector-progress .cp-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; }
    #central-sector-progress .cp-gap { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 6px; max-width:100%; padding:4px 10px; border-radius:6px; background:#fcf2eb; color:#8c491f; font-size:.8125rem; }
    #central-sector-progress .cp-gap bdi { font-family:Arial,sans-serif; font-size:1.125rem; font-weight:700; }
    #central-sector-progress .cp-gap[data-direction=above],#central-sector-progress .cp-gap[data-direction=equal] { color:var(--cp-green); background:var(--cp-soft); }
    #central-sector-progress .cp-gap[data-direction=unavailable] { color:var(--cp-muted); background:var(--cp-soft); }
    #central-sector-progress #cp-expand { background:transparent; color:var(--cp-green); font-size:.875rem; padding:6px 10px; }
    #central-sector-progress .cp-chart-context { margin:0; }
    #central-sector-progress { --cp-plan-bar:light-dark(#c0d7ef,#557d9f); --cp-actual-line:light-dark(#172b22,#f0f5f1); }
    #central-sector-progress .cp-chart-head { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:6px 16px; margin-top:16px; padding:16px 0 12px; border-top:1px solid var(--cp-edge); }
    #central-sector-progress .cp-chart-title { font-size:.875rem; font-weight:500; }
    #central-sector-progress #cp-detail { position:relative; }
    #central-sector-progress .cp-figure { margin:0; min-width:0; }
    #central-sector-progress .cp-legend { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px 28px; width:100%; padding:10px 0 16px; }
    #central-sector-progress .cp-legend button { display:inline-flex; align-items:center; gap:8px; min-width:0; max-width:100%; min-height:32px; border:0; border-radius:0; background:transparent; padding:4px 2px; font-size:.875rem; font-weight:400; line-height:1.65; white-space:normal; text-align:start; color:var(--cp-ink); }
    #central-sector-progress .cp-legend-label { min-width:0; overflow-wrap:break-word; }
    #central-sector-progress .cp-legend button[aria-pressed="false"] { opacity:.5; }
    #central-sector-progress .cp-legend button[aria-pressed="false"] .cp-legend-label { text-decoration:line-through; }
    @media screen and (max-width:640px) { #central-sector-progress .cp-legend { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 16px; padding-bottom:12px; } }
    @media screen and (max-width:359px) { #central-sector-progress[lang=en] .cp-legend { grid-template-columns:minmax(0,1fr); } }
    #central-sector-progress .cp-swatch { width:16px; height:3px; flex-shrink:0; margin:0; background:var(--cp-blue); }
    #central-sector-progress .cp-swatch.plan-bar { width:10px; height:12px; background:var(--cp-plan-bar); }
    #central-sector-progress .cp-swatch.actual-bar { width:10px; height:12px; background:var(--cp-green); }
    #central-sector-progress .cp-swatch.actual-line { background:var(--cp-actual-line); }
    #central-sector-progress .cp-chart { position:relative; direction:ltr; width:100%; }
    #central-sector-progress .cp-chart svg { display:block; width:100%; touch-action:pan-y pinch-zoom; user-select:none; -webkit-user-select:none; }
    #central-sector-progress .cp-chart text { font-family:inherit; font-size:.75rem; fill:var(--cp-muted); }
    #central-sector-progress .cp-chart .domain { stroke:var(--cp-edge); }
    #central-sector-progress .cp-chart .tick line { stroke:var(--cp-edge); }
    #central-sector-progress .cp-tooltip { text-align:start; position:absolute; pointer-events:none; z-index:2; width:280px; max-width:calc(100% - 16px); background:var(--cp-surface); border:1px solid var(--cp-edge); padding:10px 12px; border-radius:8px; font-size:.875rem; direction:inherit; color:var(--cp-ink); box-shadow:0 4px 14px #173e2e12; }
    #central-sector-progress .cp-tooltip-month { font-weight:700; margin-bottom:6px; }
    #central-sector-progress .cp-tooltip-row { display:flex; justify-content:space-between; align-items:baseline; gap:8px; padding:3px 0; }
    #central-sector-progress .cp-tooltip-row b { font-variant-numeric:tabular-nums; white-space:nowrap; }
    #central-sector-progress .cp-scrubber { max-width:560px; margin:0 auto 12px; min-width:0; }
    #central-sector-progress .cp-scrubber label { justify-content:space-between; gap:4px 12px; }
    #central-sector-progress #cp-range-month { color:var(--cp-ink); font-weight:500; }
    #central-sector-progress #cp-month-range { --cp-thumb-size:22px; appearance:none; -webkit-appearance:none; display:block; width:100%; height:44px; margin:0; padding:0; border:0; background:transparent; accent-color:var(--cp-green); cursor:ew-resize; touch-action:pan-y pinch-zoom; direction:ltr; }
    #central-sector-progress #cp-month-range::-webkit-slider-runnable-track { height:4px; border-radius:4px; background:linear-gradient(to right,var(--cp-green) var(--cp-range-progress),var(--cp-edge) var(--cp-range-progress)); }
    #central-sector-progress #cp-month-range::-moz-range-track { height:4px; border-radius:4px; background:linear-gradient(to right,var(--cp-green) var(--cp-range-progress),var(--cp-edge) var(--cp-range-progress)); }
    #central-sector-progress #cp-month-range::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width:var(--cp-thumb-size); height:var(--cp-thumb-size); margin-top:calc((4px - var(--cp-thumb-size))/2); border:3px solid var(--cp-surface); border-radius:50%; background:var(--cp-green); box-shadow:0 0 0 1px var(--cp-green); }
    #central-sector-progress #cp-month-range::-moz-range-thumb { box-sizing:border-box; width:var(--cp-thumb-size); height:var(--cp-thumb-size); border:3px solid var(--cp-surface); border-radius:50%; background:var(--cp-green); box-shadow:0 0 0 1px var(--cp-green); }
    @media (pointer:coarse) { #central-sector-progress #cp-month-range { --cp-thumb-size:24px; } }
    #central-sector-progress #cp-month-range:focus-visible { outline:2px solid var(--cp-green); outline-offset:2px; border-radius:6px; }
    @media screen and (max-width:640px) { #central-sector-progress .cp-tooltip { position:static; width:100%; max-width:100%; margin:8px 0 12px; box-shadow:none; } #central-sector-progress .cp-scrubber { margin-bottom:8px; } }
    @media (prefers-reduced-motion:no-preference) { #central-sector-progress .cp-fill { transition:width .15s ease-out; } }
    #central-sector-progress .cp-table-head { display:flex; justify-content:space-between; align-items:baseline; gap:6px 16px; flex-wrap:wrap; margin:0 0 10px; padding-top:16px; border-top:1px solid var(--cp-edge); }
    #central-sector-progress .cp-table-head h3 { margin:0; font-size:.875rem; font-weight:500; }
    #central-sector-progress .cp-table-wrap { overflow-x:auto; max-width:100%; overscroll-behavior-inline:contain; touch-action:pan-x pan-y; }
    #central-sector-progress .cp-quantities { min-width:580px; table-layout:fixed; }
    #central-sector-progress .cp-quantities th { line-height:1.65; vertical-align:top; white-space:normal; overflow-wrap:break-word; }
    #central-sector-progress .cp-quantities th:first-child { width:22%; }
    #central-sector-progress .cp-quantities .cp-table-unit { display:block; font-size:.75rem; white-space:nowrap; }
    #central-sector-progress .cp-quantities tr[aria-current="true"] td { background:var(--cp-soft); }
    #central-sector-progress .cp-quantities td:first-child { font-weight:500; }
    #central-sector-progress .cp-quantities .cp-missing { color:var(--cp-muted); font-size:.75rem; }
    #central-sector-progress table { width:100%; border-collapse:collapse; font-size:.875rem; font-variant-numeric:tabular-nums; }
    #central-sector-progress th { color:var(--cp-muted); font-weight:400; padding:11px 8px; text-align:right; background:var(--cp-soft); }
    #central-sector-progress td { padding:12px 8px; border-bottom:1px solid var(--cp-edge); white-space:nowrap; }
    #central-sector-progress [hidden] { display:none!important; }
    @media(max-width:760px) { #central-sector-progress .cp-metric { grid-template-columns:1fr; align-items:start; row-gap:2px; padding:0 12px; } #central-sector-progress .cp-label { min-height:42px; } #central-sector-progress .cp-unit { min-height:40px; } #central-sector-progress .cp-value { font-size:1.4375rem; } }
    @media(max-width:520px) { #central-sector-progress .cp-panel { padding:15px 12px; } #central-sector-progress .cp-head { align-items:flex-start; } #central-sector-progress .cp-metric { padding:0 9px; } #central-sector-progress .cp-label { font-size:.75rem; min-height:42px; } #central-sector-progress select { font-size:1rem; } }
    @media(pointer:coarse) { #central-sector-progress button, #central-sector-progress select { min-height:44px; } }
  
#central-sector-progress{margin-bottom:24px;min-width:0}
#central-sector-progress .cp-value{text-align:start}
#central-sector-progress[dir=rtl] .cp-value{text-align:right}
#central-sector-progress[dir=ltr] th{text-align:left}
#central-sector-progress .cp-quantities td{white-space:normal}
#central-sector-progress .cp-cell-value{white-space:nowrap}
#central-sector-progress .cp-label,#central-sector-progress .cp-chart-title,#central-sector-progress .cp-table-head h3{font-size:.875rem}
#central-sector-progress .cp-quantity-scroll{scrollbar-color:#b8cbc0 transparent;scrollbar-width:thin}
#central-sector-progress .cp-print-month{display:none}
#central-sector-progress .cp-cell-value{font-family:Arial,sans-serif;font-variant-numeric:tabular-nums;display:inline-block}
#central-sector-progress .cp-quantities td:not(:first-child){text-align:center}
#central-sector-progress .cp-quantities th:not(:first-child){text-align:center}
#central-sector-progress .cp-quantities .cp-missing{font-family:inherit}
@media screen and (max-width:600px){
  #central-sector-progress .cp-metrics{grid-template-columns:minmax(0,1fr);margin-top:12px}
  #central-sector-progress .cp-metric{grid-template-columns:minmax(0,1fr) auto;padding:10px 0;border-inline-end:0;border-bottom:1px solid var(--cp-edge);gap:2px 12px}
  #central-sector-progress .cp-metric:last-child{border:0}
  #central-sector-progress .cp-label,#central-sector-progress .cp-unit{min-height:0}
  #central-sector-progress .cp-unit{margin-top:0}
  #central-sector-progress .cp-head label{width:100%;justify-content:space-between}
}

/* On phones, keep every month and its four quantities readable without panning. */
#central-sector-progress .cp-cell-label{display:none}
#central-sector-progress[dir=rtl] .cp-tooltip{direction:rtl}
#central-sector-progress[dir=ltr] .cp-tooltip{direction:ltr}
@media screen and (max-width:640px){
  #central-sector-progress .cp-table-wrap{overflow:visible}
  #central-sector-progress .cp-quantities{display:block;min-width:0;width:100%;white-space:normal}
  #central-sector-progress .cp-quantities thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  #central-sector-progress .cp-quantities tbody{display:grid;gap:12px}
  #central-sector-progress .cp-quantities tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--cp-edge);border-radius:8px;padding:0 12px 10px;min-width:0}
  #central-sector-progress .cp-quantities td{display:block;min-width:0;border:0;padding:10px 4px 4px;white-space:normal;background:transparent!important;text-align:start!important}
  #central-sector-progress .cp-quantities td:first-child{grid-column:1/-1;padding:10px 4px;border-bottom:1px solid var(--cp-edge);font-weight:700;color:var(--cp-ink)}
  #central-sector-progress .cp-cell-label{display:block;color:var(--cp-muted);font-family:inherit;font-size:.8125rem;line-height:1.65;overflow-wrap:break-word}
  #central-sector-progress .cp-cell-label>span{display:block}
  #central-sector-progress .cp-cell-value{margin-top:3px;font-size:1rem;color:var(--cp-ink);font-weight:500}
  #central-sector-progress .cp-quantities tr[aria-current="true"]{border-color:#a1b9ad}
}

/* Readable text shades preserve each series' identity without changing marks. */
#central-sector-progress{--cp-plan-month-text:#526f90;--cp-plan-total-text:#17739f}
#central-sector-progress [data-value-series="p"]{--cp-series-text:var(--cp-plan-month-text)}
#central-sector-progress [data-value-series="a"]{--cp-series-text:var(--cp-green)}
#central-sector-progress [data-value-series="pc"]{--cp-series-text:var(--cp-plan-total-text)}
#central-sector-progress [data-value-series="ac"]{--cp-series-text:var(--cp-actual-line)}
#central-sector-progress .cp-series-value{color:var(--cp-series-text,var(--cp-muted));font-weight:600}
#central-sector-progress .cp-series-value[data-value-series=""]{font-weight:400}
#central-sector-progress .cp-tooltip-comparison{display:grid;gap:3px;border-top:1px solid var(--cp-edge);margin-top:7px;padding-top:7px;font-size:.875rem;color:var(--cp-muted)}
#central-sector-progress .cp-tooltip-comparison>span:last-child{color:var(--cp-ink)}
#central-sector-progress .cp-tooltip-comparison bdi{font-weight:700;font-variant-numeric:tabular-nums}
#central-sector-progress .cp-tooltip-comparison[data-direction="below"]>span:last-child{color:var(--cp-orange)}
#central-sector-progress .cp-tooltip-comparison[data-direction="above"]>span:last-child,#central-sector-progress .cp-tooltip-comparison[data-direction="equal"]>span:last-child{color:var(--cp-green)}
#central-sector-progress .cp-tooltip-comparison[data-direction="unavailable"]>span:last-child{color:var(--cp-muted)}
