/* V16.3 — refinamento mobile para acompanhamento da liderança a campo.
   Mantém a identidade visual atual e altera apenas densidade, toque e leitura. */
@media (max-width:900px) {
  :root { --campo-green:#0f3d2e; --campo-line:#d8e5df; --campo-bg:#edf4f0; }
  html.pims-mobile-v13 body { background:var(--campo-bg)!important; }
  #menuHost, #modalRoot { word-break:normal!important; overflow-wrap:break-word!important; }
  #menuHost span, #menuHost strong, #menuHost small, #modalRoot span, #modalRoot strong, #modalRoot small,
  #modalRoot td, #modalRoot th { word-break:normal!important; overflow-wrap:break-word!important; }

  .mobile-bottom-nav {
    min-height:64px!important;
    padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))!important;
    background:#104735!important;
    border:1px solid rgba(255,255,255,.11)!important;
    box-shadow:0 -8px 24px rgba(7,42,31,.18)!important;
  }
  .mobile-nav-item { min-width:0!important; min-height:50px!important; border-radius:13px!important; padding:5px 2px!important; }
  .mobile-nav-item.active { background:rgba(255,255,255,.14)!important; box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)!important; }
  .mobile-nav-icon { font-size:18px!important; }
  .mobile-nav-label { max-width:100%!important; font-size:9px!important; line-height:1.05!important; white-space:normal!important; }

  .mobile-more-sheet { max-height:min(88dvh,720px)!important; overflow:auto!important; background:#f7faf8!important; }
  .mobile-more-action { background:#fff!important; border-color:var(--campo-line)!important; box-shadow:0 4px 12px rgba(15,61,46,.06)!important; }
  .mobile-more-action b { color:var(--campo-green)!important; }
  .mobile-more-action[hidden] { display:none!important; }

  .topbar-premium-vfinal, .menu-topbar, .det-hero, .consultas-hero, .disp-hero {
    border-radius:0 0 20px 20px!important;
  }
  .filters, .filter-card, .consultas-filters, .disp-filters {
    border-radius:15px!important;
    border-color:var(--campo-line)!important;
    box-shadow:0 5px 16px rgba(15,61,46,.055)!important;
  }
  input, select, textarea, .ms-filter-button { min-height:44px!important; border-radius:11px!important; }
  .btn, button { -webkit-tap-highlight-color:transparent; }

  .firebase-current-hour-note-v163 {
    display:flex;
    align-items:center;
    gap:11px;
    padding:11px 13px;
    border:1px solid #9bcbb1;
    border-radius:15px;
    background:linear-gradient(135deg,#e8f7ef,#fff);
    color:var(--campo-green);
    box-shadow:0 5px 14px rgba(15,61,46,.07);
  }
  .firebase-current-hour-note-v163>span {
    display:grid;
    place-items:center;
    flex:0 0 40px;
    width:40px;
    height:40px;
    border-radius:12px;
    background:var(--campo-green);
    color:#fff;
    font-size:22px;
  }
  .firebase-current-hour-note-v163 div { min-width:0; }
  .firebase-current-hour-note-v163 strong { display:block; font-size:14px; line-height:1.15; }
  .firebase-current-hour-note-v163 small { display:block; margin-top:3px; color:#557067; font-size:10px; line-height:1.3; font-weight:750; }
  .firebase-current-hour-field-v163 { opacity:.72; }
  .firebase-current-hour-field-v163 select { background:#eef3f0!important; color:#36554a!important; }

  body[data-current-menu="disponibilidade"] .disponibilidade-page {
    height:auto!important;
    overflow:visible!important;
    gap:10px!important;
    padding-bottom:8px!important;
  }
  body[data-current-menu="disponibilidade"] .disp-filters {
    grid-template-columns:1fr 1fr!important;
    padding:10px!important;
  }
  body[data-current-menu="disponibilidade"] .disp-filters .disp-busca-field,
  body[data-current-menu="disponibilidade"] .disp-filters .ms-filter,
  body[data-current-menu="disponibilidade"] .disp-filter-actions { grid-column:1/-1!important; }
  body[data-current-menu="disponibilidade"] .disp-summary { grid-template-columns:1fr 1fr!important; gap:8px!important; }
  body[data-current-menu="disponibilidade"] .disp-summary-card { min-height:74px!important; padding:10px!important; grid-template-columns:1fr!important; grid-template-areas:"label" "value" "meta"!important; gap:3px!important; }
  body[data-current-menu="disponibilidade"] .disp-summary-card strong { font-size:23px!important; }
  body[data-current-menu="disponibilidade"] .disp-summary-card span,
  body[data-current-menu="disponibilidade"] .disp-summary-card small { white-space:normal!important; overflow:visible!important; }
  body[data-current-menu="disponibilidade"] .disp-table-shell { width:100%!important; overflow:visible!important; border-radius:15px!important; }
  body[data-current-menu="disponibilidade"] #tabelaDisponibilidade.matrix,
  body[data-current-menu="disponibilidade"] #tabelaDisponibilidade.disp-compact-hours {
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    table-layout:fixed!important;
  }
  body[data-current-menu="disponibilidade"] #tabelaDisponibilidade.matrix th,
  body[data-current-menu="disponibilidade"] #tabelaDisponibilidade.matrix td {
    width:25%!important;
    min-width:0!important;
    max-width:none!important;
    padding:10px 6px!important;
    font-size:12px!important;
  }
  body[data-current-menu="disponibilidade"] #tabelaDisponibilidade.matrix th:first-child,
  body[data-current-menu="disponibilidade"] #tabelaDisponibilidade.matrix td:first-child {
    position:static!important;
    width:50%!important;
    min-width:0!important;
    max-width:none!important;
    box-shadow:none!important;
  }
  body[data-current-menu="disponibilidade"] #tabelaDisponibilidade.matrix .disp-item-cell b { font-size:12px!important; white-space:normal!important; }
  body[data-current-menu="disponibilidade"] #tabelaDisponibilidade.matrix .disp-item-cell small,
  body[data-current-menu="disponibilidade"] #tabelaDisponibilidade.matrix .disp-item-cell em { font-size:9px!important; white-space:normal!important; }

  #modalRoot .report-modal-shell { background:#fff!important; }
  #modalRoot .report-view { background:#fff!important; }
  #modalRoot .report-head { display:grid!important; grid-template-columns:1fr!important; gap:6px!important; }
  #modalRoot .report-meta { text-align:left!important; white-space:normal!important; }
  #modalRoot .relatorio-alocacao-total-frente .rel-aloc-type-row { min-width:0!important; }
  #modalRoot .relatorio-alocacao-total-frente .rel-aloc-type-name,
  #modalRoot .relatorio-alocacao-total-frente .rel-aloc-fleet-list,
  #modalRoot .relatorio-alocacao-total-frente .rel-aloc-fleet-entry { min-width:0!important; max-width:100%!important; }
  #modalRoot table.mobile-report-cards-v13 { min-width:0!important; width:100%!important; }
  #modalRoot table.mobile-report-cards-v13 tbody>tr>td { grid-template-columns:minmax(108px,36%) minmax(0,1fr)!important; }
  #modalRoot table.mobile-report-cards-v13 tbody>tr>td>* { min-width:0!important; max-width:100%!important; white-space:normal!important; word-break:normal!important; overflow-wrap:break-word!important; }
  #modalRoot .compact-print-table, #modalRoot .report-table-obs-apont,
  #modalRoot .disponibilidade-report-table { min-width:0!important; max-width:100%!important; width:100%!important; }

  /* Mobile comum é acompanhamento. A autorização visual acompanha a mesma
     claim admin usada pelas regras do Firebase; esconder não substitui o
     bloqueio de escrita, apenas deixa a tela coerente com a permissão. */
  html.pims-mobile-readonly-v163 #btnInfluenciarSemaforo,
  html.pims-mobile-readonly-v163 #btnDeterminarOficina,
  html.pims-mobile-readonly-v163 #btnAdicionarAlocar,
  html.pims-mobile-readonly-v163 #salvarManual,
  html.pims-mobile-readonly-v163 #btnSalvarDeterminarOficina,
  html.pims-mobile-readonly-v163 #facNovoRegistro,
  html.pims-mobile-readonly-v163 #facExecutarCorrelacao,
  html.pims-mobile-readonly-v163 #facSalvarRegistro,
  html.pims-mobile-readonly-v163 #facCancelarRegistro,
  html.pims-mobile-readonly-v163 #facBulkBar,
  html.pims-mobile-readonly-v163 #facModalExcluir,
  html.pims-mobile-readonly-v163 #facModalSave,
  html.pims-mobile-readonly-v163 #facModalConcluir,
  html.pims-mobile-readonly-v163 #facModalReabrir,
  html.pims-mobile-readonly-v163 #facCloseConfirm,
  html.pims-mobile-readonly-v163 [data-fac-reopen],
  html.pims-mobile-readonly-v163 [data-fac-tab="registro"],
  html.pims-mobile-readonly-v163 [data-status-action="mirror"],
  html.pims-mobile-readonly-v163 [data-access-manager-p27],
  html.pims-mobile-readonly-v163 [data-type-rule-form],
  html.pims-mobile-readonly-v163 [data-type-rule-new],
  html.pims-mobile-readonly-v163 [data-type-rule-edit],
  html.pims-mobile-readonly-v163 [data-type-rule-toggle],
  html.pims-mobile-readonly-v163 [data-type-rule-delete],
  html.pims-mobile-readonly-v163 [data-p27-access-save] { display:none!important; }

  html.pims-mobile-readonly-v163 .fac-register-panel,
  html.pims-mobile-readonly-v163 [data-fac-panel="registro"] { display:none!important; }

  /* Exclusão integral de Falha permanece no servidor local. No mobile, o
     administrador pode registrar, editar e concluir sem substituir histórico. */
  html.pims-firebase-mobile-v163 #facModalExcluir { display:none!important; }

  html.pims-mobile-readonly-v163 body::after {
    content:"MODO VISUALIZAÇÃO";
    position:fixed;
    right:10px;
    bottom:calc(70px + env(safe-area-inset-bottom));
    z-index:850;
    padding:5px 9px;
    border:1px solid rgba(255,255,255,.35);
    border-radius:999px;
    background:rgba(15,61,46,.92);
    color:#fff;
    font-size:8px;
    font-weight:950;
    letter-spacing:.07em;
    pointer-events:none;
    box-shadow:0 4px 12px rgba(0,0,0,.16);
  }
}

@media (max-width:430px) {
  body[data-current-menu="disponibilidade"] .disp-filters,
  body[data-current-menu="disponibilidade"] .disp-summary { grid-template-columns:1fr!important; }
  body[data-current-menu="disponibilidade"] .disp-filters>* { grid-column:1!important; }
  #modalRoot table.mobile-report-cards-v13 tbody>tr>td { grid-template-columns:1fr!important; gap:4px!important; }
}

@media print {
  .firebase-current-hour-note-v163 { display:none!important; }
}
