/* #187 Calendário dos campos de data (datepicker.js).
   O <input type="date"> continua no DOM e é a fonte do valor; isto só estiliza o
   popup que substitui o calendário nativo (que não aceita cor por dia).
   Só tokens do tema (eclipse/daylight), mesmos nomes em style.css e work.css. */

/* O ícone nativo fica na tela (acompanha o color-scheme) mas deixa de abrir o popup
   do Chrome: quem abre é o datepicker.js. Só vale quando ele está ativo. */
html.af-dp-on input[type="date"]::-webkit-calendar-picker-indicator{pointer-events:none}

.af-dp{position:fixed;z-index:700;width:19.5rem;max-width:calc(100vw - 1rem);padding:0.8571rem;background:var(--s2);border:1px solid var(--line-2);border-radius:var(--r-md);box-shadow:var(--shadow-pop);color:var(--tx);font-family:var(--font-text);font-size:var(--fs-13)}

.af-dp-head{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;margin-bottom:0.5714rem}
.af-dp-title{flex:1;text-align:center;font-weight:600;font-size:var(--fs-14)}
.af-dp-nav{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--s1);color:var(--tx);cursor:pointer}
.af-dp-nav:hover{background:var(--s-hover)}
.af-dp-nav:disabled{opacity:.4;cursor:not-allowed}
.af-dp-prev svg{transform:rotate(180deg)}

.af-dp-grid{display:flex;flex-direction:column;gap:2px}
.af-dp-row{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.af-dp-wd{font-size:var(--fs-11);font-weight:600;color:var(--tx-mut);text-align:center;padding:0.2857rem 0;text-transform:uppercase;letter-spacing:.04em}

.af-dp-day{position:relative;height:2.2857rem;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--tx);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer}
.af-dp-day:hover{background:var(--s-hover)}
.af-dp-day:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
.af-dp-blank{height:2.2857rem}

/* fim de semana: apagado, sem alarme */
.af-dp-day.is-weekend{color:var(--tx-mut);background:var(--s3)}
/* feriado: cor própria (vermelho semântico) + ponto, pra não depender só da cor */
.af-dp-day.is-holiday{color:var(--red);background:var(--red-soft);font-weight:600}
.af-dp-day.is-holiday::after{content:"";position:absolute;bottom:3px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:currentColor}
.af-dp-day.is-today{border-color:var(--line-2)}
.af-dp-day.is-selected,.af-dp-day.is-selected:hover{background:var(--primary);color:var(--primary-ink);border-color:var(--primary);font-weight:700}
.af-dp-day:disabled{opacity:.35;cursor:not-allowed;background:transparent}

.af-dp-legend{min-height:2.5rem;margin-top:0.5714rem;padding-top:0.5714rem;border-top:1px solid var(--line);font-size:var(--fs-12);color:var(--tx);line-height:1.4}
.af-dp-legend.is-off{color:var(--red);font-weight:600}
.af-dp-note{margin-top:0.2857rem;font-size:var(--fs-11);color:var(--tx-mut)}

.af-dp-month{margin:0.5714rem 0 0;padding:0;list-style:none;max-height:5.7143rem;overflow-y:auto;font-size:var(--fs-12);color:var(--tx-mut)}
.af-dp-month li{display:flex;gap:0.5714rem;padding:2px 0}
.af-dp-month b{flex:0 0 1.4286rem;color:var(--red);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}

.af-dp-foot{display:flex;justify-content:space-between;gap:0.5rem;margin-top:0.7143rem}
