/* Local contrast pass: dashboard, daily field report and calendar. */
body.drv-design :is(#view-dashboard, #view-visits-list, #view-calendar) {
  --ops-muted: #455c69;
  --ops-line: #b8cbd4;
}
body.drv-design :is(#view-dashboard, #view-visits-list, #view-calendar) :is(.text-slate-400, .text-slate-500, .text-slate-600) {
  color: var(--ops-muted);
}
body.drv-design :is(#view-dashboard, #view-visits-list, #view-calendar) [class~="text-[10px]"],
body.drv-design :is(#view-dashboard, #view-visits-list, #view-calendar) [class~="text-[11px]"] {
  font-size: 12px;
  line-height: 1.5;
}

/* Dashboard: summary values, a blue reporting panel and a separate debt panel. */
body.drv-design #view-dashboard > .grid { gap: 14px; }
body.drv-design #view-dashboard > .grid > div {
  border-color: var(--ops-line);
  box-shadow: 0 2px 5px #203e4908;
}
body.drv-design #view-dashboard > .grid > div:has([id$="-today"]) {
  border-top: 4px solid #367c97;
  background: #f6fafc;
}
body.drv-design #view-dashboard > .grid > div:has(#kpi-revenue-today) {
  border-top-color: #0b7168;
  background: #eaf5f0;
}
body.drv-design #view-dashboard > .grid [id$="-today"] {
  font-size: clamp(22px, 2.2vw, 30px);
  font-weight: 750;
  letter-spacing: -.025em;
  margin: 7px 0;
}
body.drv-design #dash-period-tile {
  background: #eaf2f6;
  border-color: #aec5d1;
  border-top: 4px solid #367c97;
}
body.drv-design :is(#dash-period-tile, #dash-saldo-tile) > div:first-child {
  color: #243f4e;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.6;
  letter-spacing: .025em;
  margin-bottom: 14px;
}
body.drv-design #dash-period-tile > .grid { gap: 10px; }
body.drv-design #dash-period-tile > .grid > div {
  min-width: 0;
  background: #fff;
  border: 1px solid #cadbe3;
  border-radius: 10px;
  padding: 12px;
}
body.drv-design #dash-period-tile .tabular-nums { font-size: 19px; margin-top: 5px; }
body.drv-design #dash-period-tile > .grid > div:has(#kpi-earnings-month) { background: #d9f0e5; border-color: #9ccbb7; }
body.drv-design #kpi-earnings-month { color: #076348; }
body.drv-design #dash-period-tile > .border-t { border-color: #aec5d1; }
body.drv-design #dash-period-tile input { max-width: 100%; min-height: 42px; border-color: #9eb6c3; }
body.drv-design #dash-saldo-tile {
  background: #fff0f2;
  border-color: #dca3ae;
  border-top: 4px solid #b8334c;
}
body.drv-design #dash-saldo-tile:hover { border-color: #b8334c; }
body.drv-design #dash-saldo-tile > div:first-child { color: #842339; }
body.drv-design #dash-saldo-sum { color: #a52139; font-size: clamp(26px, 2.7vw, 36px); line-height: 1.2; }
body.drv-design #dash-saldo-tile > .grid {
  background: #fff;
  border: 1px solid #e2b8c1;
  border-radius: 10px;
  padding: 12px;
  margin-top: 16px;
  gap: 10px 12px;
  font-size: 13px;
  grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr);
}
body.drv-design #dash-saldo-tile > .grid > div { min-width: 0; overflow-wrap: anywhere; }
body.drv-design #dash-saldo-tile .text-rose-300 { color: #a52139; font-weight: 650; }
body.drv-design #dash-saldo-tile .text-emerald-300 { color: #076348; }
body.drv-design #dash-saldo-total { color: #75283b; font-weight: 700; font-size: 13px; margin-top: 15px; }
body.drv-design #view-dashboard .dash-overdue-tile { border-left-width: 4px; }
body.drv-design #view-dashboard .dash-overdue-tile[data-overdue="1-7"] { background: #fff4d8; border-color: #c99634; }
body.drv-design #view-dashboard .dash-overdue-tile[data-overdue="8-30"] { background: #ffecdb; border-color: #c8753a; }
body.drv-design #view-dashboard .dash-overdue-tile[data-overdue="30+"] { background: #fce1e5; border-color: #bd5367; }
body.drv-design #view-dashboard .dash-overdue-tile .tabular-nums { font-size: 22px; }
body.drv-design #view-dashboard .drv-dashboard-reports > summary { background: #e5eef2; border-color: #afc5cf; color: #263f4c; font-weight: 700; }

/* Each rep has a distinct header; activities wrap as separate, readable counts. */
body.drv-design #fieldday-report {
  background: #e6eff3;
  border-color: #afc5cf;
  border-top: 4px solid #367c97;
  padding: 20px;
}
body.drv-design #fieldday-report > .flex { flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
body.drv-design #fieldday-report > .flex > div { font-size: 14px; font-weight: 750; color: #243f4e; letter-spacing: .025em; }
body.drv-design #fieldday-date { min-height: 42px; border-color: #94b0bf; }
body.drv-design #fieldday-body > .drv-fieldday-card {
  background: #fff;
  border: 1px solid #afc5cf;
  border-left: 4px solid #278077;
  padding: 16px;
  box-shadow: 0 2px 4px #203e4908;
}
body.drv-design #fieldday-body .drv-fieldday-heading { flex-wrap: wrap; gap: 8px 16px; align-items: flex-start; }
body.drv-design #fieldday-body .drv-fieldday-heading > div:first-child { font-size: 16px; font-weight: 750; color: #193744; }
body.drv-design #fieldday-body .drv-fieldday-heading > div:last-child {
  background: #eaf2f6;
  color: #314e5d;
  border-radius: 7px;
  padding: 6px 9px;
  font-size: 12px;
  line-height: 1.6;
}
body.drv-design #fieldday-body .drv-fieldday-metrics { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
body.drv-design #fieldday-body .drv-fieldday-metric {
  background: #f1f6f8;
  border: 1px solid #d0dfe5;
  color: #304d5c;
  border-radius: 6px;
  padding: 5px 8px;
  font-size: 13px;
  overflow-wrap: anywhere;
}
body.drv-design #fieldday-body ul { padding: 10px; background: #eff7f3; border-radius: 8px; }
body.drv-design #fieldday-body ul li { padding: 5px 0; line-height: 1.7; }
body.drv-design #fieldday-body .border-t { border-color: #c1d3dc; margin-top: 12px; padding-top: 10px; line-height: 1.6; }

/* Calendar: visible day boundaries and status colors without fading whole cards. */
body.drv-design #view-calendar > .flex:first-child { flex-wrap: wrap; gap: 14px; }
body.drv-design #view-calendar > .grid:not(#cal-grid) {
  background: #e2ecf1;
  color: #314e5d;
  border-radius: 10px;
  padding: 9px 4px;
  font-weight: 700;
}
body.drv-design #cal-grid { background: #dce7ec; border: 1px solid #b5cbd6; border-radius: 12px; padding: 6px; gap: 6px; margin-top: 6px; }
body.drv-design #cal-grid > button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  min-width: 0;
  min-height: 82px;
  padding: 8px 3px;
  border: 1px solid #b8cbd4;
  background: #fff;
  opacity: 1;
  box-shadow: none;
}
body.drv-design #cal-grid > button > div:first-child { color: #294856; font-size: 15px; font-weight: 750; }
body.drv-design #cal-grid > button > .text-violet-300 { color: #55408d; }
body.drv-design #cal-grid > button > .text-slate-500 { color: #356959; }
body.drv-design #cal-grid > button[data-in-month="false"] { background: #edf2f4; border-style: dashed; }
body.drv-design #cal-grid > button[data-in-month="false"] > div { color: #536b78; }
body.drv-design #cal-grid > button[data-today="true"] { border: 2px solid #0b7168; }
body.drv-design #cal-grid > button:hover { background: #e2f1ef; border-color: #0b7168; }
body.drv-design #cal-grid > button[aria-pressed="true"] { background: #0b7168; border-color: #085f57; box-shadow: 0 2px 4px #0b716830; }
body.drv-design #cal-grid > button[aria-pressed="true"] > div { color: #fff; }
body.drv-design #cal-grid > button:focus-visible { outline: 3px solid #254f72; outline-offset: 2px; }
body.drv-design #view-calendar > .mt-2 > .flex:first-child { padding: 12px 0; gap: 12px; border-bottom: 1px solid #b8cbd4; }
body.drv-design #cal-day-label { font-size: 17px; color: #233e4b; }
body.drv-design #cal-day-add { background: #0b7168; min-height: 42px; padding-inline: 16px; }
body.drv-design #cal-day-events > li {
  --event-accent: #55408d;
  --event-bg: #f0edf9;
  background: var(--event-bg);
  border: 1px solid #b9b0d1;
  border-left: 5px solid var(--event-accent);
  padding: 16px;
  gap: 12px;
  opacity: 1;
  margin-top: 12px;
}
body.drv-design #cal-day-events > li[data-state="overdue"] { --event-accent: #a52139; --event-bg: #fff0f2; border-color: #d599a6; border-left-color: var(--event-accent); }
body.drv-design #cal-day-events > li[data-state="done"] { --event-accent: #17674f; --event-bg: #edf7f1; border-color: #9dbfab; border-left-color: var(--event-accent); }
body.drv-design #cal-day-events > li[data-state="closed"] { --event-accent: #526575; --event-bg: #edf2f5; border-color: #afc1cc; border-left-color: var(--event-accent); }
body.drv-design #cal-day-events .font-medium.text-sm { font-size: 15px; font-weight: 700; color: #203c49; line-height: 1.5; }
body.drv-design #cal-day-events .line-through { text-decoration-color: #7d928a; }
body.drv-design #cal-day-events .drv-event-time { color: var(--event-accent); font-weight: 700; margin-top: 8px; }
body.drv-design #cal-day-events .whitespace-pre-wrap { color: #455c69; line-height: 1.65; margin-top: 7px; }
body.drv-design #cal-day-events .rounded-full { border: 1px solid #bfd0d9; color: #314c59; background: #fff; }
body.drv-design #cal-day-events :is(.cal-edit-btn, .cal-close-btn) { width: 44px; height: 44px; border-color: #9eb5c2; color: #264654; }
body.drv-design #cal-day-events .cal-close-btn { background: #e0efe9; border-color: #8db7a5; color: #0b6249; font-size: 17px; }

@media (max-width: 1100px) {
  body.drv-design #view-dashboard:not(.hidden) { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  body.drv-design #view-dashboard > .grid:has(#kpi-orders-today) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.drv-design #view-dashboard > .grid > div:has(#kpi-revenue-today) { grid-column: 1 / -1; }
  body.drv-design #view-dashboard > .grid:has(#kpi-orders-today) > div { padding: 16px; }
  body.drv-design #view-dashboard > .rounded-xl { padding: 16px; }
  body.drv-design #dash-period-tile > .grid { grid-template-columns: minmax(0, 1fr); }
  body.drv-design #dash-period-tile > .grid > div { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 4px 12px; }
  body.drv-design #dash-period-tile .tabular-nums { font-size: 19px; margin: 0; }
  body.drv-design #dash-saldo-tile > .grid { padding: 10px 8px; gap: 10px 7px; font-size: 12px; }
  body.drv-design #dash-saldo-tile > .grid > div:nth-child(-n+3) { font-size: 11px; letter-spacing: 0; }
  body.drv-design #fieldday-report { padding: 14px; }
  body.drv-design #fieldday-body > .drv-fieldday-card { padding: 13px; }
  body.drv-design #fieldday-body .drv-fieldday-heading > div:last-child { width: 100%; }
  body.drv-design #cal-grid { padding: 4px; gap: 4px; }
  body.drv-design #cal-grid > button { min-height: 78px; padding: 7px 1px; border-radius: 7px; }
  body.drv-design #cal-grid > button > div:not(:first-child) { font-size: 11px; }
  body.drv-design #cal-day-events > li { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; padding: 13px; gap: 10px; }
  body.drv-design #cal-day-events > li > .min-w-0 { grid-column: 2; }
  body.drv-design #cal-day-events > li:not(:has(.cal-sel-cb)) > .min-w-0 { grid-column: 1 / -1; }
  body.drv-design #cal-day-events > li > .shrink-0.flex { grid-column: 2; justify-self: end; }
  body.drv-design #cal-day-events .cal-sel-cb { margin-top: 5px; }
}
