/* i9 Taxas: campo de data com calendário (assets/js/datepicker.js).
   CSS próprio, sem build: usa as cores do tema escuro; no wp-admin vira claro. */
.i9-dp { position: relative; display: block; }
.i9-dp .i9-dp-input { width: 100%; padding-right: 2.6rem; }
.i9-dp-icon { position: absolute; right: .8rem; top: 50%; transform: translateY(-50%); color: var(--color-primary, #15F9C4); cursor: pointer; display: grid; }
.i9-dp.is-invalid .i9-dp-input { border-color: var(--color-danger, #F87171) !important; }
.i9-dp-err { display: block; margin-top: .35rem; font-size: .78rem; color: var(--color-danger, #F87171); }
.i9-dp-err[hidden] { display: none; }
.i9-dp-pop { position: absolute; z-index: 80; top: calc(100% + 6px); left: 0; width: 18.5rem; padding: .75rem; border: 1px solid var(--color-line-strong, rgba(255,255,255,.14)); border-radius: .85rem; background: var(--color-bg-soft, #162033); color: var(--color-ink, #F8FAFC); box-shadow: 0 18px 40px rgba(0,0,0,.45); font-size: .88rem; }
.i9-dp-head { display: flex; align-items: center; gap: .35rem; margin-bottom: .5rem; }
.i9-dp-title { flex: 1; font-weight: 700; text-transform: capitalize; }
.i9-dp-year select { min-height: 2rem; padding: 0 .4rem; border: 1px solid var(--color-line-strong, rgba(255,255,255,.14)); border-radius: .4rem; background: transparent; color: inherit; font: inherit; }
.i9-dp-year select option { color: #0F1729; }
.i9-dp-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.i9-dp-nav { width: 2rem; height: 2rem; border: 1px solid var(--color-line-strong, rgba(255,255,255,.14)); border-radius: .4rem; background: transparent; color: inherit; font-size: 1.2rem; line-height: 1; cursor: pointer; }
.i9-dp-nav:disabled { opacity: .35; cursor: not-allowed; }
.i9-dp-grid { width: 100%; border-collapse: collapse; table-layout: fixed; }
.i9-dp-grid th { padding: .25rem 0; font-size: .72rem; font-weight: 700; color: rgba(248,250,252,.55); text-align: center; }
.i9-dp-grid td { padding: 1px; text-align: center; }
.i9-dp-day { width: 100%; aspect-ratio: 1; min-height: 2.25rem; border: 1px solid transparent; border-radius: .45rem; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.i9-dp-day:hover:not(:disabled) { background: rgba(21,249,196,.12); }
.i9-dp-day.is-today { border-color: var(--color-primary, #15F9C4); }
.i9-dp-day.is-sel { background: var(--color-primary, #15F9C4); color: #0F1729; font-weight: 800; }
.i9-dp-day:disabled { opacity: .28; cursor: not-allowed; text-decoration: line-through; }
.i9-dp-pop button:focus-visible, .i9-dp-pop select:focus-visible { outline: 2px solid var(--color-primary, #15F9C4); outline-offset: 1px; }
.i9-dp-foot { display: flex; gap: .5rem; justify-content: space-between; margin-top: .5rem; padding-top: .5rem; border-top: 1px solid var(--color-line-strong, rgba(255,255,255,.14)); }
.i9-dp-foot button { min-height: 2.25rem; padding: 0 .7rem; border: 0; border-radius: .4rem; background: transparent; color: var(--color-primary, #15F9C4); font: inherit; font-weight: 700; cursor: pointer; }
.i9-dp-foot button:disabled { opacity: .35; cursor: not-allowed; }
.i9-dp-pop.is-right { left: auto; right: 0; }
.i9-dp-pop.is-up { top: auto; bottom: calc(100% + 6px); }
/* Celular: folha inferior de largura total. */
@media (max-width: 480px) {
  .i9-dp-pop, .i9-dp-pop.is-right, .i9-dp-pop.is-up { position: fixed; left: 0; right: 0; top: auto; bottom: 0; width: auto; padding: 1rem 1rem max(1rem, env(safe-area-inset-bottom)); border-radius: 1rem 1rem 0 0; box-shadow: 0 -12px 40px rgba(0,0,0,.5); }
  .i9-dp-day { min-height: 2.75rem; }
}
/* wp-admin (telas claras). */
.wp-admin .i9-dp-pop { background: #fff; color: #1d2327; border-color: #c3c4c7; box-shadow: 0 10px 30px rgba(0,0,0,.18); }
.wp-admin .i9-dp-grid th { color: #646970; }
.wp-admin .i9-dp-day.is-sel { background: #0E9F7E; color: #fff; }
.wp-admin .i9-dp-day.is-today { border-color: #0E9F7E; }
.wp-admin .i9-dp-foot button, .wp-admin .i9-dp-icon { color: #0f766e; }
@media (prefers-reduced-motion: no-preference) { .i9-dp-pop { animation: i9dpIn .14s ease-out; } }
@keyframes i9dpIn { from { opacity: 0; transform: translateY(-4px); } }
