/* Talerum V26.69 — pagination and modal-overlay standard */
:root{
  --tl-page-control:36px;
  --tl-page-radius:11px;
  --tl-page-accent:#C96B29;
  --tl-page-border:#E8DDD4;
}

/* Shared pagination anatomy */
.talerum-pagination-top,
.talerum-pagination-top-label{
  display:flex;align-items:center;gap:9px;
}
.talerum-pagination-top{margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
.talerum-pagination-top-label{color:#7A6F68;font-size:12px;font-weight:690;white-space:nowrap}
.talerum-pagination-size{
  height:36px;min-width:82px;padding:0 30px 0 12px;border:1px solid #DCE6E1;border-radius:11px;
  background:#fff;color:#211D1A;font-size:12px;font-weight:700;outline:none;
}
.talerum-pagination-footer{
  display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;
  margin-top:auto;padding:16px 18px 14px;border-top:1px solid #EEE6DF;background:#fff;
}
.talerum-pagination-summary{color:#766B65;font-size:12px;font-weight:670;white-space:nowrap}
.talerum-pagination-controls{display:flex;align-items:center;gap:7px;margin-left:auto}
.talerum-pagination-pages{display:flex;align-items:center;gap:6px}
.talerum-page-button,
.talerum-page-number{
  display:grid;place-items:center;width:var(--tl-page-control);height:var(--tl-page-control);padding:0;
  border:1px solid var(--tl-page-border);border-radius:var(--tl-page-radius);background:#fff;color:#5F5550;
  font-size:12px;font-weight:760;cursor:pointer;box-shadow:none;
}
.talerum-page-button:hover:not(:disabled),.talerum-page-number:hover{border-color:#D7A17E;background:#FFF8F3;color:#A95425}
.talerum-page-button:disabled{opacity:.34;cursor:not-allowed;background:#FAF8F6}
.talerum-page-number.active{border-color:var(--tl-page-accent);background:var(--tl-page-accent);color:#fff;box-shadow:0 6px 14px rgba(196,106,45,.14)}
.talerum-page-hidden{display:none!important}
.talerum-paginated-card{min-width:0}
.talerum-paginated-card>.table-wrap,.talerum-paginated-card>.returns-table-wrap{flex:0 0 auto}

/* Manual paginator surfaces inherit the same visual grammar */
.reception-pagination,.returns-pagination,.attendance-queue-pagination,.doctor-queue-pagination,
.patient-pagination-footer,.availability-pagination-footer,.procedure-pagination-footer{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;
  width:100%!important;margin-top:auto!important;padding:16px 18px 14px!important;border-top:1px solid #EEE6DF!important;background:#fff!important;
}
.reception-page-summary,.returns-page-summary,.attendance-queue-range,.doctor-queue-range,
.patient-pagination-summary,.availability-pagination-summary,.procedure-pagination-summary{
  color:#766B65!important;font-size:12px!important;font-weight:670!important;white-space:nowrap!important;
}
.reception-page-controls,.returns-page-controls,.attendance-queue-controls,.doctor-queue-controls,
.patient-pagination-controls,.availability-pagination-controls,.procedure-pagination-controls{
  display:flex!important;align-items:center!important;gap:7px!important;margin-left:auto!important;
}
.reception-page-numbers,.returns-page-numbers,.attendance-queue-pages,.doctor-queue-pages,
.patient-pagination-pages,.availability-pagination-pages,.procedure-pagination-pages{
  display:flex!important;align-items:center!important;gap:6px!important;
}
.reception-page-arrow,.reception-page-number,.returns-page-arrow,.returns-page-number,
.attendance-queue-button,.attendance-queue-page,.doctor-page-button,.doctor-page-number,
.patient-page-button,.patient-page-number,.availability-page-button,.availability-page-number,
.procedure-page-button,.procedure-page-number{
  display:grid!important;place-items:center!important;width:36px!important;height:36px!important;min-width:36px!important;padding:0!important;
  border:1px solid #E8DDD4!important;border-radius:11px!important;background:#fff!important;color:#5F5550!important;
  font-size:12px!important;font-weight:760!important;box-shadow:none!important;cursor:pointer!important;
}
.reception-page-number.active,.returns-page-number.active,.attendance-queue-page.active,.doctor-page-number.active,
.patient-page-number.active,.availability-page-number.active,.procedure-page-number.active{
  border-color:#C96B29!important;background:#C96B29!important;color:#fff!important;box-shadow:0 6px 14px rgba(196,106,45,.14)!important;
}
.reception-page-arrow:disabled,.returns-page-arrow:disabled,.attendance-queue-button:disabled,.doctor-page-button:disabled,
.patient-page-button:disabled,.availability-page-button:disabled,.procedure-page-button:disabled{opacity:.34!important;cursor:not-allowed!important}

/* Quantity selector belongs to the top of the table/list, never in the footer. */
.reception-page-size,.returns-page-size,.attendance-queue-size,.doctor-page-size,
.patient-page-size,.availability-page-size,.procedure-page-size{
  height:36px!important;min-width:82px!important;padding:0 30px 0 12px!important;border:1px solid #DCE6E1!important;
  border-radius:11px!important;background:#fff!important;color:#211D1A!important;font-size:12px!important;font-weight:700!important;outline:none!important;
}

/* Modal stacking only. The shared V26.80.3 layer owns the blur. */
body[data-talerum-layout="private"] :is(.modal.open,#detailModal.open,.action-modal.open,.drawer.open,.side-modal.open){z-index:100000!important}
body[data-talerum-layout="private"] :is(.modal-overlay.open,#modalOverlay.open,.action-modal-overlay.open,.drawer-backdrop.open){
  position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;z-index:99990!important;
}
body[data-talerum-layout="private"] .pm-overlay{
  position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;z-index:99999!important;
}

/* Reception: 6 rows, footer at the physical bottom of the card. */
body[data-talerum-page="recepcao"] .grid-main-side>article.card.panel:first-child{display:flex!important;flex-direction:column!important;min-height:650px!important}
body[data-talerum-page="recepcao"] .reception-table-wrap{flex:0 0 auto!important}
body[data-talerum-page="recepcao"] .reception-pagination{margin-top:auto!important}
body[data-talerum-page="recepcao"] .panel-head .reception-head-tools{display:flex;align-items:center;gap:10px;margin-left:auto}

/* Returns: list card behaves like a table card with a fixed footer. */
body[data-talerum-page="retornos"] .returns-list-card{display:flex!important;flex-direction:column!important;min-height:690px!important}
body[data-talerum-page="retornos"] .returns-pagination{margin-top:auto!important}
body[data-talerum-page="retornos"] .returns-list-meta{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;justify-content:flex-end!important}

/* Attendance queue: page-size at top and footer pinned to the full card. */
body[data-talerum-page="atendimentos"] .workspace-grid{align-items:stretch!important}
body[data-talerum-page="atendimentos"] .queue-card{display:flex!important;flex-direction:column!important;height:100%!important;min-height:780px!important;max-height:none!important}
body[data-talerum-page="atendimentos"] .queue-controls{grid-template-columns:minmax(0,1fr) 112px 86px!important;align-items:center!important}
body[data-talerum-page="atendimentos"] .queue-list{flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow:auto!important}
body[data-talerum-page="atendimentos"] .attendance-queue-pagination{margin-top:auto!important}

/* Dentist queue follows the same top-size + bottom-pager structure. */
body[data-talerum-page="fila-dentista"] #doctorQueue{flex:1 1 auto!important}
body[data-talerum-page="fila-dentista"] .grid-main-side .grid-2>article.card.panel:has(#doctorQueue){display:flex!important;flex-direction:column!important;min-height:650px!important}
body[data-talerum-page="fila-dentista"] .doctor-queue-pagination{margin-top:auto!important}
body[data-talerum-page="fila-dentista"] .doctor-queue-head-tools{display:flex;align-items:center;gap:10px;margin-left:auto}

/* Main paginated tables get enough depth so footer placement is visually stable. */
body[data-talerum-page="vagas"] .card.panel:has(#availabilityRows),
body[data-talerum-page="pacientes"] .table-card:has(#patients-table-body),
body[data-talerum-page="procedimentos"] .card:has(#procTable){display:flex!important;flex-direction:column!important;min-height:560px!important}
body[data-talerum-page="vagas"] .availability-pagination-footer,
body[data-talerum-page="pacientes"] .patient-pagination-footer,
body[data-talerum-page="procedimentos"] .procedure-pagination-footer{margin-top:auto!important}

@media(max-width:1180px){
  .talerum-pagination-footer,.reception-pagination,.returns-pagination,.attendance-queue-pagination,.doctor-queue-pagination,
  .patient-pagination-footer,.availability-pagination-footer,.procedure-pagination-footer{gap:10px!important;padding-inline:12px!important}
  .talerum-pagination-summary,.reception-page-summary,.returns-page-summary,.attendance-queue-range,.doctor-queue-range{white-space:normal!important}
}
