/* Кастомный date-picker (assets/js/41-datepicker.js). */
.bpm-datepop {
    position: absolute;
    z-index: 100000;
    width: 264px;
    background: var(--color-bg, #fff);
    border: 1px solid var(--color-border, #e5e7eb);
    border-radius: var(--radius-lg);
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.18);
    padding: var(--space-2);
    font-family: inherit;
    font-size: var(--text-sm);
    color: var(--color-text, #1f2937);
    user-select: none;
}
.bpm-datepop-head {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    margin-bottom: 6px;
}
.bpm-datepop-title {
    flex: 1;
    text-align: center;
    font-weight: 600;
    font-size: var(--text-sm);
    text-transform: capitalize;
}
.bpm-datepop-nav {
    width: 24px; height: 24px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-size: var(--text-base);
    line-height: 1;
    color: var(--color-text-muted, #6b7280);
    transition: background .15s ease, color .15s ease;
    padding: var(--space-0);
}
.bpm-datepop-nav:hover { background: var(--color-bg-subtle, #f3f4f6); color: var(--color-text, #1f2937); }

.bpm-datepop-dow {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
    margin-bottom: 2px;
}
.bpm-datepop-dow-cell {
    text-align: center;
    font-size: var(--text-xs);
    font-weight: 600;
    color: var(--color-text-muted, #6b7280);
    padding: 4px 0;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.bpm-datepop-dow-cell.weekend { color: var(--color-text-muted); }

.bpm-datepop-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
}
.bpm-datepop-day {
    aspect-ratio: 1;
    min-height: 30px;
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    font-family: inherit;
    font-size: var(--text-xs);
    font-weight: 500;
    color: var(--color-text, #1f2937);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-0);
    transition: background .12s ease, color .12s ease;
}
.bpm-datepop-day:hover:not(.other) {
    background: var(--color-primary-25, rgba(62, 60, 89, 0.10));
    color: var(--color-primary, #3E3C59);
}
.bpm-datepop-day.other { color: #cbd5e1; font-weight: 400; }
.bpm-datepop-day.other:hover { background: transparent; }
.bpm-datepop-day.weekend { color: var(--color-text-muted); }
.bpm-datepop-day.today {
    border-color: var(--color-primary, #3E3C59);
    color: var(--color-primary, #3E3C59);
    font-weight: 700;
}
.bpm-datepop-day.selected {
    background: var(--color-primary, #3E3C59);
    color: #fff;
    font-weight: 700;
    border-color: var(--color-primary, #3E3C59);
}
.bpm-datepop-day.selected:hover { background: var(--color-primary, #3E3C59); color: #fff; }

.bpm-datepop-foot {
    display: flex;
    gap: var(--space-2);
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid var(--color-border, #e5e7eb);
}
.bpm-datepop-action {
    flex: 1;
    padding: var(--space-2);
    background: transparent;
    border: 1px solid var(--color-border, #e5e7eb);
    border-radius: var(--radius-sm);
    font-family: inherit;
    font-size: var(--text-xs);
    color: var(--color-text, #1f2937);
    cursor: pointer;
    transition: background .12s ease, border-color .12s ease;
}
.bpm-datepop-action:hover {
    background: var(--color-bg-subtle, #f3f4f6);
    border-color: var(--color-border-strong, #d1d5db);
}

input[data-bpm-date]::placeholder { color: #c1c7d0; }
