/* Oloropa shared head systems — public, admin, and traveller portal. */
:root{
  --ol-green:#1F3A2D;
  --ol-green-deep:#10251B;
  --ol-gold:#C6A24A;
  --ol-ivory:#FFF8E7;
  --ol-parchment:#F7F1E6;
  --ol-ink:#17231D;
  --ol-font-ui:"Manrope","Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ol-font-display:"Cormorant Garamond","Playfair Display",Georgia,"Times New Roman",serif;
}
html{scroll-behavior:smooth;text-size-adjust:100%;-webkit-text-size-adjust:100%;}
body{font-family:var(--ol-font-ui);color:var(--ol-ink);overflow-x:hidden;}
body,input,select,textarea,button{font-family:var(--ol-font-ui);}
h1,h2,.font-display,.ol-display,.ol-command-hero h1,.story-title,.story-canvas h1,.story-canvas h2{font-family:var(--ol-font-display);}
#main-content{min-width:0;}
#sidebar,#mobile-nav,#mobile-more-sheet,#mobile-more-panel,#profile-dropdown,#profile-menu,#global-search,#toast,#destination-grid,#destination-table-wrap,#destination-drawer,#booking-calendar,#brief-builder,#brief-builder-drawer,#chat-widget,#chat-panel,#chat-message-list,#chat-suggestion-rail,#story-canvas,#story-preview,#story-layout-selector{box-sizing:border-box;}
.phone-sticky-actions{position:sticky;bottom:calc(.75rem + env(safe-area-inset-bottom));z-index:30;}
.mobile-card-pad{padding:clamp(1rem,4vw,1.5rem);}
.ol-head-safe-tap{min-height:44px;min-width:44px;}
.ol-head-glass{background:rgba(255,250,240,.86);border:1px solid rgba(198,162,74,.24);box-shadow:0 20px 60px rgba(31,58,45,.11);backdrop-filter:blur(18px);}
.ol-head-focus:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(198,162,74,.72);outline-offset:3px;}
@media(max-width:767px){
  body{font-size:15px;}
  .ol-command-hero{border-radius:0 0 2rem 2rem;}
  .ol-kpi-card,.ol-finance-card,.package-card,.destination-card,.story-card{border-radius:1.35rem;}
  .ol-table-row,.ol-report-row{display:block;}
  #destination-grid{grid-template-columns:1fr!important;}
  #chat-panel{max-height:min(78dvh,680px);}
  .phone-sticky-actions{display:flex;gap:.65rem;align-items:center;justify-content:space-between;}
}
@media(min-width:768px) and (max-width:1023px){
  .ol-tablet-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);gap:1rem;}
}
@media(min-width:1024px){
  .ol-desktop-command{display:grid;grid-template-columns:280px minmax(0,1fr);}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important;}
}
