/* Day by venue card (Venues tab, web app) */
.dv-card { margin-bottom: var(--cds-gap-md); }
.dv-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--cds-gap-sm); }
.dv-head h3 { margin: 0; }
@media (min-width: 481px) { .dv-head { padding-right: 52px; } } /* room for the card's (i) and ⋯ in the corner */
.dv-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.dv-controls .dv-step { min-width: 34px; font-size: 1.1em; line-height: 1; padding-left: 8px; padding-right: 8px; }
.dv-controls .dv-date, .dv-controls .dv-venue { font: inherit; padding: 5px 8px; border: 1px solid var(--color-border-line); border-radius: 8px; background: var(--color-panel); color: var(--color-fg); min-height: 34px; }
.dv-top { display: grid; grid-template-columns: minmax(180px, 1.3fr) repeat(4, minmax(120px, 1fr)); gap: var(--cds-gap-sm); margin: var(--cds-gap-sm) 0 var(--cds-gap-md); }
.dv-hero, .dv-tile { border: 1px solid var(--color-border-line); border-radius: 12px; padding: 10px 12px; background: var(--color-panel); min-width: 0; }
.dv-hero .rr-label, .dv-tile .rr-label { font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-fg-muted); }
.dv-tile .rr-big { font-size: 22px; font-weight: 900; font-variant-numeric: tabular-nums; margin: 4px 0 2px; overflow-wrap: anywhere; }
.dv-tile .rr-sub, .dv-hero .rr-sub { font-size: 12px; color: var(--color-fg-muted); }
.dv-pct { font-size: 34px; font-weight: 900; font-variant-numeric: tabular-nums; line-height: 1.1; margin: 2px 0 6px; }
.dv-bar { position: relative; display: flex; height: 8px; border-radius: 4px; background: var(--cds-chart-grid, rgba(127,127,127,.2)); margin-bottom: 6px; }
.dv-bar-lab { background: var(--series-2); border-radius: 4px 0 0 4px; }
.dv-bar-oh { background: var(--cds-chart-reference, var(--color-fg-muted)); opacity: 0.55; }
.dv-bar-tg { position: absolute; top: -3px; bottom: -3px; width: 2px; margin-left: -1px; background: var(--color-fg); border-radius: 1px; }
.dv-table td.dv-why { font-size: 12px; }
.dv-table tr.dv-total td { font-weight: 700; border-top: 1px solid var(--color-border-line); }
#dv-hours { margin-top: var(--cds-gap-md); }
#dv-note { margin-top: var(--cds-gap-sm); }
@media (max-width: 900px) { .dv-top { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dv-hero { grid-column: 1 / -1; } }
@media (max-width: 480px) {
  .dv-controls { width: 100%; }
  .dv-controls .dv-date { flex: 1 1 130px; min-width: 0; }
  .dv-controls .dv-venue { flex: 1 1 100%; }
  .dv-table td.dv-why { display: none; }
  .dv-tile .rr-big { font-size: 18px; }
}

/* venue chips on their own row above the day controls */
/* venue chips under the title, the day controls beside them (wrapping below on narrow screens) */
.dv-head #dv-controls { flex: 1 1 100%; justify-content: space-between; gap: 8px 12px; }
#dv-controls .dv-venues { flex: 1 1 auto; }
#dv-controls .dv-venue-btn { padding: 6px 12px; }
#dv-controls .dv-days { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
@media (max-width: 480px) { #dv-controls .dv-days { width: 100%; } #dv-controls .dv-days .dv-date { flex: 1 1 120px; } }
