/* Shared orientation only; each application owns its workspace and actions. */
.staff-crm-mode .left-rail { overflow-y:auto; }
.staff-crm-mode .rail-link { font-size:10px; flex-direction:column; gap:4px; padding:6px 1px; }
.ikatu-app-desktop { min-width:0; flex-wrap:wrap; gap:8px!important; }
.ikatu-app-desktop :is(a,button) { min-height:44px; display:inline-flex; align-items:center; gap:6px; }
.ikatu-global-link { text-decoration:none; }
.ikatu-utility-nav { display:flex; flex-wrap:wrap; gap:8px; }
.ikatu-utility-nav a { display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:0 12px; color:inherit; text-decoration:none; border:1px solid var(--line,#d8e3dd); border-radius:10px; }
.topbar nav.ikatu-utility-nav a { display:inline-flex; }
.ikatu-nav-more { min-width:0; }
.ikatu-nav-more > summary { list-style:none; min-height:54px; height:100%; display:grid; align-content:center; justify-items:center; gap:3px; cursor:pointer; border-radius:12px; color:var(--muted,#53645d); font:600 11px/1.2 system-ui; box-sizing:border-box; }
.ikatu-nav-more > summary::-webkit-details-marker { display:none; }
.ikatu-nav-more[open] > summary { background:var(--soft,var(--surface-2,#eaf4ef)); color:var(--ink,#173f36); }
.ikatu-nav-more:has(.ikatu-nav-options :is(.active,.is-active,[aria-current="page"])) > summary { background:var(--soft,var(--surface-2,#eaf4ef)); color:var(--ink,#173f36); font-weight:800; }
.ikatu-app-mobile .ikatu-nav-options { position:absolute; bottom:calc(100% + 8px); right:8px; width:min(300px,calc(100vw - 32px)); max-height:calc(100dvh - 180px); overflow-y:auto; overscroll-behavior-y:contain; background:var(--surface,#fff); color:var(--ink,#173f36); border:1px solid var(--line,#d8e3dd); border-radius:16px; box-shadow:0 8px 32px #173f3626; padding:8px; box-sizing:border-box; }
.ikatu-app-mobile .ikatu-nav-options :is(a,button) { display:flex; align-items:center; justify-content:flex-start; gap:10px; width:100%; min-height:48px; padding:10px 14px; text-align:left; font-size:14px; border:0; border-radius:10px; background:transparent; color:inherit; text-decoration:none; }
.ikatu-app-mobile :is(a,button,summary):focus-visible,.ikatu-app-desktop :is(a,button):focus-visible { outline:3px solid var(--brand,var(--green,#1d7960)); outline-offset:-3px; }
@media(max-width:760px) {
  .launch-topbar:has(.ikatu-utility-nav) { height:auto; min-height:68px; flex-wrap:wrap; gap:8px; padding-block:8px; }
  .launch-topbar:has(.ikatu-utility-nav) .launch-live { display:none; }
  body:is([data-ikatu-app="vive"],[data-ikatu-app="campo"],[data-ikatu-app="chef"],[data-ikatu-app="eats"],[data-ikatu-app="salud"],[data-ikatu-app="cuida"],[data-ikatu-app="resuelve"],[data-ikatu-app="produccion"],[data-ikatu-app="negocios"]) { padding-bottom:calc(84px + env(safe-area-inset-bottom)); }
  body.is-concierge-app:not(.staff-crm-mode) #ikatuApp { grid-template-rows:minmax(0,1fr) auto; }
  body.is-concierge-app:not(.staff-crm-mode)[data-concierge-pane="inbox"] #ikatuApp { grid-template-rows:calc(56px + env(safe-area-inset-top)) minmax(0,1fr) auto; }
  body.is-concierge-app .bottom-nav { display:grid!important; position:static; height:auto; min-height:64px; padding:6px 8px max(6px,env(safe-area-inset-bottom)); border-radius:0; border-top:1px solid var(--line); box-shadow:none; }
  body.staff-crm-mode #ikatuApp { height:100dvh; display:grid; grid-template-rows:58px minmax(0,1fr) auto; overflow:hidden; }
  body.staff-crm-mode .desktop-shell { height:100%; min-height:0; }
  body.staff-crm-mode .topbar { position:relative; }
  .ikatu-app-mobile { grid-template-columns:repeat(5,minmax(0,1fr))!important; height:auto; min-height:calc(64px + env(safe-area-inset-bottom)); padding-bottom:max(5px,env(safe-area-inset-bottom)); box-sizing:border-box; }
  .ikatu-app-mobile > :is(a,button) { min-width:0; min-height:54px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; padding:4px 1px; border:0; border-radius:10px; color:var(--muted,#53645d); background:transparent; font:600 11px/1.2 system-ui; text-align:center; text-decoration:none; }
  .ikatu-app-mobile > :is(a,button) > span { font-size:20px; }
  .ikatu-app-mobile > :is(.active,.is-active,[aria-current="page"]) { color:var(--brand,var(--green,var(--ink,#173f36))); background:var(--soft,var(--surface-2,#eaf4ef)); }
  .ikatu-guest-nav { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  body:not([data-ikatu-app="mercadito"]) .ikatu-app-mobile ~ .signed-out { padding-bottom:100px; }
}
