/* omnion.enterprise · versión para iPhone según las guías de diseño de Apple (Human Interface Guidelines)
 * Se carga al final y solo cambia pantallas táctiles o angostas; el diseño de escritorio no se toca.
 *  - Zonas seguras: la muesca / Dynamic Island arriba y el indicador de inicio abajo (viewport-fit=cover).
 *  - Áreas táctiles de 44 × 44 pt como mínimo.
 *  - Campos de texto de 16 px: así iOS no hace zoom al tocarlos.
 *  - Texto de 11 pt como mínimo (el tamaño "caption 2" de iOS).
 *  - Hojas y paneles que suben desde abajo, con asa para cerrarlos deslizando, como en iOS.
 */
:root{--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);
  --ios-sheet:cubic-bezier(.32,.72,0,1)}

/* En cualquier pantalla táctil: sin zoom al escribir y sin el destello gris al tocar */
@media (pointer:coarse){
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea{font-size:16px!important}
  html{-webkit-tap-highlight-color:transparent}
}

@media (max-width:760px){
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea{font-size:16px!important}

  /* ---------- zonas seguras ---------- */
  .topbar{padding-top:var(--safe-t);height:calc(64px + var(--safe-t));padding-left:max(14px,var(--safe-l));padding-right:max(14px,var(--safe-r))}
  .sidebar,.nav-collapsed .sidebar{top:calc(10px + var(--safe-t))}
  .content{padding-left:max(18px,var(--safe-l));padding-right:max(18px,var(--safe-r));padding-bottom:calc(128px + var(--safe-b))}
  .assistant,.nav-collapsed .assistant{bottom:calc(12px + var(--safe-b))!important}
  .assistant,.nav-collapsed .assistant{min-width:0}
  .assistant input{min-width:0}
  .assistant-panel,body:not(.nav-collapsed) .assistant-panel,.nav-collapsed .assistant-panel{left:max(12px,var(--safe-l));right:max(12px,var(--safe-r));width:auto;bottom:calc(84px + var(--safe-b));height:min(520px,calc(100dvh - 164px - var(--safe-t) - var(--safe-b)));max-height:none;min-height:0;overflow:hidden}
  .assistant-panel .chat{flex:1;min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .assistant-panel .suggest{flex:none;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .assistant-panel .suggest::-webkit-scrollbar{display:none}
  body:has(.assistant input:focus) .assistant-panel .suggest{display:none}
  .toast{bottom:calc(96px + var(--safe-b))}

  /* ---------- áreas táctiles de 44 pt ---------- */
  .btn-pill,.cal-select,.runway,.link-btn,.mx-cta,.ch-tool,.cal-f,.icon-nav{min-height:44px}
  .icon-btn,.topbar .mobile-menu{width:44px;height:44px;min-width:44px}
  .link-btn{display:inline-flex;align-items:center}
  .icon-nav{width:44px;height:44px;min-width:44px}
  .meter b small,.fm-kinds b small{font-size:11px}
  .seg{padding:2px;max-width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .seg::-webkit-scrollbar{display:none}
  .seg button{min-height:40px;flex:none;white-space:nowrap}
  .fn-tabs{overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap}.fn-tabs::-webkit-scrollbar{display:none}
  .fn-tabs button{min-height:44px;flex:none}
  .search-field{min-height:44px}.search-field input{min-height:40px}
  .assistant input{min-height:40px}
  .assistant button{width:44px;height:44px;flex:none}
  .ch-send{width:44px;height:44px}
  .field input,.field select{min-height:44px}
  .close-x{min-width:44px;min-height:44px}

  /* ---------- nada se sale de la pantalla ---------- */
  .mx-tools,.mx-sec-h{flex-wrap:wrap;width:100%;gap:10px}
  .mx-tools .seg,.mx-tools .search-field{width:100%}
  .tool-row{flex-wrap:wrap}

  /* ---------- hojas que suben desde abajo (como en iOS) ---------- */
  .sheet,.sheet.wide{left:0;right:0;top:auto;bottom:0;width:auto;height:auto;max-height:calc(100svh - var(--safe-t) - 18px);
    border-radius:22px 22px 0 0;transform:translateY(105%);opacity:1;transition:transform .5s var(--ios-sheet),opacity .2s}
  .sheet.on{transform:none}
  .sheet .sheet-h{padding-top:22px}
  .sheet .sheet-f{padding-bottom:calc(14px + var(--safe-b))}
  .sheet::before,.inspector::before{content:"";position:absolute;z-index:3;top:7px;left:50%;width:36px;height:5px;border-radius:3px;background:rgba(17,20,24,.2);transform:translateX(-50%)}
  .inspector{top:auto;left:0;right:0;bottom:0;width:auto;max-height:calc(100svh - var(--safe-t) - 18px);border-radius:22px 22px 0 0;
    transform:translateY(105%);transition:transform .5s var(--ios-sheet);padding-bottom:var(--safe-b)}
  .inspector.on{transform:none}
  .sheet.dragging,.inspector.dragging,.sidebar.swiping{transition:none}

  /* ---------- texto de 11 pt como mínimo ---------- */
  .avatar-s,
  .bubble-in small,
  .bubble-out small,
  .cal-cell .more,
  .cal-cell .rec,
  .cal-f span,
  .cal-pp .av,
  .cal-pp em,
  .cash-chart .lbl,
  .cd-bars span,
  .ch-cal small,
  .ch-chip button,
  .ch-del,
  .ch-pop-list small,
  .ch-ref small,
  .ch-stickers small,
  .ch-t,
  .chart-labels,
  .check i,
  .cm-br small,
  .cm-mid small,
  .company span,
  .delta,
  .doc-body hr.page-break::after,
  .dx-guide span,
  .event-card>span,
  .fc-chart text,
  .flow-board .col-h em,
  .fm-arrow span,
  .fm-chart text,
  .fm-node small,
  .fm-phases small,
  .fn-nat,
  .gl-plan span,
  .health-score small,
  .hm-months,
  .mini-action,
  .mini-stats small,
  .nav-badge,
  .nav-label,
  .paper .shots span,
  .paper h3,
  .people-head,
  .person-avatar,
  .person-id small,
  .phase-names,
  .rl-matrix td small,
  .rl-matrix tr.sec td,
  .rw-screen small,
  .search kbd,
  .sidebar-foot small,
  .signal-badge,
  .stat-row span,
  .tag,
  .tk-kind,
  .tm-you,
  .tp-br small,
  .trend-bars div,
  .wk-all>span,
  .wk-ev small,
  .wk-hours span{font-size:11px!important}
  .avatar-s{min-width:26px;min-height:26px}
  /* Inicio: los días de caja arriba y la explicación debajo, sin apretar la etiqueta */
  .hm-big{flex-direction:column;align-items:flex-start;gap:8px}
  .hm-big>div{display:flex;align-items:baseline;gap:8px}
}
/* ---------- inicio de sesión ---------- */
@media (max-width:760px){
  .login-page,body:has(#loginForm){padding-left:var(--safe-l);padding-right:var(--safe-r);padding-bottom:var(--safe-b)}
  #loginForm .form-top .back,#loginForm .row a{display:inline-flex;align-items:center;min-height:44px}
  #togglePw{min-width:44px;min-height:44px}
  #loginForm .sso button,#loginForm .submit{min-height:48px}
}
@media (max-width:760px) and (prefers-reduced-motion:reduce){
  .sheet,.inspector{transition:opacity .2s}
}

/* ---------- Omni en el celular: botón en la esquina → su chat a pantalla completa ---------- */
@media (max-width:760px){
  body:not(.omni-m) .assistant,body.nav-collapsed:not(.omni-m) .assistant{left:auto!important;right:max(16px,var(--safe-r))!important;bottom:calc(16px + var(--safe-b))!important;
    width:58px;height:58px;max-width:58px!important;min-width:0;padding:0;border-radius:50%;justify-content:center;transform:none!important;
    box-shadow:0 10px 30px rgba(17,20,24,.28),0 2px 6px rgba(17,20,24,.18);transition:transform .2s var(--ios-sheet)}
  body:not(.omni-m) .assistant:active{transform:scale(.92)!important}
  body:not(.omni-m) .assistant>input,body:not(.omni-m) .assistant>button{display:none!important}
  body:not(.omni-m) .assistant .omni{margin:0;width:40px;height:29px}
  body:not(.omni-m) .assistant-panel{display:none!important}
  .omni-hello{display:none!important}
  .assistant .ask-expand{display:none!important}

  /* la vista del chat */
  body.omni-m{overflow:hidden}
  body.omni-m .assistant-panel,body.omni-m .assistant-panel.expanded{position:fixed!important;inset:0!important;width:auto!important;height:100dvh!important;max-height:none!important;
    left:0!important;right:0!important;top:0!important;bottom:0!important;margin:0;border:0;border-radius:0!important;transform:none!important;opacity:1;z-index:40;
    padding:var(--safe-t) 0 calc(78px + max(var(--safe-b), var(--kb,0px))) 0;box-sizing:border-box;display:flex;flex-direction:column;
    animation:omSheetUp .38s var(--ios-sheet) both}
  body.omni-m .assistant-panel .ap-head{display:flex!important;grid-template-columns:none;padding:10px 14px 10px 16px;gap:10px;border-bottom:1px solid var(--line);position:relative;animation:none}
  body.omni-m .assistant-panel .ap-head::before{content:"";position:absolute;top:5px;left:50%;width:36px;height:5px;border-radius:3px;background:#d6d4cd;transform:translateX(-50%)}
  body.omni-m .ap-head small{font-size:12px}
  body.omni-m .ap-collapse{font-size:0;width:auto!important;min-width:76px;height:40px;min-height:40px;padding:0 16px!important;border-radius:999px!important;background:#fff;justify-content:center;flex:none}
  body.omni-m .ap-collapse::before{content:"Cerrar";font-size:14px;font-weight:600}
  body.omni-m .ap-collapse kbd{display:none}
  body.omni-m .assistant-panel .chat{padding:16px 14px 8px!important;gap:12px;max-width:none}
  body.omni-m .assistant-panel .msg{max-width:86%;font-size:15px;line-height:1.45}
  body.omni-m .assistant-panel .suggest{padding:6px 14px 8px!important;flex-wrap:nowrap;overflow-x:auto;max-width:none}
  body.omni-m .assistant-panel .suggest button{flex:none;min-height:40px}
  body.omni-m .assistant,body.omni-m.nav-collapsed .assistant{position:fixed;left:max(10px,var(--safe-l))!important;right:max(10px,var(--safe-r))!important;width:auto!important;max-width:none!important;
    bottom:calc(10px + max(var(--safe-b), var(--kb,0px)))!important;transform:none!important;z-index:41;border-radius:24px;animation:omBarIn .38s var(--ios-sheet) both}
  body.omni-m .topbar,body.omni-m .sidebar{visibility:hidden}
}
@keyframes omSheetUp{from{transform:translateY(24px)!important;opacity:0}to{transform:none;opacity:1}}
@keyframes omBarIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){body.omni-m .assistant-panel,body.omni-m .assistant{animation:none}}
