/* Review 639: each workspace owns its content and mobile controls. */
html body[data-camp-workflow="go"] #planWorkspace,
html body[data-camp-workflow="memories"] #planWorkspace { display:none !important; }
html body:not([data-camp-workflow="go"]) #goRouteCard { display:none !important; }
.go-route-link { display:block; margin:10px 0; padding:16px 20px; border-radius:12px; background:#244b3b; color:#fff; font-weight:800; text-align:center; text-decoration:none; }
body #goReadinessList>li { display:block !important; padding:0 !important; }
body #goReadinessList .go-readiness-link { display:grid !important; grid-template-columns:22px minmax(0,1fr) 20px; gap:6px 10px; align-items:center; width:100%; text-align:left; padding:14px; background:transparent; border:0; box-shadow:none; min-height:64px; }
body #goReadinessList .go-readiness-link>strong { grid-column:2; white-space:normal; }
body #goReadinessList .go-readiness-link>em { grid-column:2; font-style:normal; font-size:13px; }
body #goReadinessList .go-readiness-link>span:last-child { grid-column:3; grid-row:1 / 3; font-size:22px; }
body #goReadinessList .is-ready .go-readiness-link>span:first-child::before { content:'✓'; color:#537853; }
body #goReadinessList .needs-attention .go-readiness-link>span:first-child::before { content:'!'; color:#d75a00; }
.readiness-focus { outline:2px solid #e77718; outline-offset:3px; }
body #adventureRecapCard { padding:0 !important; min-width:0 !important; overflow:hidden; }
body #adventureRecapCard>summary { display:flex !important; align-items:center; justify-content:space-between; gap:16px; width:100% !important; box-sizing:border-box; padding:18px !important; margin:0 !important; min-height:60px; font-size:20px; }
body #adventureRecapCard>summary::before { content:none !important; }
body #adventureRecapCard>summary::after { content:'›' !important; position:static !important; inset:auto !important; transform:none !important; float:none !important; flex:0 0 auto; width:auto !important; height:auto !important; margin:0 !important; padding:0 !important; background:none !important; border:0 !important; }
body #adventureRecapCard[open]>summary::after { content:'⌄' !important; }
body #adventureRecapCard>.smart-field-grid { padding:16px; }
/* One packing card: header, category view, and remaining view share a surface. */
html body #packWorkspacePanel #packingListCard { display:block !important; padding:20px !important; min-width:0; }
html body #packWorkspacePanel #packingListCard { order:3 !important; }
html body #packWorkspacePanel #packingListCard.pack-panel-inactive { display:none !important; }
html body #packingListCard #packingSection { display:block !important; padding:0 0 16px !important; margin:0 !important; border:0 !important; background:none !important; box-shadow:none !important; }
html body #packingListCard #packingSection .checklist-actions { display:flex !important; flex-wrap:wrap !important; align-items:flex-start !important; gap:8px !important; width:100% !important; padding:12px 0 0 !important; margin:0 !important; border:0 !important; }
html body #packingListCard #packingSection .checklist-actions>button { flex:0 1 auto !important; width:auto !important; min-height:44px !important; }
html body #packingListCard .packing-more { flex:0 0 auto; order:4; }
html body #packingListCard .packing-more[open] { flex:1 0 100%; display:grid; grid-template-columns:44px minmax(0,1fr); gap:8px; }
html body #packingListCard .packing-more summary { min-height:44px; }
html body #packingListCard .packing-more #resetChecksBtn { position:static !important; inset:auto !important; width:auto !important; margin:0 !important; min-height:44px !important; }
html body #packingListCard #remainingItemsPanel { margin:0 !important; padding:16px 0 !important; border:0 !important; box-shadow:none !important; background:none !important; }
html body #packingListCard #remainingItemsPanel:not([data-remaining-visible="true"]),html body #packingListCard #checklist.showing-remaining { display:none !important; }
html body #packingListCard #checklist { margin:0 !important; padding:0 !important; min-height:0 !important; }
html body #packingListCard .packing-category-detail { box-shadow:none !important; border:0 !important; background:none !important; padding:12px 0 !important; }
.packing-swipe-tabs { display:none; }
@media(max-width:900px) {
 html body #packingListCard .packing-category-nav,html body #packingListCard .packing-category-toggle-row { display:none !important; }
 html body #packingListCard .packing-workspace { display:block !important; }
 html body #packingListCard .packing-swipe-tabs { display:flex; overflow-x:auto; overscroll-behavior-x:contain; gap:8px; padding:4px 0 12px; max-width:100%; scroll-snap-type:x proximity; }
 html body #packingListCard .packing-swipe-tabs button { flex:0 0 auto !important; display:grid !important; gap:5px; width:auto !important; min-width:130px !important; max-width:220px !important; min-height:58px !important; padding:10px 14px !important; text-align:left !important; scroll-snap-align:start; box-shadow:none; }
 .packing-swipe-tabs button[aria-pressed=true] { color:#fff; background:#244b3b; border-color:#244b3b; }
 .packing-swipe-tabs small { font-size:12px; color:inherit; }
 html body #packingListCard .packing-category-detail { touch-action:pan-y; }
 html body #packingListCard { padding:16px !important; }
 html body #adventureRecapCard>summary { font-size:18px; }
}

@media(max-width:900px){
html body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel.pack-workspace-panel > #preTripSection.card.camp-stage-section.pack-panel-active .pretrip-day-nav {position:static!important;display:flex!important;flex-wrap:wrap!important;height:auto!important;min-height:0!important;gap:8px!important;margin:0 0 18px!important;padding:0!important;}
html body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel.pack-workspace-panel > #preTripSection.card.camp-stage-section.pack-panel-active .pretrip-day-tab {position:static!important;display:flex!important;align-items:center!important;justify-content:space-between;gap:8px!important;flex:1 1 130px!important;height:auto!important;min-height:72px!important;padding:12px!important;overflow:visible!important;}
html body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel.pack-workspace-panel > #preTripSection.card.camp-stage-section.pack-panel-active .pretrip-day-tab-main {position:static!important;display:grid!important;gap:6px;min-width:0;}
html body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel.pack-workspace-panel > #preTripSection.card.camp-stage-section.pack-panel-active .pretrip-day-tab-main strong,html body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel.pack-workspace-panel > #preTripSection.card.camp-stage-section.pack-panel-active .pretrip-day-tab-main small {position:static!important;line-height:1.35!important;height:auto!important;white-space:normal!important;}
html body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel.pack-workspace-panel > #preTripSection.card.camp-stage-section.pack-panel-active .pretrip-day-tab-progress {display:none!important;}
html body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel.pack-workspace-panel > #preTripSection.card.camp-stage-section.pack-panel-active .pretrip-day-header {display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;}
html body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel.pack-workspace-panel > #preTripSection.card.camp-stage-section.pack-panel-active .pretrip-title-wrap {display:flex!important;align-items:center;flex-wrap:wrap;gap:8px;}
html body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel.pack-workspace-panel > #preTripSection.card.camp-stage-section.pack-panel-active .pretrip-title-wrap h4 {margin:0!important;}
html body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel.pack-workspace-panel > #preTripSection.card.camp-stage-section.pack-panel-active .pretrip-day-progress {display:none!important;}
html body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel.pack-workspace-panel > #preTripSection.card.camp-stage-section.pack-panel-active .pretrip-actions {position:static!important;display:flex!important;grid-column:2!important;grid-row:1!important;width:auto!important;margin:0!important;}
}

/* Keep the new-trip preference checkbox out of text-field sizing rules. */
#tripTypeModal .trip-type-save {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  line-height: 1.4;
  cursor: pointer;
}
#tripTypeModal #tripTypeSavePreferred {
  box-sizing: border-box;
  flex: 0 0 24px;
  width: 24px;
  min-width: 24px;
  max-width: 24px;
  height: 24px;
  min-height: 24px;
  max-height: 24px;
  padding: 0;
  margin: 0;
  align-self: center;
}
#tripTypeModal #tripTypeSavePreferred {
  appearance: auto;
  -webkit-appearance: auto;
  accent-color: #254b3b;
  box-shadow: none;
}
#tripTypeModal #tripTypeSavePreferred::before,
#tripTypeModal #tripTypeSavePreferred::after { content: none; }

/* Give mobile category names a full row, including at larger text sizes. */
@media (max-width: 900px) {
  html body #packingListCard #checklist .packing-category-detail-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px 12px !important;
    padding: 0 !important;
    align-items: center !important;
  }
  html body #packingListCard #checklist .checklist-category-title-wrap {
    grid-column: 1 / -1;
    display: block !important;
    min-width: 0 !important;
    width: 100% !important;
  }
  html body #packingListCard #checklist .checklist-category-title-wrap > .drag-handle { display: none !important; }
  html body #packingListCard #checklist .packing-category-detail-header h3 {
    font-size: 1.5rem !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
  html body #packingListCard #checklist .packing-category-detail-header > .checklist-category-count {
    grid-column: 1;
    justify-self: start;
    margin: 0 !important;
  }
  html body #packingListCard #checklist .packing-category-detail-header > .delete-btn {
    grid-column: 2;
    position: static !important;
    margin: 0 !important;
    min-width: 44px;
    min-height: 44px;
  }
}

/* Equal heading-to-description gaps even when preview copy wraps differently. */
#signedOutLanding .signed-out-preview-grid > button {
  align-content: start;
  align-items: start;
  grid-template-rows: max-content max-content;
  row-gap: 6px;
}
#signedOutLanding .signed-out-preview-grid > button > strong,
#signedOutLanding .signed-out-preview-grid > button > span {
  margin: 0;
  padding: 0;
}

/* 642: authenticated landing, compact gear, and keyboard-safe forms. */
html body #signedOutLanding[hidden] { display:none !important; }
html body #signedOutLanding .signed-out-preview-grid > button {
  display:flex !important; flex-direction:column !important; align-items:stretch !important;
  justify-content:flex-start !important; gap:6px !important; padding:14px !important;
  text-align:left !important; height:auto !important; min-height:0 !important;
}
html body #signedOutLanding .signed-out-preview-grid > button > strong,
html body #signedOutLanding .signed-out-preview-grid > button > span {
  display:block !important; width:100% !important; margin:0 !important; padding:0 !important;
  text-align:left !important; align-self:stretch !important; flex:0 0 auto !important;
}
html body #tripSmartsSection > .section-header { margin:0 0 12px !important; padding:0 !important; }
html body #tripSmartsSection .smart-prep-grid { display:flex !important; flex-direction:column !important; gap:12px !important; }
html body #tripSmartsSection .smart-loadout-card { order:0; padding:0 !important; border:0 !important; background:none !important; box-shadow:none !important; }
html body #tripSmartsSection .gear-loadout-summary { display:none !important; }
html body #tripSmartsSection .smart-recommendations-card { order:1; }
html body #tripSmartsSection #appliedLoadoutsSummary { display:none !important; }
html body #tripSmartsSection .loadout-template-body { padding:0 !important; }
html body #tripSmartsSection .gear-more-actions { min-width:44px; }
html body #tripSmartsSection .gear-more-actions > summary { min-height:44px; padding:10px 14px; cursor:pointer; }
html body #tripSmartsSection .gear-more-actions[open] { flex:1 0 100%; padding:10px; border:1px solid #deded2; border-radius:10px; }
html body #tripSmartsSection .gear-more-actions[open] > button { margin:4px; }
html body #tripSmartsSection .gear-edit-tools { align-items:center !important; margin:8px 0 !important; }
html body #tripSmartsSection #gearCreateLoadout[hidden] { display:none !important; }
html body #preTripSection .pretrip-day > .pretrip-task-add { margin-top:16px; }
@media(max-width:900px) {
  html body.camp-keyboard-editing { padding-bottom:calc(var(--camp-keyboard-clearance,220px) + env(safe-area-inset-bottom,0px)) !important; }
  html body.camp-keyboard-editing input, html body.camp-keyboard-editing textarea { scroll-margin-bottom:220px; }
}

/* Remaining and category views share one workspace; nested panels are not mobile routes. */
html body[data-camp-workflow="pack"][data-pack-panel="prep"] #packWorkspacePanel #packingListCard #checklist[data-packing-view="remaining"] { display:block !important; min-height:0 !important; }
html body #packingListCard #checklist #remainingItemsPanel[data-remaining-visible="true"] { display:block !important; height:auto !important; max-height:none !important; overflow:visible !important; }
html body #packingListCard #remainingItemsPanel .remaining-item input[type="checkbox"].camp-checkbox {
  appearance:auto !important; -webkit-appearance:auto !important; box-sizing:border-box !important;
  width:24px !important; min-width:24px !important; max-width:24px !important;
  height:24px !important; min-height:24px !important; max-height:24px !important;
  flex:0 0 24px !important; padding:0 !important; margin:0 !important; align-self:center !important;
}
html body #packingListCard #remainingItemsPanel .remaining-item input::before,
html body #packingListCard #remainingItemsPanel .remaining-item input::after { content:none !important; }
