/* Local Oil workbench preview; original business controllers and data contracts retained. */
:root[data-timeline-theme] { --row-h: 54px; }
:root[data-timeline-theme] body.timeline-oil.timeline-oil .app { padding: 0 22px 18px; }
.timeline-site-header { min-height: 48px; gap: 26px; flex-wrap: nowrap; padding-top: 0; }
.timeline-brand { font-size: 18px; }
.timeline-site-nav { order: initial; width: auto; gap: 23px; }
:root[data-timeline-theme] body.timeline-oil.timeline-oil .timeline-theme-segment { min-height: 38px; padding: 2px; }
:root[data-timeline-theme] body.timeline-oil.timeline-oil .timeline-theme-choice { min-height: 32px; padding: 3px 8px; }
.timeline-heading { display: grid; grid-template-columns: minmax(0, auto) minmax(0, 1fr) auto; gap: 18px; padding: 6px 0; }
.timeline-heading h1 { font-size: 20px; line-height: 1.35; }
.timeline-heading > div { grid-column: 1; grid-row: 1; }
:root[data-timeline-theme] body.timeline-oil.timeline-oil .timeline-heading .nav { grid-column: 2; grid-row: 1; justify-self: center; }
:root[data-timeline-theme] body.timeline-oil.timeline-oil #addEvtBtn { grid-column: 3; grid-row: 1; }
:root[data-timeline-theme] body.timeline-oil.timeline-oil #rangeLabel { min-width: 206px; padding-inline: 6px; }
.timeline-viewport { height: calc(100dvh - 168px); max-height: none; min-height: 270px; }
:root[data-timeline-theme] body.timeline-oil.timeline-oil :is(.th-label, .th-day) { height: 60px; }
:root[data-timeline-theme] body.timeline-oil.timeline-oil .th-day { padding: 18px 2px 4px; }
:root[data-timeline-theme] body.timeline-oil.timeline-oil .dn { line-height: 1.2; }
:root[data-timeline-theme] body.timeline-oil.timeline-oil .dw { display: inline; margin-top: 0; }
:root[data-timeline-theme] body.timeline-oil.timeline-oil .market-closed { display: inline; margin: 0 0 0 3px; }
:root[data-timeline-theme] body.timeline-oil.timeline-oil .dm { position: absolute; top: 1px; left: 4px; margin: 0; }
:root[data-timeline-theme] body.timeline-oil.timeline-oil .td-label { padding-block: 4px; }
:root[data-timeline-theme] body.timeline-oil.timeline-oil .stock-label-wrap { min-height: calc(var(--row-h) - 8px); }
:root[data-timeline-theme] body.timeline-oil.timeline-oil .cell-inner { padding: 2px 1px; }
:root[data-timeline-theme] body.timeline-oil.timeline-oil .event-cell-grid { margin: 1px 3px; height: calc(100% - 2px); gap: 3px; }
:root[data-timeline-theme] body.timeline-oil.timeline-oil .cell-event { flex-direction: row; min-height: 40px; padding: 2px; gap: 3px; }
:root[data-timeline-theme] body.timeline-oil.timeline-oil .cell-event-icon { min-width: 18px; height: 20px; padding: 0 2px; }
:root[data-timeline-theme] body.timeline-oil.timeline-oil .cell-event-label { min-width: 0; width: auto; text-align: left; flex: 1; }
:root[data-timeline-theme] body.timeline-oil.timeline-oil :is(.event-count-2, .event-count-3, .event-count-4) .cell-event { min-height: 26px; }
:root[data-timeline-theme] body.timeline-oil.timeline-oil .td-cell:has(.event-count-3, .event-count-4) .cell-inner { min-height: 64px; }
:root[data-timeline-theme] body.timeline-oil.timeline-oil .range-bar { height: 20px; }
.timeline-footer { padding-top: 4px; gap: 4px 16px; }
.timeline-footer .switch-control { margin-left: auto; }
.timeline-tools { margin-left: 0; }
:root[data-timeline-theme] body.timeline-oil.timeline-oil .legend { margin: 2px 0 0; padding: 4px 0; }

@media (max-width: 1000px) {
  :root[data-timeline-theme] body.timeline-oil.timeline-oil .app { padding-inline: 16px; }
  .timeline-site-header { gap: 18px; }
  .timeline-site-nav { gap: 20px; }
  .timeline-heading { gap: 10px; }
  .timeline-heading h1 { font-size: 18px; }
  :root[data-timeline-theme] body.timeline-oil.timeline-oil #rangeLabel { min-width: 194px; }
}

@media (max-width: 760px) {
  :root[data-timeline-theme] { --row-h: 78px; }
  :root[data-timeline-theme] body.timeline-oil.timeline-oil .app { padding-inline: 12px; }
  .timeline-site-header { flex-wrap: wrap; gap: 0 10px; min-height: 88px; }
  .timeline-site-nav { order: 3; width: 100%; min-height: 44px; gap: 23px; }
  .timeline-heading { grid-template-columns: minmax(0, 1fr) auto; gap: 4px 8px; padding: 4px 0 6px; }
  .timeline-heading h1 { font-size: 20px; }
  .timeline-heading > div { grid-column: 1; grid-row: 1; }
  :root[data-timeline-theme] body.timeline-oil.timeline-oil #addEvtBtn { grid-column: 2; grid-row: 1; }
  :root[data-timeline-theme] body.timeline-oil.timeline-oil .timeline-heading .nav { grid-column: 1 / -1; grid-row: 2; width: 100%; justify-self: stretch; }
  :root[data-timeline-theme] body.timeline-oil.timeline-oil #rangeLabel { min-width: 0; padding-inline: 2px; }
  .timeline-viewport { height: calc(100dvh - 220px); min-height: 280px; max-height: none; }
  :root[data-timeline-theme] body.timeline-oil.timeline-oil :is(.th-label, .th-day) { height: 64px; }
  :root[data-timeline-theme] body.timeline-oil.timeline-oil .th-day { padding-top: 18px; }
  :root[data-timeline-theme] body.timeline-oil.timeline-oil .cell-event { min-height: 44px; padding: 3px; gap: 5px; }
  :root[data-timeline-theme] body.timeline-oil.timeline-oil .cell-event-icon { min-width: 24px; height: 26px; padding-inline: 3px; }
  :root[data-timeline-theme] body.timeline-oil.timeline-oil :is(.event-count-2, .event-count-3, .event-count-4) .cell-event { min-height: 44px; }
  :root[data-timeline-theme] body.timeline-oil.timeline-oil .td-cell:has(.event-count-3, .event-count-4) .cell-inner { min-height: 104px; }
  .timeline-footer { gap: 2px 12px; }
  .timeline-footer .switch-control { margin-left: 0; }
  .timeline-tools { margin-left: auto; }
}
