/* BioSphere · celular (até 760px). Carregado por último: só muda o que o desktop não usa. */
.k-menu, .k-scrim { display: none; }

@media (max-width: 760px) {
  html, body { font-size: 14px; }
  body { overflow-x: hidden; }

  /* shell: menu vira gaveta, topo fixo e compacto */
  .k-app, .k-app.is-mini { display: block; padding: 0; min-height: 100dvh; }
  .k-side { position: fixed; z-index: 1000; top: 0; left: 0; bottom: 0; height: 100dvh; width: min(300px, 86vw); border-radius: 0 24px 24px 0; transform: translateX(-104%); transition: transform .28s cubic-bezier(.625,.05,0,1); padding-top: max(18px, env(safe-area-inset-top)); }
  body.is-menu .k-side { transform: none; box-shadow: 20px 0 60px rgba(0,0,0,.35); }
  .k-scrim { display: block; position: fixed; inset: 0; z-index: 999; background: rgba(15,15,20,.4); opacity: 0; pointer-events: none; transition: opacity .25s; }
  body.is-menu .k-scrim { opacity: 1; pointer-events: auto; }
  body.is-menu { overflow: hidden; }
  .k-nav__it { height: 44px; }
  .k-nav__subs a { height: 38px; }

  .k-main { gap: 12px; }
  .k-top { top: 0; gap: 6px; padding: 8px 10px; padding-top: max(8px, env(safe-area-inset-top)); border-radius: 0 0 20px 20px; box-shadow: 0 1px 0 var(--line), 0 8px 24px rgba(20,20,30,.06); }
  .k-menu { display: grid; }
  .k-top .k-ibtn { width: 40px; height: 40px; }
  .k-top__t h1 { font-size: 16px; }
  .k-top__t small { font-size: 11.5px; }
  .k-search { flex: none; width: 40px; min-width: 40px; height: 40px; padding: 0; justify-content: center; border-radius: 50%; }
  .k-search span, .k-search kbd { display: none; }
  .k-top > .k-chip:not(.k-chip--vercomo) { display: none; }
  .k-top > .k-chip--vercomo { display: inline-flex !important; width: 40px; height: 40px; padding: 0; justify-content: center; font-size: 0; }
  .k-top > .k-chip--vercomo .bs-i:last-child { display: none; }
  .k-me { padding: 0; box-shadow: none; }
  .k-me > span:not(.mv-av) { display: none; }

  .k-page { padding: 0 12px 96px; gap: 12px; }
  .k-vercomo { flex-wrap: wrap; margin-bottom: 4px; }
  .k-vercomo span { flex-basis: calc(100% - 30px); }

  /* cabeçalho e blocos de texto */
  .k-head { padding: 4px 2px 0; gap: 12px; }
  .k-head > div:first-child { min-width: 0; flex-basis: 100%; }
  .k-head h2 { font-size: 24px; letter-spacing: -.5px; }
  .k-head p { font-size: 14px; }
  .k-head__a { justify-content: flex-start; width: 100%; }
  .k-head__a .k-btn { flex: 1 1 auto; justify-content: center; white-space: normal; height: auto; min-height: 44px; padding-top: 8px; padding-bottom: 8px; text-align: center; line-height: 1.3; }
  .k-btn { height: 44px; padding: 0 16px; }
  .k-resumo h3 { font-size: 18px; }
  .k-alert { flex-wrap: wrap; padding: 12px 14px; }
  .k-alert > span { flex-basis: calc(100% - 40px); }
  .k-alert .k-btn { margin-left: auto; }

  /* números: duas colunas */
  .k-kpis { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; overflow: visible; }
  .k-kpi { min-height: 84px; padding: 10px 12px; }
  .k-kpi + .k-kpi::before { display: none; }
  .k-kpi b { font-size: 21px; }
  .k-kpi__sp { display: none; }
  .k-kpi:has(.k-kpi__sp) > small { max-width: none; }

  .k-card { padding: 16px; border-radius: 20px; }
  .k-card__h { flex-wrap: wrap; }
  .k-g2, .k-g3, .k-g21, .k-g12, .mv-g2, .mv-g3, .mv-g4, .mv-g21, .mv-g12 { grid-template-columns: minmax(0, 1fr) !important; }
  .mv-span2 { grid-column: auto !important; }

  /* tabelas: rolagem dentro do cartão */
  .k-tcard { padding-top: 14px; }
  .k-tcard > .k-card__h, .k-tcard > .k-tabs, .k-tcard > .k-tbar, .k-tcard > .k-chips, .k-tcard > .k-bulk { margin-left: 14px; margin-right: 14px; }
  .k-tabs { max-width: calc(100% - 28px); display: flex; }
  .k-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .k-chips button { flex: none; }
  .k-tsearch { width: 100%; }
  .k-tscroll { -webkit-overflow-scrolling: touch; }
  .k-tscroll > .k-t { min-width: 620px; }
  .k-card:has(> .k-t), .k-card:has(> div > .k-t) { overflow-x: auto; }
  .k-t th:first-child, .k-t td:first-child { padding-left: 14px; }
  .k-t .k-pes small { display: none; }

  /* kanban: uma coluna por vez, com encaixe */
  .k-kanban { grid-auto-columns: 84vw; scroll-snap-type: x mandatory; margin: 0 -12px; padding: 0 12px 8px; scroll-padding: 12px; }
  .k-col { scroll-snap-align: start; }

  /* ficha: coluna única e menu interno em abas */
  .k-ficha { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .k-ficha__nav { position: static; padding: 12px; }
  .k-ficha__nav h2 { font-size: 17px; padding-top: 8px; }
  .k-ficha__nav p { margin-bottom: 6px; }
  .k-ficha__nav nav { flex-direction: row; overflow-x: auto; scrollbar-width: none; gap: 4px; }
  .k-ficha__nav nav a { flex: none; white-space: nowrap; height: 38px; }
  .k-ficha__nav nav a i { margin-left: 6px; }
  .k-hero { padding: 16px; grid-template-columns: minmax(0, 1fr); }
  .k-hero h2 { font-size: 22px; }
  .k-hero__g { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .k-hero__d > b { font-size: 30px; }

  /* passo a passo */
  .k-wiz { grid-template-columns: minmax(0, 1fr); }
  .k-wiz__s { position: static; }
  .k-steps { padding: 14px 8px; gap: 2px; }
  .k-step small { display: none; }
  .k-step b { font-size: 12px; }
  .k-step:not(:last-child)::after { left: calc(50% + 20px); right: calc(-50% + 20px); }
  .k-wiz__f { gap: 8px; }
  .k-wiz__f .k-btn { flex: 1; justify-content: center; }
  .k-opts, .b2-opts3, .b4-opts4 { grid-template-columns: minmax(0, 1fr) !important; }
  .k-f input, .k-f select, .k-f textarea { font-size: 16px; }

  /* fila de aprovação */
  .k-fila__h { flex-wrap: wrap; }
  .k-fila__h > div:nth-child(2) { flex-basis: calc(100% - 60px); }
  .k-fila__sla { order: 3; }
  .k-fila__n { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 0; }
  .k-fila__n div + div { border-left: 0; }
  .k-fila__n div:nth-child(even) { border-left: 1px solid var(--line); }
  .k-fila__r { flex-wrap: wrap; }
  .k-fila__f .k-btn { flex: 1 1 auto; justify-content: center; }
  .k-fila__f kbd, .k-teclado { display: none !important; }

  /* linhas */
  .k-row { flex-wrap: wrap; }
  .k-row__m { flex-basis: calc(100% - 60px); }
  .k-row > .k-btn { margin-left: 48px; }

  /* camadas: folha inferior */
  .mv-modal { left: 0; right: 0; top: auto; bottom: 0; transform: none; width: 100%; max-height: 88dvh; border-radius: 24px 24px 0 0; padding-bottom: max(18px, env(safe-area-inset-bottom)); }
  .mv-drawer { top: auto; left: 0; right: 0; bottom: 0; width: 100%; height: 90dvh; border-radius: 24px 24px 0 0; }
  .mv-toasts { top: max(68px, calc(env(safe-area-inset-top) + 60px)); bottom: auto; width: calc(100% - 24px); }
  .mv-toast { max-width: 100%; }
  .k-pop { max-width: calc(100vw - 24px); }

  /* telas largas por natureza: rolam de lado dentro do próprio cartão */
  .k-card:has(.mv-gantt) { overflow-x: auto; }
  .mv-gantt { min-width: 760px; grid-template-columns: 170px 1fr; }

  /* páginas */
  .ini-ia__q .k-btn { white-space: normal; height: auto; min-height: 38px; padding: 8px 14px; text-align: left; line-height: 1.35; }
  .k-fila__n b { font-size: 17px; }
  .b3-res .k-row__m { flex-basis: calc(100% - 60px); }
  .b3-res > .bs-tag:first-of-type { margin-left: 48px; }
}
