/* Fluxo operacional de pré-cadastro no celular. Desktop mantém a tabela. */
.pc-mobile-actions, .pc-camera-btn { display: none; }
.pc-upload-status:empty { display: none; }
.pc-upload-status { margin: 4px 0 0; color: var(--brand); font-size: 13px; width: 100%; }
@media (max-width: 768px) {
  .content-area:has(#pcTableBody) { padding-top: 18px; }
  .content-area:has(#pcTableBody) > .page-header { gap: 12px; margin-bottom: 16px; }
  .content-area:has(#pcTableBody) .page-title { font-size: 23px; }
  .content-area:has(#pcTableBody) .page-actions,
  .content-area:has(#pcTableBody) .page-actions > button { width: 100%; min-height: 46px; }
  .pc-kpis-row { display: flex; flex-wrap: nowrap; gap: 8px; overflow-x: auto; padding-bottom: 6px; margin-bottom: 12px; }
  .pc-kpis-row .pc-kpi-card { flex: 0 0 120px; min-width: 120px; padding: 10px; gap: 8px; }
  .pc-kpis-row .pc-kpi-count { font-size: 22px; }
  .pc-kpis-row .pc-kpi-label { font-size: 11px; white-space: nowrap; }
  .pc-filter-bar { padding: 12px; margin-bottom: 14px; }
  .pc-filter-bar .cfb-main { display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
  .pc-filter-bar .cfb-search { width: 100%; min-width: 0; max-width: none; flex: none; }
  .pc-filter-bar .cfb-selects { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
  .pc-filter-bar .cfb-select { width: 100%; min-width: 0; max-width: 100%; min-height: 44px; font-size: 14px; }
  .pc-filter-bar:not(.pc-filters-expanded) .cfb-selects > :not(#pcFilterStatus):not(#pcFilterPendencia) { display: none; }
  .pc-filter-bar .cfb-actions { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; margin: 0; }
  .pc-filter-bar .cfb-btn-more, .pc-filter-bar .cfb-btn-clear, .pc-filter-bar .cfb-vt-btn { min-height: 44px; min-width: 44px; }
  .pc-filter-bar .pc-export-actions { display: none; }
  .pc-filter-bar .cfb-view-toggle { margin-left: auto; }
  .pc-filter-bar .cfb-date-range { grid-column: 1 / -1; flex-wrap: wrap; }
  .pc-filter-bar .cfb-advanced-grid { grid-template-columns: 1fr; }
  .pc-table-wrap { background: transparent; border: 0; box-shadow: none; overflow: visible; }
  .pc-table-head { display: none; }
  .pc-table-body { display: grid; gap: 12px; min-width: 0; }
  .pc-table-body .pc-row {
    display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px;
    width: 100%; min-width: 0; padding: 14px; background: var(--bg-card,#fff);
    border: 1px solid var(--border-subtle,#e2e8f0); border-radius: 14px;
  }
  .pc-row .pc-col-chk { display: none; }
  .pc-row .pc-col-num { grid-column: 1; grid-row: 1; flex-direction: row; flex-wrap: wrap; gap: 6px; align-items: center; }
  .pc-row .pc-col-status { grid-column: 2; grid-row: 1; display: flex; justify-content: flex-end; min-width: 0; }
  .pc-row .pc-etapa-badge { white-space: normal; overflow-wrap: anywhere; font-size: 11px; }
  .pc-row .pc-col-cliente { grid-column: 1 / -1; grid-row: 2; min-width: 0; }
  .pc-row .pc-cliente-info { min-width: 0; flex: 1; }
  .pc-row .pc-cliente-nome { font-size: 15px; white-space: normal; overflow: visible; overflow-wrap: anywhere; max-width: none; width: 100%; }
  .pc-row .pc-col-correspondente { grid-column: 1; grid-row: 3; }
  .pc-row .pc-col-docs { grid-column: 2; grid-row: 3; display: flex; gap: 6px; min-width: 0; }
  .pc-row .pc-col-docs::before { content: 'Docs'; font-size: 11px; color: var(--text-muted); }
  .pc-row .pc-docs-progress { flex: 1; min-width: 0; }
  .pc-row .pc-col-empreend, .pc-row .pc-col-corretor { display: none; }
  .pc-mobile-actions { display: grid; grid-template-columns: 1fr 1fr; grid-column: 1 / -1; gap: 8px; }
  .pc-mobile-actions .btn { padding: 10px 6px; min-height: 44px; font-size: 13px; white-space: normal; }
  #pcDrawerOverlay, #modalNovoPcOverlay { z-index: 2200; }
  #pcDrawerOverlay .drawer {
    width: 100%; max-width: 100%; height: 100dvh;
    height: var(--mobile-viewport-height,100dvh); max-height: 100dvh;
    top: 0; bottom: auto; border-radius: 0; display: flex; flex-direction: column;
  }
  #pcDrawer .drawer-header { padding: 12px 14px; gap: 8px; flex-wrap: wrap; }
  #pcDrawer .drawer-title { white-space: normal !important; font-size: 16px; }
  #pcDrawer .drawer-header .btn { min-width: 44px; min-height: 44px; }
  #pcDrawer .pcd-quick-bar { display: none; }
  #pcDrawer .pc-drawer-tabs { display: flex; padding: 0 8px; flex-shrink: 0; }
  #pcDrawer .pc-dtab { flex: 1; min-height: 48px; padding: 8px 4px; font-size: 13px; }
  #pcDrawerBody { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
  #pcDrawer .drawer-layout { display: flex; flex-direction: column; height: auto; overflow: visible; }
  #pcDrawer .drawer-sidenav { width: 100%; display: flex; gap: 8px; overflow-x: auto; padding: 8px; border-right: 0; border-bottom: 1px solid var(--border-subtle); }
  #pcDrawer .drawer-sidenav-group { display: flex; flex-shrink: 0; padding: 0; margin: 0; border: 0; }
  #pcDrawer .drawer-sidenav-grouplabel { display: none; }
  #pcDrawer .drawer-sidenav-item { min-height: 44px; white-space: nowrap; padding: 10px; font-size: 12px; }
  #pcDrawer .dsn-label { display: inline; }
  #pcDrawer .drawer-content-area { padding: 14px; overflow: visible; flex: none; }
  #pcDrawer .dca-form-row, #pcDrawer .form-row { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
  #pcDrawer input:not([type=checkbox]):not([type=radio]):not([type=file]),
  #pcDrawer select, #pcDrawer textarea, #modalNovoPcOverlay input, #modalNovoPcOverlay select { font-size: 16px; min-height: 44px; max-width: 100%; }
  #pcDrawer .dca-header { flex-wrap: wrap; gap: 10px; }
  #pcDrawer .dca-header-actions { flex-wrap: wrap; }
  #pcDrawer .dca-action-btn { min-height: 44px; }
  #pcDrawer .drawer-footer { padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); justify-content: space-between; gap: 8px; }
  #pcDrawer .drawer-footer .btn { min-height: 44px; }
  #pcDrawer .pcd-docs-grid { grid-template-columns: minmax(0,1fr); }
  #pcDrawer .pcd-doc-card { flex-wrap: wrap; gap: 10px; padding: 14px; min-width: 0; }
  #pcDrawer .pcd-doc-body { flex: 1 1 100%; min-width: 0; }
  #pcDrawer .pcd-doc-ficon { display: none; }
  #pcDrawer .pcd-doc-label, #pcDrawer .pcd-doc-meta { white-space: normal; overflow-wrap: anywhere; }
  #pcDrawer .pcd-doc-actions { width: 100%; flex-wrap: wrap; justify-content: flex-start; }
  #pcDrawer .pcd-doc-btn { min-width: 44px; min-height: 44px; height: auto; white-space: normal; }
  #pcDrawer .pcd-doc-btn--upload, #pcDrawer .pcd-doc-btn--reup { flex: 1; padding: 12px; }
  #pcDrawer .pc-camera-btn { display: flex; width: 100%; min-height: 44px; justify-content: center; }
  #pcDrawer .pcd-download-toolbar, #pcDrawer .pcd-download-toolbar > div { flex-wrap: wrap; gap: 8px; }
  #pcDrawer .pcd-docs-progress-info { flex-wrap: wrap; gap: 6px; }
  #pcDrawer .doc-drop-zone { padding: 12px; }
  #pcDrawer .doc-drop-zone-icon { display: none; }
  #modalNovoPcOverlay { padding: 0; align-items: stretch !important; }
  #modalNovoPcOverlay .modal-box { display: flex; flex-direction: column; width: 100%; max-width: 100% !important; height: var(--mobile-viewport-height,100dvh); max-height: 100dvh; border-radius: 0; overflow: hidden; }
  #modalNovoPcOverlay .modal-header { flex-shrink: 0; padding: 14px; }
  #modalNovoPcOverlay .modal-header button { min-width: 44px; min-height: 44px; }
  #modalNovoPcOverlay .modal-body { min-height: 0; overflow-y: auto; padding: 14px; overscroll-behavior: contain; }
  #modalNovoPcOverlay .form-row { display: grid; grid-template-columns: minmax(0,1fr); gap: 0; }
  #modalNovoPcOverlay .modal-footer { position: static; flex-shrink: 0; padding: 12px 14px calc(12px + env(safe-area-inset-bottom)); gap: 8px; }
  #modalNovoPcOverlay .modal-footer .btn { min-height: 46px; white-space: normal; }
  #modalNovoPcOverlay #btnCriarNovoPc { flex: 1; }
}
