/**
 * MindFusion.Scheduling Modern-Dark Theme
 * Fully integrated with the Nordic Cool palette
 */

/* ========================================================
   SELECTION & BASE PLANNER STYLES
   ======================================================== */
.mfp-planner.modern-dark,
.modern-dark .mfp-planner,
.modern-dark.mfp-planner {
    background-color: #1e293b;
    color: #f8fafc;
    border: 1px solid #334155;
    border-radius: 8px;
    font-family: 'system-ui', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    overflow: hidden;
}

.mfp-planner.modern-dark .mfp-selection,
.modern-dark .mfp-planner .mfp-selection {
    background-color: rgba(12, 74, 110, 0.45);
    border: 1px dashed #38bdf8;
}

/* ========================================================
   HEADERS, TITLES & NAVIGATION
   ======================================================== */
.mfp-planner.modern-dark .mfp-header,
.modern-dark .mfp-planner .mfp-header,
.mfp-planner.modern-dark .mfp-header-weekdays,
.modern-dark .mfp-planner .mfp-header-weekdays,
.mfp-planner.modern-dark .mfp-header-timeline,
.modern-dark .mfp-planner .mfp-header-timeline,
.mfp-planner.modern-dark .mfp-header-group,
.modern-dark .mfp-planner .mfp-header-group {
    background-color: #0f172a;
    color: #f8fafc;
    border-color: #334155;
}

.mfp-planner.modern-dark .mfp-header .mfp-title,
.modern-dark .mfp-planner .mfp-header .mfp-title,
.mfp-month-view.modern-dark .mfp-header .mfp-title,
.modern-dark .mfp-month-view .mfp-header .mfp-title,
.mfp-month-range-view.modern-dark .mfp-header .mfp-title,
.modern-dark .mfp-month-range-view .mfp-header .mfp-title {
    background-color: #0f172a;
    color: #f8fafc;
    font-weight: 600;
}

.mfp-planner.modern-dark .mfp-header-weekdays,
.modern-dark .mfp-planner .mfp-header-weekdays {
    background-color: #1e293b;
    color: #94a3b8;
    border-top: 1px solid #334155;
    border-bottom: 1px solid #334155;
}

.mfp-planner.modern-dark .mfp-header a,
.modern-dark .mfp-planner .mfp-header a {
    color: #f8fafc;
}

.mfp-planner.modern-dark .mfp-cue,
.modern-dark .mfp-planner .mfp-cue {
    color: #38bdf8;
}

/* ========================================================
   MONTH VIEWS (Month & MonthRange)
   ======================================================== */
.mfp-month-view.modern-dark,
.modern-dark .mfp-month-view,
.mfp-month-range-view.modern-dark,
.modern-dark .mfp-month-range-view {
    background-color: #1e293b;
    color: #f8fafc;
}

.mfp-month-view.modern-dark .mfp-week,
.modern-dark .mfp-month-view .mfp-week {
    border-top: 1px solid #334155;
    background-color: #1e293b;
}

.mfp-month-view.modern-dark .mfp-content .mfp-wrap .mfp-bg-row .mfp-bg-cell,
.modern-dark .mfp-month-view .mfp-content .mfp-wrap .mfp-bg-row .mfp-bg-cell {
    border-right: 1px solid #334155;
    border-bottom: 1px solid #334155;
}

.mfp-month-view.modern-dark .mfp-bg-cell-header,
.modern-dark .mfp-month-view .mfp-bg-cell-header {
    border-color: #334155;
    color: #94a3b8;
}

.mfp-month-view.modern-dark .mfp-weekend-cell,
.modern-dark .mfp-month-view .mfp-weekend-cell {
    background-color: #172033;
}

.mfp-month-view.modern-dark .mfp-weekend-cell .mfp-bg-cell-header,
.modern-dark .mfp-month-view .mfp-weekend-cell .mfp-bg-cell-header {
    color: #38bdf8;
}

.mfp-month-view.modern-dark .mfp-weeknumbers,
.modern-dark .mfp-month-view .mfp-weeknumbers {
    background-color: #0f172a;
    color: #64748b;
    border-right: 1px solid #334155;
}

/* ========================================================
   WEEK VIEW
   ======================================================== */
.mfp-week-view.modern-dark,
.modern-dark .mfp-week-view {
    background-color: #1e293b;
    color: #f8fafc;
}

.mfp-week-view.modern-dark .mfp-bg-cell,
.modern-dark .mfp-week-view .mfp-bg-cell {
    border-right: 1px solid #334155;
    border-bottom: 1px solid #334155;
}

.mfp-week-view.modern-dark .mfp-bg-cell-header,
.modern-dark .mfp-week-view .mfp-bg-cell-header {
    color: #94a3b8;
}

.mfp-week-view.modern-dark .mfp-weekend-cell .mfp-bg-cell-header,
.modern-dark .mfp-week-view .mfp-weekend-cell .mfp-bg-cell-header {
    color: #38bdf8;
}

/* ========================================================
   TIMETABLE VIEW
   ======================================================== */
.mfp-timetable-view.modern-dark,
.modern-dark .mfp-timetable-view {
    background-color: #1e293b;
    color: #f8fafc;
}

.mfp-timetable-view.modern-dark .mfp-header,
.modern-dark .mfp-timetable-view .mfp-header {
    background-color: #0f172a;
    color: #f8fafc;
    border-bottom: 1px solid #334155;
}

.mfp-timetable-view.modern-dark .mfp-header .mfp-title-table tr.mfp-group-row,
.modern-dark .mfp-timetable-view .mfp-header .mfp-title-table tr.mfp-group-row {
    background-color: #0f172a;
    color: #f8fafc;
    border-bottom: 1px solid #334155;
}

.mfp-timetable-view.modern-dark .mfp-header-timeline,
.modern-dark .mfp-timetable-view .mfp-header-timeline {
    background-color: #0f172a;
    color: #94a3b8;
    border-right: 1px solid #334155;
}

.mfp-timetable-view.modern-dark .mfp-header-timeline .mfp-hour,
.modern-dark .mfp-timetable-view .mfp-header-timeline .mfp-hour {
    border-top: 1px solid #334155;
    color: #f8fafc;
}

.mfp-timetable-view.modern-dark .mfp-header-timeline .mfp-time,
.modern-dark .mfp-timetable-view .mfp-header-timeline .mfp-time {
    border-top: 1px dotted #334155;
    color: #64748b;
}

.mfp-timetable-view.modern-dark .mfp-content .mfp-column,
.modern-dark .mfp-timetable-view .mfp-content .mfp-column {
    border-right: 1px solid #334155;
}

.mfp-timetable-view.modern-dark .mfp-content .mfp-column .mfp-cell,
.modern-dark .mfp-timetable-view .mfp-content .mfp-column .mfp-cell {
    border-bottom: 1px solid #334155;
}

/* ========================================================
   RESOURCE VIEW
   ======================================================== */
.mfp-resource-view.modern-dark,
.modern-dark .mfp-resource-view {
    background-color: #1e293b;
    color: #f8fafc;
}

.mfp-resource-view.modern-dark .mfp-header,
.modern-dark .mfp-resource-view .mfp-header,
.mfp-resource-view.modern-dark .mfp-header-group,
.modern-dark .mfp-resource-view .mfp-header-group {
    background-color: #0f172a;
    color: #f8fafc;
    border-color: #334155;
}

.mfp-resource-view.modern-dark .mfp-wrapper .mfp-content .mfp-wrap .mfp-lane-table td,
.modern-dark .mfp-resource-view .mfp-wrapper .mfp-content .mfp-wrap .mfp-lane-table td {
    border-bottom: 1px solid #334155;
    border-right: 1px solid #334155;
}

/* ========================================================
   LIST VIEWS (Horizontal & Vertical)
   ======================================================== */
.mfp-list-view.modern-dark,
.modern-dark .mfp-list-view,
.mfp-vertical-list-view.modern-dark,
.modern-dark .mfp-vertical-list-view {
    background-color: #1e293b;
    color: #f8fafc;
}

.mfp-list-view.modern-dark .mfp-bg-cell-header,
.modern-dark .mfp-list-view .mfp-bg-cell-header,
.mfp-vertical-list-view.modern-dark .mfp-bg-cell-header,
.modern-dark .mfp-vertical-list-view .mfp-bg-cell-header {
    background-color: #1e293b;
    color: #94a3b8;
}

.mfp-list-view.modern-dark .mfp-content .mfp-wrap .mfp-bg-row .mfp-bg-cell,
.modern-dark .mfp-list-view .mfp-content .mfp-wrap .mfp-bg-row .mfp-bg-cell,
.mfp-vertical-list-view.modern-dark .mfp-bg-cell,
.modern-dark .mfp-vertical-list-view .mfp-bg-cell {
    border-right: 1px solid #334155;
    border-bottom: 1px solid #334155;
}

/* ========================================================
   APPOINTMENTS & ITEMS
   ======================================================== */
.mfp-planner.modern-dark .mfp-item,
.modern-dark .mfp-planner .mfp-item {
    background-color: #0284c7;
    color: #f8fafc;
    border: 1px solid #38bdf8;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.mfp-planner.modern-dark .mfp-item .mfp-subject,
.modern-dark .mfp-planner .mfp-item .mfp-subject {
    background-color: transparent;
    color: #f8fafc;
    font-weight: 600;
}

.mfp-planner.modern-dark .mfp-item-vertical .mfp-subject,
.modern-dark .mfp-planner .mfp-item-vertical .mfp-subject {
    background-color: rgba(2, 132, 199, 0.9);
}

.mfp-planner.modern-dark .mfp-selected .mfp-item,
.modern-dark .mfp-planner .mfp-selected .mfp-item,
.mfp-planner.modern-dark .mfp-item.mfp-selected,
.modern-dark .mfp-planner .mfp-item.mfp-selected,
.mfp-planner.modern-dark .mfp-item-horizontal.mfp-selected .mfp-subject,
.modern-dark .mfp-planner .mfp-item-horizontal.mfp-selected .mfp-subject {
    background-color: #db2777;
    border-color: #f472b6;
    color: #ffffff;
}

/* ========================================================
   POPUP FORMS & CONTROLS (Elevated Card Design)
   ======================================================== */
.mfp-popup.modern-dark,
.modern-dark .mfp-popup {
    color: #f8fafc;
    background-color: #243044;
    border: 1px solid #475569;
    border-radius: 10px;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.7), 0 10px 10px -5px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(56, 189, 248, 0.25);
    overflow: hidden;
    padding-bottom: 8px;
}

.mfp-popup.modern-dark .mfp-popup-header,
.modern-dark .mfp-popup .mfp-popup-header {
    color: #ffffff;
    background-color: #0f172a;
    border-bottom: 1px solid #334155;
    padding: 10px 14px;
    font-weight: 700;
    font-size: 13px;
}

.mfp-popup.modern-dark .mfp-popup-header a.mfp-close-button,
.modern-dark .mfp-popup .mfp-popup-header a.mfp-close-button,
.mfp-popup.modern-dark .mfp-popup-header a.mfp-close-button:before,
.modern-dark .mfp-popup .mfp-popup-header a.mfp-close-button:before {
    color: #f8fafc !important;
    font-size: 18px;
    line-height: 16px;
    text-decoration: none;
    opacity: 0.85;
    filter: none;
    display: inline-block;
}

.mfp-popup.modern-dark .mfp-popup-header a.mfp-close-button:hover,
.modern-dark .mfp-popup .mfp-popup-header a.mfp-close-button:hover,
.mfp-popup.modern-dark .mfp-popup-header a.mfp-close-button:hover:before,
.modern-dark .mfp-popup .mfp-popup-header a.mfp-close-button:hover:before {
    color: #38bdf8 !important;
    opacity: 1;
}

.mfp-popup.modern-dark .mfp-popup-content,
.modern-dark .mfp-popup .mfp-popup-content {
    padding: 10px 14px;
    color: #f8fafc;
}

.mfp-popup.modern-dark .mfp-popup-content .mfp-popup-title,
.modern-dark .mfp-popup .mfp-popup-content .mfp-popup-title {
    color: #38bdf8;
    font-weight: 600;
    font-size: 13px;
    margin-bottom: 6px;
}

/* Bright, easily readable labels */
.mfp-popup.modern-dark label,
.modern-dark .mfp-popup label,
.mfp-popup.modern-dark .mfp-text-label,
.modern-dark .mfp-popup .mfp-text-label,
.mfp-popup.modern-dark .mfp-text-label-fixed,
.modern-dark .mfp-popup .mfp-text-label-fixed {
    color: #e2e8f0;
    font-weight: 500;
}

/* High-contrast sunken input fields */
.mfp-popup.modern-dark .mfp-popup-content .mfp-text-box,
.modern-dark .mfp-popup .mfp-popup-content .mfp-text-box,
.mfp-popup.modern-dark .mfp-popup-content .mfp-text-area,
.modern-dark .mfp-popup .mfp-popup-content .mfp-text-area,
.mfp-popup.modern-dark .mfp-popup-content .mfp-dropDown-list,
.modern-dark .mfp-popup .mfp-popup-content .mfp-dropDown-list,
.mfp-popup.modern-dark .mfp-popup-content .mfp-edit-box input,
.modern-dark .mfp-popup .mfp-popup-content .mfp-edit-box input {
    background-color: #0f172a;
    color: #f8fafc;
    border: 1px solid #475569;
    border-radius: 4px;
    padding: 4px 8px;
    font-family: inherit;
    font-size: 12px;
}

.mfp-popup.modern-dark .mfp-popup-content .mfp-text-box:focus,
.modern-dark .mfp-popup .mfp-popup-content .mfp-text-box:focus,
.mfp-popup.modern-dark .mfp-popup-content .mfp-text-area:focus,
.modern-dark .mfp-popup .mfp-popup-content .mfp-text-area:focus,
.mfp-popup.modern-dark .mfp-popup-content .mfp-dropDown-list:focus,
.modern-dark .mfp-popup .mfp-popup-content .mfp-dropDown-list:focus {
    border-color: #38bdf8;
    outline: 1px solid #38bdf8;
    box-shadow: 0 0 0 2px rgba(56, 189, 248, 0.2);
}

/* Dropdown list items & background */
.mfp-popup.modern-dark .mfp-popup-content select,
.modern-dark .mfp-popup .mfp-popup-content select {
    background-color: #0f172a;
    color: #f8fafc;
    border: 1px solid #475569;
    border-radius: 4px;
}

.mfp-popup.modern-dark .mfp-popup-content select option,
.modern-dark .mfp-popup .mfp-popup-content select option {
    background-color: #1e293b;
    color: #f8fafc;
}

/* Checkbox and radio labels */
.mfp-popup.modern-dark .mfp-popup-content .mfp-checkbox-list,
.modern-dark .mfp-popup .mfp-popup-content .mfp-checkbox-list {
    background-color: #0f172a;
    color: #f8fafc;
    border: 1px solid #475569;
    border-radius: 6px;
    padding: 6px;
}

.mfp-popup.modern-dark .mfp-popup-content .mfp-checkbox-list tr:hover,
.modern-dark .mfp-popup .mfp-popup-content .mfp-checkbox-list tr:hover {
    background-color: #1e293b;
    color: #38bdf8;
}

/* Action Buttons */
.mfp-popup.modern-dark a.mfp-button,
.modern-dark .mfp-popup a.mfp-button {
    color: #ffffff;
    background-color: #0284c7;
    border: none;
    border-radius: 6px;
    padding: 6px 16px;
    font-weight: 600;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
    transition: background-color 0.15s ease, transform 0.1s ease;
}

.mfp-popup.modern-dark a.mfp-button:hover,
.modern-dark .mfp-popup a.mfp-button:hover {
    background-color: #0ea5e9;
    box-shadow: 0 4px 6px -1px rgba(14, 165, 233, 0.4);
}

.mfp-popup.modern-dark a.mfp-button:active,
.modern-dark .mfp-popup a.mfp-button:active {
    background-color: #0284c7;
    transform: translateY(1px);
}

/* Date / Time Picker Popup */
.mfp-popup.modern-dark .mfp-dtpicker,
.modern-dark .mfp-popup .mfp-dtpicker {
    background-color: #243044;
    border: 1px solid #38bdf8;
    color: #f8fafc;
    border-radius: 8px;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.6);
}

.mfp-popup.modern-dark .mfp-dtpicker .mfp-header,
.modern-dark .mfp-popup .mfp-dtpicker .mfp-header {
    background-color: #0f172a;
    color: #f8fafc;
    border-bottom: 1px solid #334155;
}

.mfp-popup.modern-dark .mfp-dtpicker .mfp-dtpicker-content td:hover,
.modern-dark .mfp-popup .mfp-dtpicker .mfp-dtpicker-content td:hover {
    background-color: #0284c7;
    color: #ffffff;
    border-radius: 4px;
}
