/* Componente compartilhado de calendário (data única e intervalo). */
.john-date-picker{position:relative;min-width:0;width:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#e8edf5}
.john-date-picker *,.jdp-popover *{box-sizing:border-box}
.john-date-picker .jdp-field{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:8px 12px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.04);color:#e8edf5;cursor:pointer;text-align:left;font:500 13px/1.3 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;transition:border-color .2s,background .2s,box-shadow .2s}
.john-date-picker .jdp-field>svg{width:17px;height:17px;flex:none;color:#00c4ff}
.john-date-picker .jdp-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.john-date-picker .jdp-clear{width:24px;height:24px;flex:none;display:grid;place-items:center;color:#aeb8c7;font-size:19px;line-height:1;border-radius:6px}
.john-date-picker .jdp-clear[hidden]{display:none}
.john-date-picker .jdp-clear:hover{color:#fff;background:rgba(255,255,255,.1)}
.john-date-picker .jdp-field:hover{border-color:rgba(255,255,255,.27);background:rgba(255,255,255,.075)}
.john-date-picker .jdp-field.is-open,.john-date-picker .jdp-field:focus-visible{outline:none;border-color:#00c4ff;background:rgba(0,196,255,.085);box-shadow:0 0 0 4px rgba(0,196,255,.18)}
.jdp-popover{position:absolute;left:0;top:calc(100% + 6px);z-index:2147483300;width:min(296px,calc(100vw - 16px));padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(22,22,26,.98);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#e8edf5;box-shadow:0 20px 60px rgba(0,0,0,.5);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;animation:jdp-enter 160ms cubic-bezier(.16,1,.3,1) both}
.jdp-popover[hidden]{display:none!important}
.jdp-popover.jdp-portaled{position:fixed;top:0;left:0}
@keyframes jdp-enter{from{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.jdp-popover .jdp-head{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:6px;margin-bottom:8px}
.jdp-popover .jdp-month{text-align:center;font-size:13px;font-weight:700;text-transform:capitalize;color:#f4f8fc}
.jdp-popover button{font-family:inherit;cursor:pointer}
.jdp-popover .jdp-nav{width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:#cbd5df;font-size:25px;line-height:1;transition:background .16s,color .16s}
.jdp-popover .jdp-nav:not(:disabled):hover{color:#00c4ff;background:rgba(0,196,255,.13)}
.jdp-popover button:focus-visible{outline:2px solid #00c4ff;outline-offset:2px}
.jdp-popover button:disabled{opacity:.36;cursor:not-allowed}
.jdp-popover .jdp-weekdays,.jdp-popover .jdp-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0}
.jdp-popover .jdp-weekdays span{display:grid;place-items:center;height:26px;text-transform:uppercase;color:rgba(255,255,255,.55);font-size:10px;font-weight:700;letter-spacing:.07em}
.jdp-popover .jdp-blank{aspect-ratio:1}
.jdp-popover .jdp-day{position:relative;display:grid;place-items:center;aspect-ratio:1;min-width:34px;min-height:34px;padding:0;border:0;border-radius:8px;background:transparent;color:#e8edf5;font-size:12px;font-weight:600;transition:background .16s,color .16s}
.jdp-popover .jdp-day:not(:disabled):hover{background:rgba(0,196,255,.18)}
.jdp-popover .jdp-day.is-today{font-weight:800}
.jdp-popover .jdp-day.is-today::after{content:"";position:absolute;bottom:4px;left:50%;width:4px;height:4px;border-radius:50%;background:#00c4ff;transform:translateX(-50%)}
.jdp-popover .jdp-day.is-between{border-radius:0;background:rgba(0,196,255,.14)}
.jdp-popover .jdp-day.is-start,.jdp-popover .jdp-day.is-end{background:#00c4ff;color:#071820;font-weight:800}
.jdp-popover .jdp-day.is-start:not(.is-only){border-radius:8px 0 0 8px}
.jdp-popover .jdp-day.is-end:not(.is-only){border-radius:0 8px 8px 0}
.jdp-popover .jdp-day.is-start.is-end,.jdp-popover .jdp-day.is-only{border-radius:8px}
.jdp-popover .jdp-day.is-start.is-today::after,.jdp-popover .jdp-day.is-end.is-today::after{background:#071820}
.jdp-popover .jdp-foot{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1)}
.jdp-popover .jdp-foot button{min-height:34px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(255,255,255,.04);color:#d9e2e9;font-size:12px;font-weight:600;transition:background .16s,color .16s}
.jdp-popover .jdp-foot button:not(:disabled):hover{color:#00c4ff;background:rgba(0,196,255,.13)}
/* Apenas o intervalo de Data da abordagem no Extrato Financeiro usa tom neutro. */
.jdp-popover.jdp-neutral{background:var(--sf);border-color:var(--bd);color:var(--tx)}
.jdp-popover.jdp-neutral .jdp-month,.jdp-popover.jdp-neutral .jdp-day{color:var(--tx)}
.jdp-popover.jdp-neutral .jdp-weekdays span,.jdp-popover.jdp-neutral .jdp-nav{color:var(--t2)}
.jdp-popover.jdp-neutral .jdp-foot{border-top-color:var(--bd)}
.jdp-popover.jdp-neutral .jdp-foot button{background:var(--s2);border-color:var(--bd);color:var(--tx)}
.john-date-picker.jdp-neutral .jdp-field>svg{color:#cbd5e1}
.john-date-picker.jdp-neutral .jdp-field.is-open,.john-date-picker.jdp-neutral .jdp-field:focus-visible{border-color:#cbd5e1;background:rgba(203,213,225,.085);box-shadow:0 0 0 4px rgba(203,213,225,.18)}
.jdp-popover.jdp-neutral button:focus-visible{outline-color:#cbd5e1}
.jdp-popover.jdp-neutral .jdp-nav:not(:disabled):hover,.jdp-popover.jdp-neutral .jdp-foot button:not(:disabled):hover{color:var(--tx);background:var(--s3)}
.jdp-popover.jdp-neutral .jdp-day:not(:disabled):hover{background:rgba(203,213,225,.18)}
.jdp-popover.jdp-neutral .jdp-day.is-today::after{background:#cbd5e1}
.jdp-popover.jdp-neutral .jdp-day.is-between{background:rgba(203,213,225,.18)}
.jdp-popover.jdp-neutral .jdp-day.is-start,.jdp-popover.jdp-neutral .jdp-day.is-end{background:#cbd5e1;color:#111820}
.jdp-popover.jdp-neutral .jdp-day.is-between:not(:disabled):hover{background:rgba(203,213,225,.24)}
.jdp-popover.jdp-neutral .jdp-day.is-start:not(:disabled):hover,.jdp-popover.jdp-neutral .jdp-day.is-end:not(:disabled):hover{background:#e2e8f0;color:#111820}
.jdp-popover.jdp-neutral .jdp-day.is-start.is-today::after,.jdp-popover.jdp-neutral .jdp-day.is-end.is-today::after{background:#111820}
@media(prefers-reduced-motion:reduce){.john-date-picker *,.jdp-popover *{animation:none!important;transition:none!important}.jdp-popover{animation:none!important}}
