/* Switch global Persian/Jalali date picker */
.jdp-wrap { position: relative; width: 100%; }
.jdp-input { cursor: pointer; background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: calc(100% - 18px) 52%, calc(100% - 13px) 52%; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; padding-left: 44px !important; }
.jdp-calendar { position: fixed; z-index: 3000; width: min(360px, calc(100vw - 24px)); border: 1px solid rgba(15,23,42,.10); border-radius: 22px; background: #fff; box-shadow: 0 24px 70px rgba(15,23,42,.20); overflow: hidden; direction: rtl; font-family: Vazirmatn, sans-serif; color: #172033; animation: jdpIn .16s ease-out; }
@keyframes jdpIn { from { opacity: 0; transform: translateY(6px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
.jdp-head { padding: 15px 16px 10px; background: linear-gradient(135deg,#0f172a,#312e81); color: #fff; }
.jdp-head-row { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.jdp-title { font-weight: 800; font-size: 15px; }
.jdp-subtitle { font-size: 11px; opacity: .72; margin-top: 2px; }
.jdp-nav { display:flex; gap:6px; }
.jdp-nav button,.jdp-today { border:0; border-radius:11px; cursor:pointer; }
.jdp-nav button { width:34px; height:34px; background:rgba(255,255,255,.13); color:#fff; font-size:18px; }
.jdp-nav button:hover { background:rgba(255,255,255,.23); }
.jdp-week { display:grid; grid-template-columns:repeat(7,1fr); padding:12px 12px 4px; font-size:11px; font-weight:800; color:#64748b; }
.jdp-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:4px; padding:4px 12px 12px; }
.jdp-day { height:40px; border:0; border-radius:12px; background:transparent; cursor:pointer; font:inherit; font-size:13px; color:#1e293b; position:relative; }
.jdp-day:hover { background:#eef2ff; color:#3730a3; }
.jdp-day.other { color:#cbd5e1; }
.jdp-day.today::after { content:""; position:absolute; width:4px; height:4px; border-radius:50%; bottom:5px; right:50%; transform:translateX(50%); background:#6366f1; }
.jdp-day.selected { background:#4f46e5; color:#fff; font-weight:800; box-shadow:0 6px 14px rgba(79,70,229,.25); }
.jdp-day.selected.today::after { background:#fff; }
.jdp-day.range { background:#eef2ff; color:#3730a3; border-radius:8px; }
.jdp-day.range-start,.jdp-day.range-end { background:#4f46e5; color:#fff; font-weight:800; }
.jdp-day.range-start { border-radius:12px 5px 5px 12px; }
.jdp-day.range-end { border-radius:5px 12px 12px 5px; }
.jdp-footer { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:10px 14px 14px; border-top:1px solid #eef2f7; }
.jdp-hint { font-size:11px; color:#64748b; }
.jdp-today { padding:8px 13px; background:#f1f5f9; color:#334155; font-size:11px; font-weight:800; }
.jdp-today:hover { background:#e2e8f0; }
.jdp-overlay { position:fixed; inset:0; z-index:2999; background:transparent; }
[data-bs-theme="dark"] .jdp-calendar { background:#1e293b; color:#f8fafc; border-color:#334155; box-shadow:0 24px 70px rgba(0,0,0,.45); }
[data-bs-theme="dark"] .jdp-week { color:#94a3b8; }
[data-bs-theme="dark"] .jdp-day { color:#e2e8f0; }
[data-bs-theme="dark"] .jdp-day:hover { background:#334155; color:#fff; }
[data-bs-theme="dark"] .jdp-day.other { color:#475569; }
[data-bs-theme="dark"] .jdp-day.range { background:#312e81; color:#e0e7ff; }
[data-bs-theme="dark"] .jdp-footer { border-color:#334155; }
[data-bs-theme="dark"] .jdp-hint { color:#94a3b8; }
[data-bs-theme="dark"] .jdp-today { background:#334155; color:#e2e8f0; }
@media (max-width:480px) { .jdp-calendar { width:calc(100vw - 16px); border-radius:20px; } .jdp-day { height:42px; } }
