/* Base Styles */
body {
    font-family: 'San Francisco', 'Helvetica Neue', sans-serif;
    background-color: #ffffff;
    /* Changed to all white */
    margin: 0;
    padding: 0;
    color: #333;
}

.body-background {
    background-image: url('background.jpg');
    ;
    /* Change the path to your actual background image */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    /* Optional, for fixed background effect */
    height: 100vh;
    /* Viewport Height: 100% of the viewport height */
    width: 100vw;
    /* Viewport Width: 100% of the viewport width */
}

h2 {
    font-size: 18px;
    margin-bottom: 15px;
}

h3 {
    font-size: 16px;
    margin-bottom: 10px;
    margin-top: 30px;
}

h4 {
    font-size: 14px;
    font-weight: 550;
    margin-bottom: 10px;
    margin-top: 30px;
}

h5 {
    font-size: large;
    margin-bottom: 30px;
    margin-top: 10px;
    text-align: center;
    /* Centers text horizontally */
}

h6 {
    font-size: 18px;
    margin-bottom: 10px;
    margin-top: 30px;
}

h7 {
    font-size: 23px;
    margin-bottom: 20px;
    margin-top: 30px;
}

/* General Styles */
* {
    box-sizing: border-box;
}

.top-nav {
    position: fixed;
    top: 20px;
    left: 20px;
    /* Aligned to the left side of the viewport */
    display: flex;
    align-items: center;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 20px;
    padding: 10px 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: background-color 0.3s;
}

.action-button-container {
    display: inline-flex;
    align-items: center;
}

.dropdown-icon-action {
    font-size: 12px;
    /* Adjust the size of the icon */
    color: white;
    /* Make sure it matches the text color */
    pointer-events: none;
    /* Prevent the icon from triggering dropdown events */
}


.top-nav .nav-item {
    margin-left: 20px;
    padding: 2.5px 5px;
    cursor: pointer;
    border-radius: 10px;
    transition: background-color 0.3s;
}

.top-nav .nav-item:hover {
    background-color: #dfc1797a;
}

.logo {
    height: 40px;
    /* Adjust size as needed */
}

.nav-link {
    color: inherit;
    /* Inherits the color from the parent element */
    text-decoration: none;
    /* Removes underline from links */
    display: block;
    /* Makes the link fill the entire area of its parent div for easier clicking */
}

.nav-link:hover {
    text-decoration: underline;
    /* Optional: Adds underline on hover for visual feedback */
}

#auth-container {
    text-align: center;
    /* Centers the content */
    display: flex;
    /* Flexbox layout */
    flex-direction: column;
    /* Stack elements vertically */
    align-items: center;
    /* Align items in the center */
}

.auth-message {
    color: rgba(255, 255, 255, 0.8);
    /* White with transparency */
    font-size: 30px;
    /* Sizable font for clear readability */
    font-weight: bold;
    /* Makes the text bolder */
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    /* Optional: adds a subtle shadow for better legibility over varied backgrounds */
    margin-bottom: 30px;
}

.auth-button {
    margin-top: 10px;
    width: 110px;
    padding: 10px;
    font-size: 16px;
    background-color: rgba(255, 255, 255, 0.642);
    /* Semi-transparent white */
    border: none;
    border-radius: 15px;
    /* Less rounded corners */
    cursor: pointer;
    color: #333;
    transition: background-color 0.3s;
    /* Smooth transition for hover effect */
}

.auth-button:hover {
    background-color: rgba(255, 255, 255, 0.9);
    /* Less transparent on hover */
}

.auth-buttons-container {
    display: flex;
    flex-direction: row;
    /* Aligns children (buttons) in a row */
    align-items: center;
    /* Center-align the items vertically */
    justify-content: center;
    /* Center-align the items horizontally */
    gap: 20px;
    /* Spacing between buttons */
}

/* Top Container */
.top-container {
    background-color: #fff;
    /* box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); */
    padding: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #ddd;
}


.completion-frequency,
#completion-frequency,
#completion-frequency-edit,
#assignment-selector,
#level-selector {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: none;
    background-color: #dddddd8d;
    border-radius: 10px;
    padding: 10px 40px 10px 40px;
    /* Add padding to the left for the icon */
    font-size: 17px;
    cursor: pointer;
    outline: none;
    background-repeat: no-repeat;
    background-position: right 11px center, left 8px center;
    /* Adjust the position of the left icon */
    background-image: url('chev.png'), url('assignment.png');
    /* Multiple background images */
    background-size: 15px 15px, 22px 22px;
    /* Size for both icons */
    border: 1px solid transparent;
}

/* Base styles for the custom dropdown */
.custom-dropdown {
    position: relative;
    display: inline-block;
    width: auto;
    min-width: 200px;
}

.dropdown-selected {
    background-color: #dddddd8d;
    border-radius: 10px;
    padding: 10px 40px 10px 40px;
    font-size: 17px;
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: right 11px center, left 8px center;
    background-image: url('chev.png'), url('assignment.png');
    background-size: 15px 15px, 22px 22px;
    border: 1px solid transparent;
    white-space: nowrap;
}

.dropdown-list {
    display: none;
    position: absolute;
    background-color: white;
    box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2);
    z-index: 1;
    max-height: 300px;
    /* Increased max-height */
    overflow-y: auto;
    overflow-x: hidden;
    /* Prevent horizontal scrolling */
    border-radius: 10px;
    border: 1px solid #ccc;
    width: 100%;
    min-width: 250px;
}

.dropdown-list input[type="text"] {
    width: 100%;
    padding: 12px 15px;
    box-sizing: border-box;
    border: none;
    border-bottom: 1px solid #e0e0e0;
    outline: none;
    font-size: 16px;
    background-color: #f8f8f8;
    border-radius: 10px 10px 0 0;
}

.dropdown-list input[type="text"]::placeholder {
    color: #999;
}

.dropdown-list input[type="text"]:focus {
    background-color: #fff;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
}

.dropdown-option {
    padding: 12px 15px;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    /* Add ellipsis for overflowing text */
}

.dropdown-option:hover {
    background-color: #f1f1f1;
}

.dropdown-option.selected {
    background-color: #c8e0c697;
    /* Reverted to original color */
    font-weight: bold;
}

/* Style for when the dropdown is open */
.custom-dropdown.open .dropdown-selected {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom: 1px solid #ccc;
}

.custom-dropdown.open .dropdown-list {
    display: block;
    border-top: none;
}

/* Subtle scrollbar style */
.dropdown-list::-webkit-scrollbar {
    width: 8px;
}

.dropdown-list::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.dropdown-list::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 4px;
}

.dropdown-list::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

.completion-frequency,
#completion-frequency,
#completion-frequency-edit,
#level-selector {
    background-position: right 11px center;
    /* Only the right icon */
    background-image: url('chev.png');
    /* Only the right icon */
    background-size: 15px 15px;
    /* Size for the chevron icon */
    font-size: 14px;
}

.completion-frequency,
#completion-frequency-edit,
#completion-frequency {
    width: 25%;
    font-size: medium;
    padding: 10px;
    margin-left: 4px;
}

.completion-frequency:hover,
#completion-frequency:hover,
#completion-frequency-edit:hover,
#assignment-selector:hover {
    border: 1px solid #aaa;
    background-color: #dddddd;
    /* Darken border on hover */
}

#upcoming-dates-dropdown {
    width: 200px;
}

.create-new {
    margin-left: auto;
    border: 1px solid transparent;
    /* Add a transparent border */
}

.create-new:hover {
    background-color: #3d9341;
    color: white;
    z-index: 1000;
    /* Darken border on hover */
}

#driver-highlighted-element-stage {
    display: block;
    position: relative;
    background-color: #3d93416c !important;
    /* White background color */
    /* Additional styles */
    border: 1px solid #3d9341;
    /* Highlight with a blue border */
    box-shadow: 0 0 10px #3d9341;
    /* Soft blue glow */
    z-index: 0 !important;
    /* Ensures it is above most other content */
    border-radius: 5px !important;
    /* Slight rounding of corners for aesthetics */
    padding: 10px !important;
    /* If you want some space inside the box */
}



.profile-icon {
    display: none;
    /* Hide the profile icon initially */
    font-size: 24px;
    /* Adjust the size as needed */
    margin-left: 14px;
    /* Add some spacing between the button and the icon */
    margin-right: 8px;
    width: 40px;
    /* Set the width of your icon */
    height: 40px;
    /* Set the height of your icon */
    border-radius: 50%;
    /* Make it round */
    background: url('profile.png') no-repeat center center;
    /* Set the correct path to your image */
    background-size: cover;
    /* Ensure it covers the whole area */
    float: right;
    /* Float it to the right or position it as needed */
    transition: border 0.3s, filter 0.3s;
    /* Smooth transition for hover effect */
    border: 2px solid transparent;
    /* Initialize with transparent border */
    cursor: pointer;
    /* Changes cursor to pointer */
}

.profile-icon:hover {
    background-color: #3d9341;
    /* Green background color */
    background-image: url('profilewhite.png');
    /* White version of the icon */
}

/* Add this to your existing stylesheet */
.submit-link,
.logout-link,
.login-button {
    white-space: nowrap;
    /* Prevents the text from wrapping */
    background-color: transparent;
    border: none;
    color: green;
    cursor: pointer;
    font-size: 16px;
    padding: 0.5em;
    transition: color 0.3s ease;
}

.submit-link:hover,
.logout-link:hover .login-button:hover {
    color: darkgreen;
    text-decoration: underline;
    /* Underline on hover */
}

/* Position the submit button to the right of the assignment selector */
nav {
    display: flex;
    align-items: center;
}

select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 20px;
    padding: 10px 20px;
    font-size: 16px;
    cursor: pointer;
    outline: none;
    width: 100%;
    /* if applicable globally */
    /* background-image: url('path-to-your-image'); */
    /* if you use a custom arrow */
    height: 40px;
    /* This should match the height above */
    padding: 12px 20px;
    /* Keep padding consistent with the selectors */
    /* Other styles remain the same */
}

/* Existing CSS for selectors */
.selector-container select {
    width: calc(100% - 24px);
    border: 1px solid #ccc;
    /* consistent border */
    padding: 8px 12px;
    /* consistent padding */
    margin-bottom: 0px;
    /* space below the selectors */
    background-color: #f9f9f9;
    /* consistent background */
    appearance: none;
    /* remove default styles */
    -webkit-appearance: none;
    /* remove default styles for Webkit browsers like Chrome and Safari */
    -moz-appearance: none;
    /* remove default styles for Firefox */
    font-family: inherit;
    /* ensures the font is consistent with the page */
    font-size: 16px;
    /* consistent font size */
    color: #333;
    /* text color */
    cursor: pointer;
    /* cursor indicates it's selectable */
    box-sizing: border-box;
    /* This includes padding and border in the element's total width and height */
    height: 40px;
    /* This should match the height above */
}

.selector-container {
    position: relative;
    /* for absolute positioning of the arrow */
    width: 100%;
    /* Ensure the parent container is full width */
    padding: 0;
    /* Remove padding if any */
    margin: 0;
    /* Remove margin if any */
}

.selector-container::after {
    width: 0;
}

/* Specific to attempt selector - add this if not present */
.attempt-selector-container select,
.question-selector-container select {
    width: 100%;
    border: 1px solid #ccc;
    /* padding: 8px 12px; */
    margin-bottom: 0px;
    background-color: #f9f9f9;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    height: 40px;
    /* This should match the height above */
}



/* Optional: Hide the original arrow using CSS if you want to use a custom one */
.selector-container select::-ms-expand {
    display: none;
    /* Hide the default arrow in IE/Edge */
}

section {
    transition: width 0.2s ease-in-out;
    /* Smoother and slower transition */
}

/* Left Container */
.left-container {
    position: relative;
    width: 75px;
    /* Initial thin width */
    float: left;
    padding: 0;
    margin: 0;
    border-right: 1px solid #ddd;
    /* Added line between the left container and the right content */
    height: 93vh;
    /* Extend to full height of the viewport */
    overflow-x: hidden;
    /* Prevent horizontal overflow */
}

.left-container:hover {
    width: 33.33%;
}

.container {
    position: relative;
    /* Make sure it's relative */
    padding: 20px;
    float: left;
    height: 100vh;
}

.left-container:not(:hover) #question-name-selector,
.left-container:not(:hover) #attempt-selector {
    font-size: 0px;
}


.left-container:not(:hover) .selector-icon {
    display: block;
}

/* Hide the icon on hover */
.left-container:hover .selector-icon {
    display: none;
}

/* Delete icon container */
.settings-icon-container {
    position: absolute;
    bottom: 10px;
    left: 20px;
    display: none;
    /* Hide by default */
    background-color: #dadada7b;
    /* Light grey background */
    padding: 4px;
    /* Padding around the icon */
    border-radius: 5px;
    /* Rounded corners */
}

.left-container:hover .settings-icon-container {
    display: block;
    /* Show when hovered */
}

.settings-icon-container img {
    width: 25px;
    /* Adjust the size as needed */
    height: 25px;
    cursor: pointer;
}

.question-name-selector {
    width: 100%;
    display: block;
    height: 70px;
}

/* Remove the rounded borders and make it look flat */
#question-name-selector,
#attempt-selector {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url('chev.png');
    /* Your icon URL here */
    background-size: 17px 17px;
    /* The size of your icon */
    background-repeat: no-repeat;
    background-position: right 30px center;
    /* Adjust the position as needed */
    padding-right: 40px;
    /* Give enough padding to not overlap the text with the icon */
    height: 70px;
    /* Adjust the height as needed */
    padding: 12px 20px;
    /* Top and bottom padding should add up to the desired height minus the font size */
    font-size: 20px;
    /* Keep font size the same for both */
    line-height: 16px;
    /* Line height should be the same as font size if you want it to be a single line */
    border: none;
    border-bottom: 1px solid #ccc;
    border-radius: 0;
    background-color: transparent;
    width: 100%;
}

/* Add hover effect */
#question-name-selector:hover,
#attempt-selector:hover {
    background-color: #e6e6e6;
    /* Darkens the whole container on hover */
}

/* Remove the background-color and border from the base select styles */
.select {
    background-color: transparent;
    border: none;
}


#question-selector,
#attempt-selector {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url('chev.png');
    /* Your icon URL here */
    background-size: 17px 17px;
    /* The size of your icon */
    background-repeat: no-repeat;
    background-position: right 30px center;
    /* Adjust the position as needed */
    padding-right: 40px;
    /* Give enough padding to not overlap the text with the icon */
}


.question-selector-container .bottom-line,
.column-divider {
    height: 1px;
    background-color: #ccc;
    margin-top: 0px;
    width: 1px;
    background-color: #d3d3d3;
}

.rubric-editor,
#rubric-editor {
    border: 1px solid #acacac;
    border-radius: 10px;
    padding: 10px;
    width: 90%;
    height: 35vh;
    /* 50% of the viewport height */
    max-height: 400px;
    /* Maximum height */
    min-height: 200px;
    /* Minimum height */
    background-color: #f5f5f5;
    cursor: not-allowed;
    pointer-events: none;
    font-size: smaller;
    overflow-y: auto;
    /* Enables vertical scrolling */
}


.question-display,
#question-display {
    border: 1px solid #acacac;
    border-radius: 10px;
    padding: 10px;
    width: 90%;
    height: 100px;
    background-color: #f5f5f5;
    /* Light grey to look non-interactive */
    cursor: not-allowed;
    /* Default cursor instead of text selection cursor */
    pointer-events: none;
    /* Makes it non-interactive */
}


.button-container button {
    padding: 12px;
    /* Increase padding for larger button size */
    margin: 0 15px;
    /* Increase space between buttons */
    width: 170px;
    /* Increase width for larger button size */
    font-size: 13px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    /* Consider changing to block if you have enough horizontal space */
    transition-duration: 0.4s;
    cursor: pointer;
    border-radius: 10px;
    border: none;
    /* Add other styles like background-color, color, etc., as needed */
}

.button-container {
    display: flex;
    justify-content: center;
    /* This will center the buttons horizontally */
    align-items: center;
    /* This will center the buttons vertically */
    position: absolute;
    bottom: 35px;
    left: 0;
    right: 0;
    /* Removed padding here to avoid affecting the position of buttons */
}

.file-upload-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 10px;
    background-color: #fff;
    /* Adjust if you have a different background color */
    margin-top: 20px;
    /* Increase space above the container */
}

.file-upload-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-bottom: 15px;
    /* New spacing rule */
}


.file-label {
    color: #959595;
    /* Light grey color */
    font-size: 17px;
    /* Adjust as per your design */
    margin-left: 20px;
    /* Moves "FILES" to the right */
}

.upload-button {
    background: none;
    border: none;
    color: #000;
    /* Black color */
    cursor: pointer;
    font-size: 17px;
    /* Adjust as per your design */
    margin-right: 20px;
    /* Moves "Upload" and its arrow to the left */
}

.divider {
    border-bottom: 1px solid #dddddd;
    /* Light grey line */
    width: 92%;
    /* Divider width */
    margin: 15px auto;
    /* Updated spacing rule */
}

.file-upload-description {
    color: #8e8e8e;
    /* Light grey color */
    font-size: 12px;
    /* Adjust as per your design */
    margin-top: 0;
    /* Remove default margins */
    padding-left: 20px;
    /* Aligns with "FILES" label */
}


.uploaded-files-container {
    width: 80%;
    margin: auto;
    /* Centers the container */
}

.uploaded-files-container .file-item {
    background-color: #f2f2f2;
    /* Keeps the background color as specified */
    margin-top: 5px;
    padding: 5px 10px;
    /* Adds padding to the right and left */
    border-radius: 5px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    white-space: nowrap;
    /* Prevents text wrapping */
    overflow: hidden;
    /* Hides overflow */
    text-overflow: ellipsis;
    /* Adds ellipsis to overflowed text */
}

.file-name {
    color: #8e8e8e;
    /* Grey text color */
    font-size: 12px;
    /* Smaller font size */
    margin-right: auto;
    /* Pushes remove button to the right */
    overflow: hidden;
    /* Ensures overflow is hidden */
    text-overflow: ellipsis;
    /* Adds ellipsis for overflowed text */
    white-space: nowrap;
    /* Ensures the text stays on one line */
}

.remove-file {
    cursor: pointer;
    background: none;
    border: none;
    color: #8e8e8e;
    /* Grey text color */
    font-size: 12px;
    /* Smaller font size */
    margin-left: 10px;
    /* Adds space between the file name and the remove button */
}

/* Right Container */
.right-container {
    width: calc(100% - 75px);
    position: relative;
    float: right;
    padding: 20px;
    overflow-y: auto;
    padding-bottom: 100px;
    /* Makes sure there is space for the floating box */
    display: flex;
    justify-content: space-between;
    height: calc(100vh - 100px);
    /* This might need adjustment */
}

.right-container>.column {
    width: 50%;
    /* Each column will take half of the available space */
    padding: 0 10px;
    /* Adjust padding as needed */
}

.left-container:hover~.right-container {
    width: calc(100% - 33.33%);
}

.column-divider {
    width: 2px;
    /* Width of the divider line */
    background-color: #ccc;
    /* Light grey color for the line */
    height: auto;
    /* Make the height adjust to the container's height */
    margin: 0 20px;
    /* Add some horizontal space around the divider */
    cursor: ew-resize;
}

/* Buttons */
.modal-button,
.action-buttons button,
.convert-to-pdf,
.grade-all-button,
.button-pdf-generate,
.button-excel-export,
.floating-action-buttons button,
.grade-all-assignments,
.grade-again-button,
.add-to-grading-instructions,
.instructor-button,
.grade-button,
.assignment-feedback-button,
.next-button {
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    outline: none;
}

#convert-to-pdf,
.convert-pdf-button {
    background-color: #dddddd;
    color: #000;
}

#grade-button,
.grade-button,
#assignment-feedback-button,
.assignment-feedback-button,
#grade-all-assignments,
.grade-all-button,
#grade-again,
.grade-again-button,
#add-to-grading-instructions,
.add-to-grading-instructions,
#instructor-button,
.instructor-button {
    background-color: #3d9341;
    color: white;
}

#grade-again:hover,
#add-to-grading-instructions:hover {
    background-color: #2e6d31;
}

#next-student,
.next-button {
    background-color: #dddddd;
    color: #000;
}

#next-student:hover {
    background-color: transparent;
    border: 0.00001px solid;
}

.scrollable-content {
    height: calc(100vh - 60px);
    /* Adjust height as needed, 60px accounts for heading and padding */
    overflow-y: auto;
    /* Enables vertical scrolling */
    padding: 10px;
    /* Optional padding inside the scrollable content */
    border: none;
    font-size: 14px;
    padding-bottom: 150px;
}

#grading-decision-content {
    color: #333;
    /* Standard text color */
    font-family: Arial, sans-serif;
    /* Standard font - you can choose your own */
    line-height: 1.6;
    /* Spacing between lines for better readability */
}

#grading-decision-content strong {
    font-weight: bold;
    color: #000;
    /* Bold text color, make it slightly darker for emphasis */
}

#grading-decision-content ol {
    padding-left: 20px;
    /* Indentation for ordered lists */
    margin-top: 10px;
    /* Space above the list */
    margin-bottom: 10px;
    /* Space below the list */
}

#grading-decision-content ol li {
    margin-bottom: 3px;
    /* Space between list items */
}

.grading-decision-column {
    position: relative;
    /* Ensure that children can be positioned relative to this container */
    padding-bottom: 100px;
    /* Adjust this value to match the height of your floating text box */
}

#grading-decision-header {
    display: flex;
    /* Aligns the title and dropdown inline */
    align-items: center;
    /* Centers them vertically */
    cursor: pointer;
}

#grading-decision-content span:hover {
    background-color: #ddf7d992 !important;
    cursor: pointer;
}

.text-options-menu {
    background-color: #fff;
    border: 1px solid #a2a2a2;
    border-radius: 4px;
    padding: 5px;
    box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.2);
    z-index: 1000;
    /* Ensure it's above other elements */
    display: flex;
    flex-direction: column;
}

.text-options-menu button {
    margin-bottom: 2px;
    /* Add other button styles as needed */
}

.highlighted {
    background-color: #ddf7d992 !important;
    /* Or your preferred highlight color */
}



.dropdown-icon {
    margin-left: 10px;
    /* Space between the text and the icon */
    width: 20px;
    /* Adjust the width as needed */
    height: 20px;
    /* Adjust the height as needed */
    cursor: pointer;
    background: url('../css/drop-down.png') no-repeat center center;
    /* Custom arrow image */
    background-size: contain;
    /* Makes the background image fit within the element */
    display: inline-block;
    /* Ensures that the label behaves as an inline-level block container */
    margin-top: 5px;
    /* Adjusts the position slightly down */
    animation: highlight 1s ease-out;
}

@keyframes highlight {
    0% {
        background-color: lightgreen;
    }

    100% {
        background-color: transparent;
    }
}

.custom-options {
    display: none;
    flex-direction: column;
    position: absolute;
    background-color: #FFF;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    border-radius: 5px;
    overflow: hidden;
    z-index: 10;
    top: 5%;
}

.custom-option {
    padding: 10px;
    cursor: pointer;
    display: block;
}

.custom-option:hover {
    background-color: #eeeeee;
}


.floating-container {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 66.66%;
    /* Adjust this to the width of your right-container minus padding */
    padding: 20px;
    transform: translateX(-130px);
    /* Adjust this value as needed to move left */
}

.floating-text-box {
    display: flex;
    flex-direction: column;
    /* Stack elements vertically */
    justify-content: center;
    align-items: center;
    position: relative;
    background: white;
    border: 2px solid #eee;
    border-radius: 20px;
    box-shadow: 0 2px 14px rgba(0, 0, 0, 0.1);
    padding: 15px;
    min-height: 135px;
    width: 85%;
}

.floating-text-box:focus-within {
    border-color: #0e6c2f;
    /* Change border color when textarea is focused */
}

.info-text {
    font-weight: bold;
    margin-bottom: 10px;
    padding: 10px;
    background: rgba(240, 240, 240, 0.8);
    border-radius: 10px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    display: block;
    width: 100%;
    text-align: left;
    /* Align text to the left */
    color: rgb(142, 142, 142);
    /* Make the text light grey */
}


.hidden {
    display: none;
}

.floating-text-box form {
    width: 100%;
    /* Use full width of the container */
}

.floating-text-box input {
    width: 90%;
    /* Adjust to desired width */
    margin: auto;
    /* This will center the input if the form is a flex container */
    /* other styles */
}

.question-textarea {
    border-radius: 10px;
    resize: none;
    width: 100%;
    height: 100%;
    padding: 10px;
    border: 1px solid #909090;
    background-color: #ffffff00;
    box-sizing: border-box;
    max-height: 500px;
    max-width: 500px;
    cursor: not-allowed;
    overflow-y: auto;
}

/* Text area customization */
.rubric-textarea {
    border-radius: 10px;
    resize: none;
    width: 100%;
    height: 100%;
    padding: 10px;
    border: 1px solid #909090;
    background-color: #ffffff00;
    box-sizing: border-box;
    max-height: 300px;
    max-width: 500px;
    overflow-y: auto;
}

/* Hide text in question and rubric when not hovered */
.left-container:not(:hover) #question-display,
.left-container:not(:hover) #rubric-editor {
    font-size: 0px;
}

.input-textarea {
    flex-grow: 1;
    width: 100%;
    padding: 5px 10px;
    border: 1px solid #E0E0E0;
    box-sizing: border-box;
    border-radius: 5px;
    outline: none;
    font-size: 16px;
    /* Approximately 14px */
    height: auto;
    /* Allows it to expand */
    min-height: 30px;
    /* Starting height for about 3 lines */
    max-height: calc(14px * 6 + 5px * 2);
    overflow-y: auto;
    /* Scrollable after reaching max-height */
    resize: vertical;
    /* Allows user to manually resize, can remove if not desired */
    white-space: pre-wrap;
    /* Ensures whitespace and line breaks are preserved */
    word-wrap: break-word;
    /* Ensures long words wrap and don't overflow */
    transition: height 0.2s ease;
    border: none;
    /* This will remove the border */
    box-shadow: none;
    /* In case there's a shadow that mimics a border */
    resize: none;
    /* This will remove the resize handle */
    line-height: 1.6;
}

.input-textarea:focus {
    outline: none;
    /* Remove browser default outline */
    background-color: #ffffff;
    /* Slight change in background color for visual feedback */
}

.textarea-container {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: not-allowed;
    overflow-y: auto;
    /* Maximum height */
}

.create-content-btn {
    position: relative;
    left: 0;
    right: 0;
    margin: 20px auto;
    /* Center horizontally */
    width: 90%;
    /* Take up most of the width */
    padding: 15px 20px;
    background-color: #dadada;
    color: rgb(0, 0, 0);
    border: none;
    border-radius: 15px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    /* Center the text and loading animation */
    font-size: 16px;
    font-weight: 500;
    transition: all 0.2s ease;
}

.create-content-btn:hover {
    background-color: #5d9b5c92;
    /* Adjust hover color as needed */
    border: 2px solid transparent;
}

.textarea-q-container {
    display: flex;
    align-items: center;
    /* Vertical centering */
    justify-content: center;
    cursor: not-allowed;
}

/* Margin adjustment for content blocks */
.left-container:not(:hover) .content-block {
    margin-left: 3px;
}

.left-container:hover .content-block {
    margin-left: 30px;
}

/* Adjust this media query as per your responsive design needs */
@media screen and (max-width: 600px) {

    .button-container button {
        width: 100%;
        /* Full width on smaller screens */
        float: none;
    }

    .top-container {
        flex-wrap: wrap;
    }

    .create-new {
        margin-top: 10px;
        /* Add space when wrapped */
        margin-right: 10px;
        /* Maintain some space on the right on small screens */
    }

    /* Reset float for containers on small screens */
    .left-container,
    .right-container {
        float: none;
        width: auto;
    }
}

/* Additional styles to reset margins and padding for ul, ol, h1, etc. can be added as needed */

/* Clear floats after the columns */
.row:after {
    content: "";
    display: table;
    clear: both;
}

/* Clear float */
.clearfix::after {
    content: "";
    clear: both;
    display: table;
}

/* Apply clearfix to containers needing it */
.question-selector-container,
.attempt-selector-container {
    overflow: auto;
}

.modal {
    display: none;
    position: fixed;
    z-index: 1003;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.4);
}

.modal-content {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #fff;
    margin: 5% auto;
    padding: 20px;
    border: none;
    width: 40%;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    border-radius: 20px;
}

.modal-heading {
    color: #353740;
    font-size: 24px;
    margin-bottom: 20px;
}

.modal-action-buttons {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    width: 100%;
}

.button-grade-all,
.button-excel-export,
.button-pdf-generate {
    display: block;
    width: 80%;
    padding: 10px 20px;
    font-size: 16px;
    color: #353740;
    background-color: #ececf1;
    border-radius: 5px;
    border: none;
    cursor: pointer;
    text-align: center;
    transition: background-color 0.2s ease-in-out;
}

.button-grade-all:hover,
.button-excel-export:hover,
.button-pdf-generate:hover {
    background-color: #d0d1d5;
}


.modal-content h1 {
    padding-top: 40px;
    font-size: 24px;
    /* Large font size for the heading */
    color: #333;
    /* Dark color for text */
    margin: 0;
    /* Remove default margin */
    padding-bottom: 30px;
    /* Space below the heading */
    text-align: center;
    /* Center the text */
    font-weight: bold;
    /* Bold font weight */
}

.modal-content h2 {
    font-size: 14px;
    /* Large font size for the heading */
    color: #000000;
    /* Dark color for text */
    margin: 0;
    /* Remove default margin */
    padding-bottom: 20px;
    /* Space below the heading */
    text-align: center;
    /* Center the text */
}


#confirmGradeAll,
#confirmExcel,
#uploadCreditsButton,
#confirmPDFAll {
    padding: 10px 20px;
    margin-top: 20px;
    font-size: 16px;
    color: #fff;
    background-color: #c52929be;
    /* Green background for confirmation */
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

#uploadCreditsButton {
    background-color: #3d9341;
}

#confirmGradeAll:hover,
#confirmExcel:hover,
#confirmPDFAll:hover {
    background-color: #7a3535;
}

#uploadCreditsButton:hover {
    background-color: #29652c;
}

#cancelGradeAll,
#cancelExcel,
#cancelPDFAll {
    padding: 10px 20px;
    margin-top: 20px;
    font-size: 15px;
    color: #000000;
    /* Black color for the text */
    background-color: transparent;
    /* Transparent background */
    border: 1px solid #d3d3d3;
    /* Light grey border */
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.2s;
    /* Smooth transition for hover effect */
}

#cost-display {
    display: block;
    /* Makes it a block element */
    text-align: center;
    /* Centers the text */
    font-size: 20px;
    /* Increase the font size */
    margin-top: 10px;
    /* Adds some space above the text */
    margin-bottom: 20px;
    /* Adds some space below the text */
}

#cancelGradeAll:hover,
#cancelExcel,
#cancelPDFAll:hover {
    background-color: #f8f8f8;
    /* Light grey background on hover */
}

.question-block {
    margin-bottom: 20px;
    /* Adds space between each question block */
}

.question-number {
    width: 49%;
    margin-bottom: 10px;
    /* Adds space below the question number field */
}

.max-score {
    width: 49%;
    margin-bottom: 10px;
    /* Adds space below the question number field */
}

#assignment-name,
#department-name,
#edit-department-name,
#assignment-name-edit,
.max-score,
.question-number {
    border-radius: 10px;
    /* Rounded corners */
    padding: 10px;
    /* Padding inside the fields */
    border: 1px solid #909090;
    /* Border color */
    background-color: #ffffff00;
    /* Transparent background */
    box-sizing: border-box;
    /* Full width */
    height: 30px;
    /* Smaller height compared to textareas */
}

#assignment-name,
#department-name,
#edit-department-name {
    margin-bottom: 30px;
    width: 100%;
}

#assignment-name-edit {
    margin-bottom: 30px;
    width: 100%;
}

.question-input,
.section-input,
.content-input,
.rubric-input,
.relevant-info-input {
    border-radius: 10px;
    resize: none;
    width: 100%;
    height: 100px;
    /* Initial height */
    padding: 10px;
    border: 1px solid #909090;
    background-color: #ffffff00;
    box-sizing: border-box;
    max-height: 300px;
    overflow-y: auto;
    margin-bottom: 10px;
}

.content-input {
    min-height: 300px;
    font-size: 16px;
}

#assignment-name {
    min-height: 22px;
    font-size: 18px;
}

#modal-new-assignment-content {
    width: 800px;
}

.add-button {
    display: block;
    width: 30px;
    height: 30px;
    margin: 20px auto;
    font-size: 24px;
    line-height: 25px;
    /* Adjusted to match the height for vertical centering */
    text-align: center;
    border-radius: 15px;
    /* Adjusted for a circular shape */
    cursor: pointer;
    border: none;
    /* Removes the default border */
    background-color: #c6c6c6;
    /* You can set your preferred background color */
    color: #000;
    /* Set the color of the plus sign */
    /* Add any additional styles you want for the button */
}

.hoverable-heading {
    cursor: pointer;
    /* Change cursor to pointer on hover */
    color: #000000;
    /* Optional: change text color on hover */
    transition: color 0.3s ease;
    /* Smooth transition for color change */
}

.hoverable-heading:hover {
    color: #3d9341;
}



.generate-button {
    display: block;
    /* Ensures the button is on a new line */
    margin-top: 10px;
    /* Adds space above the button */
    width: 25%;
    /* Full width */
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    outline: none;
    align-items: center;
    background-color: #39873d;
    color: white;
    margin: 20px auto;
}

.generate-button-disabled {
    background-color: grey;
    cursor: not-allowed;
}

.generate-section-btn {
    position: absolute;
    bottom: 10px;
    right: 10px;
    margin-bottom: 10px;
    background-color: #DADADA;
    /* Adjust the color as needed */
    color: rgb(0, 0, 0);
    border: none;
    padding: 5px 10px;
    border-radius: 10px;
    cursor: pointer;
    display: flex;
    align-items: center;
}

.generate-section-btn:hover {
    background-color: #5d9b5c92;
    /* Adjust hover color as needed */
    border: 2px solid transparent;
}

.generate-new-question-btn {
    position: absolute;
    bottom: 10px;
    right: 10px;
    margin-bottom: 10px;
    background-color: #DADADA;
    /* Adjust the color as needed */
    color: rgb(0, 0, 0);
    border: none;
    padding: 5px 10px;
    border-radius: 10px;
    cursor: pointer;
    display: flex;
    align-items: center;
}

.generate-new-question-btn:hover {
    background-color: #5d9b5c92;
    /* Adjust hover color as needed */
    border: 2px solid transparent;
}

.clear-data-button {
    display: block;
    /* Ensures the button is on a new line */
    margin-top: 10px;
    /* Adds space above the button */
    width: 25%;
    /* Full width */
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    outline: none;
    align-items: center;
    background-color: #39873d;
    color: white;
    margin: 20px auto;
}

.clear-data-button:hover {
    background-color: #cc0000;
}

.modal-content,
.question-block {
    display: block;
}

.spinner {
    border: 4px solid rgba(0, 0, 0, .1);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border-left-color: rgba(79, 148, 15, 0.815);
    animation: spin 1s ease infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

#loading-bar-container {
    background-color: #ddd;
    /* Light grey background */
    border-radius: 4px;
    padding: 3px;
}

#loading-bar {
    background-color: #4CAF50;
    /* Green */
    width: 0%;
    /* Initially zero width */
    height: 20px;
    border-radius: 4px;
}

/* Add animation to the loading bar */
@keyframes loading {
    from {
        width: 0%;
    }

    to {
        width: 100%;
    }
}

/* Updated indeterminate animation */
.indeterminate {
    background-color: #4CAF50;
    /* Same green color */
    position: relative;
    overflow: hidden;
    /* Hide the moving element when it goes out of the container */
    width: 100%;
    /* Full width to keep it visible during animation */
}

.indeterminate::before {
    content: '';
    position: absolute;
    top: 0;
    left: -50%;
    /* Start from outside of the bar */
    width: 50%;
    /* The width of the animated element */
    height: 100%;
    background-color: rgba(255, 255, 255, 0.5);
    /* Light overlay */
    animation: loading-indeterminate 2s linear infinite;
}

@keyframes loading-indeterminate {
    0% {
        left: -50%;
    }

    100% {
        left: 100%;
    }
}

#loading-bar-container-assignment {
    background-color: #ddd;
    /* Light grey background */
    border-radius: 4px;
    padding: 3px;
}

#loading-bar-assignment {
    background-color: #4CAF50;
    /* Green */
    width: 0%;
    /* Initially zero width */
    height: 20px;
    border-radius: 4px;
}

/* Add animation to the loading bar */
@keyframes loading-assignment {
    from {
        width: 0%;
    }

    to {
        width: 100%;
    }
}

/* Updated indeterminate animation */
.indeterminate-assignment {
    background-color: #4CAF50;
    /* Same green color */
    position: relative;
    overflow: hidden;
    /* Hide the moving element when it goes out of the container */
    width: 100%;
    /* Full width to keep it visible during animation */
}

.indeterminate-assignment::before {
    content: '';
    position: absolute;
    top: 0;
    left: -50%;
    /* Start from outside of the bar */
    width: 50%;
    /* The width of the animated element */
    height: 100%;
    background-color: rgba(255, 255, 255, 0.5);
    /* Light overlay */
    animation: loading-indeterminate-assignment 2s linear infinite;
}

@keyframes loading-indeterminate-assignment {
    0% {
        left: -50%;
    }

    100% {
        left: 100%;
    }
}

/* Ensure the checkbox container uses flexbox to align items vertically */
#checkbox-container {
    display: flex;
    flex-direction: column;
    width: fit-content;
    /* This will fit the container's width to its content */
    margin: auto;
    /* This will center the container */
    margin-bottom: 25px;
}

/* Style each checkbox and label wrapper as a row */
.checkbox-wrapper {
    display: flex;
    align-items: center;
    /* Align the checkbox and the label vertically */
    margin-bottom: 30px;
    /* Space between checkbox rows */
}

/* Custom checkbox styling */
input[type='checkbox'] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 20px;
    /* Size of the checkbox */
    height: 20px;
    /* Size of the checkbox */
    border: 2px solid #ddd;
    /* Border of the checkbox */
    border-radius: 3px;
    /* Rounded corners of the checkbox */
    margin-right: 10px;
    /* Space between checkbox and label text */
    vertical-align: middle;
    /* Aligns the checkbox vertically */
    cursor: pointer;
}

input[type='checkbox']:checked {
    background-color: green;
    /* Checked color */
    background-image: url('data:image/svg+xml;utf8,<svg fill="white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M7.629 14.186L3.379 9.936 2 11.314l5.629 5.629L18 6.572 16.622 5.194z"/></svg>');
    background-position: center;
    background-repeat: no-repeat;
}

/* Style for checkbox label */
.checkbox-wrapper label {
    cursor: pointer;
    user-select: none;
    /* Prevent text selection */
    margin-left: 5px;
    /* Space between checkbox and label */
}

.ferpa-section {
    margin-top: 20px;
    text-align: left;
    margin-bottom: 30px;
    border-bottom: 1px solid #ccc
}

.ferpa-section input[type="checkbox"] {
    margin-right: 10px;
}

.ferpa-section ul {
    list-style: none;
    /* Remove bullets */
    padding: 0;
    margin-top: 10px;
}

.ferpa-section li {
    margin-bottom: 5px;
}

.ferpa-section a {
    color: #2d6f32;
    /* Blue color for links */
    text-decoration: none;
    /* No underline */
    font-size: smaller;
}

.ferpa-section a:hover {
    text-decoration: underline;
    /* Underline on hover */
}

.highlight {
    background-color: rgba(255, 0, 0, 0.391);
    /* or any highlight color you prefer */
}

.highlight-text {
    color: rgb(149, 0, 0);
    /* or any highlight color you prefer */
}


.logout-link {
    font-size: large;
}

.login-button {
    margin-left: 15px;
    margin-right: 10px;
}

.logout-link:hover,
.login-button:hover {
    text-decoration: underline;
    /* Underline on hover */
}


.balance-info {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding: 10px 0;
    text-align: left;
    /* Align text to the left if not already */
}

.current-credit-balance {
    margin: 0;
    /* Reset margins */
    font-weight: normal;
    font-size: 1em;
    /* Set the size of the text */
}

.credit-amount {
    font-size: 2em;
    /* Makes the text larger */
    font-weight: normal;
    /* Ensures text is not bold */
    margin: 0 0 10px 0;
    /* Adds space below the amount */
}

.credit-amount span {
    display: block;
    /* Makes the span start on a new line */
}

.balance-container {
    display: block;
    /* Makes the input container start on a new line */
    margin-top: 10px;
    /* Adds space above the input container */
}

/* Additional styles for the dollar sign and the input box */
.dollar-sign {
    position: absolute;
    left: 10px;
    /* Adjust as needed */
    top: 50%;
    transform: translateY(-50%);
    color: grey;
    pointer-events: none;
    /* Makes sure the click passes through to the input */
}

#add-credits {
    width: calc(100% - 20px);
    /* Adjust width as needed, accounting for padding */
    padding: 10px;
    margin: 5px 0 10px 0;
    /* Space above and below the input */
    border: 0.5px solid #6e6e6e;
    border-radius: 4px;
    box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
    outline: none;
    font-size: 1em;
    box-sizing: border-box;
}

#add-credits::-webkit-inner-spin-button,
#add-credits::-webkit-outer-spin-button {
    -webkit-appearance: none;
    /* For Webkit browsers like Chrome and Safari */
    margin: 0;
    /* Remove default margin */
}

/* Style for label */
label[for="add-credits"] {
    display: block;
    /* Make the label take up the full width and start on a new line */
    margin-top: 10px;
    /* Space above the label */
}

/* Styles for Pay Now button */
.pay-now-btn {
    background-color: #3d9341;
    /* Green background */
    font-size: smaller;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    margin-top: 10px;
    /* Add more space if needed */
    width: 100%;
    /* Full width */
    cursor: pointer;
    /* Pointer cursor on hover */
}


#add-credits {
    width: 100%;
    /* Full width */
    padding: 10px;
    /* Spacing inside the input */
    padding-left: 25px;
    /* Make room for the dollar sign */
    margin-top: 5px;
    /* Space above the input */
    border: 0.5px solid #6e6e6e;
    /* Red border as seen in the image */
    border-radius: 4px;
    /* Rounded corners */
    box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
    /* Inner shadow for depth */
    outline: none;
    /* Removes the default focus outline */
    font-size: 1em;
    /* Text size within the input */
    box-sizing: border-box;
    /* Makes sure padding doesn't affect the total width */
}

#add-credits::placeholder {
    color: #999;
    /* Placeholder text color */
}

#add-credits:focus {
    border-color: #006300;
    /* Change border color when input is focused */
    box-shadow: inset 0 0 5px rgba(8, 160, 8, 0.332);
    /* Inner shadow color changes when focused */
}

.balance-container {
    position: relative;
    display: block;
}

.dollar-sign {
    position: absolute;
    left: 10px;
    /* Adjust as needed */
    top: 45%;
    transform: translateY(-50%);
    color: grey;
    pointer-events: none;
    /* Makes sure the click passes through to the input */
}

.current-credit-balance {
    margin: 10px 0 0;
    /* Adjust top margin as needed */
    font-weight: normal;
}

.credit-amount,
.profile-name {
    font-size: x-large;
    /* Makes the text larger */
    font-weight: normal;
    /* Ensures text is not bold */
    margin: 5px 0 10px;
    /* Adds space above and below the amount */
}

.credit-amount span {
    display: block;
    /* Makes the span start on a new line */
}

#login-prompt-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    /* Adjust as necessary to fill the screen */
    background-color: white;
}

#login-prompt-button {
    margin-top: 20px;
    font-size: larger;
}

.close-btn {
    position: relative;
    /* Changed from relative to absolute */
    left: 100%;
    /* Adjust this value to move it towards the left inside the modal */
    top: 19%;
    /* Adjust this value to move it towards the top inside the modal */
    border: none;
    background: none;
    font-size: 24px;
    cursor: pointer;
    padding: 0;
    z-index: 1;
    /* Ensure it's above modal content */
}

.rubric-container {
    position: relative;
    /* Establishes a positioning context for the upload button */
    /* Other styles as necessary */
}

.upload-doc-btn {
    position: absolute;
    bottom: 15%;
    /* Position the button above the textarea */
    right: 1%;
    /* Align the button to the right */
    margin-bottom: 6px;
    /* Add a small space between the button and the textarea */
    background: none;
    border: none;
    color: #000;
    /* Black color */
    cursor: pointer;
    font-size: 13px;
}

.upload-assign-btn {
    background: none;
    border: none;
    color: #000;
    /* Black color */
    cursor: pointer;
    font-size: 17px;
    /* Adjust as per your design */
    margin-right: 20px;
    /* Moves "Upload" and its arrow to the left */
}

.rubric-input {
    width: 100%;
    /* Ensure the textarea takes up the full width of its container */
    /* Additional styles for the textarea */
}

.close-button-edit {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 24px;
    font-weight: bold;
    cursor: pointer;
    color: #333;
    transition: color 0.3s ease;
}

.close-button-edit:hover {
    color: #ff0000;
    /* Change to red on hover */
}


#option-cards {
    display: flex;
    justify-content: space-around;
    /* Adjusted for spacing */
    margin-bottom: 50px;
}

.card {
    flex-basis: 45%;
    /* Adjusted for card width */
    border-radius: 8px;
    cursor: pointer;
    text-align: center;
    border: 1px solid #ccc;
    margin: 5px;
    /* Added for spacing */
    transition: all 0.3s ease;
    /* Smooth transition for hover effects */
}

.card:hover {
    background-color: green;
    /* Light green background on hover */
    border-color: white;
    /* White border on hover */
    color: white;
    /* White text on hover */
}

.card-body {
    padding: 20px;
}

.link-label {
    display: block;
    margin-top: 20px;
    margin-bottom: 10px;
    font-weight: bold;
}

.link-container {
    margin-bottom: 40px;
    margin-top: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.link-input {
    border: 1px solid #ccc;
    padding: 10px;
    border-radius: 5px;
    background-color: #f0f0f0;
    margin-right: 10px;
    width: calc(100% - 100px);
    /* Adjust width based on the button width */
}

.copy-btn {
    background-color: rgba(0, 128, 0, 0.56);
    color: white;
    border: none;
    padding: 10px 15px;
    cursor: pointer;
    border-radius: 5px;
    transition: background-color 0.3s ease;
    font-size: 1rem;
    width: 80px;
}

.copy-btn:hover,
.copy-btn:focus {
    background-color: green;
}

.save-btn {
    display: inline-block;
    background-color: #ffffff;
    /* Example color */
    color: white;
    /* Text color */
    text-align: center;
    text-decoration: none;
    border: none;
    border-radius: 4px;
    /* Rounded corners */
    cursor: pointer;
    margin-bottom: 5px;
}



.grade-input {
    width: 50px;
    padding: 10px;
    margin-top: 5px;
    margin-bottom: 20px;
}

.divider2 {
    height: 1px;
    background-color: #ddd;
    margin: 20px 0;
}


/* Responsive design adjustments */
@media (max-width: 768px) {
    .link-container {
        flex-direction: column;
        align-items: stretch;
    }

    .link-input,
    .copy-btn {
        width: auto;
        /* Adjust width for smaller devices */
        margin: 5px 0;
        /* Adds space between stacked elements */
    }

    .grade-input {
        width: 100%;
        /* Full width on smaller devices */
    }
}

/* Hide the edit icon by default */
.edit-icon {
    display: none;
    /* Initially hide the icon */
    margin-left: 8px;
    /* Space between the heading and the icon */
    font-size: 18px;
    /* Adjust the size of the icon */
    color: #3d9341;
    /* Match the color to the heading */
    cursor: pointer;
    /* Make the icon clickable */
    transition: color 0.3s ease;
}

.hoverable-heading {
    cursor: pointer;
    /* Change cursor to pointer on hover */
    color: #000000;
    /* Optional: change text color on hover */
    transition: color 0.3s ease;
    /* Smooth transition for color change */
}

.hoverable-heading:hover {
    color: #3d9341;
}

.hoverable-heading:hover .edit-icon {
    display: inline;
    /* Show the icon only when hovering over the heading */
}

.hoverable-heading:hover .edit-icon:hover {
    color: #0056b3;
    /* Change the icon color on hover */
}

.edit-assignment-icon {
    width: 20px;
    /* Adjust the width as needed */
    height: 20px;
    /* Adjust the height as needed */
    vertical-align: middle;
    margin-left: 5px;
    cursor: pointer;
    /* Indicates the element is clickable */
    transition: transform 0.2s;
    /* Smooth transition for hover effect */
}

.edit-assignment-icon:hover {
    background-color: #3d9341;
    color: white;
    transform: scale(1.2);
    /* Slightly enlarge the icon on hover */
    opacity: 0.8;
    /* Slightly reduce opacity on hover */
}


.icon-studentattempt {
    width: 22px;
    /* Adjust size as needed */
    height: 22px;
    /* Adjust size as needed */
    vertical-align: middle;
    /* Ensure baseline alignment */
    margin-right: 5px;
    position: relative;
    top: -2px;
    /* Adjust this value to move the icon up */
}

.icon-gradingdecision {
    width: 22px;
    /* Adjust size as needed */
    height: 22px;
    /* Adjust size as needed */
    vertical-align: middle;
    /* Ensure baseline alignment */
    margin-right: 5px;
    position: relative;
    top: -2px;
    /* Adjust this value to move the icon up */
}

.icon-evaluation {
    display: inline-block;
    width: 20px;
    /* Adjust as needed */
    height: 20px;
    /* Adjust as needed */
    border-radius: 50%;
    margin-right: 10px;
    /* Adjust the space between icon and name */
    vertical-align: middle;
}

.action-button {
    margin-left: auto;
    /* Push the button all the way to the right */
    padding: 5px 10px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    background-color: #007bff;
    /* Default button color */
    color: white;
}

.action-button:hover {
    background-color: #0056b3;
    /* Darker blue on hover */
}

/* Define colors for each outcome */
.icon-evaluation-good {
    background-color: #4CAF50;
    /* Green */
}

.icon-evaluation-moderate {
    background-color: #FFC107;
    /* Yellow */
}

.icon-evaluation-insufficient {
    background-color: #F44336;
    /* Red */
}

.icon-evaluation-outstanding {
    background-color: #4285f4;
    /* Blue */
}


/* Show the edit icon when the column is hovered */
.student-attempt-column:hover .edit-icon {
    display: block;
}

/* Hide the delete icon by default */
.settings-icon {
    display: none;
    position: absolute;
    cursor: pointer;
    font-size: 1em;
    /* Adjust size as needed */
    right: 30px;
    /* Adjust the position based on your layout */
    bottom: 10px;
    /* Place it at the bottom inside the column area */
}

/* Settings menu */
.settings-menu {
    position: absolute;
    bottom: 100%;
    /* Position it above the icon */
    left: 0;
    background-color: white;
    border: 1px solid #ccc;
    border-radius: 5px;
    display: none;
    /* Hidden by default */
    z-index: 1;
}

.settings-menu-option {
    display: flex;
    align-items: center;
    padding: 8px;
    cursor: pointer;
}

.settings-menu-option:hover {
    background-color: #f1f1f1;
}

.settings-menu-option img {
    width: 20px;
    height: 20px;
    margin-right: 8px;
}

/* Show the delete icon when the column is hovered */
.student-attempt-column:hover .settings-icon {
    display: block;
}

.student-attempt-column,
.attemptDiv {
    min-height: 50px;
    /* Adjust based on your design needs */
    min-width: 100px;
    /* Adjust based on your design needs */
}

/* Ensure the student-attempt-column is positioned relatively so that absolute positioning works for the icon */
.student-attempt-column {
    position: relative;
}

#no-assignments-message {
    position: fixed;
    top: 50%;
    left: 0;
    width: 100vw;
    height: 100vh;
    /* Change this to an appropriate value for your layout */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    /* z-index: 0; Changed to a whole number */
}


#no-attempts-message {
    position: absolute;
    /* Absolute positioning to place it over the right container */
    top: 50%;
    /* Center vertically */
    left: calc(20% + 20px);
    /* Offset by the width of the left container plus any padding */
    transform: translateY(-50%);
    /* Center it vertically within the right container */
    width: calc(66.66% - 40px);
    /* Adjust the width to be within the right container, accounting for padding */
    text-align: center;
    /* Center the text horizontally */
    font-size: 24px;
    /* Larger text */
    z-index: 0.5;
    /* Ensure it's above other content */
    box-sizing: border-box;
    /* Include padding in the width calculation */
}

#no-gradingtemplates-message {
    position: absolute;
    /* Absolute positioning to place it over the right container */
    top: 50%;
    /* Center vertically */
    left: calc(20% + 20px);
    /* Offset by the width of the left container plus any padding */
    transform: translateY(-50%);
    /* Center it vertically within the right container */
    width: calc(66.66% - 40px);
    /* Adjust the width to be within the right container, accounting for padding */
    text-align: center;
    /* Center the text horizontally */
    font-size: 24px;
    /* Larger text */
    z-index: 1;
    /* Ensure it's above other content */
    box-sizing: border-box;
    /* Include padding in the width calculation */
}

.embed-container {
    position: relative;
    padding-bottom: 56.25%;
    /* 16:9 ratio */
    height: 0;
    overflow: hidden;
    width: 100%;
    max-width: 600px;
    /* Limit the maximum width */
    background: none;
    /* Remove the grey background */
    margin: 0 auto 20px;
    /* Add margin below the iframe */
    border-radius: 10px;
    /* Add border radius for a rounded look */
}

.embed-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.rubric-recommendations-trigger {
    display: block;
    /* or inline-block, depending on layout */
    color: #39873d;
    /* Light green color */
    cursor: pointer;
    /* Change cursor on hover */
    margin-top: 0px;
    /* Add some space above the text */
    margin-left: 6px;
    font-size: 0.7em;
    /* Adjust size as needed */
    white-space: pre-wrap;
    /* This will ensure that whitespace is preserved and lines are broken at newline characters */
}

#regenerate-assignment {
    display: none;
    /* Initial state is hidden */
    width: 100%;
    /* Use the full width of the container */
    background-color: #39873d;
    /* Bootstrap primary button color for example */
    color: white;
    border: none;
    border-radius: 5px;
    /* Rounded corners */
    cursor: pointer;
    /* Add more styles as desired */
}

.adjustment-input-box {
    width: 100%;
    height: 100px;
    padding: 10px;
    border: 2px solid #ccc;
    background-color: white;
    /* box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); */
    border-radius: 4px;
    font-size: 14px;
    color: #333;
    margin-top: 10px;
    resize: none;
}

spann {
    padding: 3px 7.5px;
    /* Adds padding inside the span, making a larger clickable area */
    margin: 0;
    /* Ensures no extra space between spans */
    line-height: 1.6;
    /* Adjust line height for better text alignment and spacing */
    cursor: pointer;
    /* Ensures the cursor indicates a clickable area */
}

.score-container {
    display: flex;
    align-items: baseline;
}

.score-input {
    border: none;
    background: none;
    cursor: pointer;
    width: 50px;
    /* Adjust the width */
    font-size: 20px;
    /* Increase the size */
    text-align: right;
    padding-right: 0px;
    /* Adjust the padding as needed */
}

.score-input.editable {
    border: 1px solid #ccc;
    background: #fff;
    cursor: text;
}

.total-text {
    font-size: 20px;
    /* Increase the size of the text after '/' */
    margin-left: 5px;
    /* Adjust the spacing as needed */
    margin-right: 10px;
}

.grading-header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.grading-header {
    background: none;
    border: none;
    font-weight: bold;
    padding: 0;
    cursor: pointer;
    text-align: left;
    display: inline-block;
    font-size: 18px;
    margin-bottom: 15px;
    margin-top: 20px;
    position: relative;
    /* Needed for positioning the icon */
}

.grading-header::after {
    content: '';
    width: 16px;
    /* Adjust the size as needed */
    height: 16px;
    /* Adjust the size as needed */
    margin-left: 10px;
    /* Adjust the spacing as needed */
    vertical-align: middle;
    /* Align the icon vertically with the text */
    margin-left: 10px;
    cursor: pointer;
    background: url('../css/drop-down.png') no-repeat center center;
    background-size: contain;
    display: inline-block;
    margin-top: 0px;
    animation: highlight 1s ease-out;
    transform: rotate(270deg);
    /* Rotate the icon for the active state if needed */
}

.menu-button {
    background: url('../css/menu_icon.png') no-repeat center center;
    background-size: contain;
    /* Adjust the icon size inside the button */
    border: none;
    width: 33px;
    /* Set the width of the button */
    height: 33px;
    /* Set the height of the button */
    position: absolute;
    /* Position the button absolutely within its relative container */
    right: 30px;
    /* Spacing from the right edge of the container */
    top: 27px;
    /* Adjust the top position as needed */
    cursor: pointer;
    /* Indicates a clickable button */
    transition: transform 0.3s ease;
    /* Smooth transition for visual feedback */
}

.menu-button:hover {
    transform: scale(1.1);
    /* Slightly enlarges the button on hover */
}

.menu-close-button,
.excel-close-button {
    float: right;
    cursor: pointer;
}



.grading-header.active::after {
    transform: rotate(0deg);
    /* Rotate the icon for the active state if needed */
}

.highlight-blue {
    background-color: #e6f7ff80;
    /* Light blue */
    border-radius: 8px;
    /* Add rounded corners */
}

.highlight-green {
    background-color: #e6ffe68e;
    /* Light green */
    border-radius: 8px;
    /* Add rounded corners */
}

.highlight-red {
    background-color: #ffe6e684;
    /* Light red */
    border-radius: 8px;
    /* Add rounded corners */
}

.score-icon {
    width: 20px;
    /* Adjust the size as needed */
    height: 20px;
    /* Adjust the size as needed */
    margin-right: 5px;
    /* Adjust the spacing as needed */
    vertical-align: middle;
    /* Align the icon vertically with the text */
    margin-bottom: 3px;
}

.icon-bar {
    display: flex;
    align-items: center;
    border: 1.5px solid #b3b3b3;
    border-radius: 10px;
    padding: 5px;
    margin-top: 15px;
    margin-bottom: 30px;
    width: max-content;
}

.icon {
    width: 22px;
    height: 22px;
    margin: 0 5px;
    cursor: pointer;
    position: relative;
    /* Ensure relative positioning for pseudo-elements */
    background-color: transparent;
    border-radius: 5px;
}

.icon:hover {
    background-color: #dad9d9;
    /* Grey background on hover */
}

.icon::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    background-color: black;
    color: white;
    padding: 5px;
    border-radius: 5px;
    white-space: nowrap;
    z-index: 1;
    opacity: 0;
    visibility: hidden;
    font-size: 12px;
    transition: opacity 0.2s, visibility 0.2s;
}

.icon:hover::after {
    opacity: 1;
    visibility: visible;
}

#assignment-ready-button {
    background-color: #3d9341;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    outline: none;
    margin-top: 30px;
    /* Adds space between the iframe and the button */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}

#assignment-ready-button:hover {
    background-color: #2e6d31;
}

/* Existing styles for #generate-questions and loading animation */
#generate-questions {
    position: relative;
}

#loading-animation {
    position: absolute;
    width: 75px;
    /* Adjust based on your button size */
    height: 75px;
    /* Adjust based on your button size */
    top: 50%;
    /* Center vertically within the button */
    left: 50%;
    /* Center horizontally within the button */
    transform: translate(-50%, -50%);
}

#loading-animation-generate-answer {
    position: absolute;
    width: 75px;
    /* Adjust based on your button size */
    height: 75px;
    /* Adjust based on your button size */
    top: 50%;
    /* Center vertically within the button */
    left: 50%;
    /* Center horizontally within the button */
    transform: translate(-50%, -50%);
}

#small-loading-animation {
    position: absolute;
    width: 10px;
    /* Adjust based on your button size */
    height: 10px;
    /* Adjust based on your button size */
    top: 50%;
    /* Center vertically within the button */
    left: 50%;
    /* Center horizontally within the button */
    transform: translate(-50%, -50%);
}

#ai-processing-message {
    flex-grow: 1;
    font-size: 18px;
    font-weight: 500;
    margin-left: 16px;
}

#ai-processing-notification {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translate(-50%, 0);
    background-color: #2c5e3f;
    color: white;
    padding: 16px 24px;
    border-radius: 40px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-width: 300px;
    z-index: 10000;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.ai-icon-container {
    display: flex;
    align-items: center;
    margin-right: 16px;
}

.ai-icon-wrapper {
    position: relative;
    opacity: 0.5;
    transition: opacity 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.ai-icon-wrapper.active {
    opacity: 1;
}

.ai-icon {
    width: 24px;
    height: 24px;
    fill: #ffffff;
}

.ai-progress-bar {
    width: 30px;
    height: 4px;
    background-color: rgba(255, 255, 255, 0.3);
    margin: 0 8px;
    border-radius: 2px;
    position: relative;
    overflow: hidden;
}

.ai-progress-bar::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    background-color: #ffffff;
    transition: width 0.3s ease;
}

.ai-progress-bar.completed::after {
    width: 100%;
}

.ai-step-label {
    font-size: 10px;
    margin-top: 4px;
    opacity: 0.8;
}


.small-loading-animation {
    display: flex;
    align-items: center;
    margin-right: 10px;
    position: relative;
    width: 10px;
    /* Ensure the container is the size of the largest circle */
    height: 10px;
    /* Ensure the container is the size of the largest circle */
}

.small-loading-animation {
    display: flex;
    align-items: center;
    margin-right: 10px;
    position: relative;
    width: 18px;
    /* Ensure the container is the size of the largest circle */
    height: 18px;
    /* Ensure the container is the size of the largest circle */
}

.loading-circle {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    overflow: hidden;
    animation: rotateAnimation 1.5s linear infinite;
    background-size: cover;
    background-position: center;
}

#loading-circle1 {
    background-image: url('../css/innerload1.png');
    /* Update the path to your first image */
    animation-delay: 0s;
    opacity: 0.8;
}

#loading-circle2 {
    background-image: url('../css/innerload2.png');
    /* Update the path to your second image */
    animation-delay: 0.5s;
    opacity: 0.8;
}

#loading-circle3 {
    background-image: url('../css/outerload.png');
    /* Update the path to your third image */
    animation-delay: 1s;
    width: 150%;
    /* Make the third circle larger */
    height: 150%;
    /* Make the third circle larger */
    left: -25%;
    /* Adjust position to center */
    top: -25%;
    /* Adjust position to center */
    animation-duration: 3s;
    /* Slower rotation */
    opacity: 0.8;
}

@keyframes rotateAnimation {
    0% {
        transform: rotate(0deg) scale(1);
    }

    50% {
        transform: rotate(180deg) scale(1.1);
    }

    100% {
        transform: rotate(360deg) scale(1);
    }
}


/* New styles for the specific use case in link-banner */
.grey-background {
    /* New class for this file's main element */
    background-color: #f0f0f0;
    /* Light grey background */
    min-height: 95vh;
    /* Ensure it covers the full height of the viewport */
    padding: 16px;
    box-sizing: border-box;
}

.link-banner {
    width: 22%;
    /* Full width */
    padding: 6px;
    /* Add padding inside the banner */
    background-color: rgba(110, 220, 77, 0.306);
    /* White background */
    border: 2px solid #e0f7e0;
    /* Very light green border */
    border-radius: 10px;
    /* Rounded corners */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    /* Optional: subtle shadow */
    display: flex;
    align-items: center;
    justify-content: center;
}

.banner-text {
    font-size: 20px;
    color: #333;
    margin-left: 10px;
}

.transcript-banner {
    width: 100%;
    padding: 20px;
    background-color: rgb(255, 255, 255);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 20px;
    margin-bottom: 20px;
    cursor: pointer;
}

.transcript-banner .name {
    font-size: 20px;
    color: #333;
}

.transcript-banner .date {
    font-size: 14px;
    color: #999;
}

.transcript-content {
    display: none;
    margin-top: 10px;
    padding: 10px;
    background-color: rgb(255, 255, 255);
    border-radius: 10px;
    flex-direction: column;
}

.transcript-banner .name-container {
    display: flex;
    align-items: center;
}

.email-container {
    margin-top: 10px;
    margin-bottom: 20px;
    /* Adjust the value as needed */
}

.transcript-banner .icon {
    width: 20px;
    height: 20px;
    background: url('../css/drop-down.png') no-repeat center center;
    background-size: contain;
    margin-right: 10px;
    transition: transform 0.3s ease;
    transform: rotate(-90deg);
    /* Rotates the icon to point down */
}

.transcript-banner .icon.down {
    transform: rotate(0deg);
    /* Rotates the icon to point down */
}

.transcript-message {
    max-width: 100%;
    padding: 10px;
    margin-bottom: 10px;
    border-radius: 10px;
    position: relative;
}

.transcript-message .sender {
    font-weight: bold;
    color: #333;
    margin-bottom: 5px;
}

.transcript-message .text {
    margin-bottom: 5px;
}

.transcript-message .date {
    font-size: 12px;
    color: #999;
    position: absolute;
    bottom: 5px;
    right: 10px;
}

.transcript-message.seneca {
    background-color: #e0e0e0;
}

.transcript-message.user {
    background-color: rgba(108, 201, 80, 0.306);
    /* White background */
}

.pdf-button {
    background-color: rgba(108, 201, 80, 0.306);
    /* White background */
    color: black;
    border: none;
    padding: 10px 20px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 14px;
    margin: 4px 2px;
    cursor: pointer;
    border-radius: 12px;
    margin-bottom: 20px;
}

.loading-animation {
    display: flex;
    align-items: center;
    margin-right: 10px;
    position: relative;
    width: 25px;
    /* Ensure the container is the size of the largest circle */
    height: 25px;
    /* Ensure the container is the size of the largest circle */
}

.link-banner .loading-circle {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    overflow: hidden;
    animation: rotateAnimation 1.5s linear infinite;
    background-size: cover;
    background-position: center;
}

#banner-loading-circle1 {
    background-image: url('../css/innerload1.png');
    /* Update the path to your first image */
    animation-delay: 0s;
    opacity: 0.8;
}

#banner-loading-circle2 {
    background-image: url('../css/innerload2.png');
    /* Update the path to your second image */
    animation-delay: 0.5s;
    opacity: 0.8;
}

#banner-loading-circle3 {
    background-image: url('../css/outerload.png');
    /* Update the path to your third image */
    animation-delay: 1s;
    width: 150%;
    /* Make the third circle larger */
    height: 150%;
    /* Make the third circle larger */
    left: -25%;
    /* Adjust position to center */
    top: -25%;
    /* Adjust position to center */
    animation-duration: 3s;
    /* Slower rotation */
    opacity: 0.8;
}

.share-icon {
    margin-left: 6px;
    /* Adjust spacing as needed */
    width: 30px;
    /* Adjust size as needed */
    height: 30px;
    /* Adjust size as needed */
    vertical-align: middle;
    /* Adjust the vertical alignment */
    margin-top: -4px;
    /* Fine-tune the vertical position */
}

.link-banner:hover {
    border-color: #4fa94f;
    /* Darker green border on hover */
    cursor: pointer;
    /* Change cursor to pointer on hover */
    background-color: rgba(110, 220, 77, 0.495);
    /* White background */
}

#replaceable-content {
    width: 100%;
    /* Ensure the new content takes full width */
}

.questions-container {
    width: 100%;
}

.dropdown-container {
    margin-top: 20px;
}

.upcoming-dates-container {
    display: block;
    width: 100%;
    margin-top: 10px;
    padding: 10px;
    background-color: #f9f9f9;
    /* Adjust the color as needed */
}

.email {
    font-size: 20px;
    color: #333;
    margin-left: 20px;
}

.gear-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    /* Position it right below the gear icon */
    left: 0;
    /* Align it with the left edge of the gear icon container */
    background-color: rgba(255, 255, 255, 0.98);
    border-radius: 10px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    padding: 8px 0;
    min-width: 220px;
    z-index: 1001;
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.gear-dropdown.active {
    display: block;
    opacity: 1;
    transform: translateY(0);
}

.dropdown-arrow {
    position: absolute;
    top: -8px;
    left: 15px;
    width: 16px;
    height: 16px;
    background-color: rgba(255, 255, 255, 0.98);
    transform: rotate(45deg);
    box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.05);
}

.dropdown-item {
    display: flex;
    align-items: center;
    padding: 10px 16px;
    width: 100%;
    border: none;
    background: none;
    cursor: pointer;
    font-size: 14px;
    color: #333;
    transition: background-color 0.2s ease;
}

.dropdown-item:hover {
    background-color: rgba(0, 0, 0, 0.05);
}

.menu-icon {
    width: 18px;
    height: 18px;
    margin-right: 12px;
    opacity: 0.7;
}

.dropdown-item span {
    flex-grow: 1;
    text-align: left;
}

#gear-icon {
    transition: transform 0.2s ease;
}

#gear-icon:active {
    transform: scale(0.9);
}

.title-area {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-bottom: 20px;
}

.clear-button {
    display: flex;
    align-items: center;
    background: none;
    border: none;
    font-size: 18px;
    cursor: pointer;
    padding: 5px 10px;
    border-radius: 5px;
    transition: background-color 0.3s ease, color 0.3s ease;
    margin-top: 12px;
    /* Move the button down a bit */
}

.clear-button:hover {
    background-color: #3d9341;
    /* Apple's green color */
    color: white;
}

.clear-button:hover .clear-icon {
    filter: brightness(0) invert(1);
    /* This will make the icon white on hover */
}

.clear-icon {
    width: 20px;
    height: 20px;
    margin-right: 5px;
    transition: filter 0.3s ease;
}

.tooltip-container {
    position: relative;
    display: inline-block;
    z-index: 1001;
}

.tooltip-lower {
    position: relative;
    display: inline-block;
    z-index: 1001;
}

.tooltip-text {
    visibility: hidden;
    width: 120px;
    background-color: black;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px;
    position: absolute;
    z-index: 1;
    top: 125%;
    /* Position the tooltip above the icon */
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    transition: opacity 0.3s;
}

.tooltip-hidden .tooltip-text {
    display: none;
}

.tooltip-container:hover .tooltip-text {
    visibility: visible;
    opacity: 1;
}

.tooltip-lower:hover .tooltip-text {
    visibility: visible;
    opacity: 1;
}

.nav-icon {
    margin-right: 20px;
    z-index: 1001;
}

.nav-img {
    width: 32px;
    height: 32px;
    filter: brightness(0);
    /* This will make the image black */
}

.sidebar {
    position: fixed;
    top: 0;
    left: -280px;
    width: 250px;
    height: 100%;
    background-color: #f5f5f7;
    transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 999;
}

.sidebar.open {
    left: 0;
}

.sidebar-content {
    padding: 24px 16px;
}

.sidebar-item {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    color: #5c5c5c;
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    border-radius: 8px;
    transition: all 0.2s ease;
    margin-bottom: 8px;
    position: relative;
}

.sidebar-item:hover {
    background-color: #e8f5e9;
    color: #3d9341;
}

.sidebar-item.active {
    background-color: #e8f5e9;
    color: #3d9341;
}

.sidebar-item.active::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background-color: #3d9341;
    border-radius: 0 2px 2px 0;
}

.sidebar-icon {
    width: 24px;
    height: 24px;
    margin-right: 12px;
    transition: transform 0.2s ease;
}

.sidebar-item:hover .sidebar-icon {
    transform: scale(1.1);
}

.seneca-heading {
    margin-left: 50px;
    margin-bottom: 10px;
    font-size: 20px;
    font-weight: bold;
}

.sidebar-header {
    display: flex;
    align-items: center;
}

.integration-status {
    position: absolute;
    bottom: 24px;
    left: 16px;
    right: 16px;
    border-radius: 8px;
    padding: 16px;
}

.integration-heading {
    font-size: 14px;
    font-weight: 600;
    color: #86868b;
    margin-bottom: 20px;
}

.integration-item {
    display: flex;
    align-items: center;
}

.integration-name {
    font-size: 14px;
    font-weight: 500;
    color: #1d1d1f;
    flex-grow: 1;
}

.integration-state {
    font-size: 12px;
    font-weight: 500;
}

.integration-connected .integration-icon {
    background-color: #2e6d31;
    /* Apple's green color */
}

.integration-connected .integration-state {
    color: #2e6d31;
}

.integration-not-connected .integration-icon {
    background-color: #5c5c5c;
    /* Apple's red color */
}

.integration-not-connected .integration-state {
    color: #5c5c5c;
}

#training-list {
    display: grid;
    gap: 12px;
    /* This creates space between the training items */
}

#training-items {
    display: grid;
    gap: 12px;
    /* This creates space between the training items */
}

#panel-training-items {
    display: grid;
    gap: 12px;
}

.training-item {
    display: flex;
    align-items: center;
    gap: 12px;
    background-color: #f5f5f7;
    border-radius: 8px;
    padding: 8px;
}

.training-dropdown {
    flex-grow: 1;
    font-size: 14px;
    padding: 10px;
    border: 1px solid #d2d2d7;
    border-radius: 6px;
    background-color: #fff;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23666666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 30px;
}

.date-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.date-label {
    font-size: 12px;
    color: #666;
    margin-bottom: 4px;
}

.due-date-picker {
    font-size: 14px;
    padding: 10px;
    border: 1px solid #d2d2d7;
    border-radius: 6px;
    background-color: #fff;
    width: 130px;
    /* Adjust as needed */
}

.remove-button {
    background-color: #ff3b30;
    color: white;
    border: none;
    border-radius: 4px;
    padding: 6px 10px;
    font-size: 12px;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.remove-button:hover {
    background-color: #d70015;
}

#associated-trainings {
    background-color: #fff;
    border-radius: 12px;
    padding: 16px;
    margin-top: 16px;
}

.associate-button {
    background-color: #f5f5f7;
    color: #3d9341;
    border: none;
    border-radius: 8px;
    padding: 10px 16px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.2s ease;
    margin-top: 8px;
}

.associate-button:hover {
    background-color: #e8e8ed;
}

#department-name,
#edit-department-name {
    font-size: 16px;
    padding: 12px 16px;
    border: 1px solid #d2d2d7;
    border-radius: 8px;
    background-color: #fff;
    transition: border-color 0.2s ease;
}

#department-name:focus,
#edit-department-name:focus {
    border-color: #1d7200;
    outline: none;
}

.trainee-overview-content {
    background-color: #f5f5f7;
    /* Light grey background */
    padding: 20px;
    border-radius: 10px;
}

.trainee-search-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    background-color: #ffffff;
    /* White background for container */
    border-radius: 10px;
    padding: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    /* Subtle shadow for depth */
}

.training-search-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    background-color: #ffffff;
    border-radius: 10px;
    padding: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.filter-control {
    position: relative;
    width: 40px;
    height: 40px;
    background-color: #f5f5f7;
    border-radius: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.filter-control:hover {
    background-color: #e8e8ed;
}

.filter-menu {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    background-color: #ffffff;
    border-radius: 10px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    padding: 8px 0;
    min-width: 250px;
    z-index: 1001;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.filter-menu.active {
    display: block;
    opacity: 1;
    transform: translateY(0);
}

.menu-arrow {
    position: absolute;
    top: -8px;
    right: 15px;
    width: 16px;
    height: 16px;
    background-color: #ffffff;
    transform: rotate(45deg);
    box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.05);
}

.menu-option {
    display: flex;
    align-items: center;
    padding: 10px 16px;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.menu-option:hover {
    background-color: #f5f5f7;
}

.search-wrapper {
    position: relative;
    flex-grow: 1;
    margin-right: 10px;
}

.search-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%23999999" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>');
    background-repeat: no-repeat;
    background-position: center;
}

.training-search-input,
.trainee-search-input {
    width: 100%;
    padding: 12px 12px 12px 40px;
    font-size: 16px;
    border: 1px solid #e0e0e0;
    /* Light border for definition */
    border-radius: 8px;
    background-color: #f8f8f8;
    /* Very light grey background */
    transition: all 0.3s ease;
}

.training-search-input:focus,
.trainee-search-input:focus {
    outline: none;
    border-color: #3d9341;
    background-color: #ffffff;
    box-shadow: 0 0 0 3px rgba(61, 147, 65, 0.1);
}

.training-search-input::placeholder,
.trainee-search-input::placeholder {
    color: #999999;
}

.add-trainee-button {
    background-color: #3d9341;
    color: white;
    border: none;
    border-radius: 8px;
    padding: 12px 20px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.2s ease;
    margin-left: 10px;
}

.add-trainee-button:hover {
    background-color: #2e6d31;
}

:root {
    --primary-color: #3d9341;
    --secondary-color: #F2F2F7;
    --text-color: #1C1C1E;
    --border-color: #C7C7CC;
    --font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
}

.input-group {
    position: relative;
    margin-bottom: 1.5rem;
}

.input-group input,
.input-group select,
.input-group textarea {
    width: 100%;
    padding: 0.75rem 1rem;
    font-size: 1rem;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    background-color: var(--secondary-color);
    transition: all 0.3s ease;
}

.input-group label {
    position: absolute;
    top: 50%;
    left: 1rem;
    transform: translateY(-50%);
    transition: all 0.3s ease;
    pointer-events: none;
    color: #8E8E93;
}

.input-group input:focus+label,
.input-group input:not(:placeholder-shown)+label,
.input-group select:focus+label,
.input-group select:not(:placeholder-shown)+label,
.input-group textarea:focus+label,
.input-group textarea:not(:placeholder-shown)+label {
    top: 0;
    font-size: 0.75rem;
    background-color: #FFFFFF;
    padding: 0 0.25rem;
}

.phone-group {
    display: flex;
}

.phone-group select {
    width: 80px;
    margin-right: 0.5rem;
}

.info-box {
    background-color: var(--secondary-color);
    border-radius: 8px;
    padding: 1rem;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
}

.info-icon {
    background-color: var(--primary-color);
    color: #FFFFFF;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-style: normal;
    margin-right: 0.75rem;
}

.primary-button,
.secondary-button {
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.primary-button {
    background-color: var(--primary-color);
    color: #FFFFFF;
    width: 100%;
}

.secondary-button {
    background-color: var(--secondary-color);
    color: var(--primary-color);
    margin-bottom: 30px;
}

.primary-button:hover,
.secondary-button:hover {
    opacity: 0.9;
}

#certifications-list {
    list-style-type: none;
    padding: 0;
}

#certifications-list li {
    background-color: var(--secondary-color);
    padding: 0.5rem 1rem;
    margin-bottom: 0.5rem;
    border-radius: 8px;
}

#additional-training {
    margin-bottom: 30px;
}



.certification-item {
    display: flex;
    align-items: center;
    background-color: #F2F2F7;
    border-radius: 10px;
    padding: 12px 16px;
    margin-bottom: 12px;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', sans-serif;
}

.certification-text {
    flex-grow: 1;
    font-size: 16px;
    color: #1C1C1E;
    margin-right: 16px;
}

.expiry-date-container {
    display: flex;
    align-items: center;
    margin-right: 16px;
}

.expiry-label {
    font-size: 14px;
    color: #8E8E93;
    margin-right: 8px;
}

.expiry-date-picker {
    border: none;
    background-color: transparent;
    color: #1C1C1E;
    font-size: 16px;
    padding: 4px 8px;
    border-radius: 6px;
}

.doc-button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    padding: 4px;
    margin-right: 16px;
    transition: opacity 0.2s ease;
}

.doc-button:hover {
    opacity: 0.7;
}

.additional-group {
    position: relative;
    padding-right: 30px;
    /* Make room for the remove button */
}

.remove-group-button {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background-color: #FF3B30;
    color: white;
    border: none;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.remove-group-button:hover {
    background-color: #FF453A;
}

.language-select-group {
    position: relative;
    margin-bottom: 1.5rem;
}

.language-select-group label {
    position: absolute;
    top: -0.5rem;
    left: 0.5rem;
    font-size: 0.75rem;
    background-color: #FFFFFF;
    padding: 0 0.25rem;
    color: #8E8E93;
    z-index: 1;
}

.custom-select {
    position: relative;
    font-family: var(--font-family);
}

.custom-select select {
    display: none;
}

.select-selected {
    background-color: var(--secondary-color);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 0.75rem 1rem;
    cursor: pointer;
    user-select: none;
    font-size: 1rem;
    color: var(--text-color);
    transition: all 0.3s ease;
}

.select-selected:after {
    position: absolute;
    content: "";
    top: 50%;
    right: 1rem;
    width: 0;
    height: 0;
    border: 6px solid transparent;
    border-color: var(--text-color) transparent transparent transparent;
    transition: all 0.3s ease;
}

.select-selected.select-arrow-active:after {
    transform: translateY(-50%) rotate(180deg);
    top: calc(50% - 3px);
}

.select-items {
    position: absolute;
    background-color: #FFFFFF;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 99;
    max-height: 300px;
    overflow-y: auto;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    border: 1px solid var(--border-color);
    margin-top: 4px;
}

.select-items div {
    padding: 0.75rem 1rem;
    cursor: pointer;
    user-select: none;
    color: var(--text-color);
    transition: background-color 0.2s ease;
}

.select-items div:hover {
    background-color: var(--secondary-color);
}

.select-hide {
    display: none;
}

.custom-select:focus-within .select-selected {
    border-color: var(--primary-color);
}


.iti {
    width: 100%;
}

.iti__flag-container {
    right: auto;
    left: 0;
}

.divider-line {
    border: 0;
    height: 1px;
    background: #e0e0e0;
    margin: 20px 0;
}

.trainee-cards-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 20px;
}

.trainee-profile-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    padding: 24px;
    width: calc(20% - 16px);
    /* 5 cards per row */
    min-width: 250px;
    /* Reduced from 300px */
    box-sizing: border-box;
    position: relative;
    transition: box-shadow 0.3s ease, border-top-color 0.3s ease;
    border-top: 3px solid transparent;
    flex-grow: 0;
    /* Prevent cards from growing */
}

.trainee-profile-card.expanded {
    width: calc(40% - 16px);
    /* 2 expanded cards per row */
}

.trainee-profile-card:hover {
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* .trainee-profile-card[data-status="good"] {
    border-top-color: #34c759;
} */

.trainee-profile-card[data-status="document_warning"] {
    border-top-color: #ff9500;
}

.trainee-profile-card[data-status="training_alert"] {
    border-top-color: #e00303;
}

.trainee-profile-card[data-status="document_alert"] {
    border-top-color: #ff3b30;
}


.expand-button {
    position: absolute;
    top: 12px;
    right: 12px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
}

.expand-button svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: #8e8e93;
    stroke-width: 2;
}

.expand-button:hover svg {
    stroke: #3d3d3d;
}

.expand-button:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(0, 125, 250, 0.6);
    border-radius: 4px;
}

.trainee-profile-card:hover {
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

.status-indicator {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    transition: background-color 0.3s ease;
}

.trainee-profile-card[data-status="good"] .status-indicator {
    background-color: #34c759;
}

.trainee-profile-card[data-status="warning"] .status-indicator {
    background-color: #ff9500;
}

.trainee-profile-card[data-status="alert"] .status-indicator {
    background-color: #ff3b30;
}

.trainee-full-name {
    font-size: 24px;
    font-weight: 600;
    color: #333;
    margin: 0 0 4px 0;
}

.trainee-primary-department {
    font-size: 14px;
    color: #666;
    font-weight: 500;
}

.trainee-contact-info {
    margin-top: 16px;
    margin-bottom: 24px;
}

.trainee-email-link,
.trainee-phone-link {
    display: flex;
    align-items: center;
    color: #0066cc;
    text-decoration: none;
    margin-bottom: 8px;
    font-size: 14px;
}

.trainee-email-link:hover,
.trainee-phone-link:hover {
    text-decoration: underline;
}

.contact-icon {
    width: 18px;
    height: 18px;
    margin-right: 8px;
    fill: currentColor;
}

.group-affiliations-heading,
.training-section-heading,
.document-section-heading {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin: 0 0 12px 0;
}

.group-affiliation-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

.group-affiliation-tag {
    background-color: #e1e1e1;
    color: #333;
    padding: 4px 8px;
    border-radius: 16px;
    font-size: 12px;
}

.add-group-affiliation-btn,
.add-training-btn,
.add-document-btn {
    background: none;
    border: none;
    color: #0066cc;
    cursor: pointer;
    font-size: 12px;
    padding: 4px 8px;
}

.add-group-affiliation-btn:hover,
.add-training-btn:hover,
.add-document-btn:hover {
    text-decoration: underline;
}

.trainee-development-info {
    display: flex;
    justify-content: space-between;
}

.trainee-training-section,
.trainee-document-section {
    flex: 1;
}

.training-list,
.document-list {
    list-style-type: none;
    padding: 0;
    margin: 0 0 12px 0;
}

.training-list li,
.document-list li {
    font-size: 14px;
    color: #666;
    margin-bottom: 4px;
}

@media (max-width: 1600px) {
    .trainee-profile-card {
        width: calc(25% - 15px);
        /* 4 cards per row */
    }

    .trainee-profile-card.expanded {
        width: calc(50% - 15px);
        /* 2 expanded cards per row */
    }
}

@media (max-width: 1200px) {
    .trainee-profile-card {
        width: calc(33.333% - 14px);
        /* 3 cards per row */
    }

    .trainee-profile-card.expanded {
        width: calc(66.666% - 14px);
        /* 1.5 expanded cards per row */
    }
}

@media (max-width: 900px) {
    .trainee-profile-card {
        width: calc(50% - 10px);
        /* 2 cards per row */
    }

    .trainee-profile-card.expanded {
        width: 100%;
        /* Full width for expanded cards */
    }
}

@media (max-width: 600px) {

    .trainee-profile-card,
    .trainee-profile-card.expanded {
        width: 100%;
        /* Full width for all cards */
    }
}

.trainee-detail-slide-over-panel {
    position: fixed;
    top: 0;
    right: -100%;
    width: 50%;
    height: 100%;
    background: #fff;
    box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
    transition: right 0.3s ease;
    z-index: 1003;
}

.trainee-detail-slide-over-panel.trainee-panel-open {
    right: 0;
}

.trainee-detail-content {
    padding: 24px;
    overflow-y: auto;
    height: 100%;
}

.trainee-detail-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 1002;
}

.trainee-detail-overlay.trainee-overlay-visible {
    opacity: 1;
    visibility: visible;
}

.trainee-detail-slide-over-panel {
    background-color: #f5f5f7;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
}

.seneca-trainee-profile-panel {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    background-color: #f5f5f7;
}

.seneca-trainee-profile-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.seneca-trainee-profile-title {
    font-size: 28px;
    font-weight: bold;
    color: #1d1d1f;
}

.seneca-trainee-profile-actions {
    display: flex;
    gap: 10px;
}

.seneca-trainee-action-btn {
    padding: 10px 15px;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
}

.seneca-pdf-generate-btn,
.seneca-archive-btn,
.seneca-onboarding-create-btn {
    background-color: #ffffff;
    color: #3d9341;
    border: 1px solid #3d9341;
}

.seneca-pdf-generate-btn:hover,
.seneca-onboarding-create-btn:hover {
    background-color: #3d9341;
    color: white;
}

.seneca-archive-btn:hover {
    background-color: #ff3b30;
    color: white;
    border: 1px solid #ff3b30;
}

.seneca-action-icon {
    fill: currentColor;
    transition: fill 0.3s ease;
}

.seneca-trainee-action-btn:hover .seneca-action-icon {
    fill: white;
}

.seneca-trainee-profile-tabs {
    display: flex;
    background-color: #f8f8f8;
    border-radius: 10px;
    padding: 5px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    margin-bottom: 20px;
}

.seneca-trainee-tab-btn {
    flex: 1;
    padding: 12px 20px;
    background: none;
    border: none;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #484848;
    cursor: pointer;
    transition: all 0.3s ease;
    border-radius: 8px;
}

.seneca-trainee-tab-btn:hover {
    background-color: rgba(0, 0, 0, 0.05);
}

.seneca-trainee-tab-btn.active {
    background-color: #fff;
    color: #3d9341;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Smooth transition for tab content */
.seneca-trainee-profile-content {
    transition: opacity 0.3s ease;
}

.seneca-trainee-profile-section {
    background-color: white;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    margin-bottom: 20px;
}

.seneca-trainee-section-title {
    font-size: 20px;
    font-weight: 600;
    color: #1d1d1f;
    margin-bottom: 15px;
}

.seneca-trainee-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 15px;
}

.seneca-trainee-input {
    width: 100%;
    padding: 10px;
    border: 1px solid #d2d2d7;
    border-radius: 6px;
    font-size: 14px;
}

.seneca-trainee-groups-list,
.seneca-trainee-trainings-list,
.seneca-trainee-documents-list,
.seneca-trainee-certifications-list,
.seneca-trainee-incidents-list {
    list-style-type: none;
    padding: 0;
}

.seneca-trainee-group-tag {
    display: inline-block;
    background-color: #e8e8ed;
    padding: 5px 10px;
    border-radius: 15px;
    font-size: 14px;
    margin-right: 10px;
    margin-bottom: 10px;
}

.seneca-trainee-remove-group-btn {
    background: none;
    border: none;
    color: #8E8E93;
    font-size: 18px;
    margin-left: 6px;
    cursor: pointer;
}

.seneca-group-confirm-btn:hover {
    background-color: #30B955;
}

.seneca-trainee-training-item,
.seneca-trainee-document-item,
.seneca-trainee-certification-item,
.seneca-trainee-incident-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 0;
    border-bottom: 1px solid #d2d2d7;
}

.seneca-trainee-training-title,
.seneca-trainee-document-title,
.seneca-trainee-certification-title,
.seneca-trainee-incident-title {
    font-size: 16px;
    font-weight: 500;
    color: #1d1d1f;
    margin: 0;
}

.seneca-trainee-incident-reference {
    font-size: 14px;
    color: #86868b;
    margin: 5px 0 0 0;
}

.seneca-trainee-training-due-date,
.seneca-trainee-document-date,
.seneca-trainee-certification-date,
.seneca-trainee-incident-date {
    font-size: 14px;
    color: #86868b;
    margin: 5px 0 0 0;
}

.seneca-trainee-profile-section {
    background-color: #ffffff;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    margin-bottom: 24px;
}

.seneca-trainee-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.seneca-trainee-section-title {
    font-size: 20px;
    font-weight: 600;
    color: #1d1d1f;
}

.seneca-trainee-add-btn {
    background-color: #3d9341;
    color: white;
    border: none;
    border-radius: 6px;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: background-color 0.2s ease;
}

.seneca-trainee-add-btn:hover {
    background-color: #38783c;
}

.seneca-trainee-up-to-date {
    display: flex;
    align-items: center;
    gap: 12px;
    background-color: #F2F2F7;
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 20px;
    font-size: 14px;
    color: #1d1d1f;
}

.seneca-trainee-trainings-list {
    list-style-type: none;
    padding: 0;
}

.seneca-trainee-training-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1px solid #d2d2d7;
}

.seneca-trainee-training-info {
    flex-grow: 1;
}

.seneca-trainee-training-title {
    font-size: 16px;
    font-weight: 500;
    color: #1d1d1f;
    margin: 0 0 4px 0;
}

.seneca-trainee-training-status {
    display: flex;
    align-items: center;
    gap: 8px;
}

.seneca-trainee-status-indicator {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.seneca-trainee-status-text {
    font-size: 14px;
    color: #86868b;
}

.seneca-status-overdue .seneca-trainee-status-indicator {
    background-color: #FF3B30;
}

.seneca-status-due-soon .seneca-trainee-status-indicator {
    background-color: #FF9500;
}

.seneca-status-upcoming .seneca-trainee-status-indicator {
    background-color: #34C759;
}

.seneca-status-overdue {
    background-color: #ff3b30;
    color: white;
}

.seneca-status-due-soon {
    background-color: #ff9500;
    color: white;
}

.seneca-trainee-date-input {
    font-size: 14px;
    color: #1d1d1f;
    border: none;
    background: none;
    cursor: pointer;
}

.seneca-trainee-expand-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    color: #86868b;
    transition: color 0.2s ease;
}

.seneca-trainee-expand-btn:hover {
    color: #1d1d1f;
}

/* Add smooth transitions */
.seneca-trainee-training-item,
.seneca-trainee-up-to-date,
.seneca-trainee-add-btn {
    transition: all 0.3s ease;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .seneca-trainee-section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .seneca-trainee-training-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .seneca-trainee-training-date {
        align-self: flex-end;
    }
}

.seneca-trainee-remove-btn,
.seneca-trainee-view-btn {
    background: none;
    border: none;
    color: #0071e3;
    font-size: 14px;
    cursor: pointer;
    padding: 5px;
}

.seneca-trainee-remove-btn:hover,
.seneca-trainee-view-btn:hover {
    text-decoration: underline;
}

.seneca-trainee-info-item {
    display: flex;
    flex-direction: column;
    margin-bottom: 15px;
}

.seneca-trainee-label {
    font-size: 14px;
    color: #666;
    margin-bottom: 5px;
}

.seneca-trainee-input {
    width: 100%;
    padding: 10px;
    border: 1px solid #d2d2d7;
    border-radius: 6px;
    font-size: 14px;
}

.seneca-trainee-save-container {
    margin-top: 20px;
    text-align: right;
}

.seneca-trainee-save-container-panel {
    align-items: center;
    /* This will vertically center items */
    margin-top: -5px;
    /* This will move it upwards */
}

.seneca-trainee-save-btn {
    background-color: #3d9341;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.seneca-trainee-save-btn:hover {
    background-color: #2c6b30;
}

.seneca-save-icon {
    fill: currentColor;
}

.seneca-save-trainings-panel-icon {
    fill: currentColor;
}

.seneca-trainee-expanded-view {
    margin-top: 10px;
    border-top: 1px solid #e0e0e0;
    padding-top: 10px;
}

.seneca-trainee-training-details {
    width: 100%;
    border-collapse: collapse;
}

.seneca-trainee-training-details th,
.seneca-trainee-training-details td {
    text-align: left;
    padding: 8px;
    border-bottom: 1px solid #e0e0e0;
}

.seneca-trainee-training-details th {
    font-weight: bold;
    color: #555;
}

.view-assessment {
    color: #007AFF;
    text-decoration: none;
}

.view-assessment:hover {
    text-decoration: underline;
}

.seneca-trainee-expand-btn.expanded svg {
    transform: rotate(180deg);
}

.seneca-trainee-training-item {
    position: relative;
    display: flex;
    align-items: center;
    padding: 10px;
    border-radius: 5px;
    transition: background-color 0.3s ease;
}

.seneca-trainee-training-item:hover {
    background-color: #f5f5f5;
}

.seneca-trainee-training-info {
    flex-grow: 1;
}

.seneca-trainee-training-status {
    display: flex;
    align-items: center;
}

.seneca-trainee-cancel-btn {
    display: none;
    background: none;
    border: none;
    color: #f44336;
    cursor: pointer;
    padding: 5px 10px;
    font-size: 0.9em;
    border-radius: 3px;
    transition: background-color 0.3s ease;
    margin-left: 0px;
    margin-top: 8px;
}

.seneca-trainee-cancel-btn:hover {
    background-color: #ffebee;
}

.seneca-trainee-training-item:hover .seneca-trainee-cancel-btn {
    display: inline-block;
}

.seneca-trainee-go-to-btn {
    display: none;
    background: none;
    border: none;
    color: #3d9341;
    cursor: pointer;
    padding: 5px 10px;
    font-size: 0.9em;
    border-radius: 3px;
    transition: background-color 0.3s ease;
    margin-left: 0px;
    margin-top: 8px;
}

.seneca-trainee-go-to-btn:hover {
    background-color: #e8f5e9;
}

.seneca-trainee-training-item:hover .seneca-trainee-go-to-btn {
    display: inline-block;
}

.seneca-trainee-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.seneca-trainee-document-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #e0e0e0;
}

.seneca-trainee-document-info {
    flex-grow: 1;
}

.seneca-trainee-document-title {
    margin: 0 0 5px 0;
    font-size: 16px;
}

.seneca-trainee-document-date {
    margin: 0;
    font-size: 14px;
    color: #666;
    display: flex;
    align-items: center;
}

.seneca-trainee-status-indicator {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 5px;
}

.seneca-status-expired {
    background-color: #FF3B30;
}

.seneca-status-expiring-soon {
    background-color: #FF9500;
}

.seneca-trainee-document-actions {
    display: flex;
    align-items: center;
}

.seneca-trainee-alert-btn,
.seneca-trainee-view-btn {
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    padding: 5px;
    margin-left: 15px;
    color: #2E8B57;
    /* Dark green color */
}

.seneca-trainee-alert-btn[data-alert="false"] {
    color: #999;
}

.seneca-trainee-view-btn svg {
    margin-right: 5px;
}

.seneca-trainee-add-btn {
    background-color: #2E8B57;
    color: white;
    border: none;
    padding: 8px 12px;
    border-radius: 4px;
    cursor: pointer;
}

.seneca-trainee-alert-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    border-radius: 50%;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.seneca-trainee-alert-btn:hover {
    background-color: rgba(46, 139, 87, 0.1);
    /* Light green background on hover */
}

.seneca-trainee-alert-btn.active {
    background-color: rgba(46, 139, 87, 0.2);
    /* Darker green background when active */
    color: #2E8B57;
    /* Dark green color for the icon */
}

.seneca-trainee-alert-btn svg {
    transition: transform 0.3s ease;
}

.seneca-trainee-alert-btn:active svg {
    transform: scale(0.9);
    /* Slight shrink effect when clicked */
}

.seneca-trainee-panel-upload-btn {
    cursor: pointer;
    color: #3d9341;
    /* Dark green color */
    text-decoration: underline;
    margin-left: 28px;
    border: none;
    background: none;
    padding: 0;
}

.seneca-trainee-panel-upload-btn:hover {
    color: #269c5a;
}

/* Responsive design */
@media (max-width: 480px) {
    .seneca-panel-new-document-container {
        padding: 15px;
    }

    .seneca-panel-document-save-btn,
    .seneca-panel-document-cancel-btn {
        width: 100%;
        margin-bottom: 10px;
    }
}

.seneca-panel-new-document-container {
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 10px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.seneca-panel-document-title-input,
.seneca-panel-document-date-input {
    width: 100%;
    padding: 8px;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    font-size: 14px;
}

.seneca-panel-lower-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.seneca-panel-notify-container {
    margin-top: 15px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.seneca-panel-notify-label {
    font-size: 16px;
    font-weight: 500;
    color: #333;
}

.seneca-panel-trainer-select {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 20px;
    font-size: 14px;
    background-color: #fff;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M10.293 3.293L6 7.586 1.707 3.293A1 1 0 00.293 4.707l5 5a1 1 0 001.414 0l5-5a1 1 0 10-1.414-1.414z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 12px;
}

.seneca-panel-add-trainer-btn {
    align-self: flex-start;
    padding: 8px 16px;
    background-color: #f0f0f0;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
    color: #333;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.seneca-panel-add-trainer-btn:hover {
    background-color: #e0e0e0;
}

.seneca-panel-selected-trainers {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.selected-trainer {
    display: flex;
    align-items: center;
    background-color: #f0f0f0;
    border-radius: 20px;
    padding: 5px 10px;
    font-size: 14px;
}

.remove-trainer-btn {
    background: none;
    border: none;
    color: #999;
    cursor: pointer;
    margin-left: 5px;
    font-size: 18px;
    line-height: 1;
}

.remove-trainer-btn:hover {
    color: #666;
}

.seneca-panel-document-upload-btn {
    background-color: #f5f5f5;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    padding: 8px;
    cursor: pointer;
}

.seneca-panel-buttons-container {
    display: flex;
    gap: 10px;
}

.seneca-panel-document-save-btn,
.seneca-panel-document-cancel-btn {
    padding: 8px 15px;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    cursor: pointer;
}

.seneca-panel-document-save-btn {
    background-color: #3d9341;
    color: white;
}

.seneca-panel-document-cancel-btn {
    background-color: #f5f5f5;
    color: #333;
}

.seneca-panel-date-container {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

.seneca-panel-bell-icon {
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    margin-right: 10px;
}

.seneca-panel-bell-icon svg {
    fill: #ccc;
    transition: fill 0.3s ease;
}

.seneca-panel-bell-icon.active svg {
    fill: #2E8B57;
}

.seneca-panel-expiry-label {
    margin-right: 10px;
    font-size: 14px;
    color: #666;
}

.seneca-panel-document-date-input {
    flex-grow: 1;
}

.seneca-trainee-incidents-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.seneca-new-incident-form-container {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 15px;
    padding: 15px;
    background-color: #f5f5f5;
    border-radius: 5px;
}

.seneca-new-incident-description-input,
.seneca-new-incident-date-input {
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.seneca-new-incident-save-btn,
.seneca-new-incident-cancel-btn {
    padding: 8px 15px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

.seneca-new-incident-save-btn {
    background-color: #3d9341;
    color: white;
}

.seneca-new-incident-cancel-btn {
    background-color: #f5f5f5;
    color: rgb(0, 0, 0);
}





.seneca-tech-profile-modal-toggle-container {
    display: flex;
    background-color: #f0f0f0;
    border-radius: 10px;
    /* Reduced roundness */
    padding: 4px;
    width: 100%;
    /* Changed to 100% for wider container */
    max-width: 800px;
    /* Set a maximum width for better control */
    margin: 30px auto;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    justify-content: space-between;
    /* Ensures even split of text */
}

.seneca-tech-profile-modal-toggle-input {
    display: none;
}

.seneca-tech-profile-modal-toggle-label {
    padding: 10px 20px;
    cursor: pointer;
    transition: all 0.3s ease;
    border-radius: 10px;
    font-weight: 500;
    font-size: 14px;
    color: #666;
    flex: 1;
    /* Allows labels to take equal space */
    text-align: center;
    /* Centers text within the label */
}

.seneca-tech-profile-modal-toggle-input:checked+.seneca-tech-profile-modal-toggle-label {
    background-color: white;
    color: #333;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.seneca-tech-profile-modal-content {
    margin-top: 20px;
}





.seneca-trainer-modal-info-section {
    margin-bottom: 24px;
}

.seneca-trainer-modal-input-container {
    position: relative;
    margin-bottom: 16px;
}

.seneca-trainer-modal-input {
    width: 100%;
    padding: 12px 16px;
    font-size: 16px;
    border: none;
    border-radius: 8px;
    background-color: #f5f5f7;
    transition: all 0.3s ease;
}

.seneca-trainer-modal-input:focus {
    outline: none;
    box-shadow: 0 0 0 2px #3d9341;
    background-color: #ffffff;
}

.seneca-trainer-modal-input-label {
    position: absolute;
    left: 16px;
    top: 14px;
    font-size: 16px;
    color: #86868b;
    transition: all 0.3s ease;
    pointer-events: none;
    text-decoration: none;
    /* Ensure no text decoration by default */
}

.seneca-trainer-modal-input:focus+.seneca-trainer-modal-input-label,
.seneca-trainer-modal-input:not(:placeholder-shown)+.seneca-trainer-modal-input-label {
    transform: translateY(-24px) scale(0.75);
    color: #1d5c38;
    text-decoration: none;
    /* Explicitly remove any text decoration when label moves up */
}

.seneca-trainer-modal-user-email {
    font-size: 14px;
    color: #86868b;
    margin: 8px 0 16px;
    padding-left: 16px;
}

.seneca-trainer-modal-email-container,
.seneca-company-modal-info-container {
    display: flex;
    align-items: center;
    margin: 10px 10px 40px;
    font-size: 14px;
    color: #333;
}

.seneca-trainer-modal-email-icon,
.seneca-company-modal-icon {
    margin-right: 8px;
    flex-shrink: 0;
}

/* Specific styles for the company website container */
#company-website-container {
    margin-bottom: 40px;
    /* Adjusted margin to fit better in the company section */
}

#company-website {
    word-break: break-all;
    /* Ensures long URLs don't overflow */
}

#user-email-text {
    word-break: break-all;
}

.seneca-trainer-modal-save-button {
    display: block;
    width: 15%;
    padding: 8px;
    margin-top: 20px;
    background-color: #3d9341;
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    /* Reduced font size */
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.seneca-trainer-modal-save-button:hover {
    background-color: #1d5c38;
}

.seneca-trainer-modal-save-button:active {
    background-color: #1b5132;
}

.seneca-company-modal-textarea {
    min-height: 100px;
    /* Adjust height as needed */
    resize: vertical;
    /* Allows vertical resizing */
    line-height: 1.5;
    /* Better line spacing for readability */
    font-family: inherit;
    /* Maintain consistent font */
}

/* Adjust label position for textarea */
.seneca-company-modal-textarea+.seneca-company-modal-input-label {
    top: 12px;
    /* Slightly adjusted for textarea alignment */
}

/* Adjust label transform for textarea */
.seneca-company-modal-textarea:focus+.seneca-company-modal-input-label,
.seneca-company-modal-textarea:not(:placeholder-shown)+.seneca-company-modal-input-label {
    transform: translateY(-24px) scale(0.75);
    color: #1d5c38;
}

.seneca-company-modal-info-section {
    margin-bottom: 24px;
}

.seneca-company-modal-input-container {
    position: relative;
    margin-bottom: 16px;
}

.seneca-company-modal-input {
    width: 100%;
    padding: 12px 16px;
    font-size: 16px;
    border: none;
    border-radius: 8px;
    background-color: #f5f5f7;
    transition: all 0.3s ease;
}

.seneca-company-modal-input:focus {
    outline: none;
    box-shadow: 0 0 0 2px #1d5c38;
    background-color: #ffffff;
}

.seneca-company-modal-input-label {
    position: absolute;
    left: 16px;
    top: 14px;
    font-size: 16px;
    color: #86868b;
    transition: all 0.3s ease;
    pointer-events: none;
}

.seneca-company-modal-input:focus+.seneca-company-modal-input-label,
.seneca-company-modal-input:not(:placeholder-shown)+.seneca-company-modal-input-label {
    transform: translateY(-24px) scale(0.75);
    color: #1d5c38;
}

.seneca-company-modal-save-button {
    display: block;
    width: 15%;
    padding: 8px;
    margin-top: 20px;
    background-color: #3d9341;
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.seneca-company-modal-save-button:hover {
    background-color: #1d5c38;
}

.seneca-company-modal-save-button:active {
    background-color: #1d5c38;
}

.seneca-company-modal-team-section {
    margin-top: 32px;
}

.seneca-company-modal-team-heading {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 8px;
}

.seneca-company-modal-team-text {
    font-size: 14px;
    color: #86868b;
}

.notification {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translate(-50%, 0);
    /* Center horizontally */
    background-color: #1d5c38;
    color: white;
    padding: 16px;
    border-radius: 8px;
    /* Increased border-radius for less sharp edges */
    display: flex;
    align-items: center;
    justify-content: center;
    /* Center text */
    min-width: 300px;
    z-index: 10000;
}

.glassy-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(5px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

.glassy-overlay p {
    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 20px;
    border-radius: 10px;
    text-align: center;
}

#company-content {
    position: relative;
}





.seneca-company-modal-team-heading {
    margin-bottom: 25px;
}

.team-member {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    background-color: #f5f5f7;
    border-radius: 12px;
    margin-bottom: 15px;
    transition: all 0.3s ease;
}

.team-member:hover {
    background-color: #e5e5e7;
}

.member-info {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.member-name {
    font-weight: 500;
    font-size: 16px;
    color: #1d1d1f;
    margin-bottom: 4px;
}

.member-email {
    color: #86868b;
    font-size: 14px;
}

.remove-member-btn {
    background-color: transparent;
    color: #86868b;
    border: none;
    padding: 8px 12px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.3s ease;
    margin-left: 15px;
}

.remove-member-btn:hover {
    background-color: #e5e5e7;
    color: #1d1d1f;
}

.invite-member-section {
    margin-top: 30px;
    display: flex;
    gap: 12px;
}

#invite-email-input {
    flex-grow: 1;
    padding: 12px 15px;
    border: 1px solid #d2d2d7;
    border-radius: 8px;
    font-size: 14px;
    transition: all 0.3s ease;
}

#invite-email-input:focus {
    outline: none;
    border-color: #0071e3;
    box-shadow: 0 0 0 4px rgba(0, 113, 227, 0.1);
}

#invite-member-button {
    background-color: #3d9341;
    color: white;
    border: none;
    padding: 12px 20px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.3s ease;
}

#invite-member-button:hover {
    background-color: #2a6224;
}

#invite-member-button:active {
    transform: scale(0.98);
}


.action-bar {
    display: flex;
    justify-content: flex-start;
    /* Aligns buttons to the left */
    gap: 12px;
    /* Adds more space between buttons */
    padding: 12px;
    padding-top: 20px;
    padding-left: 0px;
    background-color: transparent;
    /* border-bottom: 1px solid #e0e0e0; */
}

.action-bar-button {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    /* Increases button size */
    border: 1px solid #ddd;
    /* Light border for subtle outline */
    border-radius: 8px;
    background-color: transparent;
    color: #2f3437;
    /* Dark text color for contrast */
    font-size: 16px;
    /* Larger font size */
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
}

.action-bar-button:hover {
    background-color: #f1f1f1;
    /* Light background on hover */
    border-color: #c4c4c4;
}

.action-bar-button svg {
    margin-right: 8px;
    /* Slightly more space for larger button size */
    fill: #2f3437;
    transition: fill 0.2s ease;
}

.action-bar-button:hover svg {
    fill: #1a1a1a;
}

.action-bar-button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    border-color: #ddd;
}

.seneca-onboarding-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2000;
}

.seneca-onboarding-modal-content {
    background-color: #fff;
    padding: 2rem;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    max-width: 500px;
    width: 90%;
}

.seneca-onboarding-modal h2 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    color: #333;
}

.seneca-onboarding-modal-info {
    font-size: 0.9rem;
    color: #666;
    margin-bottom: 1.5rem;
    line-height: 1.4;
}

.seneca-onboarding-btn {
    padding: 0.5rem 1rem;
    border: none;
    border-radius: 5px;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.seneca-onboarding-btn-primary {
    background-color: #3d9341;
    color: #fff;
}

.seneca-onboarding-btn-primary:hover {
    background-color: #1d5c38;
}

.seneca-onboarding-btn-secondary {
    background-color: #e0e0e0;
    color: #333;
}

.seneca-onboarding-btn-secondary:hover {
    background-color: #c7c7c7;
}

#seneca-onboarding-trainings-list {
    margin-bottom: 1rem;
}

#seneca-onboarding-add-training-btn {
    margin-bottom: 1rem;
}

.seneca-onboarding-training-item {
    display: flex;
    align-items: center;
    margin-bottom: 0.5rem;
}

.seneca-onboarding-training-select {
    flex-grow: 1;
    margin-right: 0.5rem;
    padding: 0.3rem;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.seneca-onboarding-date-picker {
    padding: 0.3rem;
    border: 1px solid #ccc;
    border-radius: 4px;
    margin-right: 0.5rem;
}

.seneca-onboarding-remove-btn {
    padding: 0.3rem 0.5rem;
    background-color: #ff3b30;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

.seneca-onboarding-remove-btn:hover {
    background-color: #d63030;
}

#seneca-confirmation-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    align-items: center;
    justify-content: center;
    z-index: 2000;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.seneca-confirmation-modal-content {
    background: rgba(255, 255, 255, 0.95);
    padding: 28px 24px;
    border-radius: 14px;
    width: 90%;
    max-width: 340px;
    text-align: center;
    box-shadow: 0 4px 23px 0 rgba(0, 0, 0, 0.2);
    transform: scale(0.9);
    transition: transform 0.3s ease;
}

#seneca-confirmation-main-message {
    margin-bottom: 12px;
    font-size: 17px;
    font-weight: 600;
    color: #1d1d1f;
    line-height: 1.3;
}

#seneca-confirmation-sub-message {
    margin-bottom: 24px;
    font-size: 14px;
    font-weight: 400;
    color: #86868b;
    line-height: 1.4;
}

.seneca-confirmation-button {
    margin: 0 6px;
    padding: 12px 24px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 500;
    transition: background-color 0.2s, transform 0.1s;
}

#seneca-confirm-yes-button {
    background-color: #3d9341;
    color: white;
}

#seneca-confirm-yes-button:hover {
    background-color: #1d5c38;
}

#seneca-confirm-cancel-button {
    background-color: #f2f2f7;
    color: #ff3b30;
}

#seneca-confirm-cancel-button:hover {
    background-color: #e5e5ea;
}

.seneca-confirmation-button:active {
    transform: scale(0.98);
}

.seneca-expiration-date-input {
    display: none;
}

.sidebar-icon-container {
    position: relative;
    margin-right: 10px;
}

.task-notification-dot {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 8px;
    height: 8px;
    background-color: #FF3B30;
    border-radius: 50%;
    display: none;
    transform: translate(-50%, 50%);
}


.trainer-task-item {
    border-bottom: 1px solid #e0e0e0;
    padding: 16px 0;
    margin-bottom: 16px;
    position: relative;
}

.trainer-task-item:hover .task-date-input {
    display: block !important;
}

.task-date-input {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-top: 8px;
}

.task-date-row {
    display: flex;
    width: 100%;
    margin-bottom: 16px;
}

.trainer-task-item:last-child {
    border-bottom: none;
    /* Remove border from the last item */
    margin-bottom: 0;
    /* Remove margin from the last item */
}

.task-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.task-icon-title {
    display: flex;
    align-items: center;
    flex-grow: 1;
}

.task-icon {
    flex-shrink: 0;
    margin-right: 12px;
    /* Increased from 8px to 12px for more space between icon and text */
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.task-icon svg {
    width: 100%;
    height: 100%;
}

.task-title {
    margin: 0;
    font-size: 14px;
    text-align: left;
    flex-grow: 1;
}

.handle-trainer-task {
    background-color: #4CAF50;
    border: none;
    color: white;
    padding: 8px 16px;
    /* Slightly increased padding */
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 12px;
    margin-left: 16px;
    /* Increased from 10px to 16px for more separation from text */
    cursor: pointer;
    border-radius: 4px;
    flex-shrink: 0;
    transition: background-color 0.3s ease;
    /* Smooth transition for hover effect */
}

.handle-trainer-task:hover {
    background-color: #45a049;
    /* Slightly darker shade for hover effect */
}

/* Add styles for the container of tasks */
#trainer-tasks-list {
    padding: 16px;
    /* Add padding around the entire list */
    background-color: #f9f9f9;
    /* Light background color for the list */
    border-radius: 8px;
    /* Rounded corners for the list container */
}

/* Style for when there are no tasks */
.no-tasks {
    text-align: center;
    color: #666;
    padding: 20px 0;
}

.send-reminder-btn {
    background-color: #3d9341;
    color: white;
    border: none;
    padding: 4px 8px;
    font-size: 12px;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    align-self: flex-start;
    /* Align the button to the start of the flex container */
}

.send-reminder-btn:hover {
    background-color: #1d5c38;
}

#pts-edit-script-modal {
    display: none;
    position: fixed;
    z-index: 1500;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.4);
}

#pts-edit-script-modal .pts-modal-content {
    background-color: #fefefe;
    margin: 5% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
    max-height: 90vh;
    overflow-y: auto;
}

#pts-script-content {
    padding: 20px;
}

.pts-script-section {
    margin-bottom: 30px;
}

.pts-dialogue {
    padding: 20px;
    margin: 25px 0;
    border-radius: 15px;
    line-height: 1.6;
}

.pts-dialogue-trainer {
    background-color: rgba(110, 220, 77, 0.306);
    color: #333;
    margin-right: 20%;
    font-size: 20px;
    outline: none;
    transition: background-color 0.3s ease;
    position: relative;
}

.pts-dialogue-button-container {
    position: absolute;
    top: 5px;
    right: 5px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.pts-dialogue-add-button,
.pts-dialogue-delete-button {
    cursor: pointer;
    width: 24px;
    height: 24px;
    transition: color 0.3s ease;
}

.pts-dialogue-add-button {
    color: #4CAF50;
}

.pts-dialogue-add-button:hover {
    color: #45a049;
}

.pts-dialogue-delete-button {
    color: #ff4444;
}

.pts-dialogue-delete-button:hover {
    color: #cc0000;
}

.pts-dialogue-trainer:focus {
    background-color: rgba(110, 220, 77, 0.5);
}

.pts-dialogue-trainer:empty:before {
    content: attr(data-original-text);
    color: #999;
}

.pts-dialogue-trainer-editing {
    border: 2px solid #4CAF50;
}

.pts-dialogue-trainee {
    background-color: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    margin-left: 60%;
    width: 40%;
    font-style: italic;
    color: #333;
    font-size: 18px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Fallback for browsers that don't support backdrop-filter */
.pts-dialogue-trainee {
    background-color: rgba(200, 200, 200, 0.8);
}

/* Glass effect for supported browsers */
@supports (-webkit-backdrop-filter: none) or (backdrop-filter: none) {
    .pts-dialogue-trainee {
        background-color: rgba(200, 200, 200, 0.2);
        -webkit-backdrop-filter: saturate(180%) blur(10px);
        backdrop-filter: saturate(180%) blur(10px);
    }
}

.pts-time-estimate {
    background-color: #f0f0f0;
    padding: 10px;
    margin-bottom: 20px;
    border-radius: 5px;
    font-weight: bold;
    text-align: center;
    font-size: 18px;
    color: #333;
}

.seneca-insights-section {
    padding: 24px;
    background-color: #f5f5f5;
    border-radius: 12px;
}

.seneca-insights-header {
    margin-bottom: 24px;
}

.seneca-insights-title {
    font-size: 20px;
    font-weight: 600;
    color: #1d1d1f;
}

.seneca-insights-tagline {
    font-size: 16px;
    color: #666;
}

.seneca-insights-creation-options {
    display: flex;
    gap: 16px;
    margin-bottom: 24px;
}

.seneca-insights-option-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 16px;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.seneca-insights-option-btn:hover {
    background-color: #f0f0f0;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.seneca-insights-icon {
    margin-bottom: 8px;
}

.seneca-insights-workspace {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 20px;
}

.seneca-insight-element {
    background-color: #ffffff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    padding: 20px;
    width: calc(50% - 10px);
    /* Adjust based on your layout preferences */
    min-height: 200px;
    display: flex;
    flex-direction: column;
}

.seneca-insight-element h3 {
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 18px;
    color: #333;
}

.seneca-insight-content {
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f9f9f9;
    border-radius: 4px;
    padding: 15px;
    font-size: 14px;
    color: #666;
}

.seneca-card-insight {
    border-left: 4px solid #4CAF50;
}

.seneca-table-insight {
    border-left: 4px solid #2196F3;
}

/* The remove button styling */
.seneca-insight-remove-btn {
    margin-top: 10px;
    padding: 8px 12px;
    background-color: #e74c3c;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

.seneca-insight-remove-btn:hover {
    background-color: #c0392b;
}

.seneca-insight-container {
    position: relative;
    /* Allows us to position the buttons relative to the card */
    padding: 16px;
    background-color: white;
    border: 1px solid #ccc;
    border-radius: 8px;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    resize: both;
    /* This allows the element to be resized from any side */
    overflow: auto;
    /* Ensure the content inside the card doesn't overflow */
    min-width: 100px;
    min-height: 100px;
    max-width: 100%;
    max-height: 100%;
}


.seneca-insight-container-table {
    position: relative;
    /* Allows us to position the buttons relative to the card */
    padding: 16px;
    margin-top: 200px;
    background-color: white;
    border: 1px solid #ccc;
    border-radius: 8px;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    resize: both;
    /* This allows the element to be resized from any side */
    overflow: auto;
    /* Ensure the content inside the card doesn't overflow */
    min-width: 100px;
    min-height: 100px;
    max-width: 100%;
    max-height: 100%;
}

/* Position the control buttons in the top-right corner */
.insight-controls {
    position: absolute;
    top: 8px;
    right: 8px;
}

.seneca-insight-save-btn,
.seneca-insight-remove-btn {
    padding: 4px 8px;
    margin-left: 8px;
    background-color: #e74c3c;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    z-index: 1000;
}

.seneca-insight-save-btn {
    background-color: #2ecc71;
    /* Green for the save button */
}

.seneca-insight-remove-btn:hover {
    background-color: #c0392b;
}

.seneca-insight-save-btn:hover {
    background-color: #27ae60;
}

.card-title-input {
    font-size: 1.5em;
    font-weight: bold;
    border: 1px solid #ccc;
    padding: 4px;
    width: 100%;
}

.generate-insight-btn {
    margin-top: 10px;
    padding: 8px 16px;
    background-color: #2E8B57;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    display: block;
    /* Ensure the button is displayed */
    visibility: visible;
    /* Ensure the button is visible */
    pointer-events: auto;
    /* Ensure the button can receive pointer events */
    position: relative;
    /* Positioning to control z-index */
    z-index: 10;
    /* Make sure it's above other elements */
}

.generate-insight-btn:hover {
    background-color: #004d40;
}

.clickable-text {
    color: #86868b;
    font-size: 16px;
    line-height: 1.4;
    margin: 0;
}

.clickable-text-icon {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #86868b;
    transition: all 0.3s ease;
}

.clickable-text-container:hover .clickable-text-icon {
    color: #1d1d1f;
}

.clickable-text-icon {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #86868b;
    transition: all 0.3s ease;
    width: 16px;
    height: 16px;
}

.clickable-text-container:hover .clickable-text-icon {
    color: #1d1d1f;
}

.seneca-insight-card {
    background-color: #ffffff;
    border-radius: 12px;

    padding: 24px;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.editable-title {
    font-size: 14px;
    font-weight: 500;
    color: #1d1d1f;
    margin-bottom: 16px;
    align-self: flex-start;
}

.editable-title-table {
    font-size: 22px;
    margin-top: 33px;
    font-weight: 500;
    color: #1d1d1f;
    margin-bottom: 16px;
    align-self: flex-start;
}

.insight-number {
    font-size: 64px;
    font-weight: bold;
    color: #1d1d1f;
    margin: 24px 0;
}

.clickable-text-container {
    position: relative;
    background-color: #f5f5f7;
    border-radius: 8px;
    padding: 16px;
    cursor: text;
    transition: all 0.3s ease;
}

.clickable-text-container:hover {
    background-color: #e8e8ed;
}

.clickable-text-input {
    width: 300px;
    border: none;
    background: transparent;
    font-size: 16px;
    color: #1d1d1f;
    outline: none;
    resize: vertical;
    /* Allow vertical resizing */
    padding: 8px 0;
    /* Add some padding */
}

.clickable-text-container.editing {
    background-color: #ffffff;
    border: 2px solid #007aff;
    box-shadow: 0 0 0 4px rgba(0, 122, 255, 0.1);
    min-height: 100px;
    /* Increased minimum height when editing */
}

.saved-insights-container {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    /* Adjust spacing as needed */

}

.insight-controls {
    position: absolute;
    top: 8px;
    right: 8px;
}

.insight-number {
    font-size: 2em;
    text-align: center;
    margin-top: 16px;
}

.card-result {
    font-size: 54px;
    font-weight: bold;
    color: #1d1d1f;
    margin: 24px 0;
}

.editable-title {
    cursor: pointer;
    margin: 0 0 8px 0;
}

.table-wrapper {
    max-height: 300px;
    /* Set a fixed height to enable scrolling */
    overflow-y: auto;
    border: 1px solid #ccc;
    border-radius: 4px;
}

/* Styling the table */
.styled-table {
    width: 100%;
    border-collapse: collapse;
}

.styled-table th,
.styled-table td {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid #ddd;
}

/* Make the header sticky */
.styled-table thead {
    position: sticky;
    top: 0;
    background-color: #f9f9f9;
    z-index: 1;
}

.styled-table tbody tr:nth-child(even) {
    background-color: #f2f2f2;
}

.styled-table th {
    background-color: #f1f1f1;
    font-weight: bold;
}

.styled-table td {
    color: #555;
}

/* Add column button styling */
.add-column-btn {
    cursor: pointer;
    font-size: 1.2rem;
    text-align: center;
    display: inline-block;
}

.table-header {
    display: flex;
    flex-direction: column;
    /* Stack elements vertically */
    padding: 0px, 15px, 15px, 15px;
    background-color: white;
    gap: 12px;
}

.table-header-left {
    display: flex;
    gap: 8px;
}

.editable-title-table {
    font-size: 24px;
    font-weight: 600;
    color: #1f2937;
    margin: 0;
    text-align: left;
    margin-bottom: 16px;
    margin-top: 16px;
}

.export-table-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    background-color: white;
    color: #64748b;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.2s ease;
    cursor: pointer;
}

.export-table-btn:hover {
    background-color: #f8fafc;
    color: #0f172a;
    border-color: #cbd5e1;
}

.export-table-btn svg {
    width: 16px;
    height: 16px;
}

.table-header-left {
    display: flex;
    gap: 8px;
}

/* Optional: Add a subtle animation on hover */
.export-table-btn:hover svg {
    transform: translateY(-1px);
    transition: transform 0.2s ease;
}

.create-report-modal {
    min-width: 600px;
    width: 1000px;
    max-width: 1000px;
    min-height: 600px;
    height: 90vh;
    padding: 40px;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    /* Prevent any content from spilling out */
}

#reportContent {
    padding: 40px;
    border-radius: 4px;
    min-height: 300px;
    max-width: 100%;
    /* Ensure content doesn't overflow modal */
    height: calc(100% - 100px);
    overflow-y: auto;
    /* Enable vertical scrolling when content overflows */
    overflow-x: visible;
    /* Keep horizontal content visible */
}

.hidden-information {
    display: none;
}

/* Ensure the toolbar and its actions are on the left */


/* .ce-toolbar {
    position: relative;
    left: 10px;
    right: auto;
    margin-left: 10px;
}

.codex-editor__redactor {
    padding-bottom: 0px;
}

.codex-editor__redactor {
    padding-bottom: 0;
}
*/

.ce-toolbar__content {
    max-width: calc(90% - 10px);
}

/* .ce-block__content {
    position: relative;
    padding-left: 80px; 
    padding-right: 10px;
    margin-left: 0;
    max-width: calc(100% - 50px);
}

.ce-popover__container {
    margin-left: 20px;
}  */

.ce-paragraph[data-placeholder]:empty::before {
    color: #707684;
    font-weight: normal;
    opacity: 0.8;
}

.cdx-mention {
    background: rgba(35, 131, 226, 0.07);
    color: #2383E2;
    padding: 2px 4px;
    border-radius: 4px;
}

.cdx-mention-suggestions {
    position: absolute;
    background: white;
    border: 1px solid #E8E8EB;
    box-shadow: 0 3px 15px -3px rgba(13, 20, 33, 0.13);
    border-radius: 6px;
    max-height: 200px;
    overflow-y: auto;
    z-index: 1000;
}

.cdx-mention-suggestion-item {
    padding: 8px 12px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
}

.cdx-mention-suggestion-item:hover {
    background: #F8F8F8;
}

.cdx-mention-suggestion-title {
    color: #1D202B;
}

.cdx-mention-suggestion-value {
    color: #707684;
    font-size: 12px;
}

.variables-menu {
    display: none;
    background: white;
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.08),
        0px 0px 1px rgba(0, 0, 0, 0.12);
    border-radius: 6px;
    max-height: 400px;
    overflow-y: auto;
    min-width: 280px;
    padding: 6px 4px;
    z-index: 9999;
    overflow-y: auto;
}

.variable-category-container {
    border-bottom: 1px solid #ddd;
}

.variable-category {
    font-weight: bold;
    padding: 8px 14px;
    background-color: #f9f9f9;
    font-size: 15px;
    color: #333;
    cursor: pointer;
    display: flex;
    align-items: center;
}

.toggle-indicator {
    margin-right: 8px;
    font-size: 18px;
    line-height: 1;
}

.variable-item {
    display: flex;
    align-items: center;
    padding: 8px 14px;
    margin: 0 2px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    color: rgb(55, 53, 47);
    transition: background 20ms ease-in 0s;
}

.variable-value {
    margin-left: 8px;
}

.variable-item:hover {
    background-color: rgba(55, 53, 47, 0.08);
}

.variable-label {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-weight: 700;
}

.variable-label strong {
    font-weight: 500;
    color: rgb(55, 53, 47);
}

.variable-label span {
    font-size: 12px;
    color: rgba(55, 53, 47, 0.65);
}

/* Smooth scrollbar styling */
.variables-menu::-webkit-scrollbar {
    width: 7px;
}

.variables-menu::-webkit-scrollbar-track {
    background: transparent;
}

.variables-menu::-webkit-scrollbar-thumb {
    background: rgba(55, 53, 47, 0.2);
    border-radius: 3px;
}

.variables-menu::-webkit-scrollbar-thumb:hover {
    background: rgba(55, 53, 47, 0.3);
}

.variable-button {
    background-color: #e0e0e0;
    border-radius: 4px;
    padding: 2px 6px;
    margin: 0 2px;
    display: inline-block;
    cursor: default;
    font-size: 0.9em;
    color: #333;
    user-select: none;
}

.insights-carousel-container {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin-bottom: 70px;
    background: transparent;
    z-index: 1000;
}

/* New inner container for perfect alignment */
.insights-carousel-inner {
    margin: 0 auto;
    padding: 0 12px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-left: 100px;
    margin-right: 200px;
    position: relative;
    /* For fade overlay positioning */
}

.insights-carousel-inner::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 40px;
    pointer-events: none;
}


/* Carousel Header */
.carousel-header {
    font-size: 14px;
    color: rgba(55, 53, 47, 0.5);
    margin-bottom: 15px;
    font-weight: 500;
}

.swiper-container {
    width: 100%;
    height: 40px;
    overflow-x: auto;
    /* Enable horizontal scroll */
    white-space: nowrap;
    /* Keep items in a single line */
    -webkit-overflow-scrolling: touch;
    /* Smooth scrolling on iOS */
    cursor: default;
    /* Hide scrollbar for Chrome, Safari and Opera */
    scrollbar-width: none;
    -ms-overflow-style: none;
}

/* Hide scrollbar for Chrome, Safari and Opera */
.swiper-container::-webkit-scrollbar {
    display: none;
}

/* Remove navigation buttons */
.swiper-button-next,
.swiper-button-prev {
    display: none;
}

/* Make wrapper scrollable */
/* Make wrapper scrollable */
.swiper-wrapper {
    display: inline-flex;
    /* Change to inline-flex */
    gap: 12px;
    padding: 0 4px;
    transform: none !important;
    /* Remove Swiper's transform */
    will-change: transform;
    /* Optimize scrolling performance */
}

/* Update carousel item */
.carousel-item {
    flex: 0 0 auto;
    width: auto;
    min-width: 180px;
    max-width: 180px;
    user-select: none;
    /* Prevent text selection while dragging */
    background: transparent;
    align-items: center;
    border-color: rgba(227, 226, 224, 0.5);
}

/* Add smooth scrolling to container */
.insights-carousel-inner {
    scroll-behavior: smooth;
    /* Enable smooth scrolling */
}

.carousel-item:hover {
    background: rgba(55, 53, 47, 0.04);
}

/* Carousel Item Content */
.carousel-item-content {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 6px 14px 6px 10px;
}

/* Icon styles */
.seneca-insights-icon {
    width: 14px;
    height: 14px;
    opacity: 0.55;
}

.seneca-insights-icon rect,
.seneca-insights-icon line {
    stroke: rgba(55, 53, 47, 0.65);
    stroke-width: 1.5;
}

/* Carousel Item Title */
.carousel-item-title {
    font-size: 11.5px;
    color: rgba(55, 53, 47, 0.7);
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Hide the type label */
.carousel-item-type {
    display: none;
}

/* Update modal content spacing */
.create-report-modal {
    position: relative;
    padding-bottom: 80px;
    /* Space for carousel */
}

/* Inserted Insight Styles - More subtle */
.inserted-insight {
    background: rgba(55, 53, 47, 0.05);
    border: 1px solid rgba(55, 53, 47, 0.1);
    border-radius: 3px;
    padding: 2px 6px;
    margin: 0 2px;
    display: inline-block;
    cursor: default;
    font-size: 0.9em;
    color: rgb(55, 53, 47);
}

.inserted-insight:hover {
    background: rgba(55, 53, 47, 0.08);
}

/* Highlight Effect - More subtle */
.highlight-inserted {
    background: rgba(46, 170, 220, 0.15);
    border-color: rgba(46, 170, 220, 0.3);
    transition: all 0.3s ease;
}

/* No Insights Message */
.carousel-item.no-insights {
    background: transparent;
    border: 1px dashed rgba(55, 53, 47, 0.2);
}

.carousel-item.no-insights span {
    font-size: 12px;
    color: rgba(55, 53, 47, 0.5);
}


.seneca-insight-card-custom-document {
    border: 1px solid rgba(55, 53, 47, 0.16);
    border-radius: 4px;
    padding: 12px 16px;
    margin: 8px auto;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: rgba(15, 15, 15, 0.05) 0px 1px 2px;
    transition: background 100ms ease-in, border-color 100ms ease-in;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    user-select: none;
    pointer-events: none;
    text-align: center;
    gap: 8px;
}

.card-title-custom-report {
    text-align: center;
    user-select: none;
    pointer-events: none;
}





.seneca-table-insight-custom-document {
    margin: 1.5rem 0;
    border: 1px solid rgba(55, 53, 47, 0.16);
    border-radius: 6px;
    overflow: hidden;
    background: white;
    box-shadow: rgba(15, 15, 15, 0.05) 0px 1px 2px;
    transition: all 0.2s ease;
}

.seneca-table-insight-custom-document:hover {
    border-color: rgba(55, 53, 47, 0.24);
    box-shadow: rgba(15, 15, 15, 0.1) 0px 2px 4px;
}

.table-header-custom-document {
    padding: 16px 20px;
    border-bottom: 1px solid rgba(55, 53, 47, 0.09);
    background: rgba(247, 247, 247, 0.3);
}

.table-title-custom-document {
    margin: 0;
    font-size: 25px;
    font-weight: 500;
    color: rgb(55, 53, 47);
    line-height: 1.3;
}

.table-subtitle-custom-document {
    font-size: 12px;
    color: rgba(55, 53, 47, 0.65);
    margin-top: 4px;
}

.table-container-custom-document {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.seneca-data-table-custom-document {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    color: rgb(55, 53, 47);
}

.seneca-data-table-custom-document th {
    text-align: left;
    padding: 12px 20px;
    font-weight: 500;
    border-bottom: 1px solid rgba(55, 53, 47, 0.09);
    color: rgba(55, 53, 47, 0.7);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: rgba(247, 247, 247, 0.3);
    position: relative;
}

.seneca-data-table-custom-document td {
    padding: 12px 20px;
    border-bottom: 1px solid rgba(55, 53, 47, 0.09);
    color: rgb(55, 53, 47);
    transition: background 0.15s ease;
}

.seneca-data-table-custom-document tr:last-child td {
    border-bottom: none;
}

.placeholder-value {
    color: rgba(55, 53, 47, 0.5);
    font-style: italic;
}

/* Hover states */
.seneca-data-table-custom-document tbody tr:hover {
    background: rgba(55, 53, 47, 0.03);
}

/* Animation for new insertions */
.highlight-inserted-custom-document {
    animation: highlightFade 1s ease;
}

@keyframes highlightFade {
    0% {
        background: rgba(46, 170, 220, 0.15);
    }

    100% {
        background: transparent;
    }
}

.notion-style-export-btn {
    position: absolute;
    top: 20px;
    right: 20px;
    transition: background 20ms ease-in;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    white-space: nowrap;
    height: 28px;
    border-radius: 4px;
    font-size: 14px;
    line-height: 1.2;
    min-width: 0px;
    padding-left: 8px;
    padding-right: 8px;
    color: rgb(55, 53, 47);
    margin-right: 2px;
    font-weight: 400;
}

.notion-style-export-btn:hover {
    background: rgba(55, 53, 47, 0.08);
}

/* Ensure the modal has relative positioning for absolute positioning of the button */
.modal-content.create-report-modal {
    position: relative;
}

.notion-style-dropdown {
    position: absolute;
    top: 45px;
    right: 12px;
    background: white;
    border-radius: 4px;
    box-shadow: rgb(15 15 15 / 5%) 0px 0px 0px 1px, rgb(15 15 15 / 10%) 0px 3px 6px, rgb(15 15 15 / 20%) 0px 9px 24px;
    width: 320px;
    max-height: 450px;
    overflow: hidden;
    z-index: 1000;
}

.notion-search-container {
    padding: 8px;
    border-bottom: 1px solid rgba(55, 53, 47, 0.09);
}

.notion-search-input {
    width: 100%;
    padding: 8px;
    border: 1px solid rgba(55, 53, 47, 0.16);
    border-radius: 4px;
    font-size: 14px;
    outline: none;
}

.notion-search-input:focus {
    border-color: rgb(46, 170, 220);
}

.notion-dropdown-content {
    overflow-y: auto;
    max-height: 400px;
}

.notion-section {
    padding: 6px 0;
}

.notion-section-header {
    padding: 6px 14px;
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    color: rgba(55, 53, 47, 0.65);
    letter-spacing: 0.5px;
}

.notion-section-items {
    padding: 0;
}

.notion-item {
    padding: 6px 14px;
    font-size: 14px;
    color: rgb(55, 53, 47);
    cursor: pointer;
    display: flex;
    align-items: center;
}

.notion-item:hover {
    background: rgba(55, 53, 47, 0.08);
}

.notion-item.selected {
    background: rgba(46, 170, 220, 0.1);
}

/* Add these new styles */
.notion-bulk-action {
    padding: 8px;
    border-bottom: 1px solid rgba(55, 53, 47, 0.09);
}

.notion-bulk-export-btn {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: #4CAF50;
    color: white;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.1s ease;
}

.notion-bulk-export-btn:hover {
    background: #45a049;
}

.notion-bulk-export-btn:disabled {
    background: rgba(55, 53, 47, 0.08);
    color: rgba(55, 53, 47, 0.3);
    cursor: not-allowed;
}

.selection-count {
    margin-left: auto;
    background: rgba(255, 255, 255, 0.2);
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 12px;
}

.notion-item {
    padding: 6px 14px;
    font-size: 14px;
    color: rgb(55, 53, 47);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
}

.notion-checkbox {
    width: 16px;
    height: 16px;
    border: 1px solid rgba(55, 53, 47, 0.16);
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.1s ease;
}

.notion-checkbox.checked {
    background: #4CAF50;
    /* Changed to your green */
    border-color: #4CAF50;
}

.notion-search-input:focus {
    border-color: #4CAF50;
    /* Changed to your green */
}

.notion-checkbox.checked svg {
    opacity: 1;
}

.notion-checkbox svg {
    width: 12px;
    height: 12px;
    color: white;
    opacity: 0;
}

/* Update existing styles */
.notion-style-dropdown {
    width: 360px;
    /* Slightly wider to accommodate checkboxes */
}

.notion-item.selected {
    background: rgba(76, 175, 80, 0.1);
    /* Light green with opacity */
}

.seneca-answer-btn {
    position: relative;
    margin-left: 10px;
    margin-bottom: 20px;
    margin-top: 20px;
    font-weight: 400;
    font-size: 18px;
}


/* Logo Upload Styles */
.seneca-company-modal-logo-upload {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 40px;
}

/* Upload/Preview Box */
.seneca-company-modal-logo-box {
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #4a4a4a;
    font-size: 18px;
    /* Larger text */
    width: 260px;
    /* Adjusted width */
    height: 120px;
    border: 2px dashed #b2d8b2;
    border-radius: 12px;
    background-color: #f8fdf8;
    transition: border-color 0.3s, background-color 0.3s;
    position: relative;
    overflow: hidden;
}

/* Hover Effects */
.seneca-company-modal-logo-box:hover {
    border-color: #5cb85c;
    background-color: #f0faf0;
}

/* Upload Icon and Text Styling */
.upload-content {
    display: flex;
    align-items: center;
    gap: 8px;
    /* Space between icon and text */
}

.upload-icon {
    width: 28px;
    height: 28px;
    stroke: #5cb85c;
    transition: stroke 0.3s;
}

.upload-text {
    font-size: 18px;
    /* Large text */
    color: #808080;
    /* Gray color */
    font-weight: 500;
    /* Medium weight */
}

.seneca-company-modal-logo-box:hover .upload-icon {
    stroke: #3c8d3c;
}

/* Hidden File Input */
.seneca-company-modal-logo-input {
    display: none;
}

/* Logo Preview Styling */
.logo-preview {
    width: 100%;
    height: 100%;
    position: relative;
}

.logo-preview img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Remove Icon Styling */
.remove-icon {
    position: absolute;
    top: 5px;
    right: 5px;
    width: 20px;
    height: 20px;
    stroke: #ff6b6b;
    background-color: rgba(255, 255, 255, 0.7);
    border-radius: 50%;
    padding: 2px;
    cursor: pointer;
    transition: stroke 0.3s, background-color 0.3s;
}

.remove-icon:hover {
    stroke: #ff3b3b;
    background-color: rgba(255, 255, 255, 1);
}

/* Responsive Adjustments */
@media (max-width: 600px) {
    .seneca-company-modal-logo-box {
        width: 200px;
        height: 100px;
    }

    .upload-icon {
        width: 24px;
        height: 24px;
    }

    .upload-text {
        font-size: 16px;
    }

    .remove-icon {
        width: 16px;
        height: 16px;
    }
}


.training-type-selector {
    display: flex;
    gap: 100px;
    /* Increased gap between options */
    justify-content: center;
    /* Center-align the options */
    margin-top: 16px;
    cursor: pointer;
    margin-bottom: 40px;
}

.training-type-option {
    display: flex;
    align-items: center;
    font-size: 16px;
    /* Larger font size */
    font-weight: 500;
    /* Increased font weight */
    color: #888888;
    /* Lighter grey for unselected state */
    transition: color 0.2s ease;
    /* Smooth color transition */
}

.training-type-option svg {
    margin-right: 8px;
    fill: currentColor;
    /* Inherits text color */
}

.training-type-option.active {
    font-weight: 700;
    /* Make selected text bolder */
    color: #333333;
    /* Darker color for selected state */
    border-bottom: 2px solid #333333;
    /* Underline for selected option */
    padding-bottom: 4px;
    /* Add padding to move border down */
}

.training-type-option:hover {
    color: #555555;
    /* Slightly darker on hover for feedback */
}



#assignment-name {
    width: 100%;
    font-size: 28px;
    /* Larger font size for a title-like appearance */
    font-weight: bold;
    /* Bolder text for emphasis */
    color: #333;
    /* Dark color for the main text */
    min-height: 33px;
    border: none;
    /* Remove all borders */
    background-color: transparent;
    /* Transparent background */
    box-shadow: none;
    /* Remove box shadow */
    outline: none;
    /* Remove default outline */
}

#assignment-name:focus {
    border: none;
    /* Ensure no border on focus */
    outline: none;
    /* Remove outline on focus */
    box-shadow: none;
    /* Ensure no shadow on focus */
}

#assignment-name::placeholder {
    color: #b0b0b0;
    /* Light grey color for placeholder to mimic Notion */
    font-weight: normal;
    /* Placeholder is lighter in weight */
}

#trainingContent {
    border: none;
    /* Remove the border */
    background-color: transparent;
    /* Transparent background */
    box-shadow: none;
    /* Remove any box-shadow */
    outline: none;
    /* Remove default outline */
    resize: none;
    /* Prevent manual resizing if desired */
    color: #333;
    /* Text color */
}

#trainingContent::placeholder {
    color: #b0b0b0;
    /* Light grey placeholder color */
    font-weight: normal;
    /* Normal weight for placeholder text */
}

#create-external-training {
    margin-top: 50px;
    padding: 13px 25px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.01em;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: all 0.2s ease;
    width: 80%;
    /* Make button full width */
}

#create-external-training:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

#create-external-training:active {
    transform: translateY(0);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}


.training-date-label {
    font-weight: 500;
    font-size: 18px;
    margin-right: 4px;

}

/* expandCard.css */

/* Container for the transcript content */
.tc-transcript-content {
    display: block;
    font-family: Arial, sans-serif;
    /* Adjust as needed */
}

/* Contact Information Container */
.tc-contact-info-container {
    display: flex;
    flex-direction: column;
    margin-bottom: 16px;
    font-size: 17px;
    color: #666;
}

/* Contact Info Item */
.tc-contact-info-item {
    display: flex;
    align-items: center;
    margin: 10px 0 4px 10px;
    cursor: pointer;
    transition: opacity 0.2s;
}

.tc-contact-info-item:hover {
    opacity: 0.7;
}

.tc-contact-info-icon {
    margin-right: 8px;
}

/* Training Box */
.tc-training-box {
    display: flex;
    flex-direction: column;
    border-radius: 8px;
    padding: 10px;
    margin-bottom: 10px;
    background-color: rgb(255, 255, 255);
    /* Optional: Add background color */
}

.tc-training-box-heading {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
}

/* .tc-training-date-label {

} */

/* Prior Attempt Container */
.tc-prior-attempt-container {
    display: flex;
    margin-left: 10px;
    align-items: center;
    margin-bottom: 10px;
    border-bottom: 2px solid #e0e0e0;
}

/* Prior Attempt Label */
.tc-prior-attempt-label {
    margin-right: 25px;
    font-weight: bold;
    font-size: 16px;
    color: #333;
    white-space: nowrap;
    /* Prevent text from wrapping */
}

/* Prior Training Dates Container */
.tc-prior-training-dates {
    display: flex;
    align-items: center;
    overflow-x: auto;
    /* Enable horizontal scrolling if needed */
}

/* Date Button */
.tc-date-button {
    padding: 8px 12px 4px 12px;
    margin-right: 8px;
    margin-left: 8px;
    cursor: pointer;
    color: #666;
    border-bottom: none;
    transition: color 0.2s, border-bottom 0.2s, font-weight 0.2s;
    font-size: 14px;
    white-space: nowrap;
    /* Prevent text from wrapping */
}

.tc-date-button.selected {
    color: black;
    border-bottom: 3px solid black;
    font-weight: bold;
}

.tc-date-button.unselected:hover {
    color: #333;
}

.tc-training-tag {
    margin-left: auto;
    font-weight: bold;
}

.tc-training-tag.overdue {
    color: red;
}

.tc-training-tag.upcoming {
    color: #666;
}

/* Evaluation Outcome Tags */
.tc-training-eval-tag {
    display: inline-block;
    padding: 4px 8px;
    margin-left: 8px;
    border-radius: 4px;
    font-weight: bold;
    font-size: 14px;
}

.tc-training-eval-tag.fail {
    background-color: #ffe6e6;
    /* Light red background */
    color: #cc0000;
    /* Dark red text */
}

.tc-training-eval-tag.satisfactory {
    background-color: #e6ffe6;
    /* Light green background */
    color: #006600;
    /* Dark green text */
}

.tc-training-eval-tag.overdue {
    background-color: #ffe6e6;
    /* Light red background */
    color: #cc0000;
    /* Dark red text */
}

.tc-training-eval-tag.upcoming {
    color: #000000;
    /* Black text */
}


.completion-form-container {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    font-family: Arial, sans-serif;
}

/* ... existing styles ... */

.proof-upload-section {
    background-color: #f8f9fa;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 16px;
    display: flex;
    flex-direction: column;
}

.proof-upload-input-container {
    display: flex;
    align-items: center;
    padding: 10px;
    border-radius: 8px;
    background-color: #f5f6f7;
    cursor: pointer;
    transition: background-color 0.2s ease;
    margin-top: 25px;
    margin-bottom: 25px;
}

.proof-upload-input-container:hover {
    background-color: #e9ecef;
}

.upload-icon-proof {
    margin-right: 12px;
}

.proof-upload-input {
    display: none;
    /* Hide the default file input */
}

.upload-placeholder {
    color: #6c757d;
    font-size: 14px;
}

.file-name-display {
    color: #212529;
    font-size: 14px;
    margin-left: 8px;
}

/* Document Generation Section */
.document-generation-section {
    background-color: #f8f9fa;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
}

.document-context-input-container {
    display: flex;
    align-items: center;
    flex-grow: 1;
    padding: 10px;
    border-radius: 8px;
    background-color: #f5f6f7;
    margin-bottom: 25px;
}

.doc-icon {
    margin-right: 12px;
}

.document-context-textarea {
    border: none;
    outline: none;
    flex-grow: 1;
    font-size: 14px;
    resize: none;
    background-color: transparent;
    margin-top: 15px;
}

.generate-doc-button {
    padding: 8px 16px;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    margin-left: 12px;
}

.generate-doc-button:hover {
    background-color: #0056b3;
}

/* Submit Button */
.form-submit-button {
    display: block;
    width: 100%;
    padding: 12px;
    background-color: #28a745;
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
}

.form-submit-button:hover {
    background-color: #218838;
}

.generate-doc-proof-button {
    background-color: #f5f6f7;
    color: #228B22;
    border: 1px solid #D3D3D3;
    border-radius: 3px;
    padding: 6px 12px;
    cursor: pointer;
    transition: background-color 0.2s;
}

.generate-doc-proof-button:hover {
    background-color: #f5f5f5;
}

.generate-doc-proof-button:active {
    background-color: #ffffff;
}





.file-upload-section {
    display: flex;
    align-items: center;
    margin-top: 20px;
}

.file-upload-label {
    background-color: #f1f1f1;
    padding: 8px 12px;
    border-radius: 4px;
    cursor: pointer;
    margin-right: 10px;
}

.file-upload-input {
    display: none;
}

.file-upload-filename {
    font-size: 14px;
    color: #555;
}

.ocr-loading-indicator {
    margin-top: 20px;
    font-size: 16px;
    color: #555;
}

.trainee-list-container {
    max-height: 300px;
    overflow-y: auto;
    margin-top: 20px;
}

.trainee-list-item {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.trainee-checkbox {
    margin-right: 10px;
}

.update-training-button {
    margin-top: 20px;
    background-color: #2e69ff;
    color: #fff;
    padding: 10px 15px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

.update-training-button:disabled {
    background-color: #cccccc;
    cursor: not-allowed;
}

.update-training-button:hover:not(:disabled) {
    background-color: #1a47cc;
}

.textarea-notion-style {
    border: none;
    background-color: transparent;
    box-shadow: none;
    outline: none;
    resize: none;
    color: #000000;
    min-height: 100px;
    font-size: 14px;
    padding: 10px;
    width: 100%;
}

.textarea-notion-style::placeholder {
    color: #b0b0b0;
}

.external-content-input {
    border: none;
    background-color: transparent;
    box-shadow: none;
    outline: none;
    resize: none;
    color: #000000;
    min-height: 100px;
    font-size: 14px;
    padding: 10px;
    width: 100%;
    display: none;
}

.bulk-upload-completion-btn {
    width: 80%;
    font-size: medium;
    margin-bottom: 40px;
}


/* Trainer Signature Upload Styles */
.seneca-company-modal-trainer-signature-upload {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 40px;
}

/* Upload/Preview Box */
.seneca-company-modal-trainer-signature-box {
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #4a4a4a;
    font-size: 18px;
    width: 260px;
    height: 120px;
    border: 2px dashed #b2d8b2;
    border-radius: 12px;
    background-color: #f8fdf8;
    transition: border-color 0.3s, background-color 0.3s;
    position: relative;
    overflow: hidden;
}

/* Hover Effects */
.seneca-company-modal-trainer-signature-box:hover {
    border-color: #5cb85c;
    background-color: #f0faf0;
}

.seneca-company-modal-trainer-signature-box:hover .upload-icon-signature {
    stroke: #3c8d3c;
}

/* Hidden File Input */
.seneca-company-modal-trainer-signature-input {
    display: none;
}

/* Upload Icon and Text Styling */
.upload-content-signature {
    display: flex;
    align-items: center;
    gap: 8px;
}

.upload-icon-signature {
    width: 28px;
    height: 28px;
    stroke: #5cb85c;
    transition: stroke 0.3s;
}

.upload-text-signature {
    font-size: 18px;
    color: #808080;
    font-weight: 500;
}

/* Trainer Signature Preview Styling */
.trainer-signature-preview {
    width: 100%;
    height: 100%;
    position: relative;
}

.trainer-signature-preview img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Remove Icon Styling */
.remove-icon-signature {
    position: absolute;
    top: 5px;
    right: 5px;
    width: 20px;
    height: 20px;
    stroke: #ff6b6b;
    background-color: rgba(255, 255, 255, 0.7);
    border-radius: 50%;
    padding: 2px;
    cursor: pointer;
    transition: stroke 0.3s, background-color 0.3s;
}

.remove-icon-signature:hover {
    stroke: #ff3b3b;
    background-color: rgba(255, 255, 255, 1);
}

/* Responsive Adjustments */
@media (max-width: 600px) {
    .seneca-company-modal-trainer-signature-box {
        width: 200px;
        height: 100px;
    }

    .upload-icon-signature {
        width: 24px;
        height: 24px;
    }

    .upload-text-signature {
        font-size: 16px;
    }

    .remove-icon-signature {
        width: 16px;
        height: 16px;
    }
}

.pts-dialogue-style-button {
    cursor: pointer;
    padding: 4px;
    border-radius: 4px;
    position: relative;
}

.pts-dialogue-style-button:hover {
    background-color: rgba(0, 0, 0, 0.1);
}

.pts-dialogue-style-button svg {
    width: 22px;
    height: 22px;
}

.pts-dialogue-style-button .tooltip {
    position: absolute;
    background: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    left: 100%;
    margin-left: 8px;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0;
    transition: opacity 0.2s;
    pointer-events: none;
}

.pts-dialogue-style-button:hover .tooltip {
    opacity: 1;
}

.pts-dialogue-preview-style-button {
    cursor: pointer;
    padding: 4px;
    border-radius: 4px;
    position: relative;
}

.pts-dialogue-preview-style-button:hover {
    background-color: rgba(0, 0, 0, 0.1);
}

.pts-dialogue-preview-style-button svg {
    width: 22px;
    height: 22px;
}

.pts-dialogue-preview-style-button .tooltip {
    position: absolute;
    background: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    left: 100%;
    margin-left: 8px;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0;
    transition: opacity 0.2s;
    pointer-events: none;
}

.pts-dialogue-preview-style-button:hover .tooltip {
    opacity: 1;
}

.pts-preview-dialog {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: white;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
    z-index: 1000;
}

.pts-preview-content {
    max-width: 500px;
}

.pts-preview-original, .pts-preview-new {
    margin: 10px 0;
    padding: 10px;
    border-radius: 4px;
}

.pts-preview-original {
    background: #f5f5f5;
}

.pts-preview-new {
    background: #e6f3ff;
}

.pts-preview-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 15px;
}

#sort-toggle {
    padding: 8px 12px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    background-color: white;
    color: #666;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

#sort-toggle:hover {
    background-color: #f5f5f5;
}

#sort-toggle.descending .sort-icon {
    transform: rotate(180deg);
}

.search-filter-container {
    display: flex;
    align-items: center;
    margin: 10px 0;
}

.search-wrapper {
    flex: 1;
    position: relative;
}

.search-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #666;
}

.training-search-input {
    width: 100%;
    padding: 8px 12px 8px 36px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    font-size: 14px;
}

.sort-toggle-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    background: white;
    color: #666;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.sort-toggle-btn:hover {
    background: #f5f5f5;
}

.sort-toggle-btn.descending .sort-icon {
    transform: rotate(180deg);
}

.sort-icon {
    transition: transform 0.2s ease;
}


.seneca-modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
}

.seneca-modal-content {
    background-color: #fff;
    margin: 15% auto;
    padding: 20px;
    border-radius: 8px;
    width: 400px;
    max-width: 90%;
}

.seneca-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.seneca-modal-close {
    font-size: 24px;
    font-weight: bold;
    cursor: pointer;
    color: #666;
}

.seneca-modal-close:hover {
    color: #000;
}

.seneca-modal-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.seneca-modal-form-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.seneca-modal-form-item label {
    font-weight: 500;
    color: #333;
}

/* Update the container styles */
.seneca-trainee-actions-container {
    display: flex;
    justify-content: space-between;  /* This spreads the buttons apart */
    align-items: center;
    margin-top: 20px;
    width: 100%;  /* Ensure container takes full width */
}

/* Make both buttons the same size and style */
.seneca-green-button,
.seneca-trainee-save-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    background-color: #4CAF50;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    height: 40px;
}

/* Hover states */
.seneca-green-button:hover,
.seneca-trainee-save-btn:hover {
    background-color: #45a049;
}

/* Icon styles */
.seneca-green-button svg,
.seneca-save-icon {
    width: 18px;
    height: 18px;
    fill: white;
}