.container-fluid {
    padding: 20px;
}

.navbar {
    padding: 20px !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    min-height: 60px;
    background-color: #ddd !important;
    border-bottom: 1px solid var(--color-primary) !important;
    margin-bottom: 20px;
    box-shadow: var(--box-shadow-light);
    /* Ensure navbar has consistent height even when empty */
}

.navbar-brand {
    position: absolute;
    left: 60px !important;
    margin-left: 0 !important;
    z-index: 1050;
    font-weight: bold;
    font-size: 1.4rem;
    color: var(--color-primary-dark) !important;
}

.navbar button {
    box-shadow: 2px 2px 5px #ddd;

}

.navbar .btn {
    box-shadow: 2px 2px 5px #ddd;

}

#toggleSidebarBtn {
    box-shadow: 2px 2px 5px #ddd;

}

.nav-item {
    cursor: pointer;
}

.nav-groups {
    border: 1px dotted gray;
    padding: 5px;
    border-radius: 5px;
    margin-left: 10px
}

.notification-container {
    position: fixed;
    right: 5px;
    z-index: 909060;
    background-color: #ffffff;
    border: 1px solid #aaa;
    width: 450px;
    bottom: 25px !important;
    display: flex;
    flex-direction: column;
    border-radius: 5px;
    transition: max-height 0.3s ease-in-out;
    max-height: 60px;
    overflow: hidden;
}

.notification-container.notification-expanded {
    max-height: 800px;
}

.notifications-scroll {
    overflow-y: auto;
    scroll-behavior: smooth;
    padding-top: 5px;
    max-height: 740px;
}

.notification-container:not(.notification-expanded) .notifications-scroll {
    max-height: 40px;
    overflow: hidden;
}

.notification-buttons {
    z-index: 3;
    background-color: rgba(255, 255, 255, 0.9);
}

/* Add new styles for notification alerts */
.notification-container .alert {
    padding: 0.5rem 1rem;
    /* Reduced padding */
    margin-bottom: 0.5rem;
    /* Reduced margin */
    font-size: 0.875rem;
    /* Smaller font size */
}

/* Style for notification text */
.notification-container:not(.notification-expanded) .alert small {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 400px;
}

/* Transition for the alert text */
.notification-container .alert small {
    transition: all 0.3s ease-in-out;
}

/* Alert container transition */
.notification-container .alert {
    transition: all 0.3s ease-in-out;
}

.notification-container .btn-close {
    padding: 0.5rem;
    /* Smaller close button */
    font-size: 0.75rem;
    /* Smaller close icon */
}

.notification-container .btn-sm {
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
}

[x-model="promptInput"] {
    width: 100%;
}

#table-container {
    width: 70vw;
    /* Restrict the width of the table to 50% of the viewport width */
    overflow-x: auto;
    /* Allow horizontal scrolling if needed */
}

h5,
h6 {
    margin-top: 15px;
}

.choices {
    width: 100%;
}

.choices_list {
    z-index: 9999999909060;
}

.pre-wrap {
    font-family: sans-serif;
    padding: 30px;
    font-size: 1.2em;
}

.dropdown-item.active,
.dropdown-item:active {
    color: white;
    background-color: #0d6efd;
}

[x-show="showDropdown"] {
    max-height: 55vh !important;
}

[x-data="outputHandler"] {
    height: 80vh !important;
    display: flex;
    flex-direction: column;
}

/* Update these styles in your styles.css */
.editor-container {
    border: 1px solid #ddd;
    border-radius: 4px;
    height: 80px;
}

/* Add/update these styles in your styles.css */
.editor-container {
    border: 1px solid #ddd;
    border-radius: 4px;
    height: 55vh;
}

#prompt_area {
    width: 100%;
}

.cm-highlight {
    background-color: #e8f2ff;
}

/* select, filter */
.cm-operator {
    font-weight: bold;
    color: #005cc5;
}

/* contains, is */
.cm-string {
    font-weight: bold;
    color: #032f62;
}

/* Quoted strings */
.cm-number {
    font-weight: bold;
    color: #fcc;
}

/* Numbers (for chunk sizes) */

/* Add to styles.css */
.markdown-output {
    font-family: system-ui, -apple-system, sans-serif;
    line-height: 1.5;
    padding: 1rem;
}

.markdown-output h1 {
    font-size: 1.5rem;
    font-weight: 600;
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
    color: #1a202c;
}

.markdown-output h2 {
    font-size: 1.25rem;
    font-weight: 600;
    margin-top: 1.25rem;
    margin-bottom: 0.5rem;
    color: #2d3748;
}

.markdown-output h3 {
    font-size: 1.125rem;
    font-weight: 600;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
    color: #4a5568;
}

.markdown-output p {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
    margin-left: 1rem;
}

.network-container {
    background-color: white;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.vis-network:focus {
    outline: none;
}

.vis-network {
    background-color: white;
}

/* Network visualization styles */
.network-wrapper {
    width: 100%;
    height: calc(100vh - 220px); /* Increased from 160px to 220px to account for 60px overlay */
    transition: height 0.3s ease-in-out;
    position: relative;
    overflow: hidden; /* Ensure content doesn't overflow */
    display: flex;
    flex-direction: column;
    margin-bottom: 60px; /* Add margin to prevent overlay coverage */
}

.network-wrapper>div {
    width: 100%;
    height: 100%;
    background-color: white !important;
    overflow: hidden;
    position: relative;
    flex: 1; /* Take all available space */
}

/* When in collapsed mode (toggle=hide), maximize network visualization space */
#slide[style*="height: calc(100vh - 20px)"] .network-wrapper {
    height: calc(100vh - 120px); /* Increased from 60px to 120px to account for overlay */
}

#slide[style*="height: calc(100vh - 20px)"] .network-wrapper>div {
    height: calc(100vh - 160px); /* Increased from 100px to 160px to account for overlay */
}

/* Ensure SVG takes up all available space and scales properly */
.network-wrapper svg {
    width: 100% !important;
    height: 100% !important;
    display: block;
    min-height: 400px; /* Minimum height for visibility */
}

.network-container {
    background-color: white;
    border-radius: 4px;
    height: 100%; /* Fill parent */
    width: 100%; /* Fill parent */
    display: flex;
    flex-direction: column;
}

/* Make sure containers fill the available space */
.network-wrapper>div {
    flex-grow: 1;
    min-height: 0; /* Allow flexbox to shrink if needed */
}

/* Make sure the SVG takes full space with proper scaling */
.network-wrapper svg {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    object-fit: contain; /* Scale to fit while maintaining aspect ratio */
}

/* SVG container styling with minimal padding */
.network-wrapper>div[style*="overflow: hidden"] {
    position: relative;
    overflow: hidden;
    cursor: grab;
    /* Indicate that content is draggable */
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0; /* Remove any padding that might constrain the SVG */
}

.network-wrapper>div[style*="overflow: hidden"]:active {
    cursor: grabbing;
    /* Change cursor when actively dragging */
}

/* Force graph to expand properly and center it */
.network-wrapper svg g.graph {
    transform-origin: center center !important;
}

/* Ensure SVG viewBox is properly recognized and scaled */
.network-wrapper svg[viewBox] {
    width: 100% !important;
    height: 100% !important;
    overflow: visible !important;
    /* Allow content to extend beyond SVG boundaries */
}

/* Additional rules for proper graph centering and scaling */
.network-wrapper svg g {
    transform-origin: center center !important;
}

/* Ensure the graph content is properly contained and scaled */
.network-wrapper svg g.graph > * {
    vector-effect: non-scaling-stroke; /* Keep stroke widths consistent when scaling */
}

/* Make the output container fill available height */
#output_container {
    min-height: 600px;
    display: flex;
    height: 100% !important;
    flex-direction: column;
    position: relative;
    overflow: auto;
    flex-grow: 1;
}

/* Fullscreen styles */
.network-wrapper:fullscreen {
    padding: 20px;
    background: white;
}

.network-wrapper:fullscreen .network-container {
    width: 100vw !important;
}

/* Improve visibility of nodes and edges */
.vis-network:focus {
    outline: none;
}

.vis-network .vis-navigation {
    position: absolute;
    bottom: 15px;
    left: 15px;
    z-index: 1;
}

mark {
    background-color: yellow;
    padding: 0;
    border-radius: 2px;
}

/* For overlapping highlights */
mark mark {
    background-color: orange;
}

mark mark mark {
    background-color: #ff6b6b;
}

.row-number {
    color: #999;
    font-size: 0.9em;
    background: #f9f9f9;
}

#table-controls {
    display: flex !important;
    height: 40px;
    padding: 4px;
    top: -12px;
}

.btn-group .btn {
    height: 30px;
    width: 30px;
    margin-right: 4px;
}

.gallery-container .btn-group .btn {
    gap: 1rem;
    height: unset !important;
    width: unset !important;
}

.segment_header {
    border-top: 1px solid gray;
    position: relative;
}

.segment_header::before {
    content: "New Segment";
    color: gray;
    font-size: 0.55em;
    margin-top: 2px;
    position: absolute;
    right: 0;
}

.hint-description {
    font-size: 0.85em;
    color: #666;
    margin-top: 2px;
}

.cm-comment {
    color: #888 !important;
    font-style: italic !important;
}

.cm-keyword.cm-command {
    color: #2e8b57;
}

.cm-keyword.cm-operator {
    color: #cfaaaa;
}

.cm-operator {
    color: #cfaaaa;
}

.cm-variable {
    color: #4a4a4a;
}

.cm-string {
    color: #3c8c51;
}

.cm-number {
    color: #4682b4;
}

.cm-builtin {
    color: #8b6fad;
}

.cm-header-1 {
    color: hsl(240, 10%, 10%) !important;
}

.cm-header-2 {
    color: hsl(240, 10%, 25%) !important;
}

.cm-header-3 {
    color: hsl(240, 10%, 40%) !important;
}

.cm-header-4 {
    color: hsl(240, 10%, 55%) !important;
}

.cm-header-5 {
    color: hsl(240, 10%, 70%) !important;
}

.cm-header-6 {
    color: hsl(240, 10%, 85%) !important;
}

.cm-pure-comment {
    color: #6a737d !important;
    font-style: italic !important;
}

.cm-pure-comment {
    color: gray !important;
    font-style: italic !important;
}

@keyframes slideOut {
    from {
        opacity: 1;
        transform: translateX(0);
    }

    to {
        opacity: 0;
        transform: translateX(100%);
    }
}

.slide-out {
    animation: slideOut 0.5s forwards;
}

#projectTitle {
    font-size: 1em;
}

#projectTitleContainer {
    padding: 10px;
    background-color: #f3f3f3;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

#projectTitleContainer .input-group {
    flex: 1;
    max-width: none;
}

.alert .btn-close {
    width: 1rem;
    height: 1rem;
    padding: 2px;
    margin: 8px;
    background-color: white;
    opacity: 30%;
}

/* Add to existing styles */
.editor-title-input {
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 6px 12px;
    font-size: 14px;
}

.editor-title-input:focus {
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, .25);
}

.simple-waiter {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2rem;
}

.simple-waiter .spinner {
    width: 40px;
    height: 40px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid var(--bs-primary);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

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

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

.form-check-input[type=checkbox] {
    border-radius: .25em;
    background-color: aliceblue;
}

.tabulator {
    border: 1px solid var(--color-primary);
    overflow: hidden;
    margin-left: 16px;
    border-radius: var(--border-radius-small);
    box-shadow: var(--box-shadow-default);
    background-color: white !important;
    font-family: Arial, sans-serif !important;
}

/* Apply Arial to all Tabulator elements */
.tabulator * {
    font-family: Arial, sans-serif !important;
}

/* Ensure headers and cells maintain Arial */
.tabulator .tabulator-header .tabulator-col,
.tabulator .tabulator-row .tabulator-cell {
    font-family: Arial, sans-serif !important;
}

.dropzone-container {
    border: 2px dashed #ccc;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.dropzone-container:hover {
    border-color: #0d6efd;
    background-color: rgba(13, 110, 253, 0.05);
}

.dropzone-area {
    padding: 2rem;
    text-align: center;
    color: #6c757d;
}

.dropzone-area i {
    font-size: 2rem;
    color: #0d6efd;
    display: block;
}

.dropzone-area:hover {
    color: #0d6efd;
}

/* Command keywords */
.cm-keyword.cm-command {
    color: #0366d6 !important;
    font-weight: bold !important;
}

/* Operators */
.cm-keyword.cm-operator {
    color: #005cc5 !important;
}

/* Comments */
.cm-comment {
    color: #6a737d !important;
    font-style: italic !important;
}

/* Markdown headers */
.cm-header {
    color: #24292e !important;
    font-weight: bold !important;
}

/* Markdown emphasis */
.cm-em {
    font-style: italic !important;
}

/* Markdown strong */
.cm-strong {
    font-weight: bold !important;
}

.presentation-controls {
    background-color: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
}

.presentation-controls .d-flex {
    min-width: 100px !important;
}

.presentation-controls button {
    background-color: rgba(31, 41, 55, 0.8);
    color: white;
    border-radius: 5px;
    padding: 0 6px;
    font-size: 16px;
    cursor: pointer;
    transition: all 0.3s ease;
    border: none;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.presentation-controls button:hover {
    background-color: rgba(31, 41, 55, 1);
    transform: scale(1.1);
}

.presentation-controls .next-btn {
    animation: permanent-pulse 10s ease-in-out infinite;
    will-change: transform, box-shadow;
    transform-origin: center;
    margin-left: auto;
    margin-right: 0;
    background-color: var(--bs-primary) !important;
}

.slide-breadcrumb {
    text-align: center;
    display: inline-block;
    background-color: var(--project-color1, #e6eef7);
    border: 1px solid var(--project-color2, black);
    white-space: nowrap;
    text-overflow: ellipsis;
    color: var(--project-color2, black);
    padding: 0.25rem 0.5rem;
    line-height: 1.5;
    font-size: 0.875rem;
}

.breadcrumb-link {
    color: var(--project-color2, #495057);
    text-decoration: none;
    padding: 0 2px;
    border-radius: 3px;
    transition: all 0.2s ease;
}

.breadcrumb-link:hover {
    color: var(--project-color2, #0d6efd);
    background-color: var(--project-color1-transparent, rgba(13, 110, 253, 0.1));
    text-decoration: underline;
}

.breadcrumb-link.text-primary {
    font-weight: bold;
    color: var(--project-color2, black);
}

#slide_text_container p {
    padding: 10px;
    background-color: #fefefe55;
    margin-bottom: 0;
    margin-top: 0;
}

#slide_text_container ul {
    padding: 10px;
    background-color: #fefefe55;
    margin-bottom: 0;
    margin-top: 0;
    list-style-type: disc;
    padding-left: 30px;
}

#slide_text_container ul li {
    padding: 3px 0;
}

/* New rules for consecutive bullet points (> syntax) */
#slide_text_container ul.bullet-list {
    padding: 5px 10px;
    margin-bottom: 0;
    margin-top: 0;
}

#slide_text_container ul.bullet-list li {
    padding: 1px 0;
    margin-bottom: 0;
    margin-left: 15px;
}

/* Style for lines beginning with > */
#slide_text_container .bullet-line {
    margin-bottom: 0;
    padding: 2px 0;
}

#slide_text_container .h3 {
    margin-bottom: 20px !important;
    padding: 10px;
    padding-top: 10px !important;
    background-color: #fefefe55;
    border: 1px solid black;
    border-radius: 5px;
    padding-bottom: 15px;
}

/* Markdown styling for slide text */
#slide_text_container strong,
#slide_text_container b {
    font-weight: bold;
}

#slide_text_container em,
#slide_text_container i {
    font-style: italic;
}
.output-content>p>img{
    max-height: calc(90vh - 100px);
    max-width: calc(70vw - 100px);
}
#slide_text_container img {
    max-width: 100%;
    display: block;
    margin: 10px 0;
    max-height: 50vh;
}

/* Styles for markdown headings inside slide text */
#slide_text_container h1 {
    font-size: 2.25rem;
    font-weight: bold;
    margin-bottom: 10px;
    color: var(--project-color2, black);
}

#slide_text_container h2 {
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 10px;
    color: var(--project-color2, black);
}

#slide_text_container h3 {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 10px;
    color: var(--project-color2, black);
}

#slide_text_container h4 {
    font-size: 1.25rem;
    font-weight: bold;
    margin-bottom: 10px;
    color: var(--project-color2, black);
}

#slide_text_container h5,
#slide_text_container h6 {
    font-size: 1rem;
    font-weight: bold;
    margin: 0.5rem 0;
    color: var(--project-color2, black);
}
ul>li>p{
    margin-bottom: .5rem;
}
.h1 {
    font-size: 5rem;
    margin-top: 5vh !important;
    margin-bottom: calc(40vh - 100px) !important;
    text-align: left;
    background-color: var(--project-color1, #b3cce6);
    color: var(--project-color2, black);
    padding: 20px;
}

.h2 {
    font-size: 3rem;
    margin-bottom: calc(40vh - 100px) !important;
    margin-top: 5vh !important;
    background-color: var(--project-color1, #b3cce6);
    color: var(--project-color2, black);
    padding: 20px;
}

.h3 {
    font-size: 2rem;
    color: var(--project-color2, black);
}

.h4 {
    font-size: 1.5rem;
    color: var(--project-color2, black);
}

.h5 {
    font-size: 1.25rem;
}

.h6 {
    font-size: 1rem;
}

#slide {
    border: 1px solid gray;
    border-radius: 4px;
    padding: 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    height: 80vh;
    position: relative;
    display: flex;
    flex-direction: column;
}

#slide_text_container {
    position: absolute;
    bottom: 0;
    background: linear-gradient(to bottom, var(--project-color1-transparent, #e6eef7) 0, var(--project-color1-transparent, #e6eef7) 200px, white 700px);
    padding: 20px;
    border-radius: 5px;
    border: 1px solid var(--project-color2, black);
    width: 100%;
    margin: 20px auto 10px;
    flex-shrink: 0;
    max-width: calc(100% - 15px);
}

/* Reset border and margin for positioned containers */
#slide_text_container.position-tr,
#slide_text_container.position-tl,
#slide_text_container.position-bl,
#slide_text_container.position-br {
    border-top: none !important;
    margin-top: 0 !important;
    padding-top: 10px !important;
    /* Override Bootstrap classes */
    position: absolute !important;
    /* Change to fixed for even stronger positioning */
    border: 1px solid var(--project-color2, rgba(0, 0, 0, 0.3)) !important;
    overflow: visible !important;
    padding: 10px !important;
    /* Override other custom classes */
    display: block !important;
    z-index: 9999 !important;
}

/* Positioning classes for slide_text_container */
#slide_text_container.position-tr {
    width: 35% !important;
    max-width: 35% !important;
    top: 35px !important;
    right: 0 !important;
    bottom: auto !important;
    left: auto !important;
    margin: 10px !important;
    position: absolute !important;
    z-index: 9999 !important;
}

#slide_text_container.position-tl {
    width: 35% !important;
    max-width: 35% !important;
    top: 35px !important;
    left: 0 !important;
    bottom: auto !important;
    right: auto !important;
    margin: 10px !important;
    position: absolute !important;
    z-index: 9999 !important;
}

#slide_text_container.position-bl {
    width: 35% !important;
    max-width: 35% !important;
    bottom: 0 !important;
    left: 0 !important;
    top: auto !important;
    right: auto !important;
    margin: 10px !important;
    position: absolute !important;
    z-index: 9999 !important;
}

#slide_text_container.position-br {
    width: 35% !important;
    max-width: 35% !important;
    bottom: 0 !important;
    right: 0 !important;
    top: auto !important;
    left: auto !important;
    margin: 10px !important;
    position: absolute !important;
    z-index: 9999 !important;
}

/* Slide text columns */
.slide-columns {
    display: flex;
    gap: 20px;
    width: 100%;
    margin-top: 10px;
}

.slide-column {
    flex: 1;
    background-color: #ffffff99;
    padding: 10px;
    border-radius: 5px;
    min-width: 0;
    /* Prevent overflow in flex items */
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.table-footer {
    min-height: 50px;
    border-top: 1px solid #dee2e6;
    padding: 8px;
}

.last-clicked-line {
    background-color: #4CCF5010;
}

.last-clicked-line::after {
    content: "▶";
    position: absolute;
    right: 0;
    top: 0;
    font-size: 18px;
    color: #4CCF50;
}

@keyframes pulse-glow {
    0% {
        box-shadow: 0 0 0 0 rgba(0, 123, 255, 0.7);
    }

    50% {
        box-shadow: 0 0 0 10px rgba(0, 123, 255, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(0, 123, 255, 0);
    }
}

/* Animation for next button */
@keyframes permanent-pulse {

    0%,
    10%,
    90%,
    100% {
        transform: scale(1);
        background-color: rgba(31, 41, 55, 0.8);
        box-shadow: 0 0 0 0 rgba(13, 110, 253, 0.4);
    }

    5%,
    95% {
        transform: scale(1.15);
        background-color: rgba(31, 41, 55, 1);
        box-shadow: 0 0 20px 5px rgba(13, 110, 253, 0.6);
    }
}

.card.has-files {
    background-color: #b3cce6;
    border-color: rgba(10, 38, 79, 0.94);
}

/* Custom card styling with color variables */
.card.has-files[style*="background-color"] {
    border-width: 4px;
    border-style: solid;
}

/* Clickable card styling for gallery cards */
.clickable-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.clickable-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border-color: #0d6efd !important;
}

.clickable-card:hover .card-title {
    color: #0d6efd !important;
}

.form-select-sm {
    font-size: 0.75rem;
    padding: 0.15rem 1.5rem 0.15rem 0.5rem;
    min-height: unset;
    height: calc(1.5em + 0.5rem + 2px);
}

.color-selectors label {
    width: 60px;
    font-size: 0.75rem;
}

.card-body>div>i {
    font-size: x-large;
    border: 1px solid black;
    border-radius: 5px;
    padding: 2px;
}

/* Make disabled buttons more obvious */
.btn:disabled {
    opacity: 0.4 !important;
    cursor: not-allowed !important;
    background-color: #e9ecef !important;
    border-color: #dee2e6 !important;
    color: #6c757d !important;
}

.btn:disabled i {
    opacity: 0.4 !important;
    color: #6c757d !important;
}

.big-number {
    font-size: 6rem;
    font-weight: bold;
    text-align: left;
    color: #2c3e50;
    padding: 2rem;
    font-family: monospace;
    animation: fadeIn 0.5s ease-in;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: scale(0.9);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

.text-muted {}

.command-text.text-muted.small.mt-2::before {
    content: "Last command: ";
}

.command-text.text-muted.small.mt-2 {
    font-family: monospace;
    font-size: 0.85em;
    background-color: var(--project-color1-transparent, rgba(13, 110, 253, 0.1));
    color: #0e0e0e66 !important;
    padding: 5px;
    float: right;
    margin-left: auto;
    border-radius: 4px;
    max-width: 50%;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.customTooltip .introjs-tooltip-title {
    font-size: 24px;
    font-weight: bold;
    color: #333;
}

.customTooltip .introjs-tooltiptext {
    font-size: 16px;
    line-height: 1.5;
    color: #666;
}

.introjs-tooltip.customTooltip.introjs-floating {
    min-width: 500px !important;
    max-width: 800px !important;
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

@keyframes save-button-pulse {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(13, 110, 253, 0.7);
    }

    50% {
        transform: scale(1.02);
        box-shadow: 0 0 10px 3px rgba(13, 110, 253, 0.4);
    }

    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(13, 110, 253, 0);
    }
}

.needs-save {
    animation: save-button-pulse 2s infinite;
    background-color: #0d6efd !important;
    border-color: #0a58ca !important;
}

.needs-save::before {
    content: "Unsaved";
    font-size: x-small;
    color: pink;
}

:root {
    /* Color Variables */
    --font-family-primary: "Arial", sans-serif;
    --color-background: #fff;
    --color-primary: #7ca395;
    --color-primary-dark: #6c8d80;
    --color-secondary: #63a394;
    --color-accent: #00afff;
    --color-light: #f5f5f5;
    --color-lighter: #e0e0e0;
    --color-dark: rgba(22, 43, 54);
    --color-text: white;
    --color-tab-bg: #efefef;
    --color-icon-info-hover: #0056b3;
    --color-shadow: rgba(0, 0, 0, 0.1);
    --color-white: #fff;
    --color-modal-header: #88a396;

    /* Dimension Variables */
    --border-radius-large: 30px;
    --border-radius-small: 5px;
    --box-shadow-default: 0 4px 6px var(--color-shadow);
    --box-shadow-light: 0 2px 4px var(--color-shadow);
    --padding-default: 15px;
    --padding-large: 30px;
    --padding-small: 8px 16px;
    --margin-default: 15px;
    --transition-duration: 0.3s;
    --font-size-default: 14px;
    --font-size-large: 1rem;
    --font-size-icon: 24px;
    --iframe-height: 600px;
    --textarea-height-focus: 20vh;

    /* Animation */
    --animation-pulse: pulse 0.5s ease-in-out 2;
}

#top-bar {
    max-width: 700px;
}

body {
    border-top: 5px solid hsl(210, 33%, 56%);
    font-family: var(--font-family-primary);
    background-color: var(--color-background) !important;
}

.btn-outline-primary {
    --bs-btn-border-color: var(--color-primary) !important;
    color: var(--color-primary) !important;
    --bs-btn-border-width: 2px !important;
    --bs-btn-disabled-bg: var(--color-primary) !important;
    --bs-btn-disabled-border-color: var(--color-primary) !important;
}

.btn-outline-primary:hover {
    background-color: var(--color-primary) !important;
    color: var(--color-text) !important;
}

.btn-link {
    --bs-btn-color: var(--color-primary);
}

.bg-light {
    background-color: transparent !important;
}


.nav-tabs .nav-link {
    margin-right: 2px;
    transition: background-color 0.3s ease;
}

.nav-tabs .nav-link:hover,
.nav-tabs .nav-link.active {
    border: 2px solid var(--color-accent)
}

.nav-tabs .nav-link:hover {
    box-shadow: 0 0 10px var(--color-accent);
}

.nav-tabs .nav-link {
    border: 2px solid transparent;
}

button {
    transition: border 0.3s ease;
}

button:hover {
    border: 2px solid var(--color-accent) !important;
}

#title-text {
    font-size: 24px;
    color: var(--color-text);
    position: relative;
    z-index: 1060;
}

.container,
.container-fluid {
    width: 100%;
    padding: 0 5px 0 15px;
    flex: 1;
}

.hidden {
    visibility: hidden;
    height: 0;
}

.hidden-content {
    display: none;
}

.owner-field {
    flex: 0 0 30%;
}

.editors-field {
    flex: 1;
}

/* Textarea styles with animation */
textarea:not(#newSummaryPromptText textarea):not(#newInterviewDescription) {
    min-height: 400px;
    transition: height 2s ease;
    border: 1px solid var(--color-primary);
    border-radius: var(--border-radius-small);
}

textarea:not(#newSummaryPromptText textarea):not(#newInterviewDescription):focus {
    height: var(--textarea-height-focus);
}

#formattedTranscript {
    background-color: var(--color-white);
    padding: var(--padding-default);
    border-radius: var(--border-radius-large);
    box-shadow: var(--box-shadow-default);
}

#generateSummariesBtn,
#summariesPanel {
    background-color: var(--color-white);
    border-radius: var(--border-radius-large);
    box-shadow: var(--box-shadow-default);
}

#summariesPanel {
    padding: var(--padding-large);
}

.save-icon {
    font-size: var(--font-size-icon);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-primary);
}

.save-icon .icon-container {
    position: relative;
    display: inline-block;
}

.save-icon .save-disk {
    position: relative;
    z-index: 1;
}

.save-icon .green-tick {
    position: absolute;
    top: -5px;
    right: -5px;
    font-size: 12px;
    color: var(--color-accent);
    background-color: transparent;
    border-radius: 50%;
    padding: 2px;
    z-index: 2;
}

.save-icon.saving .green-tick {
    display: none;
}

.save-icon.pulse {
    animation: var(--animation-pulse);
}

.save-icon.saving .save-disk {
    opacity: 0.5;
}

.field-container {
    padding: 10px 0 5px 0;
}

.form-check-input[type='radio'] {
    background: #ddd;
}

.form-check-input:checked {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
}

#automation {
    background-color: var(--color-white);
    border-radius: var(--border-radius-large);
    padding: var(--padding-large);
}

#interviewIframe {
    border-radius: var(--border-radius-large);
    border: 1px solid var(--color-primary);
}

#interviewFieldsHolder {
    border-radius: var(--border-radius-large);
    background-color: var(--color-light);
}

#fileBar>button {
    max-width: 50px;
    border-width: 2px;
}

#fileBar>button:not(:last-child) {
    border-right: none;
}

#fileBar>button:first-child {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

#fileBar>button:not(:first-child):not(:last-child) {
    border-radius: 0;
}

#fileBar>button:last-child {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

#fileBar>button:not(:first-child) {
    margin-left: -2px;
}

#iframeRefreshButton {
    padding: 5px;
    background-color: var(--color-primary-dark);
    opacity: 0.9;
    color: var(--color-text);
}

#userSidebar {
    z-index: 99999;
}

#newInterviewForm input,
#newInterviewForm textarea {
    border-radius: var(--border-radius-small);
    border: 1px solid var(--color-primary);
}

#newInterviewModal {
    background-color: var(--color-white);
}

.modal-header,
.chatbot-header {
    background-color: var(--color-modal-header);
    color: var(--color-text);
    padding: 15px;
    border-radius: 5px;
}

.btn-danger {
    color: red;
    background-color: var(--color-white);
}

.btn-danger i {
    color: red;
    background-color: var(--color-white);
}

.tab-content {
    background-color: var(--color-white);
    border-top: 1px solid var(--color-primary);
    padding: var(--padding-large);
    border-radius: var(--border-radius-small);
}

.custom-modal-xl .modal-dialog {
    max-width: 95vw;
    width: 95vw;
    margin: 1.75rem auto;
}

.custom-modal-xl .modal-content {
    width: 100%;
}

#summaryPromptModal .modal-content,
#superSummaryPromptModal .modal-content {
    background-color: var(--color-white);
    padding: 20px;
    border-radius: 5px;
}

#summaryPromptModal textarea,
#superSummaryPromptModal textarea {
    min-height: 400px;
    min-width: 550px;
}

#summaryPromptModal,
#superSummaryPromptModal {
    min-width: 600px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#summaryPromptModal .modal-dialog,
#superSummaryPromptModal .modal-dialog {
    min-width: 600px;
    margin: 0 auto;
}

.form-text {
    font-size: 15px;
    color: black;
}

.dropdown {
    z-index: 9999;
}

.nav-tabs {
    position: relative;
    background-color: transparent;
    padding-bottom: 5px;
    border: none
}

.modal-backdrop {
    z-index: 1050;
}

.modal {
    z-index: 1055;
}

.modal-dialog {
    z-index: 1060;
}

.modal-content {
    background-color: var(--color-white);
    opacity: 1 !important;
}

.tabulator-row.tabulator-selected {
    background-color: var(--color-secondary) !important;
}

.highlight {
    background-color: #f0f8ff;
    /* Light blue background for highlighting */
}

.tabulator .tabulator-header .tabulator-col,
.tabulator-footer {
    padding-left: 10px;
    padding-right: 5px;
    background-color: white !important;
}

.tabulator-header {
    background-color: white !important;
    color: var(--color-primary) !important;
}

.tabulator-footer {}

.tabulator-header-filter>input {
    border: 1px solid var(--color-primary);
}

.tabulator {
    border: 1px solid var(--color-primary);
    overflow: hidden;
    border-radius: var(--border-radius-small);
    box-shadow: var(--box-shadow-default);
    background-color: white !important;
}

.tabulator .editable-column::before {
    content: "✏️";
}

.tabulator .super-editable-column::before {
    content: "✏️";
}

[role="columnheader"]::before {
    content: "" !important;
}

.tabulator .editable-column.tabulator-col {
    background-color: initial;
}

.tabulator-row.tabulator-row-even {
    background-color: white !important;
}

.tabulator-row {
    border-top: 1px solid var(--color-primary);
}

#overviewOutput {
    background-color: #eee;
    border-radius: var(--border-radius-small);
    padding: var(--padding-default);

    h3 {
        margin-top: 15px;
    }

    table {
        width: 100%;
        margin-bottom: 1rem;
        color: #212529;
        vertical-align: top;
        border-color: #dee2e6;
    }

    table th,
    table td {
        padding: 0.5rem;
        border-bottom: 1px solid #dee2e6;
    }

    table thead th {
        vertical-align: bottom;
        border-bottom: 2px solid #dee2e6;
        font-weight: bold;
    }

    table tbody tr:hover {
        background-color: rgba(0, 0, 0, 0.075);
    }
}

/* Add loading animation styles */
/* Add loading animation styles */
.loading {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100px;
    /* Adjust height as needed */
}

.loading::after {
    content: '';
    border: 5px solid var(--color-primary);
    border-top: 5px solid transparent;
    border-radius: 50%;
    width: 30px;
    /* Adjust size as needed */
    height: 30px;
    /* Adjust size as needed */
    animation: spin 1s linear infinite;
}

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

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

.docs-window {
    resize: both;
    min-width: 600px;
    min-height: 400px;
}

.docs-window .header {
    cursor: move;
    user-select: none;
}

.docs-window .docs-content {
    height: calc(100% - 42px);
}

.docs-window .search-results {
    top: 100%;
    left: 0;
    max-height: 300px;
    overflow-y: auto;
    z-index: 1070;
}

.docs-window .search-result {
    cursor: pointer;
}

.docs-window .search-result:hover {
    background-color: #f8f9fa;
}

.docs-window iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

/* TOC styles */
#toc {
    padding: 1rem;
}

#toc a {
    display: block;
    padding: 2px 0;
    color: inherit;
    text-decoration: none;
}

#toc a:hover {
    color: #0d6efd;
}

.search-highlight {
    background-color: #fff3cd;
    padding: 0 2px;
    border-radius: 2px;
    animation: fadeHighlight 2s forwards;
}

@keyframes fadeHighlight {
    from {
        background-color: #fff3cd;
    }

    to {
        background-color: transparent;
    }
}

.search-result {
    transition: background-color 0.2s;
}

.search-result:hover {
    background-color: #f8f9fa;
}

.search-result.bg-light {
    background-color: pink !important;
}

.highlight-link-id {
    color: #666;
    font-size: 0.85em;
    font-weight: bold;
    padding: 0 2px;
    background-color: #f0f0f0;
    border-radius: 3px;
    margin-right: 1px;
}

.editor-help-text {
    display: none;
    color: #666;
    font-size: 0.8em;
    padding: 5px 0;
    margin-top: 5px;
    border-top: 1px solid #eee;
}

@media print {

    /* Increase overall scale */
    .network-wrapper {
        transform: scale(1.5);
        transform-origin: top left;
    }

    /* Optionally tweak specific elements */
    svg {
        width: 100% !important;
        height: auto !important;
    }

    /* Adjust font sizes for readability in the PDF */
    body,
    h1,
    h2,
    h3,
    p,
    table {
        font-size: 1.25em;
    }
}

.ace_editor {
    height: 100% !important;
    font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace !important;
    font-size: 14px;
    background: white !important;
    color: #333;
}

/* Line highlighting */
.ace_last-clicked-line {
    background-color: rgba(255, 255, 0, 0.1) !important;
    position: absolute;
    width: 100% !important;
    z-index: 5;
}

.ace_command {
    color: #d73a49 !important;
    font-weight: bold !important;
    font-style: normal !important;
    text-decoration: none !important;
}

.ace_operator {
    color: #6f42c1 !important;
    font-weight: bold !important;
}

.ace_comment {
    color: #6a737d !important;
    font-style: italic !important;
}

.ace_string {
    color: #032f62 !important;
}

.ace_constant.ace_numeric {
    color: #005cc5 !important;
}

.ace_gutter-active-line {
    background-color: #4CCF50 !important;
}

/* it isn't these three!*/
.ace_gutter {
    width: 55px !important;
    background-color: #eeffee !important;
}

.ace_gutter-layer {
    width: 55px !important;
}

.ace_editor.ace_autocomplete {
    width: 150px !important;
}

.ace_editor {
    font-size: 16px;
    line-height: 24px;
}

/* this is to blame for the gutter not being visible */
.ace_scroller {
    /* margin-left: 0;
    left: 55px !important */
}

.ace_editor.ace_autocomplete {
    width: 300px !important;
    left: 110px !important;
}

#doc-tooltip {
    left: 410px !important;
}

.ace_gutter-cell {
    margin-left: 2px;
    margin-right: 40px;
    color: white;
    cursor: pointer;
    max-height: 20px;
    text-align: center;
    border-radius: 15px;
    background-color: #4CCF50 !important;
    padding-left: 10px !important;
    padding-right: 25px !important;
}

.ace_gutter-cell_svg-icons {
    padding-left: 10px !important;
    padding-right: 25px !important;
}

.ace_folding-enabled .ace_fold-widget {
    width: 14px !important;
    border: 1px solid #aaa !important;
    border-radius: 3px !important;
    background-image: none !important;
    background-color: #cdcdcd !important;
    text-align: center !important;
    margin-left: 18px;
}

.ace_storage-type {
    /* Empty declaration to override any previous definitions */
}

/* Add this at the BOTTOM of the file to override other styles */
.ace_bracket-bracket {
    color: #0d6efd !important;
}

.ace_bracket-content {
    color: #0d6efd !important;
    text-decoration: underline !important;
    background: inherit !important;
}

.kbd {
    background-color: rgba(76, 207, 80, 0.1);
    margin-right: 5px;
}

/* Custom token styling for our query mode */
.ace_keyword.ace_command {
    color: #d73a49 !important;
    font-weight: bold !important;
}

.ace_markup.ace_heading {
    color: #0d6efd !important;
    font-weight: bold !important;
    letter-spacing: normal !important;
    /* Ensure uniform spacing */
}

.ace_markup.ace_heading.ace_1 {
    color: #0d6efd !important;
    font-weight: bold !important;
    /* Use text-shadow instead of font-size to maintain cursor alignment */
    text-shadow: 0 0 1px currentColor !important;
    letter-spacing: 0.05em !important;
}

.ace_markup.ace_heading.ace_2 {
    color: #0d6efd !important;
    font-weight: bold !important;
    /* Use text-shadow instead of font-size to maintain cursor alignment */
    text-shadow: 0 0 0.5px currentColor !important;
    letter-spacing: 0.03em !important;
}

.ace_markup.ace_heading.ace_3 {
    color: #0d6efd !important;
    font-weight: bold !important;
    /* Slightly enhanced but safe for cursor */
    letter-spacing: 0.01em !important;
}

/* .ace_markup.ace_list {
       color: #198754 !important;
       font-weight: bold !important;
   } */
.ace_markup,
.ace_list {
    color: black !important;
    /* because the comments flow onto next line */
}

.ace_gutter-cell {}

.ace-tm .ace_support.ace_function {
    color: #aaaacc !important;
    /* code blocks */
}

.ace_markup.ace_bold {
    font-weight: bold !important;
    color: #dc3545 !important;
}

.ace_markup.ace_italic {
    font-style: italic !important;
    color: #6f42c1 !important;
}

.ace_string {
    color: #032f62 !important;
}

.ace_comment {
    color: #6a737d !important;
    font-style: italic !important;
}

.ace_constant.ace_numeric {
    color: #005cc5 !important;
}

/* Line highlighting */
.ace_last-clicked-line {
    background-color: rgba(255, 255, 0, 0.1) !important;
    position: absolute;
    width: 100% !important;
    z-index: 5;
}

.unstore-line {
    background-color: #f0f8ff;
    /* Light blue background */
    font-weight: bold;
    /* Add any other styling you want */
}

/* Add styles for the unified copy button */
.copy-unified-btn {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    z-index: 1000 !important;
    padding: 0.25rem 0.5rem;
    background-color: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.copy-unified-btn:hover {
    background-color: rgba(240, 240, 240, 0.9);
    transform: scale(1.05);
}

.copy-unified-btn i {
    color: #0d6efd;
}

/* Control panels for graph visualizations */
.network-wrapper .position-absolute.top-0.start-0 {
    height: 40px !important;
    width: 100px !important;
    overflow: visible;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 4px;
    padding: 4px;
    margin: 8px !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 1001 !important;
    /* Ensure controls are on top */
}

.network-wrapper .position-absolute.top-0.start-0 .btn-group {
    height: 32px;
}

.network-wrapper .position-absolute.top-0.start-0 button {
    height: 32px;
    width: 32px;
    padding: 4px;
    margin: 0 2px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Remove the padding from SVG container */
.network-wrapper>div[style*="overflow: hidden"] {
    padding-top: 0;
    /* No padding needed with absolute positioning */
}

.notification-container .btn-group {
    position: sticky;
    top: 0;
    z-index: 3;
    background-color: rgba(255, 255, 255, 0.9);
}

#slide .btn-group.position-absolute {
    position: absolute;
    top: 0;
    right: 0;
    margin: 8px;
    z-index: 1000;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 4px;
    padding: 3px;
}

/* Add styles for the cache toggle button - green for ON, red for OFF */
.btn-cache-on {
    background-color: #28a745 !important;
    /* Green */
    border-color: #28a745 !important;
    color: white !important;
}

.btn-cache-off {
    background-color: #dc3545 !important;
    /* Red */
    border-color: #dc3545 !important;
    color: white !important;
}

/* Style for disabled buttons with clearer visual indication */
#popOutOutput:disabled,
.btn:disabled {
    opacity: 0.4 !important;
    cursor: not-allowed !important;
    background-color: #e9ecef !important;
    border-color: #dee2e6 !important;
    color: #6c757d !important;
    pointer-events: none;
}

#popOutOutput:disabled i,
.btn:disabled i {
    opacity: 0.4 !important;
    color: #6c757d !important;
}

/* New sidebar notification container styles */
.sidebar-notification-container {
    background-color: #ffffff;
    border: 1px solid #aaa;
    border-radius: 5px;
    transition: max-height 0.3s ease-in-out, width 0.3s ease-in-out, left 0.3s ease-in-out;
    max-height: 60px;
    overflow: hidden;
    margin-bottom: 15px;
    /* Space from bottom */
    z-index: 1000;
    display: flex;
    flex-direction: column;
    /* Fix position at the bottom of screen within sidebar */
    position: fixed;
    bottom: 20px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    padding-top: 5px;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s, visibility 0.3s, max-height 0.3s;
}

.sidebar-notification-container.notification-expanded {
    max-height: 500px;
    /* Limit expanded height to be more reasonable */
}

.sidebar-notification-container .notifications-scroll {
    max-height: 500px;
    /* Adjust for expanded mode */
    overflow-y: auto;
}

.sidebar-notification-container:not(.notification-expanded) .notifications-scroll {
    max-height: 40px;
    overflow: hidden;
}

.sidebar-notification-container .alert {
    padding: 0.5rem 1rem;
    /* Reduced padding */
    margin-bottom: 0.5rem;
    /* Reduced margin */
    font-size: 0.875rem;
    /* Smaller font size */
}

.sidebar-notification-container:not(.notification-expanded) .alert small {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 400px;
}

.sidebar-notification-container .alert small {
    transition: all 0.3s ease-in-out;
}

.sidebar-notification-container .btn-close {
    padding: 0.5rem;
    /* Smaller close button */
    font-size: 0.75rem;
    /* Smaller close icon */
}

.sidebar-notification-container .btn-sm {
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
}

#leftSidebar[style*="display: none"]~.sidebar-notification-container,
#leftSidebar[style*="opacity: 0"]~.sidebar-notification-container {
    opacity: 0;
    visibility: hidden;
}

/* Ensure collapsed navbar has proper styling */
.navbar .collapse:not(.show) {
    display: none;
}

/* Navbar positioning */
#navbar {
    position: relative;
    padding: 5px !important
}

/* Toggle button styling */
#toggleSidebarBtn {
    top: 25px !important;
    left: 2px !important;
    z-index: 1200;
    /* Higher than anything else */
    width: 40px;
    height: 40px;
    padding: 8px;
}

/* Standalone brand text styling */
.standalone-brand {
    position: fixed;
    bottom: 5px;
    right: 50px;
    font-size: 1rem;
    font-weight: bold;
    color: var(--color-primary-dark);
    z-index: 1100;
    background-color: transparent;
}

.ace_markup-template {
    color: #b58900;
    font-weight: bold;
}

/* Critical fix for the editor's div elements to ensure proper character width measurements */
.ace_editor div {
    font: inherit !important;
}

/* Style for code blocks between triple backticks */
.ace_markup.ace_raw_block {
    color: #aa2020 !important;
    /* Pink color for code block content */
    font-family: 'Courier New', monospace !important;
    background-color: #efefef !important;
    /* Dark gray background for better contrast */
    padding: 2px 0 !important;
    /* Add some padding for better visual separation */
    border-radius: 3px !important;
}

.ace_markup.ace_code.ace_start,
.ace_markup.ace_code.ace_end {
    color: #20c997 !important;
    /* Turquoise color for the triple backticks */
    font-weight: bold !important;
    background-color: #efefef !important;
    border-radius: 3px !important;
}

/* Style for the content inside code blocks */
.ace_markup.ace_code {
    color: #aa2020 !important;
    /* Pink color for code block content */
    font-family: 'Courier New', monospace !important;
    background-color: #efefef !important;
    /* Dark gray background for better contrast */
    padding: 2px 0 !important;
    white-space: pre-wrap !important;
}

/* Override for better line highlighting - ensure this is the final style applied */
.ace_editor .ace_last-clicked-line {
    background-color: #00FF0055 !important;
    position: absolute;
    width: 100% !important;
    z-index: 5;
}

.ace_editor .ace_last-clicked-line::after {
    content: '';
    /* Creates the bright green right-pointing triangle */
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 10px solid #00FF00;
    /* bright green */
}

/* Vertical tab button styles */
.vertical-tabs {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.vertical-tab-btn {
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    border: 1px solid var(--color-primary) !important;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: white;
}

.vertical-tab-btn:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.vertical-tab-btn.btn-primary {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: white !important;
}

.vertical-tab-btn.btn-outline-secondary {
    background-color: white !important;
    color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
}

.vertical-tab-btn.btn-outline-secondary:hover {
    background-color: var(--color-primary) !important;
    color: white !important;
}

/* Adjust main panel content to account for vertical tabs */
#mainPanel .form-group {
    padding-left: 8px;
}

.p-3 {
    border: 1px solid gray;
    border-radius: 5px;
}

/* General fallback for strong and b if other stylings are too specific */
strong,
b {
    font-weight: bold;
}