/* Basic body styling (outside modal) */
        body.syllabus_modal_body_override { /* Added a more specific class for body to avoid conflict */
            font-family: 'Inter', sans-serif;
            margin: 20px;
            background-color: #f4f7f6;
            color: #333;
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 90vh;
        }

        /* Button to open the modal */
        #syllabus_modal_openContentModalBtn {
            padding: 10px 20px; /* Slightly reduced padding */
            background-color: #007bff;
            color: white;
            border: none;
            border-radius: 6px; /* Slightly less rounded */
            cursor: pointer;
            font-size: 0.95em; /* Slightly reduced font size */
            transition: background-color 0.3s ease, transform 0.1s ease;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        }

        #syllabus_modal_openContentModalBtn:hover {
            background-color: #0056b3;
        }
        #syllabus_modal_openContentModalBtn:active {
            transform: scale(0.98);
        }
        
        /* Custom styles for .modal-content */
        .syllabus_modal_modal-content { 
            border-radius: 10px; 
            box-shadow: 0 4px 12px rgba(0,0,0,0.25);
            font-family: 'Inter', sans-serif;
        }

        /* Custom styles for .modal-header */
        .syllabus_modal_modal-header {
            background-color: #f8f9fa;
            border-top-left-radius: 10px; 
            border-top-right-radius: 10px; 
            padding: 15px 20px; /* Reduced padding */
        }
        .syllabus_modal_modal-header .modal-title {
            font-size: 1.3em; /* Reduced font size */
            color: #343a40;
            font-weight: bold;
        }
        .syllabus_modal_modal-header .close {
             font-size: 28px; /* Reduced size */
             opacity: 0.6;
        }
        .syllabus_modal_modal-header .close:hover {
            opacity: 1;
        }

        /* Custom styles for .modal-body */
        .syllabus_modal_modal-body {
            padding: 15px 20px; /* Reduced padding */
        }

        .syllabus_modal_selection-path-breadcrumbs {
            font-size: 0.85em; /* Reduced font size */
            color: #495057;
            margin-bottom: 12px; /* Reduced margin */
            padding-bottom: 8px; /* Reduced padding */
            border-bottom: 1px dashed #ced4da;
        }
        
        .syllabus_modal_dropdown-controls {
            display: flex;
            gap: 12px; /* Reduced gap */
            margin-bottom: 12px; /* Reduced margin */
            align-items: flex-end; 
        }

        .syllabus_modal_dropdown-controls > div {
            display: flex;
            flex-direction: column;
            flex-grow: 1; /* Allow dropdowns to share space */
        }

        .syllabus_modal_dropdown-controls label {
            margin-bottom: 3px; /* Reduced margin */
            font-weight: bold;
            font-size: 0.8em; /* Reduced font size */
            color: #495057;
        }

        .syllabus_modal_dropdown-controls select.form-control {
            padding-top: 6px; 
            padding-bottom: 6px;
            font-size: 0.9em; /* Reduced font size */
            /* min-width: 160px; Removed to allow flex-grow to work better */
            height: auto; 
        }

        .syllabus_modal_list-container {
            margin-bottom: 12px; /* Reduced margin */
        }
        
        .syllabus_modal_list-container h3 {
            margin-top: 0;
            margin-bottom: 8px; /* Reduced margin */
            font-size: 1.15em; /* Reduced font size */
            color: #212529;
        }

        .syllabus_modal_scrollable-list {
            max-height: 340px; /* Adjusted height for overall balance */
            overflow-y: auto;
            border: 1px solid #dee2e6;
            padding: 8px 12px; /* Reduced padding */
            border-radius: 5px; 
            background-color: #fdfdfd;
        }

        .syllabus_modal_chapter-item {
            margin-bottom: 12px; /* Reduced margin */
            border: 1px solid #ced4da;
            border-radius: 5px;
            background-color: #fff;
            overflow: hidden;
        }

        .syllabus_modal_chapter-header-bar {
            display: flex;
            align-items: center;
            padding: 8px 10px; /* Reduced padding */
            background-color: #f1f3f5;
            border-bottom: 1px solid #dee2e6;
        }

        .syllabus_modal_chapter-header-bar input[type="checkbox"] {
            margin-right: 10px; /* Reduced margin */
            width: 17px; /* Adjusted size */
            height: 17px; /* Adjusted size */
            cursor: pointer;
        }

        .syllabus_modal_chapter-title-button {
            flex-grow: 1;
            cursor: pointer;
            font-weight: bold;
            color: #0056b3;
            text-align: left;
            background: none;
            border: none;
            padding: 0;
            font-size: 0.95em; /* Adjusted font size */
        }
        .syllabus_modal_chapter-title-button:hover {
            text-decoration: underline;
        }

        .syllabus_modal_topic-list {
            list-style-type: none;
            padding: 0;
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.35s cubic-bezier(0.25, 0.1, 0.25, 1); /* Slightly faster transition */
        }

        .syllabus_modal_topic-list.syllabus_modal_visible {
            max-height: 450px; /* Adjusted if necessary */
            padding-top: 6px; 
            padding-bottom: 6px;
        }

        .syllabus_modal_topic-item {
            display: flex;
            align-items: center;
            padding: 6px 10px 6px 30px; /* Adjusted padding */
            border-bottom: 1px dotted #e9ecef;
        }
        .syllabus_modal_topic-item:last-child {
            border-bottom: none;
        }

        .syllabus_modal_topic-item input[type="checkbox"] {
            margin-right: 8px; 
            width: 15px; 
            height: 15px; 
            cursor: pointer;
        }

        .syllabus_modal_topic-name {
            cursor: pointer;
            font-size: 0.9em; /* Adjusted font size */
            color: #343a40;
            flex-grow: 1;
        }
        .syllabus_modal_topic-name:hover {
            color: #007bff;
        }

        /* Custom styles for .modal-footer */
        .syllabus_modal_modal-footer {
            background-color: #f8f9fa;
            padding: 12px 20px; /* Reduced padding */
            border-bottom-left-radius: 10px; 
            border-bottom-right-radius: 10px; 
            display: flex; 
            justify-content: space-between; 
            align-items: flex-end; /* Align to bottom for better layout with multi-line textareas */
            gap: 10px; 
            flex-direction: column; /* CHANGED */
        }
        
        .syllabus_modal_footer-left-column { /* Wrapper for textareas and datetime */
            display: flex;
            flex-direction: column;
            gap: 8px; /* Reduced gap */
            flex-grow: 1;
            width: 100%; /* ADDED */
        }
        
        .syllabus_modal_footer-textareas {
            display: flex;
            flex-direction: column;
            gap: 8px; /* Reduced gap */
        }

        .syllabus_modal_modal-footer .syllabus_modal_footer-item {
            display: flex;
            flex-direction: column;
        }

        .syllabus_modal_modal-footer label {
            margin-bottom: 3px; 
            font-weight: bold;
            font-size: 0.85em; /* Adjusted font size */
            color: #495057;
            text-align: left !important; /* Ensure left alignment */
        }

        .syllabus_modal_modal-footer textarea.form-control,
        .syllabus_modal_modal-footer input[type="datetime-local"].form-control {
            padding: 6px 8px; /* Reduced padding */
            font-size: 0.85em; /* Adjusted font size */
            height: auto; 
        }
        #syllabus_modal_topic-summary {
             min-height: 36px; /* Adjusted min-height */
        }
        #syllabus_modal_overall-summary {
            min-height: 44px; /* Adjusted min-height */
        }
        #syllabus_modal_datetime-selection {
            max-width: 220px; /* Constrain width of datetime input */
        }
        
        .syllabus_modal_footer-buttons {
            display: flex;
            gap: 8px; /* Space between buttons */
            align-items: flex-end; /* Align buttons to the right */
            flex-direction: row; /* CHANGED */
        }

        .syllabus_modal_footer-buttons .btn {
            padding: 8px 15px; /* Adjusted padding */
            font-size: 0.9em; /* Adjusted font size */
            width: 100%; /* Make buttons take full width of their container */
        }
        
        .syllabus_modal_font-bold {
            font-weight: bold;
        }
        
         /* Modal Styling */
        #User_pyd_event_eventsModal .modal-dialog {
            width: 90%; /* Wider modal */
            max-width: 800px;
        }

        /* Apply font to modal content directly */
        #User_pyd_event_eventsModal .modal-content {
            font-family: 'Arial', sans-serif;
        }

        .User_pyd_event_modal_header {
            background-color: #f5f5f5;
            border-bottom: 1px solid #e5e5e5;
            padding: 15px;
        }
        .User_pyd_event_modal_header .modal-title {
            font-size: 1.5em;
            font-weight: bold;
            color: #337ab7; /* Bootstrap primary color */
        }
        .User_pyd_event_modal_header .close {
            font-size: 1.8em;
            opacity: 0.7;
        }

        .User_pyd_event_modal_body {
            padding: 20px;
        }

        .User_pyd_event_controls_panel {
            background-color: #f9f9f9;
            padding: 15px;
            border-radius: 4px;
            margin-bottom: 20px;
            border: 1px solid #eee;
        }
        .User_pyd_event_controls_panel .form-group {
            margin-bottom: 10px;
        }
        .User_pyd_event_controls_panel .form-control {
            border-radius: 3px;
        }
        .User_pyd_event_controls_panel .btn {
            margin-top: 5px; /* Align buttons better if labels are above */
        }
        .User_pyd_event_nav_buttons .btn {
            margin-right: 10px;
        }


        .User_pyd_event_date_range_title {
            font-size: 1.2em;
            font-weight: bold;
            color: #555;
            margin-bottom: 15px;
            text-align: center;
            padding: 10px;
            background-color: #e9edf0;
            border-radius: 4px;
        }

        .User_pyd_event_calendar_list_container {
            max-height: 400px;
            overflow-y: auto;
            padding-right: 10px; /* For scrollbar */
            border: 1px solid #ddd;
            border-radius: 4px;
            background-color: #fff;
        }

        .User_pyd_event_year_group,
        .User_pyd_event_month_group,
        .User_pyd_event_day_group {
            margin-bottom: 15px;
        }

        .User_pyd_event_year_header,
        .User_pyd_event_month_header,
        .User_pyd_event_day_header {
            font-weight: bold;
            color: #337ab7;
            padding: 8px 10px;
            border-radius: 3px;
            margin-bottom: 8px;
        }

        .User_pyd_event_year_header {
            font-size: 1.4em;
            background-color: #d9edf7; /* Light blue */
            text-align: center;
        }
        .User_pyd_event_month_header {
            font-size: 1.2em;
            background-color: #f0f8ff; /* Alice blue */
            margin-left: 15px;
        }
        .User_pyd_event_day_header {
            font-size: 1.1em;
            background-color: #f9f9f9; /* Very light grey */
            margin-left: 30px;
            border-bottom: 1px solid #eee;
        }

        .User_pyd_event_item {
            background-color: #ffffff;
            border: 1px solid #e3e3e3;
            border-radius: 4px;
            margin-left: 45px;
            margin-bottom: 10px;
            padding: 12px;
            cursor: pointer;
            transition: box-shadow 0.2s ease-in-out, transform 0.2s ease;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        }
        .User_pyd_event_item:hover {
            box-shadow: 0 4px 8px rgba(0,0,0,0.15);
            transform: translateY(-2px);
            border-left: 4px solid #337ab7; /* Accent on hover */
        }
        .User_pyd_event_item_title {
            font-weight: bold;
            font-size: 1.05em;
            color: #333;
            margin-bottom: 5px;
        }
        .User_pyd_event_item_caption {
            font-size: 0.9em;
            color: #777;
            margin-bottom: 5px;
        }
        .User_pyd_event_item_time_status {
            font-size: 0.85em;
            color: #888;
            display: flex;
            justify-content: space-between;
        }
        .User_pyd_event_item_time_status .User_pyd_event_time_confirmed {
            color: green;
            font-weight: bold;
        }
        .User_pyd_event_item_time_status .User_pyd_event_time_unconfirmed {
            color: orange;
        }
        .User_pyd_event_item_importance_high {
            border-left: 4px solid #d9534f; /* Red for high importance */
        }
         .User_pyd_event_item_importance_high:hover {
             border-left: 6px solid #d9534f;
         }

        .User_pyd_event_loading_overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(255, 255, 255, 0.8);
            display: flex;
            justify-content: center;
            align-items: center;
            z-index: 10; /* Ensure it's above the list */
        }
        .User_pyd_event_loading_overlay .fa-spinner {
            font-size: 2em;
            color: #337ab7;
        }

        .User_pyd_event_no_events_message {
            text-align: center;
            padding: 20px;
            font-size: 1.1em;
            color: #777;
        } 
        
/* === NEW STYLES ADDED BELOW === */

/* Main Container */
.form-container {
    display: flex;
    gap: 18px;
    padding: 17px 0;
    background: #fff;
    border-radius: 12px;
    max-width: 900px;
    margin: 0;
    flex-direction: column;
    align-items: flex-start;
}

/* Parent container for form elements */
.selectsetit {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr; /* Three equal columns */
    gap: 20px;
    padding: 20px;
}

/* Form Group (Label + Input) */
.selectsetit .form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Label Styling */
.selectsetit .form-group label {
    font-size: 14px;
    font-weight: 600;
    color: #333;
    position: unset;
}

/* Select and Input Styling */
.selectsetit .form-group select,
.selectsetit .form-group input {
    padding: 10px 14px;
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 8px;
    background: #f9f9f9;
    outline: none;
    transition: border-color 0.3s ease;
}

/* Button Styling */
.selectsetit #syllabusModalheader_div_start_now_button {
    background: #28a745;
    color: white;
    border: none;
    padding: 10px 16px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.3s ease;
}

.selectsetit #syllabusModalheader_div_start_now_button:hover {
    background: #218838;
}

.chatperpractice {
    overflow: scroll;
}

/* Mobile Responsive (Stack inputs into one column on smaller screens) */
@media (max-width: 768px) {
    .selectsetit {
        grid-template-columns: 1fr;
        width: 100%;
        gap: 0px;
        padding: 0 4px;
    }
    .selectsetit .form-group label {
        font-size: 12px;
    }
    .syllabus_modal_footer-buttons {
        width: 100%;
    }
}