/**
 * Samsung Galaxy Tab A11 8.7" (SM-X133) — 1340×800, ~179 ppi.
 * Otimizado para uso em PWA (tela cheia, toque).
 */

/* ── Portal + Painel: base touch em telas tablet ── */
@media (pointer: coarse) and (min-width: 720px) {
  .portal-btn,
  .access-tab,
  .patient-tab {
    min-height: 50px;
  }

  .access-form input,
  .filter-panel input {
    min-height: 50px;
    font-size: 17px;
  }
}

/* ── Retrato ~800px (Tab A11 em pé) ── */
@media (min-width: 720px) and (max-width: 920px) and (orientation: portrait) {
  /* Portal */
  .access-view {
    padding: 20px 18px;
  }

  .access-card {
    width: min(100%, 740px);
    padding: 36px 32px;
  }

  .access-heading h1 {
    font-size: 2rem;
  }

  .portal-brand strong {
    font-size: 1.25rem;
  }

  .patient-topbar {
    min-height: 80px;
    padding: 12px 24px;
  }

  .patient-main {
    width: min(100% - 36px, 860px);
    padding: 24px 0 48px;
  }

  .welcome-panel {
    padding: 28px;
  }

  .welcome-panel h1 {
    font-size: 2rem;
  }

  .summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .summary-card {
    min-height: 132px;
    padding: 20px;
  }

  .summary-card strong {
    font-size: 1.55rem;
  }

  .patient-tabs {
    gap: 8px;
    padding: 6px;
  }

  .patient-tab {
    min-height: 50px;
    padding: 0 22px;
    font-size: 0.95rem;
  }

  .portal-panel {
    padding: 24px;
  }

  .record-card {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 18px;
  }

  .record-card .portal-btn {
    width: 100%;
    min-height: 48px;
    font-size: 0.9rem;
  }

  .prescription-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .prescription-card {
    padding: 20px;
  }

  /* Painel tablet PWA — sidebar compacta fixa */
  body.tablet-pwa .app-shell {
    grid-template-columns: 228px minmax(0, 1fr);
  }

  body.tablet-pwa .sidebar {
    position: sticky;
    transform: none;
    width: auto;
    padding: 18px 12px 16px;
  }

  body.tablet-pwa .sidebar.open {
    transform: none;
  }

  body.tablet-pwa .icon-btn.mobile-only {
    display: none;
  }

  body.tablet-pwa .sidebar-backdrop,
  body.tablet-pwa .sidebar-backdrop.hidden {
    display: none !important;
  }

  body.tablet-pwa .nav-item {
    min-height: 52px;
    padding: 0 14px;
    font-size: 0.95rem;
  }

  body.tablet-pwa .nav-icon {
    width: 28px;
    font-size: 1.15rem;
  }

  body.tablet-pwa .sidebar-brand strong {
    font-size: 1rem;
  }

  body.tablet-pwa .topbar {
    min-height: 72px;
    padding: 14px 20px;
  }

  body.tablet-pwa .topbar h1 {
    font-size: 1.25rem;
  }

  body.tablet-pwa .content-area {
    padding: 22px 20px 40px;
  }

  body.tablet-pwa .dashboard-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  body.tablet-pwa .dashboard-card {
    min-height: 120px;
  }

  body.tablet-pwa .btn,
  body.tablet-pwa .btn-primary,
  body.tablet-pwa .btn-secondary,
  body.tablet-pwa .btn-ghost {
    min-height: 52px;
    padding-left: 18px;
    padding-right: 18px;
    font-size: 1rem;
  }

  body.tablet-pwa .data-table th,
  body.tablet-pwa .data-table td {
    padding: 14px 12px;
    font-size: 0.92rem;
  }

  body.tablet-pwa .login-card {
    width: min(100%, 680px);
    padding: 36px 32px;
  }

  body.tablet-pwa .login-view {
    padding: 24px;
  }
}

/* ── Paisagem ~1340px (Tab A11 deitado) ── */
@media (min-width: 1180px) and (max-width: 1420px) and (orientation: landscape) {
  .patient-main {
    width: min(100% - 48px, 1180px);
  }

  .summary-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .prescription-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .record-card {
    grid-template-columns: minmax(200px, 1.4fr) minmax(120px, 0.7fr) minmax(150px, 0.8fr) auto;
  }

  body.tablet-pwa .dashboard-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.tablet-pwa .content-area {
    padding: 24px 28px 44px;
  }

  body.tablet-pwa .nav-item {
    min-height: 50px;
  }
}

/* ── PWA instalado: altura real da tela (Android) ── */
@media (display-mode: standalone) {
  html,
  body {
    min-height: 100vh;
    min-height: 100dvh;
  }

  .access-view,
  .patient-app,
  body.tablet-pwa .app-shell {
    min-height: 100dvh;
  }

  .patient-topbar {
    padding-top: max(12px, env(safe-area-inset-top, 0px));
  }

  .patient-footer {
    padding-bottom: max(20px, env(safe-area-inset-bottom, 0px));
  }

  body.tablet-pwa .topbar {
    padding-top: max(14px, env(safe-area-inset-top, 0px));
  }

  body.tablet-pwa .sidebar-footer {
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
}

/* ── Evita zoom indesejado ao focar campos (Samsung Internet) ── */
@media (max-width: 920px) {
  input,
  select,
  textarea {
    font-size: max(16px, 1em);
  }
}
