/* Business controls share object-panel/material tokens across all appearances. */
.business-config, .business-statistics, .business-fare-pane, .business-fare-tabs {
  --business-text: var(--cr-object-text, var(--ui-text, #1d1d1f));
  --business-muted: var(--cr-object-muted, var(--ui-muted, #777));
  --business-border: var(--cr-object-border, var(--material-button-border, #d5d8dd));
  --business-fill: var(--cr-object-card-soft, var(--material-button-fill, #eef0f3));
  color: var(--business-text);
  min-width: 0;
}
.business-config { border-top: 1px solid var(--business-border); }
.business-config [hidden], .business-statistics [hidden], .business-fare-pane[hidden],
#cct-fare-policy-card [data-fare-pane][hidden], #cct-fare-line-editor[hidden],
.business-waiting-split[hidden], .business-train-class[hidden] { display: none; }
.business-switch {
  position: relative;
  display: block;
  width: 44px;
  height: 27px;
  padding: 3px;
  box-sizing: border-box;
  border-radius: 20px;
  background: #34c759;
  cursor: pointer;
  flex: 0 0 auto;
}
.business-switch input[type=checkbox] { position: absolute; inset: 0; margin: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
.business-switch span { display: block; width: 21px; height: 21px; border-radius: 50%; background: white; transform: translateX(17px); box-shadow: 0 1px 3px #0002; pointer-events: none; }
.business-switch:has(input:not(:checked)) { background: #8b9099; }
.business-switch:has(input:not(:checked)) span { transform: translateX(0); }
.business-switch:has(input:disabled) { opacity: .45; cursor: default; }
.business-switch:has(input:focus-visible), .business-button:focus-visible { outline: 2px solid var(--ui-focus, #0867c7); outline-offset: 3px; }
.business-stepper { display: flex; max-width: 100%; width: 176px; border: 1px solid var(--business-border); border-radius: 10px; overflow: hidden; }
.business-stepper .business-button { flex: 0 0 44px; height: 40px; border: 0; background: var(--business-fill); color: inherit; font-size: 20px; }
.business-stepper input { width: 70px; min-width: 0; border: 0; padding: 0; text-align: center; background: transparent; color: inherit; font: inherit; font-weight: 600; appearance: textfield; }
.business-stepper input::-webkit-inner-spin-button { appearance: none; }
.business-segment { display: flex; gap: 3px; padding: 3px; border: 1px solid var(--business-border); border-radius: 10px; background: var(--business-fill); min-width: 0; }
.business-segment .business-button { min-height: 32px; flex: 1; padding: 6px 10px; border: 0; border-radius: 7px; background: transparent; color: var(--business-text); font-size: 12px; white-space: nowrap; }
.business-segment .business-button[aria-pressed=true] { background: #0867c7; color: white; box-shadow: 0 1px 3px #0001; }
.business-button { font-family: inherit; cursor: pointer; touch-action: manipulation; }
.business-button:disabled { opacity: .4; cursor: default; }
.business-button:active:not(:disabled) { opacity: .75; }
.business-capacity { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 14px 0 6px; }
.business-capacity div, .business-summary > div { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.business-capacity span, .business-note, .business-summary span { color: var(--business-muted); font-size: 11px; }
.business-capacity strong { font-size: 20px; font-variant-numeric: tabular-nums; }
.business-note { margin: 8px 0; line-height: 1.5; }
.business-fare-tabs { margin: 20px 0 24px; }
.business-form-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--business-border); font-size: 13px; }
.business-form-row input { box-sizing: border-box; width: 92px; min-width: 0; height: 36px; padding: 6px 10px; border: 1px solid var(--business-border); border-radius: 8px; background: var(--business-fill); color: inherit; font: inherit; }
.business-fare-preview, .business-stats-table { margin-top: 18px; }
.business-fare-preview > div, .business-stats-table > div { display: grid; grid-template-columns: 1.1fr 1fr 1fr; gap: 8px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--business-border); font-size: 12px; }
.business-fare-preview > div > :nth-child(n+2), .business-stats-table > div > :nth-child(n+2) { text-align: right; min-width: 0; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.business-fare-preview > .business-table-head, .business-stats-table > .business-table-head { font-size: 11px; color: var(--business-muted); }
.business-waiting-split { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 0 0 14px; border-bottom: 1px solid var(--cr-object-border); }
.business-waiting-split > div { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; font-size: 11px; color: var(--cr-object-muted); }
.business-waiting-split strong { font-size: 15px; color: var(--cr-object-text); font-variant-numeric: tabular-nums; }
.business-load-heading { display: flex; justify-content: space-between; gap: 8px; margin: 12px 0 7px; font-size: 12px; }
.business-load-heading strong { font-size: 12px; font-variant-numeric: tabular-nums; }
.business-load-track { height: 6px; border-radius: 4px; overflow: hidden; background: var(--business-fill, var(--ui-surface-2, #7a808333)); }
.business-load-track span { display: block; height: 100%; background: #0867c7; border-radius: inherit; }
.business-load-track.business span { background: #a57b47; }
.business-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.business-summary strong { font-size: 22px; font-variant-numeric: tabular-nums; letter-spacing: -.4px; overflow-wrap: anywhere; }
.business-section-row { display: flex; justify-content: space-between; align-items: center; margin: 20px 0 14px; gap: 10px; font-size: 12px; font-weight: 600; }
.business-chart-key { display: flex; gap: 16px; margin-bottom: 16px; font-size: 11px; color: var(--business-muted); }
.business-chart-key span { display: flex; align-items: center; gap: 6px; }
.business-chart-key i { width: 7px; height: 7px; border-radius: 50%; background: #0867c7; }
.business-chart-key i.business { background: #a57b47; }
.business-intervals > div { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto; align-items: center; gap: 8px; margin: 16px 0; font-size: 11px; }
.business-intervals > div > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.business-interval-bars { display: flex; flex-direction: column; gap: 5px; }
.business-intervals small { text-align: right; color: var(--business-muted); font-size: 10px; font-variant-numeric: tabular-nums; }
@media (max-width:600px) {
  .business-form-row { flex-wrap: wrap; gap: 10px; }
  .business-capacity strong { font-size: 18px; }
  .business-summary strong { font-size: 20px; }
}
