.sales-chart-panel { min-height:0; }
#dashboardView .sales-chart-panel { min-height:0 !important; padding-top:14px; padding-bottom:12px; }
#dashboardView .sales-chart-panel .panel-title { margin-bottom:4px; }
.sales-chart-controls { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.sales-chart-controls label { display:grid; gap:4px; color:var(--muted); font-size:12px; font-weight:800; }
.sales-chart-controls select { min-height:40px; padding:0 34px 0 11px; border:1px solid var(--border); border-radius:10px; background:#fff; color:var(--text); }
.sales-line-chart { position:relative; width:100%; min-width:0; }
.sales-line-chart svg { display:block; width:100%; overflow:visible; touch-action:pan-y; }
#dashboardView .sales-line-chart svg { height:205px; }
.details-chart-section .sales-line-chart svg { height:330px; }
.sales-chart-grid { stroke:#dbe4ea; stroke-width:1; }
.sales-chart-axis { fill:#64748b; font-size:12px; }
.sales-chart-line { fill:none; stroke:#176c52; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
.sales-chart-point { fill:#fff; stroke:#176c52; stroke-width:3; cursor:pointer; }
.sales-chart-point:hover,.sales-chart-point:focus { fill:#176c52; outline:none; stroke-width:5; }
.sales-chart-point--small { stroke-width:2; }
.sales-chart-hit-target { fill:transparent; cursor:crosshair; }
.sales-chart-hit-target:focus { outline:none; }
.sales-chart-active-point { fill:#176c52; stroke:#fff; stroke-width:2; pointer-events:none; }
.sales-chart-caption { margin:0; text-align:right; color:var(--muted); font-size:13px; }
.sales-chart-tooltip { position:absolute; z-index:2; transform:translate(-50%,-100%); max-width:210px; padding:8px 10px; border-radius:9px; background:#0f172a; color:#fff; box-shadow:0 8px 22px rgba(15,23,42,.22); white-space:pre-line; text-align:center; font-size:12px; line-height:1.4; pointer-events:none; }
.details-chart-section { margin:0 0 18px; padding:18px; border:1px solid var(--border); border-radius:16px; background:#fff; }
.details-chart-section[hidden] { display:none !important; }
.details-chart-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:8px; }
.details-chart-header h2 { margin:3px 0 0; font-size:20px; }
.sales-chart-control[hidden] { display:none !important; }
.sales-horizontal-chart { display:grid; gap:6px; }
.sales-ranking-bar { display:grid; grid-template-columns:minmax(180px,260px) minmax(100px,1fr) minmax(105px,auto); gap:12px; align-items:center; width:100%; min-height:42px; padding:6px 9px; border:1px solid transparent; border-radius:10px; background:transparent; color:var(--text); text-align:left; text-decoration:none; cursor:pointer; }
.sales-ranking-bar:hover,.sales-ranking-bar:focus-visible { border-color:#b9d8cc; background:#f1f8f5; outline:none; }
.sales-ranking-name { min-width:0; font-size:13px; font-weight:800; line-height:1.25; overflow-wrap:anywhere; }
.sales-ranking-track { position:relative; display:block; height:14px; overflow:hidden; border-radius:999px; background:#e5ecef; }
.sales-ranking-fill { display:block; height:100%; min-width:2px; border-radius:inherit; background:#176c52; }
.sales-ranking-value { white-space:nowrap; text-align:right; font-size:13px; }
.comparison-dual-chart { position:relative; width:100%; min-width:0; }
.comparison-dual-chart svg { display:block; width:100%; height:360px; overflow:visible; touch-action:pan-y; }
.comparison-chart-line { fill:none; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
.comparison-chart-line--a { stroke:#176c52; }
.comparison-chart-line--b { stroke:#64748b; stroke-dasharray:8 6; }
.comparison-chart-point { stroke-width:2.5; cursor:pointer; }
.comparison-chart-point--a { fill:#fff; stroke:#176c52; }
.comparison-chart-point--b { fill:#fff; stroke:#64748b; }
.comparison-delta-chart { display:grid; gap:7px; min-width:0; }
.comparison-delta-row { display:grid; grid-template-columns:minmax(120px,210px) minmax(80px,1fr) minmax(105px,auto); gap:10px; align-items:center; padding:7px; border:1px solid transparent; border-radius:10px; color:var(--text); text-decoration:none; }
.comparison-delta-row:hover,.comparison-delta-row:focus-visible { border-color:#b9d8cc; background:#f1f8f5; outline:none; }
.comparison-delta-name { min-width:0; overflow-wrap:anywhere; font-size:13px; font-weight:800; }
.comparison-delta-track { display:block; height:14px; overflow:hidden; border-radius:999px; background:#e5ecef; }
.comparison-delta-track i { display:block; height:100%; border-radius:inherit; }
.comparison-delta-track .positive { background:#16835f; }
.comparison-delta-track .negative { background:#c2413b; }
.comparison-delta-row > strong { text-align:right; white-space:nowrap; font-size:12px; }
.comparison-delta-row > strong small { display:block; color:var(--muted); }
.comparison-pair-chart { display:grid; gap:12px; }
.comparison-pair-row { display:grid; gap:5px; }
.comparison-pair-row > strong { font-size:13px; }
.comparison-pair-bar { position:relative; display:grid; grid-template-columns:minmax(70px,1fr) auto; gap:8px; align-items:center; min-height:21px; }
.comparison-pair-bar::before { content:""; position:absolute; inset:3px 0 3px 0; z-index:0; border-radius:999px; background:#edf1f3; }
.comparison-pair-bar i { position:relative; z-index:1; display:block; min-width:2px; height:14px; border-radius:999px; }
.comparison-pair-bar i.period-a { background:#176c52; }
.comparison-pair-bar i.period-b { background:#64748b; }
.comparison-pair-bar em { position:relative; z-index:1; min-width:105px; padding-left:5px; background:#fff; color:var(--muted); font-size:11px; font-style:normal; text-align:right; }
body.ui-compact .details-chart-section { padding:12px; }
body.ui-compact .sales-chart-controls select { min-height:34px; }
body.ui-compact #dashboardView .sales-line-chart svg { height:185px; }
body.ui-compact .details-chart-section .sales-line-chart svg { height:300px; }
@media(max-width:700px) {
  .sales-chart-controls,.details-chart-header { align-items:stretch; }
  .details-chart-header { flex-direction:column; }
  .sales-chart-controls label { flex:1 1 130px; }
  .sales-chart-controls select { width:100%; }
  #dashboardView .sales-chart-panel { padding-top:12px; padding-bottom:10px; }
  #dashboardView .sales-line-chart svg { height:245px; }
  .details-chart-section .sales-line-chart svg { height:300px; }
  .sales-ranking-bar { grid-template-columns:minmax(0,1fr) auto; gap:5px 9px; padding:7px 5px; }
  .sales-ranking-name { grid-column:1 / -1; }
  .sales-ranking-track { min-width:0; }
  .sales-ranking-value { font-size:12px; }
  .comparison-dual-chart svg { height:300px; }
  .comparison-delta-row { grid-template-columns:minmax(0,1fr) auto; gap:5px 8px; }
  .comparison-delta-name { grid-column:1 / -1; }
}
