.week-picker {
  margin-bottom: 18px;
  padding: 18px 22px;
  display: grid;
  grid-template-columns: 48px 1fr 48px;
  align-items: center;
  text-align: center;
}
.week-picker button {
  width: 44px;
  height: 44px;
  border: 1px solid #d8ddd6;
  border-radius: 14px;
  color: #d54a0b;
  background: #f7f8f4;
  font-size: 22px;
  font-weight: 800;
}
.week-picker button:last-child { justify-self: end; }
.week-picker small { display: block; margin-bottom: 5px; color: #8b9691; font-size: 10px; font-weight: 900; letter-spacing: .15em; }
.week-picker strong { color: #0a2020; font-size: 20px; }
.week-metrics { grid-template-columns: repeat(4, 1fr); }
.week-metrics article:nth-child(3) { color: #fff; border-color: #0b4544; background: linear-gradient(135deg, #092d2d, #0b4544); }
.week-metrics article:nth-child(3) small,
.week-metrics article:nth-child(3) span { color: #adbfba; }
.week-metrics article:nth-child(3) strong { color: #fff; }
.week-status {
  margin: 18px 0;
  padding: 17px 20px;
  display: flex;
  gap: 10px;
  align-items: center;
  border-radius: 16px;
  font-size: 13px;
}
.week-status span { color: #61706a; }
.week-status.empty-week { border: 1px solid #d7dcd5; background: #f7f8f4; }
.week-status.complete { border: 1px solid #b9e2c6; color: #116b36; background: #eaf8ee; }
.week-status.complete span { color: #3e7452; }
.week-status.needs-review { border: 1px solid #f0c4af; color: #9b3510; background: #fff0e8; }
.week-status.needs-review span { color: #875947; }
.week-days { margin-bottom: 18px; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; }
.week-day {
  min-width: 0;
  padding: 18px 16px;
  border: 1px solid #d8ddd6;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 9px 28px #142e2b08;
}
.week-day header { min-height: 49px; display: flex; justify-content: space-between; gap: 8px; align-items: flex-start; }
.week-day header div { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.week-day header small { overflow: hidden; color: #76837d; text-overflow: ellipsis; text-transform: capitalize; }
.week-day header strong { color: #0a2020; font-size: 18px; }
.week-day dl { margin: 15px 0 0; }
.week-day dl div { padding: 8px 0; display: flex; justify-content: space-between; gap: 8px; border-top: 1px solid #edf0eb; }
.week-day dt { color: #82908a; font-size: 12px; }
.week-day dd { margin: 0; font-size: 12px; font-weight: 800; white-space: nowrap; }
.week-day p { margin: 13px 0 0; color: #a04a27; font-size: 11px; line-height: 1.4; }
.week-day.is-empty { box-shadow: none; background: #f7f8f4; }
.week-day.is-empty dl { opacity: .5; }
.week-day.is-empty p { color: #8c9792; }
.ready-pill,.review-pill { padding: 5px 7px; border-radius: 999px; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.ready-pill { color: #17753e; background: #e5f8eb; }
.review-pill { color: #a33b13; background: #fff0e8; }
.week-trip-panel { margin-top: 22px; overflow: hidden; }
.week-trip-panel .panel-head > span { color: #65716d; font-size: 13px; font-weight: 800; }
.week-trip-panel .trip-list { box-shadow: none; }
.week-footnote { margin: 18px 3px 0; color: #7c8883; font-size: 12px; }

@media (max-width: 1180px) {
  .week-days { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .week-metrics { grid-template-columns: 1fr 1fr; }
  .week-days { grid-template-columns: 1fr; }
  .week-day { padding: 17px 18px; }
  .week-day header { min-height: auto; }
  .week-status { align-items: flex-start; flex-direction: column; }
}
