/* Route Plan reset layer. Loaded after main.css so legacy route table rules cannot win. */
.map-box .drive-time-badge,
#mapBox .drive-time-badge {
  top: 16px !important;
  right: 16px !important;
  left: auto !important;
  z-index: 4 !important;
  max-width: min(260px, calc(100% - 32px)) !important;
  border-radius: 999px !important;
}

.topbar .route-stop-form,
.route-stop-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(150px, .42fr) minmax(150px, .42fr) !important;
  grid-template-areas:
    "name name name"
    "type start end"
    "location location location"
    ". . action" !important;
  gap: 12px !important;
  align-items: end !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 18px !important;
  border: 1px solid rgba(138, 98, 64, .18) !important;
  border-radius: 20px !important;
  background: rgba(252, 250, 244, .82) !important;
  box-sizing: border-box !important;
}

.topbar .route-stop-form > *,
.route-stop-form > * {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

#routeStopName {
  grid-area: name !important;
}

#routeStopType {
  grid-area: type !important;
  display: block !important;
  visibility: visible !important;
  min-height: 48px !important;
  opacity: 1 !important;
}

#routeStopStart {
  grid-area: start !important;
}

#routeStopEnd {
  grid-area: end !important;
}

#routeStopLocation {
  grid-area: location !important;
}

#addRouteStopBtn {
  grid-area: action !important;
  justify-self: end !important;
  width: min(280px, 100%) !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 24px !important;
  border-radius: 14px !important;
  background: var(--camp-orange, #ff7417) !important;
  color: #fffaf2 !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.route-stops-list.route-plan-list,
.route-plan-list {
  position: relative !important;
  display: grid !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-top: 18px !important;
  padding: 16px !important;
  overflow: hidden !important;
  border: 1px solid rgba(45, 74, 62, .14) !important;
  border-radius: 20px !important;
  background: rgba(252, 250, 244, .86) !important;
  box-sizing: border-box !important;
}

.route-plan-list::before {
  content: "" !important;
  position: absolute !important;
  top: 56px !important;
  bottom: 56px !important;
  left: 62px !important;
  border-left: 2px dashed rgba(138, 98, 64, .28) !important;
  pointer-events: none !important;
}

.route-stop-item,
.route-endpoint-row {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  gap: 12px !important;
  padding: 14px !important;
  border: 1px solid rgba(138, 98, 64, .16) !important;
  border-radius: 18px !important;
  background: rgba(255, 252, 246, .96) !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

.route-endpoint-row {
  grid-template-columns: 22px minmax(86px, auto) minmax(0, 1fr) auto !important;
  grid-template-areas: "handle label content map" !important;
}

.route-stop-item:not(.route-endpoint-row) {
  grid-template-columns: 22px minmax(52px, auto) 34px minmax(0, 1fr) auto 36px !important;
  grid-template-areas: "handle label type content map remove" !important;
}

.route-stop-handle {
  grid-area: handle !important;
  width: 22px !important;
  min-width: 22px !important;
  height: 42px !important;
  opacity: .45 !important;
}

.route-stop-badge,
.route-stop-item > strong {
  grid-area: label !important;
  display: inline-grid !important;
  place-items: center !important;
  width: auto !important;
  min-width: 52px !important;
  height: 34px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(45, 74, 62, .2) !important;
  border-radius: 999px !important;
  background: rgba(45, 74, 62, .12) !important;
  color: var(--journal-pine, #2D4A3E) !important;
  font: 800 .9rem var(--font-body, Inter, sans-serif) !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.route-stop-item:not(.route-endpoint-row) .route-stop-badge {
  min-width: 42px !important;
  color: #fffaf2 !important;
  background: var(--journal-pine, #2D4A3E) !important;
}

.route-stop-endpoint-content {
  grid-area: content !important;
  display: grid !important;
  gap: 3px !important;
  min-width: 0 !important;
}

.route-stop-endpoint-title,
.route-stop-endpoint-location {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.route-stop-endpoint-title {
  color: var(--journal-pine, #2D4A3E) !important;
  font-weight: 850 !important;
}

.route-stop-endpoint-location {
  color: rgba(43, 43, 43, .68) !important;
}

.route-stop-type-mark {
  grid-area: type !important;
  display: inline-block !important;
  width: 34px !important;
  height: 34px !important;
  position: relative !important;
  justify-self: center !important;
  border: 1px solid rgba(45, 74, 62, .16) !important;
  border-radius: 50% !important;
  background: rgba(245, 240, 228, .9) !important;
}

.route-stop-type-mark::before,
.route-stop-type-mark::after {
  content: "" !important;
  position: absolute !important;
  border-color: var(--journal-pine, #2D4A3E) !important;
  border-style: solid !important;
}

.route-stop-type-mark-general::before {
  width: 10px !important;
  height: 10px !important;
  left: 10px !important;
  top: 7px !important;
  border-width: 2px !important;
  border-radius: 50% 50% 50% 0 !important;
  transform: rotate(-45deg) !important;
  background: transparent !important;
}

.route-stop-type-mark-general::after {
  width: 4px !important;
  height: 4px !important;
  left: 15px !important;
  top: 12px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: var(--journal-pine, #2D4A3E) !important;
}

.route-stop-type-mark-fuel::before {
  inset: 8px 11px 7px 9px !important;
  border-width: 2px !important;
  border-radius: 4px 4px 2px 2px !important;
  background: transparent !important;
}

.route-stop-type-mark-fuel::after {
  top: 10px !important;
  right: 7px !important;
  width: 8px !important;
  height: 12px !important;
  border-width: 2px 2px 0 0 !important;
  border-left: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 6px 0 0 !important;
}

.route-stop-type-mark-food::before {
  width: 14px !important;
  height: 14px !important;
  left: 6px !important;
  top: 9px !important;
  border-width: 2px !important;
  border-radius: 50% !important;
  background: transparent !important;
}

.route-stop-type-mark-food::after {
  width: 2px !important;
  height: 18px !important;
  right: 8px !important;
  top: 8px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--journal-pine, #2D4A3E) !important;
  box-shadow: -4px 0 0 -1px var(--journal-pine, #2D4A3E), 4px 0 0 -1px var(--journal-pine, #2D4A3E) !important;
}

.route-stop-type-mark-camp::before {
  width: 16px !important;
  height: 16px !important;
  left: 8px !important;
  top: 8px !important;
  border-width: 0 0 2px 2px !important;
  border-radius: 2px !important;
  transform: rotate(135deg) skewX(-8deg) !important;
  background: transparent !important;
}

.route-stop-type-mark-camp::after {
  left: 7px !important;
  right: 7px !important;
  bottom: 8px !important;
  height: 2px !important;
  border: 0 !important;
  background: var(--journal-pine, #2D4A3E) !important;
}

.route-stop-type-mark-scenic::before {
  width: 18px !important;
  height: 12px !important;
  left: 7px !important;
  bottom: 8px !important;
  border-width: 0 0 2px 2px !important;
  border-radius: 2px !important;
  transform: rotate(135deg) skewX(-15deg) !important;
  background: transparent !important;
}

.route-stop-type-mark-scenic::after {
  width: 7px !important;
  height: 7px !important;
  right: 7px !important;
  top: 7px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: var(--camp-orange, #ff7417) !important;
}

.route-stop-fields {
  grid-area: content !important;
  display: grid !important;
  grid-template-columns: minmax(130px, .95fr) minmax(150px, 1.02fr) minmax(126px, .82fr) minmax(118px, .62fr) minmax(118px, .62fr) !important;
  gap: 9px !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.route-stop-fields input,
.route-stop-fields select {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 42px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.route-stop-type-select {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.route-stop-map-btn {
  grid-area: map !important;
  justify-self: end !important;
  width: auto !important;
  min-width: 64px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
}

.route-stop-item > .delete-btn {
  grid-area: remove !important;
  justify-self: end !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  line-height: 1 !important;
}

.route-plan-hint,
.route-stop-selection-note {
  position: relative !important;
  z-index: 1 !important;
  min-width: 0 !important;
  margin: 0 0 0 74px !important;
  padding: 12px 16px !important;
  border: 1px dashed rgba(138, 98, 64, .25) !important;
  border-radius: 999px !important;
  background: rgba(255, 252, 246, .9) !important;
  color: rgba(43, 43, 43, .66) !important;
  box-sizing: border-box !important;
}

@media (max-width: 1180px) {
  .route-stop-fields {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(112px, .7fr) !important;
  }

  .route-stop-type-select {
    grid-column: 1 !important;
  }
}

@media (max-width: 900px) {
  .map-box .drive-time-badge,
  #mapBox .drive-time-badge {
    top: 12px !important;
    right: 12px !important;
    max-width: calc(100% - 24px) !important;
  }

  .topbar .route-stop-form,
  .route-stop-form {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "name"
      "type"
      "start"
      "end"
      "location"
      "action" !important;
    padding: 14px !important;
  }

  #addRouteStopBtn {
    width: 100% !important;
    justify-self: stretch !important;
  }

  .route-stops-list.route-plan-list,
  .route-plan-list {
    padding: 12px !important;
  }

  .route-plan-list::before {
    top: 48px !important;
    bottom: 48px !important;
    left: 33px !important;
  }

  .route-stop-item,
  .route-endpoint-row,
  .route-stop-item:not(.route-endpoint-row) {
    grid-template-columns: 1fr auto auto !important;
    grid-template-areas:
      "label label label"
      "content content content"
      "map remove remove" !important;
    gap: 9px !important;
    padding: 12px !important;
    align-items: start !important;
  }

  .route-endpoint-row {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "label"
      "content"
      "map" !important;
  }

  .route-stop-handle,
  .route-stop-type-mark {
    display: none !important;
  }

  .route-stop-badge,
  .route-stop-item > strong {
    justify-self: start !important;
  }

  .route-stop-fields {
    grid-template-columns: 1fr !important;
  }

  .route-stop-map-btn {
    justify-self: start !important;
    min-width: 96px !important;
  }

  .route-endpoint-row .route-stop-map-btn {
    justify-self: start !important;
    width: auto !important;
  }

  .route-stop-item > .delete-btn {
    justify-self: end !important;
  }

  .route-plan-hint,
  .route-stop-selection-note {
    margin-left: 0 !important;
    border-radius: 14px !important;
  }
}

/* v227 final route stop grid repair: match JS children so saved stops do not overflow. */
@media (min-width: 901px) {
  .route-stop-item:not(.route-endpoint-row) {
    grid-template-columns: 22px 64px 34px minmax(0, 1fr) 70px 34px !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .route-stop-fields {
    grid-template-columns:
      minmax(120px, .9fr)
      minmax(180px, 1.35fr)
      minmax(112px, .7fr)
      minmax(104px, .55fr)
      minmax(104px, .55fr) !important;
    min-width: 0 !important;
  }

  .route-stop-fields > *,
  .route-stop-fields input,
  .route-stop-fields select {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .route-endpoint-row {
    grid-template-columns: 22px minmax(108px, auto) minmax(0, 1fr) 70px !important;
    overflow: hidden !important;
  }
}

@media (max-width: 1280px) and (min-width: 901px) {
  .route-stop-item:not(.route-endpoint-row) {
    grid-template-columns: 22px 64px 34px minmax(0, 1fr) 70px 34px !important;
  }

  .route-stop-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .route-stop-type-select {
    grid-column: auto !important;
  }
}

/* v228 route stop type icons use the shared inline SVG system. */
.route-stop-type-mark {
  display: inline-grid !important;
  place-items: center !important;
  color: var(--journal-pine, #2D4A3E) !important;
}

.route-stop-type-mark::before,
.route-stop-type-mark::after {
  content: none !important;
}

.route-stop-type-icon {
  width: 18px !important;
  height: 18px !important;
}

.route-stop-type-fuel .route-stop-type-mark,
.route-stop-type-supply .route-stop-type-mark {
  color: var(--camp-orange, #ff7417) !important;
}

.route-stop-type-camp .route-stop-type-mark,
.route-stop-type-scenic .route-stop-type-mark {
  color: var(--journal-pine, #2D4A3E) !important;
}

/* v228 final icon overrides loaded after main.css legacy icon layers. */
.camp-icon {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 auto !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.section-heading-icon {
  display: inline-grid !important;
  place-items: center !important;
  width: 24px !important;
  height: 24px !important;
  margin-right: 8px !important;
  color: var(--journal-pine, #2D4A3E) !important;
  vertical-align: -4px !important;
}

.journal-card-icon,
.route-stop-card-icon,
.camp-spot-card-icon {
  display: grid !important;
  place-items: center !important;
  color: var(--journal-pine, #2D4A3E) !important;
}

.journal-card-icon .camp-icon,
.journal-stat-icon .camp-icon {
  width: 19px !important;
  height: 19px !important;
}

#journalRouteStopCount::before,
#journalCampSpotCount::before {
  content: none !important;
}

.forecast-icon,
.moon-phase-icon {
  display: inline-grid !important;
  place-items: center !important;
  color: var(--journal-pine, #2D4A3E) !important;
}

.forecast-svg-icon,
.moon-svg-icon {
  width: 20px !important;
  height: 20px !important;
}

/* v237: compact right-rail section headings. */
.journal-badge-rail-card .journal-panel-header h3,
.journal-rail-recommendations .journal-panel-header h3,
.trail-notes-rail-card .journal-panel-header h3 {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  column-gap: 8px !important;
  align-items: start !important;
  min-width: 0 !important;
  font-size: clamp(1rem, 1.05vw, 1.2rem) !important;
  line-height: 1.02 !important;
}

.journal-badge-rail-card .journal-panel-header h3 .section-heading-icon,
.journal-rail-recommendations .journal-panel-header h3 .section-heading-icon,
.trail-notes-rail-card .journal-panel-header h3 .section-heading-icon {
  align-self: start !important;
  width: 24px !important;
  height: 24px !important;
  margin: .05em 0 0 !important;
  vertical-align: top !important;
}

.journal-badge-rail-card .journal-panel-header h3 .section-heading-icon .camp-icon,
.journal-rail-recommendations .journal-panel-header h3 .section-heading-icon .camp-icon,
.trail-notes-rail-card .journal-panel-header h3 .section-heading-icon .camp-icon {
  width: 15px !important;
  height: 15px !important;
}

.journal-recommendations-empty {
  margin: 0;
  color: var(--journal-muted, #586158);
  font-size: .82rem;
  line-height: 1.35;
}

.journal-recommendations-empty[hidden] {
  display: none !important;
}

.journal-last-trip-action #journalLastTripName[hidden] {
  display: none !important;
}

.journal-last-trip-action #journalLastTripBadges {
  color: rgba(32, 56, 47, .78) !important;
  font-weight: 800 !important;
}

/* v236: match dashboard stat card heights with decorative stat icons outside text flow. */
@media (min-width: 901px) {
  .journal-stats {
    align-items: stretch !important;
    grid-template-columns: minmax(280px, 1.35fr) repeat(3, minmax(155px, .9fr)) !important;
    margin-top: -44px !important;
  }

  .journal-trip-status-card {
    min-height: 128px !important;
    height: 128px !important;
    padding: 13px 16px !important;
    gap: 2px 12px !important;
    align-self: stretch !important;
    overflow: visible !important;
  }

  .journal-trip-status-card .journal-readiness-ring {
    width: 92px !important;
    height: 92px !important;
  }

  .journal-trip-status-card .journal-readiness-ring strong,
  #journalReadinessPercent {
    max-width: 82% !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  .journal-stat-card:not(.journal-trip-status-card) {
    position: relative !important;
    min-height: 128px !important;
    height: 128px !important;
    max-height: none !important;
    padding: 16px 18px !important;
    padding-right: 54px !important;
    align-self: stretch !important;
    align-content: center !important;
    align-items: start !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto 1fr auto !important;
    gap: 6px !important;
    overflow: hidden !important;
  }

  .journal-stat-card:not(.journal-trip-status-card) .journal-stat-icon {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    display: grid !important;
    width: 32px !important;
    height: 32px !important;
    margin: 0 !important;
    grid-column: auto !important;
    grid-row: auto !important;
    z-index: 1 !important;
  }

  .journal-stat-card:not(.journal-trip-status-card) > span:not(.journal-stat-icon) {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    font-size: .86rem !important;
    line-height: 1.08 !important;
    white-space: normal !important;
  }

  .journal-stat-card:not(.journal-trip-status-card) > strong {
    grid-column: 1 !important;
    grid-row: 2 !important;
    align-self: center !important;
    min-height: 0 !important;
    max-width: 100% !important;
    font-size: clamp(1.7rem, 2.45vw, 2.1rem) !important;
    line-height: .95 !important;
    white-space: normal !important;
  }

  .journal-stat-card:not(.journal-trip-status-card) > small {
    grid-column: 1 !important;
    grid-row: 3 !important;
    align-self: end !important;
    min-height: 0 !important;
    max-width: 100% !important;
    font-size: .76rem !important;
    line-height: 1.12 !important;
    white-space: normal !important;
  }

  .journal-stat-card[data-journal-action="trail-map"],
  .journal-stat-card[data-journal-action="camp-spots"] {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto 1fr auto !important;
  }

  .journal-stat-card[data-journal-action="trail-map"] > span:not(.journal-stat-icon),
  .journal-stat-card[data-journal-action="camp-spots"] > span:not(.journal-stat-icon),
  .journal-stat-card[data-journal-action="trail-map"] > strong,
  .journal-stat-card[data-journal-action="camp-spots"] > strong,
  .journal-stat-card[data-journal-action="trail-map"] > small,
  .journal-stat-card[data-journal-action="camp-spots"] > small {
    min-height: 0 !important;
  }

  .journal-upcoming-body {
    grid-template-columns: 112px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: start !important;
  }

  .journal-trip-thumb {
    min-height: 102px !important;
  }

  .journal-upcoming-body > div:last-child {
    min-width: 0 !important;
  }

  .journal-upcoming-body strong,
  .journal-upcoming-body p {
    max-width: 100% !important;
    overflow-wrap: normal !important;
  }

  .journal-upcoming-body button {
    width: 100% !important;
    min-height: 38px !important;
    margin-top: 6px !important;
    padding: 0 12px !important;
    line-height: 1.05 !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  .journal-upcoming-body {
    grid-template-columns: 1fr !important;
  }

  .journal-trip-thumb {
    min-height: 96px !important;
  }
}

/* v256: Route Plan saved stops prioritize field fit over single-line compression. */
.route-stop-item:not(.route-endpoint-row) {
  grid-template-columns: 22px 52px 36px minmax(0, 1fr) 72px 36px !important;
  grid-template-areas:
    "handle label type spacer map remove"
    "fields fields fields fields fields fields" !important;
  align-items: start !important;
  gap: 10px 12px !important;
  overflow: visible !important;
}

.route-stop-item:not(.route-endpoint-row) .route-stop-fields {
  grid-area: fields !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.5fr) minmax(132px, .75fr) minmax(132px, .75fr) !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

.route-stop-item:not(.route-endpoint-row) .route-stop-fields > * {
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.route-stop-item:not(.route-endpoint-row) .route-stop-fields input,
.route-stop-item:not(.route-endpoint-row) .route-stop-fields select {
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  height: 42px !important;
  box-sizing: border-box !important;
}

.route-stop-item:not(.route-endpoint-row) .route-stop-fields > :nth-child(1) {
  grid-column: 1 / 2 !important;
}

.route-stop-item:not(.route-endpoint-row) .route-stop-fields > :nth-child(2) {
  grid-column: 2 / -1 !important;
}

.route-stop-item:not(.route-endpoint-row) .route-stop-fields > :nth-child(3) {
  grid-column: 1 / 2 !important;
}

.route-stop-item:not(.route-endpoint-row) .route-stop-fields > :nth-child(4) {
  grid-column: 2 / 3 !important;
}

.route-stop-item:not(.route-endpoint-row) .route-stop-fields > :nth-child(5) {
  grid-column: 3 / 4 !important;
}

.route-stop-item:not(.route-endpoint-row) .route-stop-map-btn {
  grid-area: map !important;
  justify-self: end !important;
  min-width: 64px !important;
  width: 64px !important;
  padding-inline: 0 !important;
}

.route-stop-item:not(.route-endpoint-row) > .delete-btn {
  grid-area: remove !important;
  justify-self: end !important;
}

.route-stop-item:not(.route-endpoint-row) .route-stop-handle {
  grid-area: handle !important;
}

.route-stop-item:not(.route-endpoint-row) .route-stop-badge {
  grid-area: label !important;
}

.route-stop-item:not(.route-endpoint-row) .route-stop-type-mark {
  grid-area: type !important;
}

@media (min-width: 901px) {
  .topbar .route-stop-form,
  .route-stop-form {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(136px, .52fr) minmax(136px, .52fr) minmax(144px, .58fr) !important;
    grid-template-areas:
      "name name location location location"
      "type start end action action" !important;
    gap: 10px !important;
    overflow: visible !important;
    padding: 14px !important;
  }

  #routeStopName {
    grid-area: name !important;
  }

  #routeStopLocation {
    grid-area: location !important;
  }

  #routeStopType {
    grid-area: type !important;
  }

  #routeStopStart {
    grid-area: start !important;
  }

  #routeStopEnd {
    grid-area: end !important;
  }

  #addRouteStopBtn {
    grid-area: action !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    width: 100% !important;
    min-height: 42px !important;
    height: 42px !important;
    padding-inline: 14px !important;
  }
}

@media (max-width: 620px) {
  .route-stop-item:not(.route-endpoint-row) {
    grid-template-columns: 48px minmax(0, 1fr) 36px !important;
    grid-template-areas:
      "label type remove"
      "fields fields fields"
      "map map map" !important;
  }

  .route-stop-item:not(.route-endpoint-row) .route-stop-handle {
    display: none !important;
  }

  .route-stop-item:not(.route-endpoint-row) .route-stop-fields {
    grid-template-columns: 1fr !important;
  }

  .route-stop-item:not(.route-endpoint-row) .route-stop-fields > :nth-child(1),
  .route-stop-item:not(.route-endpoint-row) .route-stop-fields > :nth-child(2),
  .route-stop-item:not(.route-endpoint-row) .route-stop-fields > :nth-child(3),
  .route-stop-item:not(.route-endpoint-row) .route-stop-fields > :nth-child(4),
  .route-stop-item:not(.route-endpoint-row) .route-stop-fields > :nth-child(5) {
    grid-column: auto !important;
  }

  .route-stop-item:not(.route-endpoint-row) .route-stop-map-btn {
    justify-self: stretch !important;
    width: 100% !important;
  }
}

/* v259: Normalize Route Plan control heights so selects, dates, text fields, and buttons line up. */
@media (min-width: 901px) {
  .route-stop-form input,
  .route-stop-form select,
  .route-stop-fields input,
  .route-stop-fields select {
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding-block: 0 !important;
    line-height: 34px !important;
    box-sizing: border-box !important;
  }

  .route-stop-form select,
  .route-stop-fields select {
    display: block !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  #addRouteStopBtn {
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding-block: 0 !important;
    line-height: 1 !important;
    align-self: stretch !important;
  }

  .route-stop-form {
    align-items: stretch !important;
  }

  .route-stop-fields {
    align-items: stretch !important;
  }
}

/* v260: Start/Create Adventure uses an orange trail marker instead of the plus symbol. */
.journal-new-adventure-card .journal-adventure-marker {
  display: inline-grid !important;
  place-items: center !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  color: var(--camp-orange, #ff7417) !important;
  font-size: 0 !important;
  line-height: 1 !important;
  background: rgba(255, 116, 23, .12) !important;
  border: 1px solid rgba(255, 116, 23, .5) !important;
  border-radius: 12px !important;
}

.journal-new-adventure-card .journal-adventure-marker > span {
  display: inline-grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  color: inherit !important;
}

.journal-new-adventure-card .journal-adventure-marker .camp-icon {
  width: 29px !important;
  height: 29px !important;
  color: inherit !important;
  stroke-width: 2.15 !important;
}

/* v261: Route Plan controls must match heights in compact and desktop layouts. */
.route-stop-form input,
.route-stop-form select,
.route-stop-fields input,
.route-stop-fields select {
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 30px !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
}

.route-stop-form select,
.route-stop-fields select {
  display: block !important;
  line-height: normal !important;
}

.route-stop-form input[type="date"],
.route-stop-fields input[type="date"] {
  line-height: normal !important;
}

.route-stop-form input[type="date"]::-webkit-date-and-time-value,
.route-stop-fields input[type="date"]::-webkit-date-and-time-value {
  min-height: 0 !important;
  line-height: 1 !important;
}

.route-stop-form input[type="date"]::-webkit-calendar-picker-indicator,
.route-stop-fields input[type="date"]::-webkit-calendar-picker-indicator {
  margin: 0 !important;
  padding: 0 !important;
}

#addRouteStopBtn {
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}

/* v262: Beat older ID-level Route Plan control heights. */
#routeStopName,
#routeStopLocation,
#routeStopType,
#routeStopStart,
#routeStopEnd,
.route-stop-type-select {
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: normal !important;
  box-sizing: border-box !important;
}

/* v263: Give the route address field more room than stop name in the add-stop form. */
@media (min-width: 621px) {
  .topbar .route-stop-form,
  .route-stop-form {
    grid-template-columns:
      minmax(150px, .65fr)
      minmax(132px, .5fr)
      minmax(132px, .5fr)
      minmax(0, 1fr)
      minmax(54px, 72px) !important;
    grid-template-areas:
      "name location location location location"
      "type start end action action" !important;
    column-gap: 10px !important;
  }

  #routeStopName,
  #routeStopLocation {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  #routeStopName {
    grid-area: name !important;
  }

  #routeStopLocation {
    grid-area: location !important;
  }
}

/* v264: Remove the cramped Route CTA and make Map & Forecast match the main orange CTA style. */
#topbarCard #weatherBtn {
  display: inline-grid !important;
  place-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 48px !important;
  height: 48px !important;
  padding: 0 22px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, #ff8f24, #ff6b00) !important;
  color: #fffaf1 !important;
  font-weight: 900 !important;
  font-size: clamp(1rem, 1.1vw, 1.18rem) !important;
  line-height: 1 !important;
  box-shadow: none !important;
  text-align: center !important;
  white-space: nowrap !important;
}

#topbarCard #weatherBtn:hover,
#topbarCard #weatherBtn:focus-visible {
  background: linear-gradient(180deg, #ff8f24, #ff6b00) !important;
  color: #fffaf1 !important;
  box-shadow: none !important;
  transform: none !important;
}

#topbarCard #addRouteStopBtn,
#addRouteStopBtn {
  display: none !important;
}

@media (min-width: 621px) {
  .topbar .route-stop-form,
  .route-stop-form {
    grid-template-columns:
      minmax(150px, .62fr)
      minmax(132px, .48fr)
      minmax(132px, .48fr)
      minmax(0, 1fr) !important;
    grid-template-areas:
      "name location location location"
      "type start end end" !important;
  }
}

/* v265: Keep primary orange CTAs the same height. */
#topbarCard #weatherBtn,
.journal-upcoming-body button {
  min-height: 48px !important;
  height: 48px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-radius: 12px !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
}

/* v277: Compact Prep to-do and Camp Packing List so Pack reads like a working list, not oversized cards. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #packingSection,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #remainingItemsPanel,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #checklist,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #clothesSection {
  margin-top: 10px !important;
  width: 100% !important;
  justify-self: start !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #packingSection,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #remainingItemsPanel,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #clothesSection {
  padding: 14px 16px !important;
  border-radius: 10px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection h3,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #clothesSection h3 {
  margin-bottom: 4px !important;
  font-size: clamp(1.05rem, 1.25vw, 1.25rem) !important;
  line-height: 1.05 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection .small,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #packingSection .small,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #clothesSection .small {
  margin: 2px 0 8px !important;
  font-size: .78rem !important;
  line-height: 1.25 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection .row,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #clothesSection .row,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .category-form,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .category-add-row {
  gap: 6px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection input,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #clothesSection input,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .category-form input,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .category-add-row input {
  min-height: 32px !important;
  height: 32px !important;
  padding: 0 10px !important;
  font-size: .84rem !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection button,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #clothesSection button,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .category-form button,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .category-add-row button,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .checklist-actions button {
  min-height: 32px !important;
  height: 32px !important;
  padding: 0 10px !important;
  border-radius: 9px !important;
  font-size: .8rem !important;
  line-height: 1 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .checklist-toolbar {
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 8px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .checklist-toolbar h2 {
  font-size: clamp(1.15rem, 1.4vw, 1.42rem) !important;
  line-height: 1.05 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .checklist-actions {
  gap: 6px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .checklist-actions .round-btn {
  width: 32px !important;
  min-width: 32px !important;
  padding: 0 !important;
  font-size: 1.05rem !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #checklist {
  display: grid !important;
  gap: 10px !important;
}

@media (min-width: 901px) {
  body[data-camp-workflow="pack"][data-pack-panel="prep"] #checklist {
    display: block !important;
    columns: 2 320px !important;
    column-gap: 12px !important;
  }
}

@media (min-width: 1180px) {
  body[data-camp-workflow="pack"][data-pack-panel="prep"] #checklist {
    columns: 3 300px !important;
  }
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .checklist-category {
  padding: 0 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  display: inline-block !important;
  width: 100% !important;
  margin: 0 0 12px !important;
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .checklist-category-summary {
  min-height: 42px !important;
  gap: 8px !important;
  padding: 9px 12px !important;
  grid-template-columns: minmax(0, 1fr) auto 28px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .checklist-category-summary::after {
  width: 24px !important;
  height: 24px !important;
  font-size: .9rem !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .checklist-category-title-wrap {
  gap: 6px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .checklist-category-title-wrap h3 {
  font-size: .98rem !important;
  line-height: 1.1 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .checklist-category-count {
  padding: 3px 7px !important;
  font-size: .72rem !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .checklist-category-body {
  gap: 5px !important;
  margin-top: 0 !important;
  padding: 8px 10px 10px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .item.draggable-item {
  display: grid !important;
  grid-template-columns: 16px 20px minmax(0, 1fr) 26px !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 30px !important;
  padding: 4px 6px !important;
  border-radius: 8px !important;
  font-size: .84rem !important;
  line-height: 1.2 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .item.draggable-item .camp-checkbox {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .item.draggable-item .delete-btn,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .checklist-category-summary .delete-btn {
  width: 24px !important;
  height: 24px !important;
  min-height: 24px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  font-size: .78rem !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .drag-handle {
  font-size: .72rem !important;
  opacity: .45 !important;
}

/* v280: Before You Go becomes a first-class CAMP prep workflow. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel {
  gap: 18px !important;
  border-top: 0 !important;
  padding-top: 14px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #beforeYouGoPrepIntro,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #packingSection,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #remainingItemsPanel,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #checklist,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #clothesSection {
  width: 100% !important;
  max-width: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #beforeYouGoPrepIntro {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
  gap: 18px !important;
  padding: 24px 26px !important;
  border: 1px solid rgba(138, 98, 64, .2) !important;
  border-left: 5px solid #ff6b00 !important;
  border-radius: 14px !important;
  background:
    linear-gradient(135deg, rgba(255, 250, 239, .98), rgba(238, 246, 223, .86)),
    radial-gradient(circle at 92% 18%, rgba(255, 184, 77, .2), transparent 34%) !important;
  box-shadow: 0 14px 34px rgba(67, 48, 32, .1) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #beforeYouGoPrepIntro .prep-kicker {
  display: inline-flex !important;
  margin-bottom: 7px !important;
  color: #d94f00 !important;
  font-size: .76rem !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #beforeYouGoPrepIntro h2 {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  color: var(--journal-ink, #2b2b2b) !important;
  font-family: var(--font-heading, Georgia, serif) !important;
  font-size: clamp(2rem, 3vw, 3.1rem) !important;
  line-height: 1 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #beforeYouGoPrepIntro p {
  max-width: 780px !important;
  margin: 10px 0 0 !important;
  color: var(--journal-muted, #586158) !important;
  font-size: clamp(.95rem, 1vw, 1.05rem) !important;
  line-height: 1.45 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .prep-feature-points {
  display: grid !important;
  gap: 8px !important;
  min-width: 220px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .prep-feature-points span {
  display: block !important;
  padding: 8px 11px !important;
  border: 1px solid rgba(47, 96, 72, .2) !important;
  border-radius: 999px !important;
  background: rgba(255, 253, 248, .74) !important;
  color: var(--pine-900, #20382f) !important;
  font-size: .82rem !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #packingSection {
  padding: 22px 24px !important;
  border: 1px solid rgba(138, 98, 64, .2) !important;
  border-radius: 14px !important;
  background: rgba(252, 250, 244, .96) !important;
  box-shadow: 0 12px 30px rgba(67, 48, 32, .09) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection {
  border-top: 4px solid rgba(45, 74, 62, .76) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #packingSection {
  border-top: 4px solid #ff6b00 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection h3,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #packingSection h2 {
  margin: 0 !important;
  color: var(--journal-ink, #2b2b2b) !important;
  font-family: var(--font-heading, Georgia, serif) !important;
  font-size: clamp(1.75rem, 2.2vw, 2.45rem) !important;
  line-height: 1.04 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection > .small,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #packingSection .small {
  max-width: 760px !important;
  margin: 6px 0 16px !important;
  color: var(--journal-muted, #586158) !important;
  font-size: .92rem !important;
  line-height: 1.4 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection > .row {
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  max-width: 620px !important;
  padding: 10px !important;
  border: 1px solid rgba(138, 98, 64, .14) !important;
  border-radius: 12px !important;
  background: rgba(255, 253, 248, .72) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection > .row input,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection > .row button {
  height: 38px !important;
  min-height: 38px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripTodoList {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 14px !important;
  margin-top: 16px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day {
  margin: 0 !important;
  padding: 14px !important;
  border: 1px solid rgba(138, 98, 64, .18) !important;
  border-radius: 12px !important;
  background:
    linear-gradient(180deg, rgba(255, 253, 248, .96), rgba(246, 240, 226, .58)) !important;
  box-shadow: 0 8px 20px rgba(67, 48, 32, .07) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-header {
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 10px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-title-wrap h4 {
  margin: 0 !important;
  color: var(--pine-900, #20382f) !important;
  font-size: 1rem !important;
  line-height: 1.15 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day .category-add-row,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .checklist-category .category-add-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 10px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day .item,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .item.draggable-item {
  min-height: 38px !important;
  padding: 8px 9px !important;
  border: 1px solid rgba(138, 98, 64, .13) !important;
  border-radius: 10px !important;
  background: rgba(255, 253, 248, .78) !important;
  font-size: .9rem !important;
  line-height: 1.25 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day .item {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) 26px !important;
  align-items: center !important;
  gap: 8px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .checklist-toolbar {
  align-items: end !important;
  gap: 18px !important;
  margin-bottom: 0 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .checklist-actions {
  padding: 8px !important;
  border: 1px solid rgba(138, 98, 64, .14) !important;
  border-radius: 12px !important;
  background: rgba(255, 253, 248, .72) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .checklist-actions button {
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 13px !important;
  font-weight: 900 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .checklist-actions .round-btn {
  width: 38px !important;
  min-width: 38px !important;
  font-size: 1.2rem !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #checklist {
  margin-top: 4px !important;
}

@media (min-width: 901px) {
  body[data-camp-workflow="pack"][data-pack-panel="prep"] #checklist {
    columns: 2 380px !important;
    column-gap: 18px !important;
  }
}

@media (min-width: 1320px) {
  body[data-camp-workflow="pack"][data-pack-panel="prep"] #checklist {
    columns: 3 340px !important;
  }
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .checklist-category {
  margin-bottom: 18px !important;
  border: 1px solid rgba(138, 98, 64, .2) !important;
  border-top: 4px solid rgba(45, 74, 62, .72) !important;
  border-radius: 14px !important;
  background: rgba(252, 250, 244, .96) !important;
  box-shadow: 0 12px 26px rgba(67, 48, 32, .08) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .checklist-category-summary {
  min-height: 58px !important;
  padding: 15px 16px !important;
  grid-template-columns: minmax(0, 1fr) auto 30px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .checklist-category-title-wrap h3 {
  color: var(--pine-900, #20382f) !important;
  font-family: var(--font-heading, Georgia, serif) !important;
  font-size: 1.18rem !important;
  line-height: 1.08 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .checklist-category-count {
  padding: 5px 10px !important;
  background: rgba(255, 184, 77, .18) !important;
  color: var(--trail-700, #6f4a2f) !important;
  font-size: .78rem !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .checklist-category-body {
  gap: 8px !important;
  padding: 10px 14px 14px !important;
}

@media (max-width: 760px) {
  body[data-camp-workflow="pack"][data-pack-panel="prep"] #beforeYouGoPrepIntro {
    grid-template-columns: 1fr !important;
    padding: 20px !important;
  }

  body[data-camp-workflow="pack"][data-pack-panel="prep"] .prep-feature-points {
    min-width: 0 !important;
  }

  body[data-camp-workflow="pack"][data-pack-panel="prep"] .prep-feature-points span {
    white-space: normal !important;
  }

  body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection > .row,
  body[data-camp-workflow="pack"][data-pack-panel="prep"] .checklist-toolbar {
    grid-template-columns: 1fr !important;
  }
}

/* v281: Packing categories become a left-navigation preparation workspace. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] #checklist {
  display: block !important;
  margin-top: 6px !important;
  columns: auto !important;
  column-gap: normal !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-workspace {
  display: grid !important;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
  width: 100% !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-nav {
  position: sticky !important;
  top: 16px !important;
  display: grid !important;
  gap: 8px !important;
  max-height: calc(100vh - 40px) !important;
  overflow: auto !important;
  padding: 10px !important;
  border: 1px solid rgba(138, 98, 64, .18) !important;
  border-radius: 14px !important;
  background:
    linear-gradient(180deg, rgba(252, 250, 244, .94), rgba(246, 240, 226, .74)) !important;
  box-shadow: 0 10px 24px rgba(67, 48, 32, .08) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 7px 9px !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 62px !important;
  height: auto !important;
  padding: 10px 11px !important;
  border: 1px solid rgba(138, 98, 64, .16) !important;
  border-left: 4px solid transparent !important;
  border-radius: 11px !important;
  background: rgba(255, 253, 248, .78) !important;
  color: var(--pine-900, #20382f) !important;
  box-shadow: none !important;
  text-align: left !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab:hover,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab:focus-visible {
  border-color: rgba(255, 107, 0, .34) !important;
  transform: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.active {
  border-left-color: #ff6b00 !important;
  background:
    linear-gradient(180deg, rgba(255, 250, 239, .98), rgba(255, 184, 77, .14)) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.complete {
  border-left-color: rgba(45, 74, 62, .72) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab-main {
  display: grid !important;
  gap: 3px !important;
  min-width: 0 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab-main strong {
  overflow: hidden !important;
  color: var(--pine-900, #20382f) !important;
  font-family: var(--font-heading, Georgia, serif) !important;
  font-size: 1rem !important;
  line-height: 1.08 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab-main small {
  color: var(--journal-muted, #586158) !important;
  font-size: .73rem !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-progress {
  grid-column: 1 / -1 !important;
  display: block !important;
  height: 5px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: rgba(138, 98, 64, .12) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-progress i,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-detail-progress i {
  display: block !important;
  height: 100% !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, #2d4a3e, #ff6b00) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-count {
  justify-self: end !important;
  padding: 4px 7px !important;
  border-radius: 999px !important;
  background: rgba(255, 184, 77, .18) !important;
  color: var(--trail-700, #6f4a2f) !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-detail {
  display: grid !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(138, 98, 64, .2) !important;
  border-top: 5px solid #ff6b00 !important;
  border-radius: 16px !important;
  background: rgba(252, 250, 244, .97) !important;
  box-shadow: 0 16px 36px rgba(67, 48, 32, .1) !important;
  break-inside: auto !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-detail.category-complete {
  border-top-color: rgba(45, 74, 62, .78) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-detail-header {
  min-height: 82px !important;
  padding: 20px 22px 14px !important;
  grid-template-columns: minmax(0, 1fr) auto 30px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-detail-header::after {
  display: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-detail-header .checklist-category-title-wrap h3 {
  font-size: clamp(1.75rem, 2.4vw, 2.6rem) !important;
  line-height: 1.02 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-detail-progress {
  display: block !important;
  height: 8px !important;
  margin: 0 22px 4px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: rgba(138, 98, 64, .12) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-detail-body {
  display: grid !important;
  gap: 10px !important;
  padding: 18px 22px 22px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-detail .item.draggable-item {
  min-height: 48px !important;
  grid-template-columns: 18px 24px minmax(0, 1fr) 30px !important;
  gap: 10px !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  font-size: .96rem !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-detail .item.draggable-item .camp-checkbox {
  width: 19px !important;
  height: 19px !important;
  min-width: 19px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-detail .category-add-row {
  margin-top: 12px !important;
  padding: 10px !important;
  border: 1px solid rgba(138, 98, 64, .14) !important;
  border-radius: 12px !important;
  background: rgba(255, 253, 248, .72) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-detail .category-add-row input,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-detail .category-add-row button {
  height: 40px !important;
  min-height: 40px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-empty-detail {
  margin: 0 !important;
  padding: 18px !important;
  border: 1px dashed rgba(138, 98, 64, .24) !important;
  border-radius: 12px !important;
  background: rgba(255, 253, 248, .58) !important;
}

@media (max-width: 900px) {
  body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-workspace {
    grid-template-columns: 1fr !important;
  }

  body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-nav {
    position: static !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(210px, 75vw) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    max-height: none !important;
    scroll-snap-type: x proximity !important;
  }

  body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab {
    scroll-snap-align: start !important;
  }

  body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-detail-header {
    min-height: 68px !important;
    padding: 16px !important;
  }

  body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-detail-body {
    padding: 14px 16px 16px !important;
  }
}

/* v283: Trip To-Do is a departure timeline; Packing remains the category workspace. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection {
  position: relative !important;
  overflow: hidden !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: 5px !important;
  background: linear-gradient(180deg, var(--pine-800, #2d4a3e), #ff6b00) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection h3::before {
  content: "" !important;
  display: inline-grid !important;
  width: 26px !important;
  height: 26px !important;
  margin-right: 9px !important;
  border-radius: 999px !important;
  background:
    radial-gradient(circle at center, #ff6b00 0 4px, transparent 5px),
    rgba(255, 184, 77, .18) !important;
  vertical-align: -.16em !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection > .row {
  max-width: none !important;
  grid-template-columns: minmax(260px, 1fr) auto !important;
  margin-top: 10px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripTodoList {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  margin-top: 18px !important;
  padding-left: 28px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripTodoList::before {
  content: "" !important;
  position: absolute !important;
  top: 10px !important;
  bottom: 10px !important;
  left: 9px !important;
  width: 2px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, rgba(45, 74, 62, .35), rgba(255, 107, 0, .38)) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day {
  position: relative !important;
  display: grid !important;
  gap: 10px !important;
  min-height: 0 !important;
  padding: 16px 18px !important;
  border-top: 0 !important;
  border-left: 4px solid rgba(45, 74, 62, .72) !important;
  border-radius: 14px !important;
  background: rgba(252, 250, 244, .97) !important;
  box-shadow: 0 12px 28px rgba(67, 48, 32, .08) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day::before {
  content: "" !important;
  position: absolute !important;
  left: -35px !important;
  top: 22px !important;
  width: 18px !important;
  height: 18px !important;
  border: 3px solid rgba(252, 250, 244, .98) !important;
  border-radius: 999px !important;
  background: var(--pine-800, #2d4a3e) !important;
  box-shadow: 0 0 0 1px rgba(45, 74, 62, .28) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-overdue {
  border-left-color: #d94f00 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-overdue::before {
  background: #d94f00 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-complete {
  border-left-color: rgba(45, 74, 62, .86) !important;
  background: linear-gradient(180deg, rgba(238, 246, 223, .72), rgba(252, 250, 244, .96)) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(120px, 220px) auto !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-title-wrap {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  min-width: 0 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-title-wrap h4 {
  color: var(--pine-900, #20382f) !important;
  font-family: var(--font-heading, Georgia, serif) !important;
  font-size: clamp(1.25rem, 1.55vw, 1.65rem) !important;
  line-height: 1.08 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-progress-label,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-complete-label,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-overdue-label {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 22px !important;
  padding: 3px 8px !important;
  border-radius: 999px !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-progress-label {
  background: rgba(255, 184, 77, .18) !important;
  color: var(--trail-700, #6f4a2f) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-complete-label {
  background: rgba(45, 74, 62, .12) !important;
  color: var(--pine-900, #20382f) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-overdue-label {
  background: rgba(217, 79, 0, .12) !important;
  color: #d94f00 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-progress {
  display: block !important;
  height: 8px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: rgba(138, 98, 64, .12) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-progress i {
  display: block !important;
  height: 100% !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, var(--pine-800, #2d4a3e), #ff6b00) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: end !important;
  gap: 6px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-actions button {
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 10px !important;
  font-size: .75rem !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day .category-add-row {
  margin-top: 2px !important;
  padding: 9px !important;
  border: 1px solid rgba(138, 98, 64, .14) !important;
  border-radius: 12px !important;
  background: rgba(255, 253, 248, .68) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day .category-add-row input,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day .category-add-row button {
  height: 36px !important;
  min-height: 36px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day .item {
  min-height: 44px !important;
  padding: 9px 11px !important;
  border-radius: 12px !important;
  font-size: .94rem !important;
}

@media (min-width: 1180px) {
  body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripTodoList {
    max-width: 1080px !important;
  }
}

@media (max-width: 760px) {
  body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripTodoList {
    padding-left: 20px !important;
  }

  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day::before {
    left: -27px !important;
  }

  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-header {
    grid-template-columns: 1fr !important;
  }
}

/* v284: Trip To-Do uses a schedule workspace: days left, active day right. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripTodoList {
  display: block !important;
  max-width: none !important;
  margin-top: 18px !important;
  padding-left: 0 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripTodoList::before {
  display: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-workspace {
  display: grid !important;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-workspace-empty {
  display: block !important;
  padding: 20px !important;
  border: 1px dashed rgba(138, 98, 64, .24) !important;
  border-radius: 14px !important;
  background: rgba(255, 253, 248, .68) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-nav {
  position: sticky !important;
  top: 16px !important;
  display: grid !important;
  gap: 8px !important;
  max-height: calc(100vh - 40px) !important;
  overflow: auto !important;
  padding: 10px !important;
  border: 1px solid rgba(138, 98, 64, .18) !important;
  border-radius: 14px !important;
  background:
    linear-gradient(180deg, rgba(252, 250, 244, .94), rgba(246, 240, 226, .74)) !important;
  box-shadow: 0 10px 24px rgba(67, 48, 32, .08) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 7px 9px !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 62px !important;
  height: auto !important;
  padding: 10px 11px !important;
  border: 1px solid rgba(138, 98, 64, .16) !important;
  border-left: 4px solid transparent !important;
  border-radius: 11px !important;
  background: rgba(255, 253, 248, .78) !important;
  color: var(--pine-900, #20382f) !important;
  box-shadow: none !important;
  text-align: left !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab:hover,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab:focus-visible {
  border-color: rgba(255, 107, 0, .34) !important;
  transform: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.active {
  border-left-color: #ff6b00 !important;
  background:
    linear-gradient(180deg, rgba(255, 250, 239, .98), rgba(255, 184, 77, .14)) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.complete {
  border-left-color: rgba(45, 74, 62, .72) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.overdue {
  border-left-color: #d94f00 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-main {
  display: grid !important;
  gap: 3px !important;
  min-width: 0 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-main strong {
  overflow: hidden !important;
  color: var(--pine-900, #20382f) !important;
  font-family: var(--font-heading, Georgia, serif) !important;
  font-size: 1rem !important;
  line-height: 1.08 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-main small {
  color: var(--journal-muted, #586158) !important;
  font-size: .73rem !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-progress {
  grid-column: 1 / -1 !important;
  display: block !important;
  height: 5px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: rgba(138, 98, 64, .12) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-progress i {
  display: block !important;
  height: 100% !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg, var(--pine-800, #2d4a3e), #ff6b00) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-status {
  justify-self: end !important;
  padding: 4px 7px !important;
  border-radius: 999px !important;
  background: rgba(255, 184, 77, .18) !important;
  color: var(--trail-700, #6f4a2f) !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day {
  position: relative !important;
  display: grid !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(138, 98, 64, .2) !important;
  border-top: 5px solid #ff6b00 !important;
  border-left: 1px solid rgba(138, 98, 64, .2) !important;
  border-radius: 16px !important;
  background: rgba(252, 250, 244, .97) !important;
  box-shadow: 0 16px 36px rgba(67, 48, 32, .1) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day::before {
  display: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-complete {
  border-top-color: rgba(45, 74, 62, .78) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-overdue {
  border-top-color: #d94f00 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(140px, 240px) auto !important;
  align-items: center !important;
  gap: 14px !important;
  min-height: 82px !important;
  margin: 0 !important;
  padding: 20px 22px 12px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-title-wrap h4 {
  font-size: clamp(1.75rem, 2.4vw, 2.6rem) !important;
  line-height: 1.02 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-progress {
  height: 8px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .category-add-row {
  margin: 0 22px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .item,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-empty-detail,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-notes {
  margin-left: 22px !important;
  margin-right: 22px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .item {
  min-height: 48px !important;
  padding: 10px 12px !important;
  font-size: .96rem !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .item:last-of-type {
  margin-bottom: 0 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-empty-detail {
  margin-top: 0 !important;
  padding: 18px !important;
  border: 1px dashed rgba(138, 98, 64, .24) !important;
  border-radius: 12px !important;
  background: rgba(255, 253, 248, .58) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-notes {
  display: grid !important;
  gap: 7px !important;
  margin-top: 2px !important;
  margin-bottom: 22px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-notes span {
  color: var(--pine-900, #20382f) !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-notes-input {
  min-height: 86px !important;
  resize: vertical !important;
  padding: 11px 12px !important;
  border-radius: 12px !important;
  font-size: .92rem !important;
  line-height: 1.35 !important;
}

@media (max-width: 900px) {
  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-workspace {
    grid-template-columns: 1fr !important;
  }

  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-nav {
    position: static !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(210px, 75vw) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    max-height: none !important;
    scroll-snap-type: x proximity !important;
  }

  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab {
    scroll-snap-align: start !important;
  }

  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-header {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    padding: 16px !important;
  }

  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .category-add-row,
  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .item,
  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-empty-detail,
  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-notes {
    margin-left: 16px !important;
    margin-right: 16px !important;
  }
}

/* v285 was too decorative; v286 keeps Trip To-Do calm and predictable. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection {
  overflow: hidden !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection > .row {
  grid-template-columns: minmax(260px, 1fr) minmax(128px, auto) !important;
  gap: 12px !important;
  margin-top: 14px !important;
  padding: 10px !important;
  border: 1px solid rgba(138, 98, 64, .12) !important;
  border-radius: 12px !important;
  background: rgba(255, 253, 248, .58) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection > .row button,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .category-add-row button {
  display: inline-grid !important;
  place-items: center !important;
  min-height: 44px !important;
  height: 44px !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, #ff8f24, #ff6b00) !important;
  color: #fffaf1 !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection > .row button:hover,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection > .row button:focus-visible,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .category-add-row button:hover,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .category-add-row button:focus-visible {
  transform: none !important;
  background: linear-gradient(180deg, #ff8f24, #ff6b00) !important;
  box-shadow: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripTodoList {
  margin-top: 24px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-workspace {
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr) !important;
  gap: clamp(22px, 3vw, 36px) !important;
  align-items: start !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-nav {
  position: sticky !important;
  top: 16px !important;
  gap: 6px !important;
  max-height: calc(100vh - 48px) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab {
  grid-template-columns: minmax(0, 1fr) auto !important;
  min-height: 58px !important;
  padding: 11px 12px !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  background: rgba(255, 253, 248, .46) !important;
  box-shadow: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab:hover,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab:focus-visible {
  border-color: rgba(138, 98, 64, .18) !important;
  background: rgba(255, 253, 248, .72) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.active {
  border-color: rgba(255, 107, 0, .22) !important;
  border-left: 4px solid #ff6b00 !important;
  background: rgba(255, 253, 248, .84) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-main {
  gap: 4px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-main strong {
  font-size: 1rem !important;
  line-height: 1.15 !important;
  white-space: normal !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-main small {
  font-size: .78rem !important;
  font-weight: 700 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-progress {
  height: 4px !important;
  background: rgba(138, 98, 64, .1) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-progress i {
  background: rgba(45, 74, 62, .48) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-status {
  align-self: start !important;
  padding: 0 !important;
  background: transparent !important;
  color: rgba(88, 97, 88, .78) !important;
  font-size: .72rem !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.overdue .pretrip-day-tab-status {
  color: #d94f00 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day {
  gap: 18px !important;
  padding: clamp(20px, 2.5vw, 28px) !important;
  border: 1px solid rgba(138, 98, 64, .14) !important;
  border-top: 4px solid rgba(255, 107, 0, .72) !important;
  border-left: 1px solid rgba(138, 98, 64, .14) !important;
  border-radius: 14px !important;
  background: rgba(252, 250, 244, .96) !important;
  box-shadow: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-complete {
  background: rgba(252, 250, 244, .96) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-overdue {
  border-color: rgba(217, 79, 0, .18) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-header {
  grid-template-columns: minmax(0, 1fr) minmax(150px, 240px) auto !important;
  gap: 16px !important;
  min-height: 0 !important;
  padding: 0 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-title-wrap {
  gap: 9px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-title-wrap h4 {
  font-size: clamp(1.75rem, 2.4vw, 2.45rem) !important;
  line-height: 1.04 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-progress-label,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-complete-label,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-overdue-label {
  min-height: 24px !important;
  padding: 4px 9px !important;
  font-size: .74rem !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-progress {
  height: 4px !important;
  background: rgba(138, 98, 64, .09) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-progress i {
  background: rgba(45, 74, 62, .5) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-actions button:not(.delete-btn) {
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 12px !important;
  border-radius: 10px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .category-add-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 10px !important;
  border: 1px solid rgba(138, 98, 64, .1) !important;
  border-radius: 12px !important;
  background: rgba(255, 253, 248, .54) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .category-add-row input {
  height: 44px !important;
  min-height: 44px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .item,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-empty-detail,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-notes {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .item {
  min-height: 48px !important;
  padding: 10px 8px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: rgba(255, 253, 248, .38) !important;
  box-shadow: inset 0 -1px 0 rgba(138, 98, 64, .1) !important;
  font-size: 1rem !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .item:hover {
  background: rgba(255, 253, 248, .52) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-empty-detail {
  padding: 18px !important;
  border: 1px dashed rgba(138, 98, 64, .2) !important;
  border-radius: 12px !important;
  background: rgba(255, 253, 248, .42) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-notes {
  gap: 9px !important;
  margin-top: 4px !important;
  margin-bottom: 0 !important;
  padding-top: 4px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-notes span {
  color: rgba(32, 56, 47, .82) !important;
  letter-spacing: .03em !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-notes-input {
  min-height: 92px !important;
  padding: 12px !important;
  border: 1px solid rgba(138, 98, 64, .12) !important;
  border-radius: 12px !important;
  background: rgba(255, 253, 248, .52) !important;
  box-shadow: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-notes-input:focus {
  border-color: rgba(255, 107, 0, .34) !important;
  box-shadow: none !important;
}

@media (max-width: 900px) {
  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-workspace {
    gap: 22px !important;
  }

  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-nav {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(210px, 75vw) !important;
    gap: 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 0 4px !important;
  }

  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab {
    padding: 12px !important;
    background: rgba(255, 253, 248, .68) !important;
  }

  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-header,
  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .category-add-row {
    grid-template-columns: 1fr !important;
  }

  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-title-wrap h4 {
    font-size: clamp(1.85rem, 10vw, 2.6rem) !important;
  }
}

@media (max-width: 620px) {
  body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection > .row {
    grid-template-columns: 1fr !important;
  }
}

/* v287: Trip To-Do sizing cleanup. Roomy prep scheduler, no notes. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection {
  width: 100% !important;
  max-width: none !important;
  padding: clamp(22px, 2.7vw, 32px) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection > .row {
  grid-template-columns: minmax(0, 1fr) auto !important;
  max-width: min(100%, 860px) !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection > .row input {
  min-width: 0 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripTodoList {
  width: 100% !important;
  max-width: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-workspace {
  grid-template-columns: minmax(300px, 360px) minmax(560px, 1fr) !important;
  gap: clamp(24px, 3.4vw, 44px) !important;
  width: 100% !important;
  max-width: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-nav {
  max-height: none !important;
  overflow: visible !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab {
  grid-template-columns: minmax(0, 1fr) minmax(42px, auto) !important;
  min-height: 48px !important;
  padding: 9px 10px !important;
  border-radius: 10px !important;
  background: transparent !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.active,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab:hover,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab:focus-visible {
  background: rgba(255, 253, 248, .72) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-main {
  grid-template-columns: 1fr !important;
  min-width: 0 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-main strong {
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-main small {
  white-space: nowrap !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-progress {
  display: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-status {
  justify-self: end !important;
  align-self: center !important;
  min-width: 34px !important;
  text-align: right !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day {
  min-width: 0 !important;
  width: 100% !important;
  padding: clamp(22px, 2.8vw, 32px) !important;
  border: 1px solid rgba(138, 98, 64, .14) !important;
  border-top: 4px solid rgba(255, 107, 0, .62) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-header {
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 14px !important;
  align-items: start !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-progress {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 280px !important;
  margin-top: -4px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-title-wrap {
  align-items: baseline !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-title-wrap h4 {
  max-width: 100% !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-actions {
  justify-self: end !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .category-add-row {
  grid-template-columns: minmax(0, 1fr) auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .category-add-row input {
  min-width: 0 !important;
  width: 100% !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .category-add-row button {
  min-width: 104px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .item {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) 30px !important;
  gap: 10px !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  background: transparent !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .item .editable {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-notes,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-notes-input {
  display: none !important;
}

@media (max-width: 1180px) {
  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-workspace {
    grid-template-columns: minmax(250px, 320px) minmax(0, 1fr) !important;
  }
}

@media (max-width: 900px) {
  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-workspace {
    grid-template-columns: 1fr !important;
  }

  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-nav {
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-header,
  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .category-add-row {
    grid-template-columns: 1fr !important;
  }

  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-actions,
  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .category-add-row button {
    justify-self: stretch !important;
    width: 100% !important;
  }
}

/* v288: Trip To-Do visual cleanup after sizing pass. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel > #preTripSection,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection.pack-panel-active {
  display: block !important;
  grid-column: 1 / -1 !important;
  justify-self: stretch !important;
  align-self: start !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  border: 1px solid rgba(138, 98, 64, .16) !important;
  border-top: 1px solid rgba(138, 98, 64, .16) !important;
  border-left: 1px solid rgba(138, 98, 64, .16) !important;
  border-radius: 14px !important;
  background: rgba(252, 250, 244, .96) !important;
  box-shadow: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection::before,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection h3::before {
  content: none !important;
  display: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection h3 {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--journal-ink, #2b2b2b) !important;
  font-family: var(--font-heading, Georgia, serif) !important;
  font-size: clamp(1.95rem, 2.35vw, 2.55rem) !important;
  line-height: 1.04 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection > .small {
  max-width: none !important;
  margin: 5px 0 16px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection > .row,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .category-add-row {
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection input,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day input[type="text"] {
  border: 1px solid rgba(138, 98, 64, .22) !important;
  border-radius: 9px !important;
  background: rgba(255, 253, 248, .86) !important;
  box-shadow: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection input:focus,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day input[type="text"]:focus,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-title-wrap h4:focus,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .item .editable:focus {
  border-color: rgba(255, 107, 0, .32) !important;
  outline: 2px solid rgba(255, 107, 0, .12) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripTodoList {
  display: block !important;
  width: 100% !important;
  overflow: visible !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-workspace {
  display: grid !important;
  grid-template-columns: minmax(260px, 34%) minmax(0, 1fr) !important;
  gap: clamp(28px, 4vw, 52px) !important;
  width: 100% !important;
  min-width: 0 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-nav {
  min-width: 0 !important;
  width: 100% !important;
  overflow: visible !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab {
  min-width: 0 !important;
  width: 100% !important;
  border: 0 !important;
  border-left: 3px solid transparent !important;
  background: transparent !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.active {
  border-left-color: #ff6b00 !important;
  background: rgba(255, 253, 248, .7) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day {
  min-width: 0 !important;
  width: 100% !important;
  border: 0 !important;
  border-top: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-header {
  border-bottom: 1px solid rgba(138, 98, 64, .12) !important;
  padding-bottom: 14px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-progress {
  opacity: .75 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .item {
  border-radius: 0 !important;
  background: transparent !important;
}

@media (max-width: 900px) {
  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-workspace {
    grid-template-columns: 1fr !important;
  }

  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-nav {
    overflow-x: auto !important;
  }
}

/* v289: Trip To-Do quiet workspace finish. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel > #preTripSection,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection.pack-panel-active {
  padding: clamp(22px, 3vw, 34px) !important;
  border: 1px solid rgba(87, 63, 39, .14) !important;
  border-top-color: rgba(87, 63, 39, .14) !important;
  border-left-color: rgba(87, 63, 39, .14) !important;
  border-radius: 12px !important;
  background: rgba(255, 253, 248, .94) !important;
  box-shadow: 0 18px 46px rgba(61, 48, 30, .08) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection > .row {
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) auto !important;
  gap: 12px !important;
  align-items: center !important;
  max-width: 520px !important;
  margin: 18px 0 30px !important;
  padding: 0 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection > .row input,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .category-add-row input {
  min-height: 42px !important;
  padding: 0 13px !important;
  border: 1px solid rgba(92, 70, 45, .2) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 252, .82) !important;
  color: var(--journal-ink, #2d2b25) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection > .row input:focus,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .category-add-row input:focus,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-title-wrap h4:focus,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .item .editable:focus {
  border-color: rgba(63, 89, 65, .34) !important;
  outline: 3px solid rgba(63, 89, 65, .12) !important;
  outline-offset: 1px !important;
  box-shadow: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection > .row button,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .category-add-row button {
  min-height: 42px !important;
  width: auto !important;
  white-space: nowrap !important;
  border: 1px solid rgba(201, 90, 15, .48) !important;
  border-radius: 8px !important;
  background: linear-gradient(180deg, #ff8a2c 0%, #f06b12 100%) !important;
  color: #fffaf2 !important;
  box-shadow: 0 8px 18px rgba(219, 96, 19, .18) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-workspace {
  grid-template-columns: minmax(280px, 32%) minmax(420px, 1fr) !important;
  gap: clamp(34px, 5vw, 64px) !important;
  align-items: start !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-nav {
  position: relative !important;
  display: grid !important;
  gap: 2px !important;
  padding: 2px 0 2px 15px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-nav::before {
  content: "" !important;
  position: absolute !important;
  inset: 8px auto 8px 2px !important;
  width: 1px !important;
  background: rgba(90, 72, 48, .16) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  column-gap: 14px !important;
  row-gap: 3px !important;
  align-items: center !important;
  padding: 10px 0 10px 15px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--journal-ink, #2d2b25) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab::before {
  content: "" !important;
  position: absolute !important;
  left: -17px !important;
  top: 18px !important;
  width: 7px !important;
  height: 7px !important;
  border: 1px solid rgba(78, 92, 68, .28) !important;
  border-radius: 50% !important;
  background: #fffdf7 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.active,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab:hover,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab:focus-visible {
  background: transparent !important;
  transform: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.active::before {
  border-color: rgba(255, 107, 0, .62) !important;
  background: #ff7a1a !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-main {
  min-width: 0 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-main strong {
  display: block !important;
  overflow: hidden !important;
  color: var(--journal-ink, #2d2b25) !important;
  font-size: .96rem !important;
  line-height: 1.18 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-main small {
  display: block !important;
  margin-top: 2px !important;
  color: rgba(45, 42, 34, .58) !important;
  font-size: .75rem !important;
  line-height: 1.2 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-progress {
  display: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-status {
  align-self: start !important;
  min-width: 34px !important;
  padding-top: 1px !important;
  color: rgba(45, 42, 34, .5) !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  text-align: right !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px 18px !important;
  align-items: start !important;
  margin: 0 0 24px !important;
  padding: 0 0 18px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(92, 70, 45, .12) !important;
  background: transparent !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-title-wrap {
  min-width: 0 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-title-wrap h4 {
  margin: 0 !important;
  padding: 0 !important;
  color: #1f3d32 !important;
  font-size: clamp(2rem, 3vw, 2.8rem) !important;
  line-height: 1.02 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-progress-label,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-complete-label,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-overdue-label {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 24px !important;
  margin-top: 9px !important;
  padding: 0 9px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(250, 178, 75, .15) !important;
  color: rgba(45, 42, 34, .65) !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-progress {
  grid-column: 1 / -1 !important;
  height: 4px !important;
  margin: 0 !important;
  border: 0 !important;
  background: rgba(92, 70, 45, .11) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-progress i {
  background: linear-gradient(90deg, rgba(255, 107, 0, .78), rgba(54, 91, 66, .78)) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-actions {
  display: inline-flex !important;
  justify-content: end !important;
  gap: 8px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-actions button {
  min-width: 34px !important;
  min-height: 34px !important;
  border: 1px solid rgba(92, 70, 45, .14) !important;
  border-radius: 8px !important;
  background: rgba(255, 253, 248, .74) !important;
  box-shadow: none !important;
  color: rgba(45, 42, 34, .62) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .category-add-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .item {
  grid-template-columns: 24px minmax(0, 1fr) 32px !important;
  min-height: 44px !important;
  gap: 12px !important;
  padding: 8px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(92, 70, 45, .08) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .item:last-child {
  border-bottom: 0 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .item .editable {
  color: rgba(45, 42, 34, .78) !important;
  line-height: 1.35 !important;
}

@media (max-width: 980px) {
  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-workspace {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-nav {
    padding-left: 15px !important;
    overflow: visible !important;
  }
}

@media (max-width: 640px) {
  body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection > .row,
  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .category-add-row,
  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-header {
    grid-template-columns: 1fr !important;
  }

  body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection > .row button,
  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .category-add-row button {
    width: 100% !important;
  }
}

/* v290: Trip To-Do readable scheduler correction. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel > #preTripSection,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection.pack-panel-active {
  padding: 24px !important;
  border: 1px solid rgba(80, 67, 45, .14) !important;
  border-radius: 10px !important;
  background: rgba(255, 253, 248, .94) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection h3 {
  font-size: clamp(1.55rem, 2vw, 2rem) !important;
  line-height: 1.08 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection > .small {
  margin: 4px 0 18px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection > .row {
  grid-template-columns: minmax(180px, 1fr) auto !important;
  max-width: 410px !important;
  margin: 0 0 28px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-workspace {
  grid-template-columns: minmax(190px, 250px) minmax(0, 1fr) !important;
  gap: clamp(22px, 4vw, 42px) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-nav {
  display: grid !important;
  gap: 4px !important;
  padding: 0 !important;
  min-width: 190px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-nav::before,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab::before {
  content: none !important;
  display: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: start !important;
  min-height: 42px !important;
  padding: 8px 10px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.active {
  background: rgba(255, 243, 224, .74) !important;
  box-shadow: inset 3px 0 0 rgba(255, 107, 0, .55) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab:hover,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab:focus-visible {
  background: rgba(255, 248, 236, .9) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-main strong {
  font-size: .88rem !important;
  line-height: 1.2 !important;
  white-space: normal !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-main small {
  font-size: .7rem !important;
  line-height: 1.18 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-status {
  min-width: 28px !important;
  padding-top: 1px !important;
  font-size: .68rem !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day {
  padding: 0 !important;
  min-width: 0 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-header {
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 8px 14px !important;
  margin-bottom: 22px !important;
  padding-bottom: 14px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-title-wrap h4 {
  font-size: clamp(1.55rem, 2.3vw, 2rem) !important;
  line-height: 1.08 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-progress-label,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-complete-label,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-overdue-label {
  min-height: 20px !important;
  margin-top: 7px !important;
  padding: 0 7px !important;
  font-size: .66rem !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-actions {
  align-self: start !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-actions button {
  min-width: 28px !important;
  min-height: 28px !important;
  padding: 0 8px !important;
  font-size: .7rem !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .category-add-row {
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  margin-bottom: 22px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection > .row input,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .category-add-row input {
  min-width: 0 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection > .row button,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .category-add-row button {
  padding: 0 14px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .item {
  min-height: 40px !important;
  padding: 8px 0 !important;
}

@media (max-width: 760px) {
  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-workspace {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-nav {
    min-width: 0 !important;
  }
}

/* v291: Remove the stray selected-day divider/progress line. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-header {
  margin-bottom: 24px !important;
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-progress {
  display: none !important;
}

/* v292: Make selected day highlight cover the full schedule row. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-nav {
  width: 100% !important;
  box-sizing: border-box !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab {
  width: 100% !important;
  box-sizing: border-box !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  padding: 8px 10px 8px 12px !important;
  overflow: hidden !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.active {
  background: rgba(255, 243, 224, .9) !important;
  box-shadow: inset 4px 0 0 rgba(255, 107, 0, .68) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-main,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-status {
  position: relative !important;
  z-index: 1 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-status {
  justify-self: end !important;
}

/* v293: Tighten selected day task stack spacing. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-header {
  margin-bottom: 14px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-title-wrap h4 {
  margin-bottom: 0 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-progress-label,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-complete-label,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-overdue-label {
  margin-top: 5px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .category-add-row {
  margin: 0 0 12px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .item {
  min-height: 34px !important;
  padding: 5px 0 !important;
}

/* v294: Route stop badge/type icon spacing. */
.route-stop-item:not(.route-endpoint-row) {
  grid-template-columns: 22px 56px 42px minmax(0, 1fr) 72px 36px !important;
  column-gap: 14px !important;
}

.route-stop-item:not(.route-endpoint-row) .route-stop-badge {
  justify-self: start !important;
  width: 52px !important;
  min-width: 52px !important;
  padding-inline: 0 !important;
}

.route-stop-item:not(.route-endpoint-row) .route-stop-type-mark {
  justify-self: center !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  margin: 1px 0 0 !important;
}

/* v295: Further compact Trip To-Do selected day stack. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-header {
  margin-bottom: 8px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-title-wrap h4 {
  font-size: clamp(1.45rem, 2.05vw, 1.85rem) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-progress-label,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-complete-label,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-overdue-label {
  margin-top: 3px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .category-add-row {
  margin-bottom: 6px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .category-add-row input,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .category-add-row button {
  min-height: 36px !important;
  height: 36px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day > .item {
  min-height: 30px !important;
  padding: 3px 0 !important;
}

/* v296: Let day selector highlight wrap both lines of text. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab {
  height: auto !important;
  min-height: 48px !important;
  padding: 7px 10px 8px 12px !important;
  overflow: visible !important;
  align-items: center !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-main {
  display: grid !important;
  gap: 2px !important;
  min-height: 0 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-main strong,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-main small {
  overflow: visible !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-main small {
  margin-top: 0 !important;
  line-height: 1.15 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-status {
  align-self: center !important;
}

/* v297: Clean checkbox sizing and checked state for To-Do and Packing List. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection .camp-checkbox,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #checklist .camp-checkbox {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-grid !important;
  place-content: center !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  max-height: 18px !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1.5px solid rgba(45, 74, 62, .28) !important;
  border-radius: 5px !important;
  background: rgba(255, 253, 248, .9) !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection .camp-checkbox::before,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #checklist .camp-checkbox::before {
  content: "" !important;
  display: block !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 0 !important;
  background: #fffaf2 !important;
  box-shadow: none !important;
  clip-path: polygon(14% 44%, 0 59%, 39% 100%, 100% 16%, 84% 0, 37% 64%) !important;
  transform: scale(0) !important;
  transform-origin: center !important;
  transition: transform .12s ease !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection .camp-checkbox:checked,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #checklist .camp-checkbox:checked {
  border-color: var(--journal-pine, #2D4A3E) !important;
  background: var(--journal-pine, #2D4A3E) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection .camp-checkbox:checked::before,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #checklist .camp-checkbox:checked::before {
  transform: scale(1) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection .camp-checkbox:focus-visible,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #checklist .camp-checkbox:focus-visible {
  outline: 3px solid rgba(255, 107, 0, .18) !important;
  outline-offset: 2px !important;
}

/* v299: Clothes joins the Camp Packing List workspace pattern. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] #clothesSection {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
  margin-top: 12px !important;
  padding: clamp(22px, 3vw, 30px) !important;
  border: 1px solid rgba(80, 67, 45, .14) !important;
  border-radius: 10px !important;
  background: rgba(255, 253, 248, .94) !important;
  box-shadow: 0 18px 46px rgba(61, 48, 30, .08) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #clothesSection h3 {
  margin: 0 !important;
  color: var(--journal-pine-dark, #20382f) !important;
  font-size: clamp(1.55rem, 2vw, 2rem) !important;
  line-height: 1.08 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #clothesSection > .small {
  margin: 4px 0 18px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #clothesSection > .row {
  display: grid !important;
  grid-template-columns: minmax(180px, 1fr) auto !important;
  gap: 12px !important;
  max-width: 430px !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #clothesSection > .row input {
  min-height: 40px !important;
  border: 1px solid rgba(92, 70, 45, .2) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 252, .82) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #clothesSection > .row button {
  min-height: 40px !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  white-space: nowrap !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-trip-note {
  margin: 0 0 16px !important;
  color: rgba(45, 42, 34, .62) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-workspace {
  display: grid !important;
  grid-template-columns: minmax(210px, 28%) minmax(0, 1fr) !important;
  gap: clamp(24px, 4vw, 46px) !important;
  align-items: start !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-person-nav {
  display: grid !important;
  gap: 6px !important;
  min-width: 0 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-nav-label {
  display: grid !important;
  gap: 2px !important;
  padding: 0 10px 10px !important;
  border-bottom: 1px solid rgba(45, 74, 62, .12) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-nav-label strong {
  color: var(--journal-pine-dark, #20382f) !important;
  font-size: .98rem !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-nav-label small {
  color: rgba(45, 42, 34, .56) !important;
  font-size: .72rem !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-person-tab {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: 8px 10px 8px 12px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-person-tab.active {
  background: linear-gradient(90deg, rgba(45, 74, 62, .11), rgba(255, 243, 224, .62)) !important;
  box-shadow: inset 4px 0 0 rgba(45, 74, 62, .72) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-person-tab:hover,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-person-tab:focus-visible {
  background: rgba(45, 74, 62, .07) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-person-tab-main {
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-person-tab-main strong {
  overflow: hidden !important;
  color: var(--journal-pine-dark, #20382f) !important;
  font-size: .88rem !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-person-tab-main small,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-person-tab-count {
  color: rgba(32, 56, 47, .72) !important;
  font-size: .7rem !important;
  font-weight: 750 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-person-detail {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-person-detail .clothing-person-header {
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-person-detail .clothing-person-title h4 {
  color: var(--journal-pine-dark, #20382f) !important;
  font-size: clamp(1.45rem, 2.05vw, 1.85rem) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-person-detail .clothing-person-body {
  display: grid !important;
  gap: 10px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-person-detail .custom-clothing-row {
  margin: 0 0 4px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-person-detail .clothing-row {
  border: 0 !important;
  border-bottom: 1px solid rgba(92, 70, 45, .08) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-person-detail .clothing-row:hover {
  background: rgba(45, 74, 62, .045) !important;
}

@media (max-width: 820px) {
  body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-workspace,
  body[data-camp-workflow="pack"][data-pack-panel="prep"] #clothesSection > .row {
    grid-template-columns: 1fr !important;
  }
}

/* v300: Overdue Trip To-Do days win over selected/active styling. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.overdue,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.overdue.active {
  background: linear-gradient(90deg, rgba(178, 48, 41, .14), rgba(255, 245, 239, .82)) !important;
  box-shadow: inset 4px 0 0 rgba(178, 48, 41, .86) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.overdue .pretrip-day-tab-main strong,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.overdue .pretrip-day-tab-status {
  color: #9f2d29 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.overdue .pretrip-day-tab-main small {
  color: rgba(129, 38, 34, .72) !important;
}

/* v301: Focused Trip To-Do green/orange state accents. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection h3 {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection h3::before {
  content: "" !important;
  display: inline-block !important;
  width: 9px !important;
  height: 9px !important;
  flex: 0 0 9px !important;
  border-radius: 2px !important;
  background: var(--camp-orange, #ff7417) !important;
  transform: rotate(45deg) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.active {
  background: linear-gradient(90deg, rgba(45, 74, 62, .1), rgba(255, 253, 248, .88)) !important;
  box-shadow: inset 4px 0 0 var(--journal-pine, #2d4a3e) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.active .pretrip-day-tab-main strong,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.active .pretrip-day-tab-status {
  color: var(--journal-pine-dark, #20382f) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.complete .pretrip-day-tab-main strong,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.complete .pretrip-day-tab-status,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-complete-label {
  color: var(--journal-pine, #2d4a3e) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.complete {
  box-shadow: inset 4px 0 0 rgba(45, 74, 62, .72) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection .camp-checkbox:checked,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #checklist .camp-checkbox:checked {
  border-color: var(--journal-pine-dark, #20382f) !important;
  background: linear-gradient(180deg, var(--journal-pine, #2d4a3e), var(--journal-pine-dark, #20382f)) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.overdue,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.overdue.active {
  background: linear-gradient(90deg, rgba(178, 48, 41, .14), rgba(255, 245, 239, .82)) !important;
  box-shadow: inset 4px 0 0 rgba(178, 48, 41, .86) !important;
}

/* v302: Trip To-Do matches Camp Packing List card width. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel > #preTripSection,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection.pack-panel-active {
  grid-column: 1 / -1 !important;
  justify-self: stretch !important;
  width: 100% !important;
  max-width: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripTodoList,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-workspace {
  width: 100% !important;
  max-width: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-workspace {
  grid-template-columns: minmax(220px, 28%) minmax(0, 1fr) !important;
  gap: clamp(28px, 5vw, 58px) !important;
}

/* v304: Selected Trip To-Do day uses one border color. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.active:not(.overdue) {
  border-left-color: transparent !important;
  box-shadow: inset 4px 0 0 var(--journal-pine, #2d4a3e) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.active:not(.overdue) .pretrip-day-tab-main strong,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.active:not(.overdue) .pretrip-day-tab-main small,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.active:not(.overdue) .pretrip-day-tab-status {
  color: var(--journal-pine, #2d4a3e) !important;
}

/* v305: Completed Packing List categories highlight green. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.complete {
  background: linear-gradient(90deg, rgba(45, 74, 62, .12), rgba(255, 253, 248, .86)) !important;
  box-shadow: inset 4px 0 0 var(--journal-pine, #2d4a3e) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.complete .packing-category-tab-main strong,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.complete .packing-category-tab-main small,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.complete .packing-category-count {
  color: var(--journal-pine, #2d4a3e) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.complete .packing-category-progress i {
  background: var(--journal-pine, #2d4a3e) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-detail.category-complete {
  border-top-color: var(--journal-pine, #2d4a3e) !important;
}

/* v306: Softer completed category green with a single accent. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.complete {
  background: rgba(45, 74, 62, .045) !important;
  border-left-color: transparent !important;
  box-shadow: inset 3px 0 0 rgba(45, 74, 62, .42) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.complete.active {
  background: linear-gradient(90deg, rgba(45, 74, 62, .075), rgba(255, 253, 248, .82)) !important;
  border-left-color: transparent !important;
  box-shadow: inset 3px 0 0 rgba(45, 74, 62, .5) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.complete .packing-category-tab-main strong,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.complete .packing-category-tab-main small,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.complete .packing-category-count {
  color: rgba(32, 56, 47, .74) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.complete .packing-category-progress i {
  background: rgba(45, 74, 62, .58) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-detail.category-complete {
  border-top-color: rgba(45, 74, 62, .36) !important;
}

/* v307: Brighter completed category green, still restrained. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.complete {
  background: rgba(72, 132, 83, .095) !important;
  box-shadow: inset 3px 0 0 rgba(62, 139, 76, .7) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.complete.active {
  background: linear-gradient(90deg, rgba(72, 132, 83, .14), rgba(255, 253, 248, .86)) !important;
  box-shadow: inset 3px 0 0 rgba(62, 139, 76, .76) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.complete .packing-category-tab-main strong,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.complete .packing-category-tab-main small,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.complete .packing-category-count {
  color: #2f7f44 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.complete .packing-category-progress i {
  background: #3e8b4c !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-detail.category-complete {
  border-top-color: rgba(62, 139, 76, .55) !important;
}

/* v308: Excel-style green completion highlight. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.complete,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.complete.active {
  background: #e2f0d9 !important;
  border-left-color: transparent !important;
  box-shadow: inset 3px 0 0 #70ad47 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.complete .packing-category-tab-main strong,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.complete .packing-category-tab-main small,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.complete .packing-category-count {
  color: #375623 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.complete .packing-category-progress {
  background: rgba(112, 173, 71, .18) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.complete .packing-category-progress i {
  background: #70ad47 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-detail.category-complete {
  border-top-color: #70ad47 !important;
}

/* v309: Make every Pack prep panel share the same full-width track. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  justify-items: stretch !important;
  align-items: start !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel > #preTripSection,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel > #packingSection,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel > #checklist,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel > #remainingItemsPanel {
  grid-column: 1 / -1 !important;
  justify-self: stretch !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* v303: Clothes lives inside Camp Packing List, not as a separate card. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] #clothesSection {
  display: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-clothes-tab strong {
  color: var(--journal-pine-dark, #20382f) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-packing-detail .packing-category-detail-header {
  margin-bottom: 14px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-packing-body {
  display: grid !important;
  gap: 12px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-packing-body .clothing-trip-note {
  margin: 0 !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-add-person-row {
  display: grid !important;
  grid-template-columns: minmax(180px, 1fr) auto !important;
  gap: 10px !important;
  max-width: 430px !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-add-person-row input,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-add-person-row button {
  min-height: 38px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-packing-detail .clothing-workspace {
  grid-template-columns: minmax(190px, 28%) minmax(0, 1fr) !important;
  gap: clamp(22px, 4vw, 42px) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-packing-detail .clothing-person-detail .clothing-person-header {
  margin-bottom: 10px !important;
}

@media (max-width: 820px) {
  body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-add-person-row,
  body[data-camp-workflow="pack"][data-pack-panel="prep"] .clothing-packing-detail .clothing-workspace {
    grid-template-columns: 1fr !important;
  }
}

/* v310: Keep To-Do and Packing List checkboxes square after shared input styles. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel #preTripSection input.camp-checkbox[type="checkbox"],
body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel #checklist input.camp-checkbox[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-grid !important;
  place-content: center !important;
  inline-size: 20px !important;
  block-size: 20px !important;
  width: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  height: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;
  aspect-ratio: 1 / 1 !important;
  flex: 0 0 20px !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1.5px solid rgba(45, 74, 62, .28) !important;
  border-radius: 5px !important;
  background: rgba(255, 253, 248, .96) !important;
  box-shadow: none !important;
  line-height: 1 !important;
  transform: none !important;
  cursor: pointer !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel #preTripSection input.camp-checkbox[type="checkbox"]::before,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel #checklist input.camp-checkbox[type="checkbox"]::before {
  content: "" !important;
  display: block !important;
  inline-size: 11px !important;
  block-size: 11px !important;
  background: #fffdf8 !important;
  clip-path: polygon(14% 54%, 0 68%, 40% 100%, 100% 18%, 84% 5%, 36% 72%) !important;
  transform: scale(0) !important;
  transform-origin: center !important;
  transition: transform .12s ease !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel #preTripSection input.camp-checkbox[type="checkbox"]:checked,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel #checklist input.camp-checkbox[type="checkbox"]:checked {
  border-color: var(--journal-pine, #2d4a3e) !important;
  background: var(--journal-pine, #2d4a3e) !important;
  box-shadow: 0 0 0 3px rgba(45, 74, 62, .1) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel #preTripSection input.camp-checkbox[type="checkbox"]:checked::before,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel #checklist input.camp-checkbox[type="checkbox"]:checked::before {
  transform: scale(1) !important;
}

/* v311: Force Trip To-Do onto the same full-width prep row as Camp Packing List. */
html body[data-camp-workflow="pack"][data-pack-panel="prep"] section#adventureReadiness #packWorkspacePanel.pack-workspace-panel {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  justify-content: stretch !important;
  justify-items: stretch !important;
  align-items: start !important;
  width: 100% !important;
  max-width: none !important;
}

html body[data-camp-workflow="pack"][data-pack-panel="prep"] section#adventureReadiness #packWorkspacePanel.pack-workspace-panel > section#preTripSection.card.camp-stage-section.pack-panel-active {
  display: block !important;
  grid-column: 1 / -1 !important;
  justify-self: stretch !important;
  align-self: stretch !important;
  width: 100% !important;
  inline-size: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

html body[data-camp-workflow="pack"][data-pack-panel="prep"] section#adventureReadiness #packWorkspacePanel.pack-workspace-panel > section#preTripSection.card.camp-stage-section.pack-panel-active .pretrip-workspace {
  width: 100% !important;
  max-width: none !important;
  grid-template-columns: minmax(220px, 28%) minmax(0, 1fr) !important;
}

/* v312: Custom square check controls and green prep highlights. */
body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection .camp-check-control,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #checklist .camp-check-control {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-grid !important;
  place-content: center !important;
  width: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  height: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;
  flex: 0 0 20px !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1.5px solid rgba(45, 74, 62, .28) !important;
  border-radius: 5px !important;
  background: rgba(255, 253, 248, .96) !important;
  box-shadow: none !important;
  line-height: 1 !important;
  color: #fffdf8 !important;
  cursor: pointer !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection .camp-check-control .camp-check-control-mark,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #checklist .camp-check-control .camp-check-control-mark {
  display: block !important;
  width: 11px !important;
  height: 11px !important;
  background: currentColor !important;
  clip-path: polygon(14% 54%, 0 68%, 40% 100%, 100% 18%, 84% 5%, 36% 72%) !important;
  transform: scale(0) !important;
  transform-origin: center !important;
  transition: transform .12s ease !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection .camp-check-control.checked,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #checklist .camp-check-control.checked {
  border-color: var(--journal-pine, #2d4a3e) !important;
  background: var(--journal-pine, #2d4a3e) !important;
  box-shadow: 0 0 0 3px rgba(45, 74, 62, .1) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection .camp-check-control.checked .camp-check-control-mark,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #checklist .camp-check-control.checked .camp-check-control-mark {
  transform: scale(1) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #preTripSection .camp-check-control:focus-visible,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #checklist .camp-check-control:focus-visible {
  outline: 2px solid rgba(45, 74, 62, .38) !important;
  outline-offset: 3px !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] #packingSection,
body[data-camp-workflow="pack"][data-pack-panel="prep"] #checklist .packing-category-detail,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day {
  border-top-color: rgba(45, 74, 62, .76) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.active:not(.overdue) {
  border-left-color: transparent !important;
  background: linear-gradient(90deg, rgba(45, 74, 62, .11), rgba(255, 253, 248, .86)) !important;
  box-shadow: inset 4px 0 0 var(--journal-pine, #2d4a3e) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.active {
  border-left-color: transparent !important;
  background: linear-gradient(90deg, rgba(45, 74, 62, .1), rgba(255, 253, 248, .88)) !important;
  box-shadow: inset 4px 0 0 var(--journal-pine, #2d4a3e) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.active:not(.overdue)::before {
  background: var(--journal-pine, #2d4a3e) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.active:not(.overdue) .pretrip-day-tab-main strong,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.active:not(.overdue) .pretrip-day-tab-main small,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab.active:not(.overdue) .pretrip-day-tab-status,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.active .packing-category-tab-main strong,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.active .packing-category-tab-main small,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-tab.active .packing-category-count {
  color: var(--journal-pine, #2d4a3e) !important;
}

body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-category-progress i,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .packing-detail-progress i,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-progress i,
body[data-camp-workflow="pack"][data-pack-panel="prep"] .pretrip-day-tab-progress i {
  background: var(--journal-pine, #2d4a3e) !important;
}
