/* Interactive analytical surfaces for the index.html report. */
.interactive-hero{grid-template-columns:minmax(0,1.6fr) minmax(310px,1fr)}
.analytics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:20px}
.interactive-chart{padding:0 22px 24px;min-height:245px}
.pie-layout{display:flex;flex-direction:column;align-items:center;gap:10px}
.pie-svg{display:block;max-width:220px;width:100%;height:auto;overflow:visible}
.chart-mark{cursor:pointer;stroke:var(--surface);stroke-width:2;transition:opacity 120ms ease-out}
.chart-mark:hover{opacity:.75}
.chart-mark:focus-visible{outline:none;stroke:var(--ink);stroke-width:3;opacity:.85}
.donut-value{font:600 27px 'DM Sans',sans-serif;fill:var(--ink);letter-spacing:-1px;pointer-events:none}
.donut-label{font:600 9px 'DM Sans',sans-serif;letter-spacing:1.3px;fill:var(--muted);pointer-events:none}
.chart-legend{width:100%;display:grid;gap:2px;max-height:260px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}
.chart-legend-item{display:grid;grid-template-columns:9px minmax(0,1fr) auto 48px;gap:9px;align-items:center;width:100%;padding:8px;border:0;background:transparent;border-radius:5px;color:var(--ink);min-height:40px;text-align:left;font-size:12px}
.chart-legend-item:hover:not(:disabled){background:var(--hover)}
.chart-legend-item.is-hidden,.chart-toggle-chip.is-hidden,.chart-series-toggle.is-hidden{color:var(--muted);opacity:.65}
.chart-legend-item.is-hidden span,.chart-legend-item.is-hidden strong,.chart-toggle-chip.is-hidden,.chart-series-toggle.is-hidden{text-decoration:line-through}
.chart-interaction-note{font-size:10px;line-height:1.6;color:var(--muted);padding-top:12px;margin:0;width:100%}
.chart-toggle-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.chart-toggle-chip{display:inline-flex;align-items:center;gap:7px;background:var(--surface-raised);border:1px solid transparent;border-radius:5px;padding:7px 9px;min-height:40px;font-size:10px;color:var(--ink)}
.chart-toggle-chip:hover{background:var(--hover)}
.chart-toggle-chip i{width:8px;height:8px;border-radius:2px}
.chart-toggle-chip[aria-pressed=true]{border-color:var(--line-strong)}
.chart-series-toggle{display:inline-flex;align-items:center;gap:5px;background:transparent;border:0;border-radius:5px;padding:6px;min-height:40px;color:inherit;font:inherit}
.chart-series-toggle:hover{background:var(--surface-raised)}
.chart-series-toggle i{margin:0}
.horizontal-plot{display:flex;flex-direction:column;gap:8px}
.hidden-chart-empty{width:44%;min-width:120px;max-width:220px;min-height:220px;flex-shrink:0}.chart-legend{min-width:0}
.chart-legend-item:disabled{opacity:.65;cursor:default}
.chart-legend-item i{height:9px;width:9px;border-radius:2px}
.chart-legend-item span{text-transform:capitalize;overflow-wrap:anywhere}
.chart-legend-item strong{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.chart-legend-item small{font-size:11px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.chart-hint{font-size:8px;letter-spacing:1px;color:var(--muted);flex-shrink:0;padding-top:4px}
.chart-empty{min-height:200px;display:grid;place-items:center;text-align:center;font-size:13px;color:var(--muted);line-height:1.8;padding:30px 20px;background:var(--surface-raised);border-radius:7px}
.trend-chart{height:240px;margin-bottom:24px}
.trend-chart .activity-svg{overflow:visible}
.activity-svg text{font:11px 'DM Sans',sans-serif;fill:var(--muted)}
.activity-svg .chart-mark{stroke-width:0}
.activity-svg .chart-mark:focus-visible{stroke:var(--ink);stroke-width:1}
.horizontal-chart{display:flex;flex-direction:column;gap:8px;justify-content:center;padding-bottom:28px}
.chart-bar-button{display:grid;grid-template-columns:minmax(75px,1fr) minmax(45px,1.1fr) 50px;gap:12px;align-items:center;border:0;border-radius:6px;background:transparent;padding:10px 5px;min-height:44px;width:100%;text-align:left;color:var(--ink);font-size:12px}
.chart-bar-button:hover{background:var(--surface-raised)}
.chart-bar-button>span:first-child{overflow-wrap:anywhere}
.chart-bar-track{height:10px;display:block;border-radius:3px;background:var(--chart-track);overflow:hidden}
.chart-bar-track i{height:100%;display:block;border-radius:3px}
.chart-bar-button strong{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;font-size:11px;white-space:nowrap}
.billing-chart .chart-bar-button{grid-template-columns:minmax(70px,.7fr) minmax(60px,1fr) auto}
.coverage-panel{margin-bottom:24px}
.chart-filter-state{margin:0 24px 20px;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-radius:8px;background:var(--accent-soft);border:1px solid var(--accent-line)}
.chart-filter-state>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.chart-filter-state small{font-size:9px;letter-spacing:1.3px;color:var(--yellow)}
.chart-filter-state strong{font-size:14px;font-weight:600;overflow-wrap:anywhere}
.chart-filter-state span{font-size:11px;color:var(--muted);line-height:1.6}
.chart-tooltip{position:fixed;z-index:100;pointer-events:none;max-width:min(330px,calc(100vw - 16px));background:var(--tooltip-bg);color:var(--ink);font-size:12px;line-height:1.6;padding:10px 13px;border-radius:7px;box-shadow:0 5px 20px rgb(25 33 17 / 16%)}
#shipment-records{scroll-margin-top:20px}
#shipment-records-heading:focus,#exception-records-heading:focus{outline:none}
.interactive-hero .panel-heading{align-items:flex-start}
.interactive-hero .pie-layout{flex-direction:row;gap:10px;align-items:center}
.interactive-hero .pie-svg{max-width:190px;min-width:130px;width:50%}
.interactive-hero .chart-legend-item{grid-template-columns:9px minmax(0,1fr) auto;gap:7px;font-size:11px}
.interactive-hero .chart-legend-item small{grid-column:2/-1;text-align:left;margin-top:-5px}
.interactive-hero .interactive-chart{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:300px}
#exceptions-view .pie-layout{flex-direction:row;gap:20px;align-items:center}
#exceptions-view .pie-svg{width:46%;min-width:150px}
@media(min-width:1750px){.pie-layout{flex-direction:row}.analytics-grid .pie-svg{width:50%;min-width:140px}.analytics-grid .chart-legend-item{grid-template-columns:9px minmax(0,1fr) auto}.analytics-grid .chart-legend-item small{grid-column:2/-1;text-align:left}}
@media(max-width:1300px){.interactive-hero{grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr)}.interactive-hero .pie-layout{flex-direction:column}.interactive-hero .pie-svg{width:100%;max-width:180px}.interactive-hero .chart-legend-item{grid-template-columns:9px minmax(0,1fr) auto 48px}.interactive-hero .chart-legend-item small{grid-column:auto;margin:0;text-align:right}.interactive-hero .interactive-chart{min-height:300px}.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-grid>.panel:last-child{grid-column:1/-1}.analytics-grid .horizontal-chart{min-height:160px}.trend-chart{height:240px}.billing-chart .chart-bar-button{grid-template-columns:65px minmax(20px,1fr) auto}#exceptions-view .pie-layout{flex-direction:column}#exceptions-view .pie-svg{width:100%;max-width:190px}}
@media(max-width:1000px){.interactive-hero{grid-template-columns:minmax(0,1fr)}.interactive-hero .pie-layout{flex-direction:row}.interactive-hero .interactive-chart{min-height:230px}.interactive-hero .pie-svg{width:45%;max-width:220px}.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-hint{display:none}}
@media(max-width:760px){.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.interactive-chart{padding-inline:20px}.chart-legend-item{font-size:11px;min-height:44px}.chart-legend{max-height:310px}.chart-legend-item small{font-size:10px}.chart-bar-button{font-size:11px}.trend-chart{height:240px}}
@media(max-width:550px){.analytics-grid{grid-template-columns:minmax(0,1fr)}.analytics-grid>.panel:last-child{grid-column:auto}.pie-layout{flex-direction:row;gap:12px}.pie-svg{width:44%;min-width:120px}.chart-legend-item{grid-template-columns:8px minmax(0,1fr) auto;font-size:10px;padding:7px 4px;gap:7px}.chart-legend-item small{grid-column:2/-1;text-align:left;margin-top:-6px}.chart-legend-item strong{font-size:11px}.interactive-chart{min-height:210px;padding-inline:18px}.interactive-hero .chart-legend-item{grid-template-columns:8px minmax(0,1fr) auto}.interactive-hero .chart-legend-item small{grid-column:2/-1;margin-top:-6px;text-align:left}.interactive-hero .pie-svg{max-width:180px;min-width:120px}.interactive-hero .interactive-chart{min-height:200px}.chart-filter-state{margin-inline:18px;padding:14px;align-items:flex-start;flex-direction:column;gap:12px}.chart-filter-state button{width:100%}.trend-chart{height:200px}.chart-bar-button{grid-template-columns:95px minmax(45px,1fr) 55px;gap:9px}.billing-chart .chart-bar-button{grid-template-columns:55px minmax(30px,1fr) auto}#exceptions-view .pie-layout{flex-direction:row;gap:12px}#exceptions-view .pie-svg{width:44%;min-width:120px}.donut-value{font-size:26px}}
@media(prefers-reduced-motion:reduce){.chart-mark{transition:none}}
@media print{.chart-tooltip,.chart-filter-state{display:none!important}.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-grid>.panel:last-child{grid-column:1/-1}.pie-layout,.interactive-hero .pie-layout{flex-direction:column}.chart-legend{max-height:none;overflow:visible}.chart-legend-item{break-inside:avoid;min-height:28px}.chart-legend-item,.chart-bar-button{display:grid!important}.interactive-chart{min-height:0}.pie-svg{max-width:160px}.interactive-hero{grid-template-columns:1.3fr 1fr}.trend-chart{height:220px}}
