/* IT-001.5 Itinerary Layout Consolidation */
.itinerary-only-shell{
  min-height:100svh;
  background:linear-gradient(180deg,#fbfaf6 0%,#ffffff 48%,#f8fffd 100%);
  padding-bottom:calc(132px + env(safe-area-inset-bottom));
}
.itinerary-only-content{
  padding:calc(22px + env(safe-area-inset-top)) 18px 0;
}
.itinerary-only-top{
  display:flex;
  align-items:center;
  gap:14px;
  margin:0 0 18px;
}
.itinerary-only-top .smallcaps{
  color:#0f766e;
  letter-spacing:4px;
  font-size:11px;
  font-weight:950;
}
.itinerary-only-top h1{
  margin:3px 0 0;
  font-size:32px;
  line-height:1;
  letter-spacing:-.04em;
  color:#0f172a;
}
.itinerary-back{
  width:48px;
  height:48px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#fff;
  color:#0f172a;
  font-size:32px;
  font-weight:800;
  box-shadow:0 10px 24px rgba(15,23,42,.08), inset 0 0 0 1px rgba(15,23,42,.06);
}
.itinerary-only-shell .itinerary-it001{padding-bottom:10px;}
.itinerary-only-shell .it001-journey-card{margin-top:0;}
.itinerary-only-shell .it001-section-head:first-of-type{display:none;}
.itinerary-only-shell .version{
  text-align:center;
  color:#94a3b8;
  font-size:12px;
  font-weight:650;
  margin:28px 0 6px;
}
/* Make the Itinerary dock use the same proven floating dock treatment as Organise. */
.itinerary-only-shell .storybook-actions.trip-bottom-dock{
  position:fixed!important;
  left:16px!important;
  right:16px!important;
  bottom:calc(14px + env(safe-area-inset-bottom))!important;
  z-index:2147481000!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;
  padding:8px!important;
  margin:0!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.88)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  backdrop-filter:blur(18px)!important;
  border:1px solid rgba(15,23,42,.08)!important;
  box-shadow:0 16px 38px rgba(15,23,42,.14)!important;
  transform:none!important;
  overflow:visible!important;
}
.itinerary-only-shell .storybook-actions.trip-bottom-dock button,
.itinerary-only-shell .storybook-actions.trip-bottom-dock .tab-btn,
.itinerary-only-shell .storybook-actions.trip-bottom-dock .story-action-active{
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  border:0!important;
  border-bottom:0!important;
  border-radius:18px!important;
  padding:10px 5px!important;
  background:#f8fafc!important;
  color:#0f172a!important;
  box-shadow:none!important;
  display:grid!important;
  place-items:center!important;
  gap:4px!important;
  font-size:10.5px!important;
  line-height:1.15!important;
  font-weight:950!important;
  text-align:center!important;
}
.itinerary-only-shell .storybook-actions.trip-bottom-dock button.story-action-active{
  background:#14b8a6!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(20,184,166,.22)!important;
}
.itinerary-only-shell .storybook-actions.trip-bottom-dock button:first-child:not(.story-action-active){
  background:#f8fafc!important;
  color:#0f172a!important;
  box-shadow:none!important;
}
.itinerary-only-shell .storybook-actions.trip-bottom-dock .action-icon{
  display:block!important;
  font-size:23px!important;
  line-height:1!important;
  margin:0!important;
}
.itinerary-only-shell .storybook-actions.trip-bottom-dock .action-label{
  display:block!important;
  font-size:10.5px!important;
  line-height:1.1!important;
  margin:0!important;
  font-weight:950!important;
}
@media(max-width:390px){
  .itinerary-only-content{padding-left:14px;padding-right:14px;}
  .itinerary-only-top h1{font-size:29px;}
  .itinerary-only-shell .storybook-actions.trip-bottom-dock{left:16px!important;right:16px!important;}
}
.itinerary-only-shell .itinerary-only-top{display:none!important;}
.itinerary-only-shell .itinerary-only-content{padding-top:calc(20px + env(safe-area-inset-top));}

/* IT-001.6 Shared Dock Alignment
   The Itinerary page should use the same compact bottom dock language as the approved Story/Organise screens: anchored to the viewport edge, not a large floating island over the timeline. */
.itinerary-only-shell{
  padding-bottom:calc(108px + env(safe-area-inset-bottom))!important;
}
.itinerary-only-shell .storybook-actions.trip-bottom-dock{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100%!important;
  max-width:none!important;
  height:calc(86px + env(safe-area-inset-bottom))!important;
  min-height:86px!important;
  max-height:122px!important;
  z-index:2147483000!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:6px!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:8px 10px calc(8px + env(safe-area-inset-bottom))!important;
  border-radius:0!important;
  border:0!important;
  border-top:1px solid rgba(15,23,42,.08)!important;
  background:rgba(255,255,255,.96)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  backdrop-filter:blur(18px)!important;
  box-shadow:0 -10px 26px rgba(15,23,42,.12)!important;
  transform:none!important;
  overflow:hidden!important;
}
.itinerary-only-shell .storybook-actions.trip-bottom-dock button,
.itinerary-only-shell .storybook-actions.trip-bottom-dock .tab-btn,
.itinerary-only-shell .storybook-actions.trip-bottom-dock .story-action-active{
  width:auto!important;
  min-width:0!important;
  height:100%!important;
  min-height:0!important;
  max-height:72px!important;
  margin:0!important;
  padding:6px 3px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  color:#0f172a!important;
  font-size:12px!important;
  line-height:1.05!important;
  font-weight:950!important;
  letter-spacing:-.025em!important;
  text-align:center!important;
  overflow:hidden!important;
}
.itinerary-only-shell .storybook-actions.trip-bottom-dock .action-icon{
  display:block!important;
  font-size:19px!important;
  line-height:1!important;
  margin:0!important;
}
.itinerary-only-shell .storybook-actions.trip-bottom-dock .action-label{
  display:block!important;
  white-space:nowrap!important;
  font-size:12px!important;
  line-height:1.05!important;
  margin:0!important;
  font-weight:950!important;
}
.itinerary-only-shell .storybook-actions.trip-bottom-dock button.story-action-active{
  background:#14b8a6!important;
  color:#fff!important;
  border-radius:18px!important;
  box-shadow:0 8px 22px rgba(20,184,166,.22)!important;
}
.itinerary-only-shell .storybook-actions.trip-bottom-dock button:not(.story-action-active){
  background:transparent!important;
  color:#0f172a!important;
  box-shadow:none!important;
}
@media(max-width:390px){
  .itinerary-only-shell .storybook-actions.trip-bottom-dock{
    padding-left:8px!important;
    padding-right:8px!important;
    gap:5px!important;
  }
  .itinerary-only-shell .storybook-actions.trip-bottom-dock .action-label{font-size:11.5px!important;}
}


/* IT-003 Timeline Intelligence */
.it003-journey-card p{
  color:#64748b;
}
.it003-event{
  position:relative;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.it003-event:active{transform:scale(.992);}
.it003-event.it003-next{
  border-color:rgba(20,184,166,.34)!important;
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(240,253,250,.94))!important;
  box-shadow:0 18px 44px rgba(20,184,166,.12),0 12px 28px rgba(15,23,42,.06)!important;
}
.it003-event.it003-next::before{
  content:'';
  position:absolute;
  left:0;
  top:22px;
  bottom:22px;
  width:4px;
  border-radius:0 999px 999px 0;
  background:#14b8a6;
  opacity:.95;
}
.it003-event.it003-done{
  opacity:.72;
}
.it003-event-top{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 6px;
}
.it003-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:0 10px;
  border-radius:999px;
  font-size:11px;
  line-height:1;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  background:rgba(226,232,240,.68);
  color:#64748b;
}
.it003-status.strong{
  background:#14b8a6;
  color:#fff;
  box-shadow:0 8px 18px rgba(20,184,166,.18);
}
.it003-status.calm{
  background:rgba(204,251,241,.62);
  color:#0f766e;
}
.it003-status.quiet{
  background:rgba(241,245,249,.9);
  color:#94a3b8;
}
.it003-context{
  color:#94a3b8;
  font-size:12px;
  font-weight:850;
  letter-spacing:.01em;
}
.it003-next .it003-time-pill{
  background:#14b8a6!important;
  color:#fff!important;
  border-color:#14b8a6!important;
  box-shadow:0 10px 22px rgba(20,184,166,.18)!important;
}
.it003-next .it001-event-body>b{
  color:#082f49!important;
}
.it003-done .it001-event-body>b,
.it003-done .it001-event-body p{
  color:#94a3b8!important;
}
.it003-done .it003-time-pill{
  color:#94a3b8!important;
  border-color:rgba(148,163,184,.18)!important;
}
@media(max-width:390px){
  .it003-event-top{gap:6px;}
  .it003-status{font-size:10px;padding:0 8px;min-height:22px;}
  .it003-context{font-size:11px;}
}
