.jalali-field,
.jalali-picker {
    position: relative;
}

.jalali-field--trigger {
    margin: 0;
}

.jalali-trigger {
    width: 100%;
    min-height: 100%;
}

.jalali-picker__panel {
    position: absolute;
    z-index: 20;
    inset-inline-end: 0;
    top: calc(100% + var(--space-2));
    width: min(340px, calc(100vw - (var(--space-4) * 2)));
    padding: var(--space-3);
    border: 1px solid rgb(var(--accent-rgb) / .25);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: var(--shadow-3);
}

.jalali-picker__head {
    display: grid;
    grid-template-columns: 44px 1fr 44px;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
}

.jalali-picker__head strong {
    color: var(--text);
    text-align: center;
}

.jalali-picker__nav {
    border-color: var(--border) !important;
    background: var(--paper) !important;
    color: var(--accent-ink) !important;
    font-size: 1.5rem !important;
    line-height: 1;
}

.jalali-picker__weekdays,
.jalali-picker__panel [role="grid"] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: var(--space-1);
}

.jalali-picker__weekdays {
    margin-bottom: var(--space-1);
}

.jalali-picker__weekdays abbr {
    color: var(--text-muted);
    font-size: .75rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}

.jalali-picker__panel button {
    min-width: 44px;
    min-height: 44px;
    border: 1px solid transparent;
    border-radius: var(--radius-md);
    color: var(--text);
    background: transparent;
    font: inherit;
    cursor: pointer;
}

.jalali-picker__panel [role="gridcell"] {
    position: relative;
    font-variant-numeric: tabular-nums;
}

.jalali-picker__panel [role="gridcell"]:hover,
.jalali-picker__panel [role="gridcell"]:focus-visible {
    border-color: var(--accent);
    outline: 2px solid transparent;
    background: rgb(var(--accent-rgb) / .12);
}

.jalali-picker__panel [role="gridcell"].is-today:not(.is-selected) {
    border-color: rgb(var(--accent-rgb) / .5);
    color: var(--accent-ink);
    font-weight: 800;
}

.jalali-picker__panel [role="gridcell"].is-selected {
    border-color: var(--accent);
    background: var(--accent);
    color: var(--accent-on);
    font-weight: 800;
    box-shadow: 0 4px 12px rgb(var(--accent-rgb) / .28);
}

.jalali-picker__panel button:disabled {
    color: var(--text-muted);
    cursor: not-allowed;
    opacity: .38;
}

.jalali-picker__time {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    margin-top: var(--space-3);
    color: var(--text);
}

.jalali-picker__time input {
    min-height: 44px;
    padding: var(--space-2);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: var(--paper);
    color: var(--text);
    font: inherit;
}

.jalali-picker__actions {
    display: flex;
    justify-content: space-between;
    gap: var(--space-2);
    margin-top: var(--space-3);
}

.jalali-picker__actions button {
    flex: 1;
}

.jalali-picker__actions .jalali-picker__confirm {
    border-color: var(--accent);
    background: var(--accent);
    color: var(--accent-on);
}

@media (max-width: 420px) {
    .jalali-picker__panel {
        position: fixed;
        inset: auto var(--space-3) calc(76px + var(--space-3));
        width: auto;
    }

    .jalali-picker__panel button {
        min-width: 0;
    }
}
