:root { --reading-size: 18px; }
html[data-text-size="large"] { --reading-size: 20px; }
html[data-text-size="extra-large"] { --reading-size: 22px; }

html body.signed-in-shell {
  color: #193238;
  background: #fff7fb;
  font-size: var(--reading-size);
  line-height: 1.6;
}

html body.signed-in-shell :is(button, input, select, textarea, label, p, li, summary, .settings-row strong, .settings-row span) {
  font-size: var(--reading-size) !important;
  letter-spacing: 0 !important;
  line-height: 1.5 !important;
}

html body.signed-in-shell :is(button, select, input:not([type="checkbox"]):not([type="radio"]), summary) {
  min-height: 48px;
}

html body.signed-in-shell :is(input[type="checkbox"], input[type="radio"]) {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  accent-color: #076b65;
}

html body.signed-in-shell :is(h1, h2) { font-size: 28px !important; line-height: 1.3 !important; }
html body.signed-in-shell h3 { font-size: 22px !important; line-height: 1.4 !important; }
html body.signed-in-shell :is(h1, h2, h3, h4, p, strong, label) { overflow-wrap: anywhere; }
html body.signed-in-shell :focus-visible { outline: 3px solid #076b65 !important; outline-offset: 3px; }
html body.signed-in-shell [hidden] { display: none !important; }

html body.signed-in-shell .sidebar {
  background: #fff !important;
  color: #292432 !important;
  border-right: 1px solid #ecd8e7;
}

html body.signed-in-shell .sidebar .brand { background: linear-gradient(115deg, #b81d78, #d43b37 65%, #b64b10); padding: 12px; border-radius: 6px; }
html body.signed-in-shell .simple-main-menu { display: grid !important; gap: 6px; margin-top: 20px; }
html body.signed-in-shell .simple-main-menu > button {
  display: block !important;
  width: 100%;
  padding: 12px 16px !important;
  text-align: left;
  color: #292432 !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  border-left: 4px solid var(--nav-accent, #cb247d) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  font-weight: 600;
}
html body.signed-in-shell .simple-main-menu > button.active {
  color: #fff !important;
  background: linear-gradient(110deg, #ac197e, #c83252 65%, #ae4714) !important;
  border-color: transparent !important;
}
html body.signed-in-shell .simple-main-menu [hidden],
html body.signed-in-shell #adminPanel [hidden] { display: none !important; }
html body.signed-in-shell .simple-main-menu .corporate-entry-nav { margin-top: 16px; border-top: 1px solid #ccd8dc; }
html body.signed-in-shell .trip-tab-bar { display: none !important; }
html body.signed-in-shell .topbar { background: #fff !important; padding: 12px 0 !important; min-height: 72px; box-shadow: none !important; border-bottom: 1px solid #ccd8dc; }
html body.signed-in-shell .topbar > .search { display: none !important; }
html body.signed-in-shell .topbar { display: flex !important; justify-content: flex-end; gap: 16px; }
html body.signed-in-shell #letsPlanButton { flex: 0 0 auto !important; width: auto !important; padding: 10px 20px !important; background: linear-gradient(110deg, #ac197e, #c83252 65%, #ae4714) !important; color: #fff !important; border-radius: 6px !important; box-shadow: none !important; }
html body.signed-in-shell .topbar .profile-avatar-button { display: flex; gap: 10px; width: auto !important; height: auto !important; padding: 6px 12px !important; background: #fff !important; color: #193238 !important; border: 1px solid #aebfc5; border-radius: 6px; }
html body.signed-in-shell .topbar .profile-photo-avatar { width: 32px; height: 32px; font-size: 14px; }
html body.signed-in-shell #globalDestinationHeader { display: none !important; }
html body.signed-in-shell[data-active-route="exploreDrops"] #globalDestinationHeader:not([hidden]) {
  display: grid !important;
  position: relative !important;
  top: auto;
  grid-template-columns: 128px minmax(0, 1fr) auto !important;
  gap: 16px;
  padding: 16px;
  min-height: 120px;
  border: 0;
  border-left: 6px solid #e72b86;
  border-radius: 6px;
  background: linear-gradient(110deg, #ffe2ee, #fff0d6 60%, #d7f7f2);
  box-shadow: none;
  opacity: 1;
  transform: none;
}
html body.signed-in-shell #dashboardHome.destination-banner:not([hidden]) {
  display: block !important;
  position: relative;
  overflow: hidden;
  border-radius: 8px !important;
  margin-bottom: 24px;
}
html body.signed-in-shell #dashboardHome.destination-banner .hero-copy {
  width: min(780px, 85%) !important;
  padding: 36px 32px 92px !important;
  color: #fff !important;
}
html body.signed-in-shell #dashboardHome.destination-banner :is(h1, p, .destination-banner-meta span) { color: #fff !important; }
html body.signed-in-shell #dashboardHome.destination-banner h1 { font-size: 40px !important; }
html body.signed-in-shell #dashboardHome.destination-banner::after {
  background: linear-gradient(90deg, rgb(0 0 0 / 78%), rgb(0 0 0 / 46%) 65%, rgb(0 0 0 / 12%));
}
html body.signed-in-shell #dashboardHome.destination-banner .destination-banner-meta {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
  background: transparent;
  backdrop-filter: none;
  max-height: none !important;
  overflow: visible !important;
}
html body.app-routed.signed-in-shell #dashboardHome.destination-banner .destination-banner-meta span,
html body.app-routed.signed-in-shell #dashboardHome.destination-banner .destination-banner-meta span:nth-child(even) {
  display: block !important;
  font-size: 16px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  backdrop-filter: none !important;
  line-height: 1.5 !important;
}
html body.signed-in-shell #dashboardHome.destination-banner .hero-actions { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 10px !important; justify-content: flex-start !important; }
html body.signed-in-shell #dashboardHome.destination-banner .hero-actions button { min-height: 48px !important; font-size: 18px !important; border-radius: 6px !important; width: auto !important; }
html body.signed-in-shell #dashboardHome.destination-banner .icon-button {
  width: 48px; height: 48px; min-width: 48px;
  color: #fff; background: #193238; border: 1px solid #fff;
}
html body.signed-in-shell #destinationDots { display: none !important; }
html body.signed-in-shell #dashboardHome.is-transitioning :is(img, .hero-copy) {
  opacity: 1; filter: none; transform: none; animation: none;
}
@media (max-width: 760px) {
  html body.signed-in-shell #dashboardHome.destination-banner .hero-copy {
    width: 100% !important; padding: 80px 20px 88px !important;
  }
  html body.signed-in-shell #dashboardHome.destination-banner h1 { font-size: 32px !important; }
  html body.app-routed.signed-in-shell #dashboardHome :is(#livePlanDescription, #livePlanSeason, #livePlanGreeting) { display: none !important; }
  html body.signed-in-shell #dashboardHome.destination-banner::after { background: rgb(0 0 0 / 65%); }
}
html body.signed-in-shell #globalDestinationHeader img { width: 128px; height: 88px; border-radius: 6px; object-fit: cover; }
html body.signed-in-shell #globalDestinationHeader .global-destination-copy { color: #193238; }
html body.signed-in-shell #globalDestinationHeader .global-destination-copy :is(span, strong, p) { color: inherit; }
html body.signed-in-shell #globalDestinationHeader .global-destination-copy p { margin: 4px 0 0; }
html body.signed-in-shell #globalDestinationHeader .global-destination-actions button { background: #fff; color: #07544f; border: 1px solid #00788a; border-radius: 6px; white-space: normal; overflow-wrap: anywhere; height: auto; padding: 10px 14px; }
html body.signed-in-shell #widgetGrid .travel-widget[data-widget="upcoming"] { border-top: 4px solid #e72b86 !important; background: #fff0f7 !important; }
html body.signed-in-shell #widgetGrid .travel-widget[data-widget="budget"] { border-top: 4px solid #f17b25 !important; background: #fff5e7 !important; }
html body.signed-in-shell #widgetGrid .travel-widget[data-widget="weather"] { border-top: 4px solid #00a9b2 !important; background: #e9fbf9 !important; }

html body.signed-in-shell :is(.section-heading, .account-live-dashboard, .account-empty-dashboard) { background: transparent !important; box-shadow: none !important; }
html body.signed-in-shell .section-heading { border: 0 !important; border-radius: 0 !important; }
html body.signed-in-shell .section-heading > div > p:not(.eyebrow) { max-width: 62ch; }
html body.signed-in-shell :is(.section-heading .eyebrow, #widgetStatusMessage, #settingsStatusMessage, .widget-toolbar button) { display: none !important; }
html body.signed-in-shell :is(.widget-grid, #widgetGrid) { grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)) !important; }
html body.signed-in-shell .travel-widget { grid-column: auto !important; grid-row: auto !important; min-height: 0 !important; padding: 20px !important; background: #fff !important; border: 1px solid #d3dfe2 !important; border-radius: 6px !important; box-shadow: none !important; }
html body.signed-in-shell .widget-toolbar { font-size: var(--reading-size); color: #3e5962; }

html body.signed-in-shell .simple-disclosure { display: block; width: 100%; min-width: 0; margin: 20px 0; padding: 0; border: 0; border-top: 1px solid #bacbd1; border-radius: 0; background: transparent; box-shadow: none; }
html body.signed-in-shell .simple-disclosure > summary { padding: 18px 4px; color: #164d50; font-weight: 650; cursor: pointer; }
html body.signed-in-shell .simple-disclosure:not([open]) > :not(summary) { display: none !important; }
html body.signed-in-shell .simple-disclosure > :not(summary) { margin-top: 14px; }
html body.signed-in-shell #tripsPanel.is-account-live > :not(.account-route-live),
html body.signed-in-shell #tripsPanel.is-account-creation > :is(.feature-toggle-grid, .solo-dashboard-grid, .solo-feature-grid, .solo-support-grid) { display: none !important; }
html body.signed-in-shell #aiTravelPlanner .ai-planner-shell { display: block !important; }
html body.signed-in-shell .wallet-dashboard-sections { display: block !important; }
html body.signed-in-shell .current-weather-view { padding: 20px; background: #fff; scroll-margin-top: 90px; }
html body.signed-in-shell .current-weather-output { min-height: 96px; margin: 16px 0; }
html body.signed-in-shell .current-weather-output strong { display: block; }
html body.signed-in-shell .current-weather-output small,
html body.signed-in-shell [data-widget="weather"] > small { display: block; color: #52676d; line-height: 1.5; }
html body.signed-in-shell .removed-trip-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 0; border-bottom: 1px solid #ccd8dc; }
html body.signed-in-shell .saved-record-list .remove-trip-button { width: auto !important; color: #96392e; }
html body.signed-in-shell #internalServiceDiagnostics { display: none !important; }
html body.signed-in-shell :is(.security-status-grid, .security-control-grid, .fraud-signal-list, #securityAuditMessage, #backendReadiness, #goLiveReadiness, .navigation-audit-panel) { display: none !important; }
html body.signed-in-shell #aiTravelPlanner > .section-heading p { display: none !important; }
html body.signed-in-shell #aiTravelPlanner .ai-planner-chat { background: #fff !important; border-radius: 6px; box-shadow: none; padding: 20px; }

html body.signed-in-shell #adminPanel { padding: 24px !important; background: #fff !important; scroll-margin-top: 92px; }
html body.signed-in-shell #adminPanel .settings-shell { display: grid !important; grid-template-columns: 230px minmax(0, 1fr) !important; gap: 32px; }
html body.signed-in-shell #adminPanel .settings-nav-panel { display: flex !important; flex-direction: column; gap: 4px; padding: 0 !important; background: transparent !important; box-shadow: none !important; border: 0 !important; }
html body.signed-in-shell #adminPanel .settings-shell > .settings-nav-panel { grid-column: 1 !important; grid-row: 1 !important; width: 100% !important; }
html body.signed-in-shell #adminPanel .settings-shell > .settings-main-panel { grid-column: 2 !important; grid-row: 1 !important; display: block !important; width: 100% !important; }
html body.signed-in-shell #adminPanel .settings-nav-panel > label { display: none !important; }
html body.signed-in-shell #adminPanel .settings-nav-panel button { width: 100%; min-height: 48px; padding: 10px 12px !important; border: 0 !important; border-radius: 6px !important; text-align: left; background: transparent !important; color: #193238 !important; box-shadow: none !important; }
html body.signed-in-shell #adminPanel .settings-nav-panel button.active { background: #ffe3f0 !important; color: #9c155f !important; font-weight: 700; }
html body.signed-in-shell #adminPanel .settings-main-panel { min-width: 0; padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
html body.signed-in-shell #adminPanel .settings-section { padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
html body.signed-in-shell #adminPanel .settings-section[hidden] { display: none !important; }
html body.signed-in-shell #adminPanel [data-settings-panel] > div:first-child > p { display: none !important; }
html body.signed-in-shell #adminPanel .settings-row { padding: 18px 0 !important; border: 0 !important; border-bottom: 1px solid #d3dfe2 !important; background: transparent !important; border-radius: 0 !important; box-shadow: none !important; }
html body.signed-in-shell #adminPanel .settings-row strong { text-transform: none !important; }
html body.signed-in-shell #adminPanel .settings-row > div { min-width: 0; }
html body.signed-in-shell #adminPanel .settings-row span { color: #52676d; }
html body.signed-in-shell #adminPanel .settings-row :is(button, select) { max-width: 100%; min-width: 96px; }
html body.signed-in-shell #adminPanel .profile-personal-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 20px; }
html body.signed-in-shell #adminPanel .profile-personal-grid article { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
html body.signed-in-shell #adminPanel .profile-personal-grid label { display: grid; gap: 8px; margin-bottom: 16px; }
html body.signed-in-shell #adminPanel .profile-personal-grid input { width: 100%; min-width: 0; }
html body.signed-in-shell .account-section-picker { display: none; }

/* Saturated accents frame the content; long-form text stays on quiet surfaces. */
html body.signed-in-shell .simple-main-menu > button:nth-child(4n + 2) { --nav-accent: #ef7626; }
html body.signed-in-shell .simple-main-menu > button:nth-child(4n + 3) { --nav-accent: #008e9d; }
html body.signed-in-shell .simple-main-menu > button:nth-child(4n + 4) { --nav-accent: #8656c9; }
html body.signed-in-shell .simple-main-menu > button:not(.active):hover { background: #fff0f7 !important; }
html body.signed-in-shell .sidebar :is(.status-card, .corporate-entry-nav) { background: #fff5fa !important; color: #4b3546 !important; }
html body.signed-in-shell .sidebar :is(.status-card span, .status-card strong, .corporate-entry-nav summary) { color: #4b3546 !important; }
html body.signed-in-shell .topbar { border-bottom: 3px solid #ea4592; }
html body.signed-in-shell .primary-button { background: linear-gradient(110deg, #ac197e, #c83252 65%, #ae4714) !important; color: #fff !important; border-color: transparent !important; }
html body.signed-in-shell .primary-button:hover,
html body.signed-in-shell #letsPlanButton:hover { filter: brightness(0.92); }
html body.signed-in-shell .primary-button:disabled { filter: grayscale(1); opacity: 0.65; }
html body.signed-in-shell .topbar .profile-photo-avatar { border-radius: 50%; background: linear-gradient(135deg, #ac197e, #c83252, #ae4714); color: #fff; outline: 3px solid #ee7a32; outline-offset: 2px; }
html body.signed-in-shell :is(.account-live-dashboard, .account-empty-dashboard) { border-left: 6px solid #e72b86 !important; }
html body.signed-in-shell .simple-disclosure > summary { color: #9c155f; }
html body.signed-in-shell .mobile-nav { background: #fff !important; border-top: 3px solid #ea4592 !important; }
html body.signed-in-shell .mobile-nav > button.active { background: #ffe3f0 !important; color: #9c155f !important; }

html[data-reduce-motion="true"] *, html[data-reduce-motion="true"] *::before, html[data-reduce-motion="true"] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
html[data-high-contrast="true"] body.signed-in-shell { color: #111 !important; background: #fff !important; }
html[data-high-contrast="true"] body.signed-in-shell :is(p, span, label, button, input, select, strong, h1, h2, h3) { color: #111 !important; }
html[data-high-contrast="true"] body.signed-in-shell :is(button, input, select, textarea) { background: #fff !important; border: 2px solid #111 !important; }
html[data-high-contrast="true"] body.signed-in-shell :is(.sidebar, #globalDestinationHeader:not([hidden])) { background: #fff !important; color: #111 !important; border: 2px solid #111 !important; }
html[data-high-contrast="true"] body.signed-in-shell :is(.primary-button, #letsPlanButton, .simple-main-menu > button.active, #widgetGrid .travel-widget[data-widget], .mobile-nav > button.active, #adminPanel .settings-nav-panel button.active, .topbar .profile-photo-avatar) { background: #fff !important; color: #111 !important; border-color: #111 !important; }

@media (max-width: 760px) {
  html body.signed-in-shell:is([data-active-route="dashboardHome"], [data-active-route="exploreDrops"]) #globalDestinationHeader:not([hidden]) { grid-template-columns: 80px minmax(0, 1fr) !important; gap: 12px; padding: 12px; }
  html body.signed-in-shell #globalDestinationHeader img { width: 80px; height: 80px; }
  html body.signed-in-shell #globalDestinationHeader .global-destination-actions { grid-column: 1 / -1; justify-content: flex-start; }
  html body.signed-in-shell #globalDestinationHeader .global-destination-actions button { flex: 1 1 120px; }
}

@media (max-width: 1080px) {
  html body.signed-in-shell .topbar { display: grid !important; grid-template-columns: 64px minmax(0, 1fr) auto !important; grid-template-rows: auto !important; padding: 10px 0 !important; min-height: 64px; }
  html body.signed-in-shell .topbar .profile-avatar-button { font-size: 16px !important; }
  html body.signed-in-shell .topbar .profile-photo-avatar { display: none !important; }
  html body.signed-in-shell #letsPlanButton { font-size: 16px !important; padding: 8px 12px !important; }
  html body.signed-in-shell .mobile-nav > button { font-size: 14px !important; }
}

@media (max-width: 760px) {
  html body.signed-in-shell #adminPanel { padding: 18px !important; }
  html body.signed-in-shell #adminPanel .settings-shell { display: block !important; }
  html body.signed-in-shell #adminPanel .settings-nav-panel { display: none !important; }
  html body.signed-in-shell .account-section-picker { display: grid; gap: 8px; margin-bottom: 24px; font-weight: 600; }
  html body.signed-in-shell .account-section-picker select { width: 100%; }
  html body.signed-in-shell #adminPanel .settings-row { grid-template-columns: minmax(0, 1fr) !important; gap: 12px; }
  html body.signed-in-shell #adminPanel .settings-row > :is(button, select, input) { justify-self: start; }
  html body.signed-in-shell #adminPanel .settings-row > select { width: 100%; }
  html body.signed-in-shell .simple-disclosure { margin-top: 18px; }
}

html body.app-routed.signed-in-shell[data-active-route="dashboardHome"] main>#dashboardHome.destination-banner:not([hidden]) { height:auto!important; min-height:240px!important; margin-bottom:18px!important; border-radius:6px!important; box-shadow:none!important; }
html body.app-routed.signed-in-shell #dashboardHome.destination-banner .hero-copy { width:min(680px,85%)!important; min-height:0!important; padding:24px!important; justify-content:center!important; gap:0!important; }
html body.app-routed.signed-in-shell #dashboardHome.destination-banner .hero-copy h1 { font-size:32px!important; line-height:1.2!important; max-width:100%!important; margin:6px 0!important; }
html body.app-routed.signed-in-shell #dashboardHome .hero-copy>.eyebrow { font-size:12px!important; line-height:1.5!important; margin:0!important; }
html body.app-routed.signed-in-shell #dashboardHome :is(#livePlanDescription,#livePlanTip,#livePlanGreeting,.destination-banner-dots) { display:none!important; }
html body.app-routed.signed-in-shell #dashboardHome .destination-banner-meta { display:grid!important; gap:8px!important; margin:8px 0 16px!important; max-width:580px!important; }
html body.app-routed.signed-in-shell #dashboardHome .destination-banner-meta span { display:block!important; width:auto!important; min-height:0!important; padding:0!important; border:0!important; border-radius:0!important; background:none!important; backdrop-filter:none!important; font-size:14px!important; line-height:1.5!important; font-weight:500!important; }
html body.app-routed.signed-in-shell #dashboardHome #livePlanSeason { font-size:12px!important; }
html body.app-routed.signed-in-shell #dashboardHome .hero-actions { display:flex!important; flex-wrap:wrap!important; gap:8px!important; margin:0!important; }
html body.app-routed.signed-in-shell #dashboardHome .hero-actions button { min-height:44px!important; padding:8px 14px!important; font-size:15px!important; border-radius:6px!important; }
html body.app-routed.signed-in-shell #dashboardHome .auth-confirmation-banner { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:0!important; border:0!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important; }
html body.app-routed.signed-in-shell #dashboardHome .destination-banner-controls { position:absolute!important; inset:auto 14px 14px auto!important; display:flex!important; gap:6px!important; }
html body.app-routed.signed-in-shell #dashboardHome :is(.destination-banner-controls button,#destinationPauseButton,#destinationInfoButton) { width:44px!important; height:44px!important; min-width:44px!important; min-height:44px!important; padding:8px!important; border-radius:6px!important; }
html body.app-routed.signed-in-shell #dashboardHome :is(#destinationPauseButton,#destinationInfoButton) { position:absolute!important; top:auto!important; bottom:14px!important; z-index:3!important; }
html body.app-routed.signed-in-shell #dashboardHome #destinationPauseButton { right:114px!important; }
html body.app-routed.signed-in-shell #dashboardHome #destinationInfoButton { right:164px!important; }
#destinationInfoButton svg { width:22px; height:22px; }
@media(max-width:900px) {
  html body.app-routed.signed-in-shell #dashboardHome.destination-banner .hero-copy { width:100%!important; padding:20px 20px 76px!important; }
  html body.app-routed.signed-in-shell #dashboardHome.destination-banner .hero-copy h1 { font-size:26px!important; }
}
