/* =============================================================
   DMImobi Admin v181 — camada exclusiva para celulares
   Desktop permanece controlado por style.css.
   ============================================================= */
@media (max-width: 767px) {
  :root {
    --adm-mobile-bg: #f4f7fb;
    --adm-mobile-card: #ffffff;
    --adm-mobile-navy: #092753;
    --adm-mobile-gold: #d4c085;
    --adm-mobile-line: #e5eaf1;
    --adm-mobile-text: #17243a;
    --adm-mobile-muted: #6b778c;
  }

  html, body { max-width: 100%; overflow-x: hidden; }
  body.admin-entry { background: var(--adm-mobile-bg) !important; }

  /* Cabeçalho compacto */
  body.admin-entry .dk-top.admin-topbar {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    z-index: 1000 !important;
    height: 58px !important;
    min-height: 58px !important;
    padding: 8px 12px !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    box-shadow: 0 3px 14px rgba(9,39,83,.16) !important;
  }
  .admin-brand { min-width: 0 !important; gap: 8px !important; flex: 1 1 auto; }
  .admin-brand img { height: 30px !important; max-width: 132px !important; }
  .admin-brand-divider { height: 22px !important; }
  .admin-brand-label { font-size: 9px !important; letter-spacing: 1.1px !important; }

  .admin-top-actions { margin-left: auto !important; gap: 6px !important; }
  .admin-crm-btn, .admin-qa-link { display: none !important; }
  .admin-icon-btn { width: 34px !important; height: 34px !important; border-radius: 10px !important; }
  .admin-user { min-width: 34px !important; width: 34px !important; padding: 0 !important; }
  .admin-user .dk-avatar { width: 34px !important; height: 34px !important; }
  .admin-user .dk-user-txt, .admin-chevron { display: none !important; }

  /* Navegação administrativa vira barra inferior */
  .admin-topnav {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 999 !important;
    order: initial !important;
    width: 100% !important;
    height: calc(64px + env(safe-area-inset-bottom)) !important;
    padding: 7px 7px calc(7px + env(safe-area-inset-bottom)) !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0,1fr)) !important;
    gap: 4px !important;
    overflow: visible !important;
    background: rgba(255,255,255,.98) !important;
    border-top: 1px solid var(--adm-mobile-line) !important;
    box-shadow: 0 -4px 18px rgba(9,39,83,.10) !important;
  }
  .admin-nav-btn {
    min-width: 0 !important;
    height: 48px !important;
    padding: 5px 2px !important;
    border-radius: 11px !important;
    color: #65738a !important;
    background: transparent !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    white-space: normal !important;
    text-align: center !important;
  }
  .admin-nav-btn:nth-child(n+6) { display: none !important; }
  .admin-nav-btn.active {
    color: var(--adm-mobile-navy) !important;
    background: #eef3f9 !important;
    box-shadow: inset 0 -3px 0 var(--adm-mobile-gold) !important;
  }

  /* Conteúdo */
  body.admin-entry .page {
    margin: 58px 0 0 !important;
    width: 100% !important;
    min-height: calc(100vh - 58px) !important;
    padding: 12px 12px calc(86px + env(safe-area-inset-bottom)) !important;
  }
  body.admin-entry .subpage-top {
    position: static !important;
    padding: 4px 0 10px !important;
    margin: 0 !important;
    background: transparent !important;
  }
  body.admin-entry .subpage-title {
    padding-left: 0 !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
  }
  body.admin-entry .subpage-back {
    display: inline-flex !important;
    width: 36px !important;
    height: 36px !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Dashboard executivo */
  body.admin-entry .adm-hero {
    padding: 15px 16px !important;
    margin-bottom: 10px !important;
    border-radius: 15px !important;
    min-height: 0 !important;
  }
  .adm-hero .aht { font-size: 11px !important; }
  .adm-hero .ahm { font-size: 28px !important; margin-top: 3px !important; }
  .adm-hero .ahs { font-size: 10px !important; margin-top: 4px !important; }

  body.admin-entry .adm-kpis,
  body.admin-entry .adm-kpis[style] {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 9px !important;
    margin: 0 0 10px !important;
  }
  body.admin-entry .adm-kpi {
    min-width: 0 !important;
    min-height: 96px !important;
    padding: 13px 12px 11px !important;
    border-radius: 14px !important;
    box-shadow: 0 2px 8px rgba(9,39,83,.055) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
  }
  body.admin-entry .adm-kpi::before { height: 3px !important; }
  body.admin-entry .adm-kpi .ki {
    top: 11px !important;
    right: 11px !important;
    font-size: 21px !important;
    opacity: .20 !important;
  }
  body.admin-entry .adm-kpi .kn {
    font-size: 23px !important;
    line-height: 1.05 !important;
    overflow-wrap: anywhere;
  }
  body.admin-entry .adm-kpi .kl {
    font-size: 10.5px !important;
    line-height: 1.25 !important;
    margin-top: 5px !important;
  }

  body.admin-entry .adm-bar,
  body.admin-entry .adm-health-card,
  body.admin-entry .adm-ad {
    border-radius: 14px !important;
    padding: 14px !important;
    margin-top: 10px !important;
    box-shadow: 0 2px 8px rgba(9,39,83,.05) !important;
  }
  body.admin-entry .adm-bar .bt { font-size: 12px !important; margin-bottom: 12px !important; }
  body.admin-entry .adm-barrow { gap: 7px !important; }
  body.admin-entry .adm-barrow .bl { width: 72px !important; font-size: 9.5px !important; }
  body.admin-entry .adm-barrow .bv { width: 24px !important; font-size: 10px !important; }

  body.admin-entry .section-title {
    margin: 16px 0 8px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
  }

  body.admin-entry .adm-atalhos {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 9px !important;
  }
  body.admin-entry .adm-atalho {
    min-height: 82px !important;
    padding: 12px 8px !important;
    border-radius: 14px !important;
    justify-content: center !important;
  }
  body.admin-entry .adm-atalho .aic { font-size: 22px !important; }
  body.admin-entry .adm-atalho span:last-child { font-size: 11px !important; }

  .adm-health-head { gap: 10px !important; }
  .adm-health-head > div:first-child span { font-size: 10px !important; line-height: 1.35 !important; }
  .adm-health-actions { width: 100% !important; display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  .adm-health-actions .adm-adbtn { width: 100% !important; margin: 0 !important; }
  .adm-health-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 8px !important; }

  /* Formulários e filtros: uma coluna, sem estouro */
  body.admin-entry input,
  body.admin-entry select,
  body.admin-entry textarea,
  body.admin-entry button { max-width: 100%; }
  body.admin-entry .sp-inp,
  body.admin-entry .finput { width: 100% !important; min-width: 0 !important; }
  body.admin-entry .adm-adbtn {
    min-height: 42px !important;
    border-radius: 10px !important;
    font-size: 11px !important;
  }

  /* Listas e tabelas não podem ultrapassar a viewport */
  body.admin-entry table { min-width: 640px; }
  body.admin-entry .table-wrap,
  body.admin-entry [class*="table"] { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  body.admin-entry img, body.admin-entry canvas, body.admin-entry svg { max-width: 100%; }

  /* Modal utilizável em telas pequenas */
  body.admin-entry .modal,
  body.admin-entry .modal-box,
  body.admin-entry .pmenu {
    max-width: calc(100vw - 24px) !important;
  }
}

@media (max-width: 380px) {
  .admin-brand-divider, .admin-brand-label { display: none !important; }
  .admin-brand img { max-width: 122px !important; }
  body.admin-entry .adm-kpi .kn { font-size: 21px !important; }
}
