.business-chart { background:var(--surface); border:1px solid var(--outline); border-radius:18px; padding:18px; margin:18px 0; min-width:0; }
.business-chart-heading h3 { margin:0; font-size:15px; }
.business-chart-heading p, .business-chart-note { color:var(--muted); font-size:12px; line-height:1.5; margin:6px 0 0; }
.business-legend { display:flex; flex-wrap:wrap; gap:9px 15px; margin:16px 0; font-size:11px; }
.business-legend span, .business-status-list span { display:flex; align-items:center; gap:6px; }
.business-legend i, .business-status-list i { width:9px; height:9px; border-radius:3px; display:inline-block; flex-shrink:0; }
.business-plot { display:flex; gap:7px; min-width:0; }
.business-axis { width:38px; flex-shrink:0; height:155px; display:flex; flex-direction:column; justify-content:space-between; text-align:right; font-size:10px; color:var(--muted); }
.business-bars-scroll { min-width:0; flex:1; overflow-x:auto; }
.business-chart-canvas { position:relative; display:inline-block; min-width:100%; }
.business-bars { position:relative; z-index:1; display:grid; grid-template-columns:repeat(var(--day-count),minmax(32px,1fr)); gap:5px; min-width:100%; width:max-content; background:repeating-linear-gradient(to top,transparent 0,transparent 76px,#eadfd6 77px,#eadfd6 78px); }
.business-activity-lines { position:absolute; z-index:2; top:0; left:0; width:100%; height:155px; overflow:visible; pointer-events:none; }
.business-activity-lines path { fill:none; stroke:var(--activity-line); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; opacity:.76; filter:drop-shadow(0 1px 2px color-mix(in srgb,var(--activity-line) 35%,transparent)); stroke-dasharray:420; stroke-dashoffset:420; animation:businessLineDraw .9s cubic-bezier(.22,1,.36,1) forwards; animation-delay:var(--activity-delay); }
.business-day { border:0; background:none; padding:0; color:var(--ink-soft); font:inherit; min-width:0; cursor:pointer; }
.business-day[aria-pressed="true"] { background:var(--primary-container); border-radius:5px; }
.business-columns { height:155px; display:flex; justify-content:center; align-items:flex-end; gap:2px; }
.business-column-3d { position:relative; display:block; width:7px; max-width:24%; height:var(--column-height); min-height:3px; flex-shrink:0; transform:scaleY(0); transform-origin:center bottom; animation:businessColumnRise .55s cubic-bezier(.22,1,.36,1) forwards; animation-delay:var(--column-delay); }
.business-column-3d.is-zero { min-height:0; visibility:hidden; }
.business-column-3d>i { position:absolute; inset:0; display:block; border-radius:1px 1px 0 0; background:var(--column-color); box-shadow:inset 1px 0 rgba(255,255,255,.2),0 2px 4px rgba(45,25,31,.15); }
.business-column-3d>i::before { position:absolute; top:-3px; right:0; left:0; height:4px; border-radius:1px 1px 0 0; background:color-mix(in srgb,var(--column-color) 70%,white); content:""; transform:skewX(-34deg); transform-origin:left bottom; }
.business-column-3d>i::after { position:absolute; top:-2px; right:-3px; width:3px; height:calc(100% + 2px); background:color-mix(in srgb,var(--column-color) 72%,black); content:""; transform:skewY(-42deg); transform-origin:left top; }
@keyframes businessColumnRise { to { transform:scaleY(1); } }
@keyframes businessLineDraw { to { stroke-dashoffset:0; } }
.business-day-label { display:block; background:var(--surface); font-size:10px; padding-top:9px; }
.business-chart-detail { font-size:14px; font-weight:bold; line-height:1.6; color:var(--primary); margin:14px 0 14px; overflow-wrap:anywhere; text-align:center;}
.business-chart-empty { color:var(--muted); font-size:12px; }
.business-donut-layout { display:flex; align-items:center; gap:24px; margin-top:18px; }
.business-donut { flex-shrink:0; width:140px; height:140px; border-radius:50%; display:grid; place-items:center; }
.business-donut>div { width:100px; height:100px; border-radius:50%; background:var(--surface); display:flex; flex-direction:column; align-items:center; justify-content:center; }
.business-donut strong { font-size:25px; }
.business-donut span { font-size:12px; color:var(--muted); }
.business-status-list { flex:1; min-width:0; }
.business-status-list>div { display:flex; justify-content:space-between; gap:10px; font-size:12px; padding:9px 0; }
.business-status-list small { color:var(--muted); font-weight:400; }
.business-period { margin:0 0 16px; font-size:12px; color:var(--muted); line-height:1.5; }
@media(max-width:420px) {
  .business-chart { padding:14px; }
  .business-donut-layout { gap:14px; flex-direction:column; }
  .business-status-list { width:100%; }
  .business-bars { gap:3px; }
}

@media(prefers-reduced-motion:reduce) {
  .business-column-3d { animation:none; transform:none; }
  .business-activity-lines path { animation:none; stroke-dashoffset:0; }
}
