/* VRDatePicker — estilos. Independente. Células grandes para tablet. */

.vrdp-campo { display: flex; align-items: center; gap: 8px; width: 100%; text-align: left; cursor: pointer; }
.vrdp-campo i { color: var(--cor-primaria, #00A8A8); }
.vrdp-campo.vrdp-vazio span { color: #94a3b8; }

.vrdp { position: fixed; inset: 0; margin: auto; max-height: calc(100vh - 32px); overflow-y: auto; height: fit-content; width: min(380px, calc(100vw - 32px)); padding: 16px; border: none; border-radius: 18px; box-shadow: 0 20px 60px rgba(0, 0, 0, .25); font-family: inherit; }
.vrdp::backdrop { background: rgba(10, 25, 41, .45); }

.vrdp-topo { display: grid; grid-template-columns: 44px 1fr 44px; align-items: center; margin-bottom: 10px; text-align: center; font-size: 16px; }
.vrdp-seta { height: 44px; border: none; border-radius: 12px; background: #f1f5f9; font-size: 24px; cursor: pointer; }

.vrdp-trilha { margin-bottom: 10px; text-align: center; color: #64748B; }
.vrdp-trilha button { border: none; background: none; font: inherit; font-weight: 800; color: var(--cor-primaria, #00A8A8); text-decoration: underline; cursor: pointer; }

.vrdp-grade { display: grid; gap: 6px; }
.vrdp-grade-3 { grid-template-columns: repeat(3, 1fr); }
.vrdp-grade-4 { grid-template-columns: repeat(4, 1fr); }
.vrdp-grade-7 { grid-template-columns: repeat(7, 1fr); }
.vrdp-horas { max-height: 50vh; overflow-y: auto; }
.vrdp-semana { padding: 4px 0; text-align: center; font-size: 12px; font-weight: 800; color: #94a3b8; }

.vrdp-celula { min-height: 44px; border: 1.5px solid #e2e8f0; border-radius: 12px; background: #fff; font: inherit; font-size: 15px; font-weight: 700; color: #0A1929; cursor: pointer; }
.vrdp-celula:hover { border-color: var(--cor-primaria, #00A8A8); }
.vrdp-celula.vrdp-hoje { border-color: var(--cor-primaria, #00A8A8); }
.vrdp-celula.ativo { background: var(--cor-primaria, #00A8A8); border-color: var(--cor-primaria, #00A8A8); color: #fff; }
.vrdp-celula:disabled { border-color: transparent; background: none; color: #cbd5e1; cursor: default; }

.vrdp-vazio-aviso { padding: 20px; text-align: center; color: #64748B; }
.vrdp-rodape { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }
.vrdp-link, .vrdp-fechar { min-height: 42px; padding: 0 16px; border: none; border-radius: 50px; font: inherit; font-weight: 800; cursor: pointer; }
.vrdp-link { margin-right: auto; background: none; color: #64748B; }
.vrdp-link + .vrdp-link { margin-right: 0; }
.vrdp-fechar { background: #f1f5f9; color: #0A1929; }
