/**
 * UNIVRS v1.5.2.5.5.4 — Trips route integrity, capacity colors, and Map order.
 * The active World remains the visual source of truth.
 */

/* A route may show only its owned content. */
.univrs-app [data-plan-workspace] [hidden],
.univrs-app [data-plan-workspace] [data-uv-trip-custom][hidden],
.univrs-app [data-plan-workspace] [data-uv-overview-strategy][hidden] {
  display: none !important;
}

.univrs-app .uv-overview-itinerary-v15254,
.univrs-app .uv-trip-crowd-overview-v152554,
.univrs-app .uv-trip-crowd-days-v152554 {
  width: 100%;
  min-width: 0;
  margin: 24px 0;
  padding: clamp(20px, 2.3vw, 28px);
  border: 1px solid var(--u-line);
  border-radius: 28px;
  background: color-mix(in srgb, var(--u-card) 93%, transparent);
  color: var(--u-ink);
  box-shadow: var(--u-shadow-sm);
}

.univrs-app .uv-overview-itinerary-v15254 > header,
.univrs-app .uv-trip-crowd-overview-v152554 > header,
.univrs-app .uv-trip-crowd-days-v152554 > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}

.univrs-app .uv-overview-itinerary-v15254 > header small,
.univrs-app .uv-trip-crowd-overview-v152554 > header small,
.univrs-app .uv-trip-crowd-days-v152554 > header small {
  color: var(--u-rose);
  font: 900 10px/1 var(--u-font-mono);
  letter-spacing: .14em;
  text-transform: uppercase;
}

.univrs-app .uv-overview-itinerary-v15254 > header h2,
.univrs-app .uv-trip-crowd-overview-v152554 > header h2,
.univrs-app .uv-trip-crowd-days-v152554 > header h2 {
  margin: .25rem 0;
  color: var(--u-ink);
  font: 900 clamp(26px, 2.5vw, 38px)/1 var(--u-font-display);
  letter-spacing: -.035em;
}

.univrs-app .uv-overview-itinerary-v15254 > header p,
.univrs-app .uv-trip-crowd-overview-v152554 > header p,
.univrs-app .uv-trip-crowd-days-v152554 > header p {
  margin: 0;
  color: var(--u-muted);
}

.univrs-app .uv-overview-itinerary-v15254 button,
.univrs-app .uv-trip-crowd-overview-v152554 button,
.univrs-app .uv-trip-crowd-days-v152554 button {
  border-color: var(--u-line);
  background: var(--u-paper);
  color: var(--u-ink);
}

/* Overview remains a compact summary, never the full matrix. */
.univrs-app .uv-trip-crowd-overview-grid-v152554 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.univrs-app .uv-trip-crowd-overview-grid-v152554 article {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--u-line);
  border-radius: 18px;
  background: var(--u-paper);
}

.univrs-app .uv-trip-crowd-overview-grid-v152554 article small {
  color: currentColor;
  font: 900 9px/1 var(--u-font-mono);
  letter-spacing: .1em;
  text-transform: uppercase;
  opacity: .72;
}

.univrs-app .uv-trip-crowd-overview-grid-v152554 article b {
  overflow-wrap: anywhere;
  font-size: 18px;
}

.univrs-app .uv-trip-crowd-overview-grid-v152554 article span {
  color: currentColor;
  font-size: 13px;
  opacity: .86;
}

/* Days owns the complete date-by-park comparison matrix. */
.univrs-app .uv-trip-crowd-table-wrap-v152554 {
  width: 100%;
  overflow: auto;
  border: 1px solid var(--u-line);
  border-radius: 20px;
  background: var(--u-paper);
}

.univrs-app .uv-trip-crowd-table-wrap-v152554 table {
  width: 100%;
  min-width: 760px;
  border-collapse: separate;
  border-spacing: 0;
}

.univrs-app .uv-trip-crowd-table-wrap-v152554 th,
.univrs-app .uv-trip-crowd-table-wrap-v152554 td {
  padding: 10px;
  border-right: 1px solid var(--u-line);
  border-bottom: 1px solid var(--u-line);
  text-align: left;
  vertical-align: middle;
}

.univrs-app .uv-trip-crowd-table-wrap-v152554 thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: color-mix(in srgb, var(--u-card) 96%, var(--u-paper));
  color: var(--u-ink);
  font-weight: 900;
}

.univrs-app .uv-trip-crowd-table-wrap-v152554 tbody th {
  position: sticky;
  left: 0;
  z-index: 1;
  min-width: 150px;
  background: color-mix(in srgb, var(--u-card) 96%, var(--u-paper));
}

.univrs-app .uv-trip-crowd-table-wrap-v152554 tbody th b,
.univrs-app .uv-trip-crowd-table-wrap-v152554 tbody th small {
  display: block;
}

.univrs-app .uv-trip-crowd-table-wrap-v152554 tbody th small {
  margin-top: 3px;
  color: var(--u-muted);
  font-size: 10px;
}

.univrs-app .uv-trip-capacity-v152554 {
  display: grid;
  gap: 3px;
  width: 100%;
  min-width: 118px;
  min-height: 68px;
  padding: 11px 12px;
  border: 1px solid transparent !important;
  border-radius: 15px;
  text-align: left;
  box-shadow: none !important;
}

.univrs-app .uv-trip-capacity-v152554 b { font-size: 18px; }
.univrs-app .uv-trip-capacity-v152554 span { font-size: 12px; font-weight: 800; }

/* Authoritative capacity states. */
.univrs-app .uv-trip-crowd-overview-grid-v152554 article.is-low,
.univrs-app .uv-overview-itinerary-v15254 .is-crowd.is-low,
.univrs-app .uv-trip-capacity-v152554.is-low {
  border-color: #73b995 !important;
  background: #dff4e7 !important;
  color: #0d5b3a !important;
}

.univrs-app .uv-trip-crowd-overview-grid-v152554 article.is-moderate,
.univrs-app .uv-overview-itinerary-v15254 .is-crowd.is-moderate,
.univrs-app .uv-trip-capacity-v152554.is-moderate {
  border-color: #dec653 !important;
  background: #fff3b8 !important;
  color: #635000 !important;
}

.univrs-app .uv-trip-crowd-overview-grid-v152554 article.is-busy,
.univrs-app .uv-overview-itinerary-v15254 .is-crowd.is-busy,
.univrs-app .uv-trip-capacity-v152554.is-busy {
  border-color: #e7a25d !important;
  background: #ffe0bf !important;
  color: #743900 !important;
}

.univrs-app .uv-trip-crowd-overview-grid-v152554 article.is-very-busy,
.univrs-app .uv-overview-itinerary-v15254 .is-crowd.is-very-busy,
.univrs-app .uv-trip-capacity-v152554.is-very-busy {
  border-color: #df746f !important;
  background: #ffd4d1 !important;
  color: #7a1f1d !important;
}

.univrs-app .uv-trip-crowd-overview-grid-v152554 article.is-unavailable,
.univrs-app .uv-overview-itinerary-v15254 .is-crowd.is-unavailable,
.univrs-app .uv-trip-capacity-v152554.is-unavailable {
  border-color: #b9c0c1 !important;
  background: #e9edee !important;
  color: #4f5b5d !important;
}

.univrs-app .uv-trip-crowd-empty-v152554 {
  padding: 22px;
  border: 1px dashed var(--u-line);
  border-radius: 18px;
  background: var(--u-paper);
}

/* The park map is the primary exploration surface; waits follow it. */
.univrs-app .univrs-map-stage-head { margin-top: 20px; }
.univrs-app .univrs-map-explore-v152553 { margin-top: 22px !important; }

@media (max-width: 900px) {
  .univrs-app .uv-trip-crowd-overview-grid-v152554 { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .univrs-app .uv-overview-itinerary-v15254 > header,
  .univrs-app .uv-trip-crowd-overview-v152554 > header,
  .univrs-app .uv-trip-crowd-days-v152554 > header { display: grid; }
  .univrs-app .uv-overview-itinerary-v15254 > header button,
  .univrs-app .uv-trip-crowd-overview-v152554 > header button { width: 100%; }
}

/* Neutralize the older hard-coded white itinerary rows so the active World owns them. */
.univrs-app .uv-overview-itinerary-v15254 > div {
  display: grid;
  gap: 10px;
}

.univrs-app .uv-overview-itinerary-v15254 article {
  border-color: var(--u-line) !important;
  background: var(--u-paper) !important;
  color: var(--u-ink) !important;
  box-shadow: none !important;
}

.univrs-app .uv-overview-itinerary-v15254 article time {
  color: var(--u-world-foundation, var(--u-lagoon)) !important;
}

.univrs-app .uv-overview-itinerary-v15254 article h3 {
  color: var(--u-ink) !important;
}

.univrs-app .uv-overview-itinerary-v15254 article p {
  color: var(--u-muted) !important;
}

.univrs-app .uv-overview-itinerary-v15254 .is-crowd {
  border: 1px solid currentColor;
}

/* Keep the selected-trip workspace in the established single content flow. */
.univrs-app [data-plan-workspace][data-uv-trip-mode="workspace"] .univrs-trips-shell-v1398 {
  display: block !important;
  grid-template-columns: none !important;
}

.univrs-app [data-plan-workspace][data-uv-trip-mode="workspace"] [data-uv-trip-workspace-nav],
.univrs-app [data-plan-workspace][data-uv-trip-mode="workspace"] .univrs-trip-hero-v1398,
.univrs-app [data-plan-workspace][data-uv-trip-mode="workspace"] .univrs-trip-stats-v1398,
.univrs-app [data-plan-workspace][data-uv-trip-mode="workspace"] [data-overview-itinerary-v15254],
.univrs-app [data-plan-workspace][data-uv-trip-mode="workspace"] [data-uv-overview-strategy],
.univrs-app [data-plan-workspace][data-uv-trip-mode="workspace"] [data-trip-crowd-overview-v152554],
.univrs-app [data-plan-workspace][data-uv-trip-mode="workspace"] [data-trip-crowd-days-v152554],
.univrs-app [data-plan-workspace][data-uv-trip-mode="workspace"] [data-plan-section="days"],
.univrs-app [data-plan-workspace][data-uv-trip-mode="workspace"] [data-uv-trip-custom] {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}
