/* MARZIN-JALALI-DATE-PICKER-V19-SHARED
   Shared date-only Jalali picker styles. The JS keeps historical
   backup-jalali-* panel class names for compatibility with V18. */
[data-jalali-date-field] {
    display: grid;
    gap: .35rem;
}

.jalali-date-input-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .5rem;
    align-items: stretch;
}

[data-jalali-date-field] .jalali-date-input {
    width: 100%;
    text-align: center;
    letter-spacing: .04em;
}

[data-jalali-date-field] .jalali-date-input.is-valid {
    border-color: #5e9c76;
    box-shadow: 0 0 0 2px rgba(67, 132, 91, .10);
}

[data-jalali-date-field] .jalali-date-input.is-invalid {
    border-color: #c75b5b;
    box-shadow: 0 0 0 2px rgba(185, 55, 55, .10);
}

.jalali-date-trigger {
    min-height: 42px;
    padding: .5rem .72rem;
    border: 1px solid #97b5c5;
    border-radius: 9px;
    background: #edf6fa;
    color: #21475c;
    font: inherit;
    font-size: .75rem;
    font-weight: 800;
    cursor: pointer;
    white-space: nowrap;
}

.jalali-date-trigger:hover,
.jalali-date-trigger:focus-visible,
.jalali-date-trigger[aria-expanded="true"] {
    border-color: #527f96;
    background: #dfeef5;
    outline: none;
}

.jalali-date-status {
    min-height: 1.05rem;
    color: #597080;
    font-size: .7rem;
}

.jalali-date-status.is-error {
    color: #a92f2f;
}

.jalali-date-status.is-success {
    color: #317047;
}

.backup-jalali-backdrop {
    position: fixed;
    z-index: 1190;
    inset: 0;
    background: rgba(20, 42, 55, .28);
    backdrop-filter: blur(1.5px);
}

.backup-jalali-backdrop[hidden],
.backup-jalali-calendar[hidden] {
    display: none !important;
}

body.backup-jalali-open {
    position: fixed;
    top: var(--backup-jalali-lock-top, 0);
    right: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    padding-right: var(--backup-jalali-scrollbar, 0);
}

.backup-jalali-calendar {
    position: fixed;
    z-index: 1200;
    top: 50%;
    left: 50%;
    width: min(510px, calc(100vw - 24px));
    max-height: calc(100dvh - 24px);
    overflow: auto;
    overscroll-behavior: contain;
    transform: translate(-50%, -50%);
    direction: rtl;
    border: 2px solid #7195a7;
    border-radius: 16px;
    background: linear-gradient(145deg, #e7f1f5 0%, #d9e9f0 100%);
    box-shadow:
        0 5px 0 #668898,
        0 24px 55px rgba(20, 47, 61, .30),
        inset 2px 2px 0 rgba(255, 255, 255, .9),
        inset -2px -2px 0 rgba(73, 106, 123, .13);
}

.backup-jalali-topbar {
    position: sticky;
    z-index: 3;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .72rem .85rem;
    border-bottom: 1px solid #a9c1cc;
    background: linear-gradient(180deg, #f7fbfd, #dcebf1);
}

.backup-jalali-topbar strong {
    color: #17384a;
    font-size: .95rem;
}

.backup-jalali-topbar button {
    width: 34px;
    height: 34px;
    border: 1px solid #9eb8c5;
    border-radius: 9px;
    background: #fff;
    color: #35586a;
    font-size: 1.35rem;
    cursor: pointer;
}

.backup-jalali-nav {
    display: grid;
    grid-template-columns: 60px minmax(0, 1fr) minmax(82px, .62fr) 60px;
    gap: .45rem;
    padding: .72rem .85rem .55rem;
}

.backup-jalali-nav button,
.backup-jalali-nav select,
.backup-jalali-shortcuts button,
.backup-jalali-actions button {
    min-height: 38px;
    border: 1px solid #a8bec9;
    border-radius: 9px;
    background: rgba(255, 255, 255, .88);
    color: #24485b;
    font: inherit;
    font-size: .76rem;
    font-weight: 800;
}

.backup-jalali-nav button,
.backup-jalali-shortcuts button,
.backup-jalali-actions button {
    cursor: pointer;
}

/* MARZIN-DATES-V33-CALENDAR-NAV-READABILITY */
.backup-jalali-nav select {
    font-size: 1.10rem;
    line-height: 1.35;
}

.backup-jalali-nav select option {
    font-size: 1.15rem;
}

.backup-jalali-shortcuts.is-hidden,
.backup-jalali-shortcuts[hidden] {
    display: none !important;
}

.backup-jalali-nav button:hover,
.backup-jalali-nav button:focus-visible,
.backup-jalali-shortcuts button:hover,
.backup-jalali-shortcuts button:focus-visible,
.backup-jalali-actions button:hover,
.backup-jalali-actions button:focus-visible,
.backup-jalali-nav select:focus-visible {
    border-color: #4f7e95;
    outline: 2px solid rgba(64, 120, 148, .18);
    outline-offset: 1px;
}

.backup-jalali-weekdays,
.backup-jalali-days {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: .3rem;
    padding-inline: .85rem;
}

.backup-jalali-weekdays {
    padding-top: .25rem;
    padding-bottom: .35rem;
    color: #557181;
    font-size: .7rem;
    font-weight: 800;
    text-align: center;
}

.backup-jalali-days {
    padding-bottom: .65rem;
}

.backup-jalali-days .is-empty {
    min-height: 42px;
}

.backup-jalali-days button {
    position: relative;
    min-width: 0;
    min-height: 42px;
    border: 1px solid #bfd0d8;
    border-radius: 10px;
    background: rgba(255, 255, 255, .86);
    color: #244658;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.backup-jalali-days button:hover,
.backup-jalali-days button:focus-visible {
    border-color: #4c7e96;
    outline: 2px solid rgba(47, 112, 145, .25);
    outline-offset: 1px;
}

.backup-jalali-days button.is-today::after {
    content: "";
    position: absolute;
    right: 50%;
    bottom: 4px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #36708c;
    transform: translateX(50%);
}

.backup-jalali-days button.is-selected {
    border-color: #376f8a;
    background: #cce4ef;
    color: #12394d;
    box-shadow: inset 0 0 0 1px rgba(55, 111, 138, .18);
}

.backup-jalali-days button.is-selected::before {
    content: "✓";
    position: absolute;
    top: 2px;
    left: 4px;
    font-size: .65rem;
}

.backup-jalali-days button.is-disabled {
    opacity: .34;
    cursor: not-allowed;
    background: rgba(235, 240, 243, .75);
}

.backup-jalali-shortcuts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .45rem;
    padding: .15rem .85rem .65rem;
}

.backup-jalali-panel-status {
    min-height: 1.2rem;
    margin: 0;
    padding: 0 .85rem .55rem;
    color: #4d6877;
    font-size: .71rem;
    line-height: 1.6;
}

.backup-jalali-panel-status.is-error {
    color: #a32f2f;
}

.backup-jalali-actions {
    position: sticky;
    z-index: 3;
    bottom: 0;
    display: grid;
    grid-template-columns: 1fr 1.35fr;
    gap: .55rem;
    padding: .7rem .85rem .8rem;
    border-top: 1px solid #a9c1cc;
    background: linear-gradient(0deg, #f6fbfd, #dbeaf0);
}

.backup-jalali-actions button.is-primary {
    border-color: #2f708e;
    background: #3e839f;
    color: #fff;
}

@media (max-width: 560px) {
    .jalali-date-input-row {
        grid-template-columns: 1fr;
    }

    .jalali-date-trigger {
        width: 100%;
    }

    .backup-jalali-calendar {
        width: calc(100vw - 10px);
        max-height: calc(100dvh - 10px);
        border-radius: 13px;
    }

    .backup-jalali-nav {
        grid-template-columns: 52px minmax(0, 1fr) minmax(72px, .56fr) 52px;
        gap: .3rem;
        padding: .55rem .55rem .4rem;
    }

    .backup-jalali-nav button,
    .backup-jalali-nav select,
    .backup-jalali-shortcuts button,
    .backup-jalali-actions button {
        min-height: 36px;
        font-size: .72rem;
    }

    .backup-jalali-nav select {
        font-size: 1.05rem;
    }

    .backup-jalali-nav select option {
        font-size: 1.08rem;
    }

    .backup-jalali-weekdays,
    .backup-jalali-days {
        gap: .22rem;
        padding-inline: .55rem;
    }

    .backup-jalali-days button,
    .backup-jalali-days .is-empty {
        min-height: 38px;
    }

    .backup-jalali-shortcuts {
        gap: .3rem;
        padding-inline: .55rem;
    }

    .backup-jalali-actions {
        padding: .55rem;
    }
}

@media (max-width: 520px) {
    .backup-jalali-nav select {
        font-size: 1.05rem;
    }
}
