/* ===== PROFILE SCHEDULE MODAL ===== */
.schedule-overlay {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.5); z-index: 2000;
    display: flex; align-items: flex-end; justify-content: center;
}
@media (min-width: 768px) { .schedule-overlay { align-items: center; } }
.schedule-popup {
    background: #fff; border-radius: 20px 20px 0 0;
    width: 100%; max-width: 500px; max-height: 90vh;
    display: flex; flex-direction: column; overflow: hidden;
}
@media (min-width: 768px) { .schedule-popup { border-radius: 20px; } }
.schedule-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 20px; border-bottom: 1px solid #f0f0f0;
}
.schedule-header h3 { font-size: 18px; font-weight: 600; }
.schedule-header button { background: none; border: none; padding: 8px; cursor: pointer; border-radius: 8px; color: #666; }
.schedule-body { flex: 1; overflow-y: auto; padding: 20px; }
.schedule-hint { font-size: 13px; color: #888; margin-bottom: 16px; }
.schedule-footer { padding: 16px 20px; border-top: 1px solid #f0f0f0; }

.schedule-actions { display: flex; gap: 8px; margin-bottom: 16px; flex-wrap: wrap; }
.schedule-action-btn {
    padding: 8px 14px; border: 1px solid #e0e0e0; border-radius: 10px;
    background: #fff; font-size: 13px; font-weight: 500; cursor: pointer;
    font-family: inherit; color: #666;
}
.schedule-action-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.schedule-action-btn--danger { color: #f44336; border-color: #f44336; }

.schedule-days { display: flex; flex-direction: column; gap: 8px; }
.schedule-day {
    display: flex; align-items: center; gap: 12px; padding: 12px 14px;
    background: #f8f8f8; border-radius: 12px; cursor: pointer;
    border: 2px solid transparent; transition: all 0.15s;
}
.schedule-day.selected { background: #fdf2f5; border-color: #dd1847; }
.schedule-day-name { flex: 1; font-size: 14px; font-weight: 500; }
.schedule-day-time { font-size: 13px; color: #888; }
.schedule-day-check {
    width: 20px; height: 20px; border-radius: 6px; border: 2px solid #ddd;
    display: flex; align-items: center; justify-content: center;
}
.schedule-day.selected .schedule-day-check { background: #dd1847; border-color: #dd1847; }
.schedule-day-check svg { stroke: #fff; display: none; }
.schedule-day.selected .schedule-day-check svg { display: block; }

.schedule-save-btn {
    width: 100%; padding: 16px; background: #dd1847; color: #fff;
    border: none; border-radius: 12px; font-size: 16px; font-weight: 600;
    cursor: pointer; font-family: inherit;
}

/* Пикер времени */
.timepicker-overlay {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.5); z-index: 2200;
    display: flex; align-items: center; justify-content: center;
}
.timepicker-popup {
    background: #fff; border-radius: 20px; width: 90%; max-width: 350px;
    overflow: hidden;
}
.timepicker-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 20px; border-bottom: 1px solid #f0f0f0;
}
.timepicker-header h3 { font-size: 18px; font-weight: 600; }
.timepicker-header button { background: none; border: none; padding: 8px; cursor: pointer; color: #666; }
.timepicker-body { padding: 20px; }
.timepicker-field { margin-bottom: 16px; }
.timepicker-field label { display: block; font-size: 13px; font-weight: 600; color: #888; margin-bottom: 6px; }
.timepicker-input { width: 100%; padding: 12px; border: 1px solid #e0e0e0; border-radius: 10px; font-size: 16px; font-family: inherit; }
.timepicker-footer { padding: 16px 20px; border-top: 1px solid #f0f0f0; }
.timepicker-apply-btn {
    width: 100%; padding: 14px; background: #dd1847; color: #fff;
    border: none; border-radius: 12px; font-size: 15px; font-weight: 600;
    cursor: pointer; font-family: inherit;
}