/* ==========================================================================
   II. SHARED COMPONENTS / UTILITIES
   (Used across multiple tabs or are generic UI elements)
   ========================================================================== */

/* File Upload Area - REMOVED (unused in codebase) */
/* The following file upload styles were removed as they are not used:
   .file-upload-container
   .file-upload-area
   .file-status
   .file-indicator
   .status-dot
*/

/* Tab Navigation System has been moved to ../shared-code/components/tabs.css */

/* General Tab Content Display Rules */
.tab-content {
    display: none;
    animation: fadeIn 0.3s ease; /* Defined in Global Styles */
}

.tab-content.active {
    display: block;
}

/* Card Styles have been moved to ../shared-code/components/cards.css */
/* The shared cards.css file now exists and contains all card components */

/* TEA-specific card customizations */
/* Override component library border-radius for TEA cards */
.tea-card {
    border-radius: 0 !important; /* Mindstate: Force sharp corners */
}

/* Remove multiple separator lines from card headers for specific titles */
.tea-card h3:not(.prevalence-title):not(.symptom-analysis-title):not(.market-analysis-title):not(.outcome-pathway-title):not(.standard-of-care-title)::before,
.tea-card h3::after {
    display: none;
}

/* Metric Cards (Generic Display Style) */
.metrics-grid { /* General layout for multiple metric cards */
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--spacing-lg);
    margin-bottom: var(--spacing-xl);
    align-items: start; /* Changed from stretch to start for consistency */
}

/* Mindstate: Clean metric card styling */
.metric-card { /* Style for individual metric display cards */
    text-align: center;
    padding: var(--spacing-lg);
    background: #FFFFFF; /* Mindstate: White background */
    border-radius: 0 !important; /* Mindstate: Sharp corners - important to override component library */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Mindstate: Minimal shadow */
    transition: all var(--transition-medium) ease;
    position: relative;
    overflow: hidden; /* Added to ensure top border is clipped */
    display: flex;
    flex-direction: column;
    align-items: center;
    border: 1px solid #F4F4F4; /* Mindstate: Light border */
}

/* Green accent border at top */
.metric-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: #6B8E23; /* Mindstate: Data green accent */
}

.metric-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); /* Mindstate: Subtle shadow */
}

/* Enhanced metric card with emoji icon */
/* Mindstate: Simplified metric icon */
.metric-icon { /* Icon container for metrics (emoji or icon font) */
    width: 48px;
    height: 48px;
    margin: 0 auto var(--spacing-sm); /* Reduced from spacing-md to spacing-sm */
    background: #F4F4F4; /* Mindstate: Light gray */
    border-radius: 50%; /* Keep circular */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem; /* For emoji or icon font */
    box-shadow: none; /* Mindstate: Remove shadow */
    color: #6B8E23; /* Mindstate: Data green */
    border: 1px solid #EBEBEB; /* Mindstate: Light border */
}

/* Mindstate: Clean metric value display */
.metric-value { /* Styling for the main number in a metric card */
    font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 2rem;
    font-weight: 300; /* Mindstate: Lighter weight for large numbers */
    margin-bottom: var(--spacing-xs);
    background: none; /* Mindstate: Remove gradient */
    -webkit-background-clip: unset;
    -webkit-text-fill-color: #000000; /* Mindstate: Pure black */
    background-clip: unset;
    color: #000000; /* Mindstate: Pure black */
    position: relative;
    z-index: 1;
    letter-spacing: -0.04em; /* Mindstate: Tighter letter spacing */
}

.metric-label { /* Styling for the label in a metric card */
    font-size: 0.85rem;
    color: #8B9187; /* Mindstate: Medium gray */
    text-transform: uppercase;
    letter-spacing: 0.05em; /* Mindstate: Wide letter spacing for uppercase */
    font-weight: 500;
    position: relative;
    z-index: 1;
}

.metric-sublabel { /* Optional sub-label for additional context */
    font-size: 0.75rem;
    color: #8B9187; /* Mindstate: Medium gray */
    margin-top: var(--spacing-xs);
}

/* Progress bar for metrics (optional) */
/* Mindstate: Clean progress bar */
.metric-progress {
    width: 100%;
    height: 6px;
    background: #EBEBEB; /* Mindstate: Light gray */
    border-radius: 0; /* Mindstate: Sharp corners */
    margin-top: var(--spacing-sm);
    overflow: hidden;
    box-shadow: none; /* Mindstate: Remove inset shadow */
}

.metric-progress-fill {
    height: 100%;
    border-radius: 0; /* Mindstate: Sharp corners */
    transition: width var(--transition-medium) cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    background: #6B8E23; /* Mindstate: Data green */
}

/* Input Styles (Generic Neumorphic Inputs) */
.input-group {
    margin-bottom: var(--spacing-md);
}

.input-label {
    display: block;
    margin-bottom: var(--spacing-sm);
    font-weight: 500;
    color: #000000; /* Mindstate: Pure black */
}

/* Mindstate: Simplified input styling */
.neumorphic-input { /* Base for text, search, etc. */
    width: 100%;
    padding: var(--spacing-sm) var(--spacing-md);
    background: #FFFFFF; /* Mindstate: White background */
    border: 1px solid #3B3B3B; /* Mindstate: Dark border */
    border-radius: 0; /* Mindstate: Sharp corners */
    box-shadow: none; /* Mindstate: Remove inset shadow */
    font-family: inherit;
    font-size: 0.95rem;
    color: #000000; /* Mindstate: Pure black */
    transition: all var(--transition-fast) ease;
}

.neumorphic-input:hover {
    background: #FAFAFA; /* Mindstate: Very light gray */
}

.neumorphic-input:focus {
    outline: none;
    border-color: #000000; /* Mindstate: Black border on focus */
    background: #FFFFFF; /* Mindstate: White background */
    box-shadow: none; /* Mindstate: Remove shadow */
}

/* Enhanced Select/Dropdown Styling */
/* Mindstate: Clean select styling */
select.neumorphic-input {
    appearance: none;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%233B3B3B' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right var(--spacing-sm) center;
    background-size: 12px;
    padding-right: calc(var(--spacing-md) + 16px); /* Make space for arrow */
    cursor: pointer;
}

select.neumorphic-input:hover {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B8E23' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
}

/* Custom Range Slider Styling */
/* Mindstate: Simplified range slider */
input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 10px;
    background: #EBEBEB; /* Mindstate: Light gray */
    border-radius: 0; /* Mindstate: Sharp corners */
    outline: none;
    box-shadow: none; /* Mindstate: Remove inset shadow */
    cursor: pointer;
}

/* Mindstate: Clean slider thumb */
input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    background: #6B8E23; /* Mindstate: Data green */
    border-radius: 50%; /* Keep circular */
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Mindstate: Minimal shadow */
    transition: all var(--transition-fast) ease;
}

input[type="range"]::-moz-range-thumb {
    width: 20px;
    height: 20px;
    background: #6B8E23; /* Mindstate: Data green */
    border-radius: 50%; /* Keep circular */
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Mindstate: Minimal shadow */
    transition: all var(--transition-fast) ease;
    border: none;
}

input[type="range"]:hover::-webkit-slider-thumb {
    transform: scale(1.1);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); /* Mindstate: Subtle shadow */
}

input[type="range"]:hover::-moz-range-thumb {
    transform: scale(1.1);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); /* Mindstate: Subtle shadow */
}

/* Custom Checkbox Styling */
/* Mindstate: Clean checkbox styling */
input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    background: #FFFFFF; /* Mindstate: White background */
    border-radius: 0; /* Mindstate: Sharp corners */
    box-shadow: none; /* Mindstate: Remove inset shadow */
    cursor: pointer;
    position: relative;
    transition: all var(--transition-fast) ease;
    vertical-align: middle;
    border: 1px solid #3B3B3B; /* Mindstate: Dark border */
}

input[type="checkbox"]:checked {
    background: #6B8E23; /* Mindstate: Data green */
    box-shadow: none; /* Mindstate: Remove shadow */
    border-color: #6B8E23; /* Mindstate: Match border */
}

input[type="checkbox"]:checked::after {
    content: '✓';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #FFFFFF; /* Mindstate: White checkmark */
    font-size: 12px;
    font-weight: bold;
}

input[type="checkbox"]:hover {
    transform: scale(1.05);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Mindstate: Minimal shadow */
    border-color: #000000; /* Mindstate: Black border on hover */
}

/* Neumorphic Checkbox Group (Container for multiple checkboxes) */
/* Mindstate: Clean checkbox group */
.neumorphic-checkbox-group {
    background: #FAFAFA; /* Mindstate: Very light gray */
    border-radius: 0; /* Mindstate: Sharp corners */
    padding: var(--spacing-sm);
    box-shadow: none; /* Mindstate: Remove inset shadow */
    max-height: 150px; /* Example max height */
    overflow-y: auto;
    border: 1px solid #EBEBEB; /* Mindstate: Light border */
}

.neumorphic-checkbox-group .checkbox-item {
    display: block; /* Or flex for better alignment if needed */
    margin-bottom: var(--spacing-xs);
    padding: var(--spacing-xs) var(--spacing-sm);
    border-radius: 0; /* Mindstate: Sharp corners */
    cursor: pointer;
    transition: background-color var(--transition-fast) ease, color var(--transition-fast) ease;
    color: #000000; /* Mindstate: Pure black */
}

.neumorphic-checkbox-group .checkbox-item:hover {
    background-color: #F4F4F4; /* Mindstate: Light gray */
    color: #6B8E23; /* Mindstate: Data green */
}

.neumorphic-checkbox-group .checkbox-item input[type="checkbox"] {
    margin-right: var(--spacing-sm);
    vertical-align: middle; /* Ensure alignment with text */
}

.neumorphic-checkbox-group .checkbox-item input[type="checkbox"]:focus-visible {
    outline: 2px solid #6B8E23; /* Mindstate: Data green focus */
    outline-offset: 1px;
}

.neumorphic-checkbox-group .checkbox-item.checked { /* If JS adds a class to the label */
    background-color: #F0F8F0; /* Mindstate: Very light green tint */
    color: #000000; /* Mindstate: Pure black */
    font-weight: 500;
}

/* Button Styles have been moved to ../shared-code/components/buttons.css */
/* IMPORTANT: Update HTML/JS to use .os-btn classes instead of .tea-button */
/* 
   Migration mapping:
   .tea-button → .os-btn
   .tea-button--small → .os-btn--sm
   .tea-button--active → .os-btn--toggle.active
*/

/* Table Styles - Enhanced Neumorphic (Base for data tables) */
/* Mindstate: Clean table styling */
.data-table {
    width: 100%;
    background: #FFFFFF; /* Mindstate: White background */
    border-radius: 0; /* Mindstate: Sharp corners */
    overflow: hidden; /* Important for border-radius on table */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Mindstate: Minimal shadow */
    border: 1px solid #F4F4F4; /* Mindstate: Light border */
    /* border-collapse: collapse; /* if cells have individual borders */
}

.data-table thead {
    position: sticky;
    top: 0;
    z-index: 10;
    background: #FAFAFA; /* Mindstate: Very light gray */
}

.data-table th {
    padding: var(--spacing-md) var(--spacing-lg);
    text-align: left;
    font-weight: 600;
    color: #000000; /* Mindstate: Pure black */
    border-bottom: 2px solid #3B3B3B; /* Mindstate: Dark gray underline */
    position: relative;
    background: #FAFAFA; /* Mindstate: Very light gray */
    vertical-align: middle;
    text-transform: uppercase; /* Mindstate: Uppercase headers */
    letter-spacing: 0.05em; /* Mindstate: Wide letter spacing */
}

.data-table td {
    padding: var(--spacing-md) var(--spacing-lg);
    border-bottom: 1px solid #F4F4F4; /* Mindstate: Light border */
    background: #FFFFFF; /* Mindstate: White background */
    transition: all var(--transition-fast) ease;
}

.data-table tbody tr {
    position: relative;
    transition: all var(--transition-fast) ease;
}

.data-table tbody tr:hover {
    background: #FAFAFA; /* Mindstate: Very light gray */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Mindstate: Minimal shadow */
    transform: translateY(-1px);
}

.data-table tbody tr:hover td {
    background: transparent; /* Let row hover background show through */
}

/* Styles for sortable table headers */
.sortable-header {
    cursor: pointer;
    position: relative;
    user-select: none;
    /* transition: background-color var(--transition-fast) ease; REMOVED, covered by th hover */
}
.sortable-header:hover { /* This overrides general th hover if more specific styling is needed */
    /* background-color: var(--color-bg-light); /* Example */
}
.sort-indicator {
    font-size: 0.8em; /* Adjusted */
    margin-left: 5px;
    display: inline-block; /* Ensures it takes space */
    width: 1em; /* Give it some width for alignment */
    /* position: absolute; /* Alternative: For precise positioning */
    /* right: 8px; top: 50%; transform: translateY(-50%); */
}

/* Active sort state for header */
.sortable-header.active-sort {
    color: #6B8E23; /* Mindstate: Data green for active sort */
    background: #F0F8F0; /* Mindstate: Very light green tint */
}
/* Indicator style on hover */
.sortable-header:hover .sort-indicator {
    /* transform: translateY(-50%) scale(1.2); /* If absolutely positioned */
    transform: scale(1.2); /* If inline-block */
}


/* Badge Styles - Enhanced Neumorphic (Base) */
/* Mindstate: Clean badge styling */
.badge {
    display: inline-block;
    padding: var(--spacing-xs) var(--spacing-sm);
    background: #F4F4F4; /* Mindstate: Light gray */
    border-radius: 0; /* Mindstate: Sharp corners */
    font-size: 0.85rem;
    font-weight: 500;
    border: 1px solid #EBEBEB; /* Mindstate: Light border */
    box-shadow: none; /* Mindstate: Remove shadow */
    transition: all var(--transition-fast) ease;
    position: relative; /* For potential ::after elements or pseudo-content */
    text-transform: uppercase; /* Mindstate: Uppercase badges */
    letter-spacing: 0.05em; /* Mindstate: Wide letter spacing */
}

.badge:hover {
    transform: translateY(-1px);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Mindstate: Minimal shadow */
}

.badge:active {
    transform: translateY(0);
    box-shadow: none; /* Mindstate: Remove inset shadow */
}

.badge-primary {
    background: #6B8E23; /* Mindstate: Data green */
    color: #FFFFFF; /* Mindstate: White text */
    /* border: none; Already in .badge */
    box-shadow: none; /* Mindstate: Remove shadow */
    border-color: #6B8E23; /* Mindstate: Match border */
}

.badge-success {
    background: #4682B4; /* Mindstate: Data blue */
    color: #FFFFFF; /* Mindstate: White text */
    /* border: none; */
    box-shadow: none; /* Mindstate: Remove shadow */
    border-color: #4682B4; /* Mindstate: Match border */
}

.badge-warning {
    background: #BDB76B; /* Mindstate: Data yellow */
    color: #000000; /* Mindstate: Black text for contrast */
    /* border: none; */
    box-shadow: none; /* Mindstate: Remove shadow */
    border-color: #BDB76B; /* Mindstate: Match border */
}

.badge-danger {
    background: #CD853F; /* Mindstate: Data orange */
    color: #FFFFFF; /* Mindstate: White text */
    /* border: none; */
    box-shadow: none; /* Mindstate: Remove shadow */
    border-color: #CD853F; /* Mindstate: Match border */
}

/* Progress Bar - Enhanced Neumorphic */
/* Mindstate: Clean progress bar */
.progress-bar {
    width: 100%;
    height: 10px;
    background: #EBEBEB; /* Mindstate: Light gray */
    border-radius: 0; /* Mindstate: Sharp corners */
    overflow: hidden;
    box-shadow: none; /* Mindstate: Remove inset shadow */
    position: relative;
}

.progress-fill {
    height: 100%;
    background: #6B8E23; /* Mindstate: Data green */
    border-radius: 0; /* Mindstate: Sharp corners */
    transition: width var(--transition-medium) ease;
    position: relative;
    box-shadow: none; /* Mindstate: Remove shadow */
}

/* Mindstate: Remove shimmer effect */
.progress-fill::after { /* Shimmer effect on fill */
    display: none; /* Mindstate: Remove decorative shimmer */
}

/* Filters Panel - Enhanced Neumorphic (Base Structure) */
/* Mindstate: Clean filters panel */
.filters-panel {
    background: #FFFFFF; /* Mindstate: White background */
    border-radius: 0; /* Mindstate: Sharp corners */
    padding: var(--spacing-xl);
    margin-bottom: var(--spacing-xl);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Mindstate: Minimal shadow */
    position: relative;
    overflow: hidden; /* Added to ensure ::before is clipped if panel has border-radius */
    border: 1px solid #F4F4F4; /* Mindstate: Light border */
}

/* Mindstate: Solid accent line instead of gradient */
.filters-panel::before { /* Top decorative highlight */
    content: '';
    position: absolute;
    top: 0; /* Changed from -1px */
    left: 0; /* Changed from 20% */
    right: 0; /* Changed from 20% */
    height: 3px; /* Changed from 2px */
    background: #6B8E23; /* Mindstate: Data green solid color */
    opacity: 1; /* Changed from 0.5 */
    /* animation: gradientShimmer 3s ease-in-out infinite; REMOVED */
}

.filters-panel h3 {
    margin-bottom: var(--spacing-lg);
    color: #000000; /* Mindstate: Pure black */
    font-weight: 600;
    text-align: center;
    text-transform: uppercase;
    font-size: 0.9rem;
    letter-spacing: 0.05em; /* Mindstate: Wide letter spacing for uppercase */
}

/* Mindstate: Clean filter group */
.filter-group { /* Grouping for related filter inputs */
    margin-bottom: var(--spacing-md);
    padding: var(--spacing-md);
    background: #FAFAFA; /* Mindstate: Very light gray */
    border-radius: 0; /* Mindstate: Sharp corners */
    box-shadow: none; /* Mindstate: Remove shadow */
    border: 1px solid #EBEBEB; /* Mindstate: Light border */
}

/* Chart Container - Enhanced Neumorphic (Base) */
/* Mindstate: Clean chart container */
.chart-container {
    position: relative;
    height: 400px; /* Default height, can be overridden */
    margin: var(--spacing-lg) 0;
    padding: var(--spacing-md);
    background: #FFFFFF; /* Mindstate: White background */
    border-radius: 0; /* Mindstate: Sharp corners */
    box-shadow: none; /* Mindstate: Remove inset shadow */
    border: 1px solid #F4F4F4; /* Mindstate: Light border */
}

.chart-container canvas {
    border-radius: 0; /* Mindstate: Sharp corners */
}

/* Grid Layouts (Shared) */
.two-column {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-lg);
    align-items: start; /* Prevent items from stretching vertically */
}

.three-column {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-lg);
    align-items: start; /* Prevent items from stretching vertically */
}

/* Accordion Styles - Enhanced Neumorphic (Base) */
.accordion-item {
    margin-bottom: var(--spacing-md);
}

/* Mindstate: Clean accordion header */
.accordion-header {
    width: 100%;
    padding: var(--spacing-md) var(--spacing-lg);
    background: #FAFAFA; /* Mindstate: Very light gray */
    border: 1px solid #F4F4F4; /* Mindstate: Light border */
    border-radius: 0; /* Mindstate: Sharp corners */
    cursor: pointer;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 500;
    color: #000000; /* Mindstate: Pure black */
    text-align: left;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Mindstate: Minimal shadow */
    transition: all var(--transition-fast) ease;
    display: flex; /* For aligning title and icon */
    justify-content: space-between;
    align-items: center;
    position: relative;
    overflow: hidden; /* For ::before animation */
}

/* Mindstate: Remove hover animation */
.accordion-header::before { /* Hover animation */
    display: none; /* Mindstate: Remove animated effect */
}

.accordion-header:hover {
    transform: translateY(-2px);
    color: #6B8E23; /* Mindstate: Data green */
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); /* Mindstate: Subtle shadow */
}

.accordion-header.active {
    background: #F0F8F0; /* Mindstate: Very light green tint */
    color: #000000; /* Mindstate: Pure black */
    border-radius: 0; /* Mindstate: Sharp corners */
    box-shadow: none; /* Mindstate: Remove inset shadow */
    border: 1px solid #6B8E23; /* Mindstate: Data green border */
}

/* Mindstate: Clean accordion content */
.accordion-content {
    display: none;
    padding: var(--spacing-lg);
    background: #FFFFFF; /* Mindstate: White background */
    border-radius: 0; /* Mindstate: Sharp corners */
    margin-top: 0; /* Remove space if directly connected to header */
    box-shadow: none; /* Mindstate: Remove shadow */
    position: relative; /* For z-indexing or ::before/::after if needed */
    border: 1px solid #F4F4F4; /* Mindstate: Light border */
    border-top: none; /* Connected to header */
}

.accordion-content.active {
    display: block;
    animation: accordionSlideDown 0.3s ease; /* Defined in Global */
}

/* Loading State (Generic) */
.loading {
    text-align: center;
    padding: var(--spacing-xxl);
    color: #8B9187; /* Mindstate: Medium gray */
}

.spinner {
    display: inline-block;
    width: 40px;
    height: 40px;
    border: 3px solid #F4F4F4; /* Mindstate: Light gray track */
    border-top-color: #6B8E23; /* Mindstate: Data green spinner */
    border-radius: 50%;
    animation: spin 1s linear infinite; /* Defined in Global */
}

/* Modal Styles - Enhanced Neumorphic (Base) */
/* Mindstate: Clean modal styling */
.modal {
    display: none; /* Hidden by default */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3); /* Semi-transparent backdrop */
    backdrop-filter: blur(5px); /* Frosted glass effect */
    z-index: 1000; /* Above other content */
    animation: fadeIn 0.3s ease; /* Defined in Global */
}

.modal.active { /* Class to show modal */
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Mindstate: Clean modal content */
.modal-content {
    background: #FFFFFF; /* Mindstate: White background */
    border-radius: 0; /* Mindstate: Sharp corners */
    padding: 0; /* Padding will be in header/body */
    max-width: 650px; /* Default max width */
    max-height: 80vh; /* Default max height */
    overflow: hidden; /* Crucial for rounded corners and contained scrolling */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); /* Mindstate: Single shadow */
    display: flex; /* Added to allow flex-direction column */
    flex-direction: column; /* Added to stack header and content */
    /* animation: fadeInUp 0.3s ease; /* Defined in Global, applies when content appears */
}

/* Mindstate: Solid accent line */
.modal-content::before { /* Decorative top highlight */
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: #6B8E23; /* Mindstate: Data green solid color */
    border-radius: 0; /* Mindstate: Sharp corners */
}

/* Mindstate: Clean modal header */
.modal-header {
    background: #FAFAFA; /* Mindstate: Very light gray */
    padding: var(--spacing-lg);
    border-bottom: 1px solid #3B3B3B; /* Mindstate: Dark border */
    margin-bottom: 0; /* No space between header and content typically */
    position: relative; /* For pseudo-elements or absolute positioning inside */
    overflow: hidden; /* If using ::before/::after animations */
    display: flex; /* For aligning title and close button */
    justify-content: space-between;
    align-items: center;
}

.modal-close {
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    color: #8B9187; /* Mindstate: Medium gray */
    transition: color var(--transition-fast) ease;
    padding: 0; /* Reset padding */
    line-height: 1; /* Ensure consistent height */
}

.modal-close:hover {
    color: #000000; /* Mindstate: Black on hover */
}

/* Expandable Effect Item (Generic, used in Symptom Modal, Disorder Analysis) */
.effect-item { /* Base container for an expandable effect */
    margin-bottom: var(--spacing-sm);
    /* Border/background might be added by specific implementations */
}

/* Mindstate: Clean effect item header */
.effect-item-header {
    cursor: pointer;
    padding: var(--spacing-sm) var(--spacing-md);
    background: #FAFAFA; /* Mindstate: Very light gray */
    border-radius: 0; /* Mindstate: Sharp corners */
    margin-bottom: var(--spacing-xs); /* Space if rationale is separate */
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all var(--transition-fast) ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Mindstate: Minimal shadow */
    border: 1px solid #F4F4F4; /* Mindstate: Light border */
}

.effect-item-header:hover {
    background: #F4F4F4; /* Mindstate: Light gray on hover */
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); /* Mindstate: Subtle shadow */
}

.effect-item-header:active {
    transform: translateY(0);
    box-shadow: none; /* Mindstate: Remove inset shadow */
}

.effect-item-header .effect-name {
    font-weight: 500;
    color: #000000; /* Mindstate: Pure black */
    flex-grow: 1; /* Allow name to take available space */
}

.effect-item-header .expand-indicator {
    font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; /* Good for symbols like +/- */
    font-size: 0.9em;
    color: #6B8E23; /* Mindstate: Data green */
    transition: transform var(--transition-fast) ease;
    margin-left: var(--spacing-sm); /* Space from name */
}
/* .effect-item-header.active .expand-indicator { transform: rotate(45deg); } /* Example for '+' turning to 'x' */

/* Mindstate: Clean effect rationale */
.effect-rationale { /* Content area for the effect details/rationale */
    display: none; /* Hidden by default */
    padding: var(--spacing-md);
    margin-left: var(--spacing-md); /* Indent if desired */
    border-left: 3px solid #6B8E23; /* Mindstate: Data green accent */
    font-size: 0.9em;
    background: #FAFAFA; /* Mindstate: Very light gray */
    border-radius: 0; /* Mindstate: Sharp corners */
    margin-top: -5px; /* Overlap slightly with header if connected */
    margin-bottom: var(--spacing-sm);
    box-shadow: none; /* Mindstate: Remove inset shadow */
}

.effect-rationale.active {
    display: block;
    animation: slideDown 0.2s ease; /* Defined in Global */
}

.effect-rationale p {
    margin-bottom: var(--spacing-xs);
    color: #3B3B3B; /* Mindstate: Dark gray */
}

.effect-rationale .badge { /* Badges within rationale */
    margin-right: var(--spacing-xs);
    font-size: 0.85em; /* Slightly smaller badges */
}

/* Word Cloud Styles (Generic) */
/* Mindstate: Clean word cloud */
.word-cloud {
    text-align: center;
    padding: var(--spacing-lg);
    background: #FAFAFA; /* Mindstate: Very light gray */
    border-radius: 0; /* Mindstate: Sharp corners */
    box-shadow: none; /* Mindstate: Remove inset shadow */
    border: 1px solid #F4F4F4; /* Mindstate: Light border */
}

/* Mindstate: Clean word cloud items */
.word-cloud span { /* Individual words */
    display: inline-block;
    margin: var(--spacing-xs);
    padding: var(--spacing-xs) var(--spacing-sm);
    background: #FFFFFF; /* Mindstate: White background */
    border-radius: 0; /* Mindstate: Sharp corners */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Mindstate: Minimal shadow */
    cursor: pointer;
    transition: all var(--transition-fast) ease;
    position: relative;
    border: 1px solid #EBEBEB; /* Mindstate: Light border */
}

.word-cloud span:hover {
    transform: translateY(-2px) scale(1.05);
    color: #6B8E23; /* Mindstate: Data green */
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); /* Mindstate: Subtle shadow */
    border-color: #6B8E23; /* Mindstate: Data green border */
}

.word-cloud span:active {
    transform: translateY(0) scale(1);
    box-shadow: none; /* Mindstate: Remove inset shadow */
}

/* Styles for Market Analysis Inline View - Main Container Card */
/* Mindstate: Clean market analysis container */
#fullMarketAnalysisContainer { /* WAS: .market-analysis-main-card */
    background: #FFFFFF; /* Mindstate: White background */
    border-radius: 0; /* Mindstate: Sharp corners */
    padding: var(--spacing-xl);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Mindstate: Minimal shadow */
    border: 1px solid #F4F4F4; /* Mindstate: Light border */
    position: relative;
    /* display: flex; flex-direction: column; gap: var(--spacing-lg); /* Removed flex here, tabs and content block will handle layout */
    margin-top: var(--spacing-lg); /* This was inline, good to have it here */
    overflow: hidden; /* Ensure ::before is clipped to border-radius */
}

/* Market Size Executive Summary Styles */
/* Mindstate: Clean executive summary */
.market-executive-summary {
    background: #FAFAFA; /* Mindstate: Very light gray */
    border-radius: 0; /* Mindstate: Sharp corners */
    padding: var(--spacing-md);
    margin-bottom: var(--spacing-md);
    box-shadow: none; /* Mindstate: Remove inset shadow */
    min-height: auto;
    overflow: visible;
    border: 1px solid #F4F4F4; /* Mindstate: Light border */
}

.market-executive-summary h3 {
    font-size: 1.1rem !important;
    margin-bottom: var(--spacing-md) !important;
    padding-bottom: var(--spacing-sm) !important;
    color: #000000 !important; /* Mindstate: Pure black */
    font-weight: 600 !important;
    position: relative !important;
    padding-left: var(--spacing-md) !important;
    letter-spacing: -0.02em !important; /* Mindstate: Tighter letter spacing */
}

.market-executive-summary h3::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 70%;
    background: #6B8E23; /* Mindstate: Data green */
    border-radius: 0; /* Mindstate: Sharp corners */
}

.market-kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--spacing-sm);
    margin-bottom: var(--spacing-md);
}

/* Mindstate: Clean KPI card */
.market-kpi-card {
    background: #FFFFFF; /* Mindstate: White background */
    border-radius: 0; /* Mindstate: Sharp corners */
    padding: var(--spacing-sm);
    text-align: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Mindstate: Minimal shadow */
    transition: all var(--transition-fast) ease;
    border: 1px solid #F4F4F4; /* Mindstate: Light border */
}

.market-kpi-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); /* Mindstate: Subtle shadow */
}

.market-kpi-icon {
    font-size: 1.5rem;
    margin-bottom: var(--spacing-xs);
    opacity: 0.9;
}

.market-kpi-value {
    font-size: 1.8rem;
    font-weight: 300; /* Mindstate: Lighter weight for large numbers */
    color: #000000; /* Mindstate: Pure black */
    font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    margin-bottom: var(--spacing-xs);
    letter-spacing: -0.04em; /* Mindstate: Tighter letter spacing */
}

.market-kpi-label {
    font-size: 0.8rem;
    color: #8B9187; /* Mindstate: Medium gray */
    text-transform: uppercase;
    letter-spacing: 0.05em; /* Mindstate: Wide letter spacing */
}

.market-kpi-context {
    font-size: 0.75rem;
    color: #8B9187; /* Mindstate: Medium gray */
    margin-top: var(--spacing-xs);
}

/* Market Visualization Mini Chart */
/* Mindstate: Clean mini visualization */
.market-mini-visualization {
    margin-top: var(--spacing-md);
    min-height: 80px;
    position: relative;
    background: #FFFFFF; /* Mindstate: White background */
    border-radius: 0; /* Mindstate: Sharp corners */
    padding: var(--spacing-sm);
    box-shadow: none; /* Mindstate: Remove inset shadow */
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
    border: 1px solid #F4F4F4; /* Mindstate: Light border */
}

/* Market Section Separators */
/* Mindstate: Simple line separator */
.market-section-separator {
    height: 1px;
    background: #EBEBEB; /* Mindstate: Light gray solid line */
    margin: var(--spacing-lg) 0;
    opacity: 0.3;
}

/* Market Accordion Sections */
/* Mindstate: Clean accordion sections */
.market-accordion-section {
    margin-bottom: var(--spacing-sm);
    background: #FAFAFA; /* Mindstate: Very light gray */
    border-radius: 0; /* Mindstate: Sharp corners */
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Mindstate: Minimal shadow */
    border: 1px solid #F4F4F4; /* Mindstate: Light border */
}

.market-accordion-header {
    padding: var(--spacing-md) var(--spacing-lg);
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all var(--transition-fast) ease;
    user-select: none;
}

.market-accordion-header h4 {
    margin: 0 !important; /* Override .card h4 margins */
    padding: 0 0 var(--spacing-xs) 0 !important; /* Add bottom padding to compensate for removed green line */
    font-size: 0.95rem;
    color: #000000; /* Mindstate: Pure black */
    font-weight: 600;
    line-height: 1.4 !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    letter-spacing: -0.02em !important; /* Mindstate: Tighter letter spacing */
}

/* Remove any pseudo-elements from market accordion h4s */
.market-accordion-header h4::before,
.market-accordion-header h4::after {
    display: none !important;
    content: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    width: 0 !important;
    position: static !important;
}

.market-accordion-header:hover {
    background: #F4F4F4; /* Mindstate: Light gray */
}

.market-accordion-content {
    display: none;
    padding: var(--spacing-md) var(--spacing-lg);
    animation: slideDown 0.3s ease;
}

.market-accordion-content.active {
    display: block;
}

/* Ensure h4 elements inside accordion content areas maintain normal spacing */
.market-accordion-content h4 {
    margin: 15px 0 10px 0; /* Restore normal .card h4 margins for content */
    display: block; /* Reset to block display for content h4s */
    height: auto;
    line-height: normal;
}

/* Market Breakdown Table */
/* Mindstate: Clean breakdown table */
.market-breakdown-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.market-breakdown-table th {
    background: #FAFAFA; /* Mindstate: Very light gray */
    padding: var(--spacing-sm);
    text-align: left;
    font-weight: 600;
    color: #000000; /* Mindstate: Pure black */
    border-bottom: 2px solid #3B3B3B; /* Mindstate: Dark gray underline */
    text-transform: uppercase; /* Mindstate: Uppercase headers */
    letter-spacing: 0.05em; /* Mindstate: Wide letter spacing */
}

.market-breakdown-table td {
    padding: var(--spacing-sm);
    border-bottom: 1px solid #F4F4F4; /* Mindstate: Light border */
}

.market-mini-bar {
    height: 20px;
    border-radius: 0; /* Mindstate: Sharp corners */
    transition: width 1s ease;
    box-shadow: none; /* Mindstate: Remove inset shadow */
}

/* Treatment Journey Compact */
.treatment-journey-compact {
    display: flex;
    align-items: center;
    justify-content: space-around;
    padding: var(--spacing-md);
}

.journey-step {
    text-align: center;
    flex: 1;
}

.journey-icon {
    font-size: 2rem;
    margin-bottom: var(--spacing-xs);
}

.journey-value {
    font-size: 1.5rem;
    font-weight: 300; /* Mindstate: Lighter weight for large numbers */
    color: #000000; /* Mindstate: Pure black */
    font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    letter-spacing: -0.04em; /* Mindstate: Tighter letter spacing */
}

.journey-label {
    font-size: 0.85rem;
    color: #8B9187; /* Mindstate: Medium gray */
    text-transform: uppercase;
    letter-spacing: 0.05em; /* Mindstate: Wide letter spacing */
    margin-top: var(--spacing-xs);
}

.journey-rate {
    font-size: 0.8rem;
    color: #6B8E23; /* Mindstate: Data green */
    font-weight: 600;
    margin-top: var(--spacing-xs);
}

.journey-arrow {
    font-size: 1.5rem;
    color: #8B9187; /* Mindstate: Medium gray */
    margin: 0 var(--spacing-sm);
}

/* Methodology Section */
/* Mindstate: Clean formula box */
.formula-box {
    background: #FFFFFF; /* Mindstate: White background */
    border-radius: 0; /* Mindstate: Sharp corners */
    padding: var(--spacing-md);
    font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 0.9rem;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Mindstate: Minimal shadow */
    margin: var(--spacing-sm) 0;
    border: 1px solid #F4F4F4; /* Mindstate: Light border */
}

.assumptions-list {
    list-style: none;
    padding: 0;
}

/* Mindstate: Clean list items */
.assumptions-list li {
    background: #FFFFFF; /* Mindstate: White background */
    padding: var(--spacing-sm);
    margin-bottom: var(--spacing-xs);
    border-radius: 0; /* Mindstate: Sharp corners */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Mindstate: Minimal shadow */
    padding-left: calc(var(--spacing-sm) + 16px);
    position: relative;
    border: 1px solid #F4F4F4; /* Mindstate: Light border */
}

.assumptions-list li::before {
    content: '•';
    position: absolute;
    left: var(--spacing-sm);
    color: #6B8E23; /* Mindstate: Data green */
    font-weight: bold;
}

/* Funnel Visualization Styles */
.funnel-visualization {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--spacing-md);
}

/* Mindstate: Clean funnel step */
.funnel-step {
    background: #FFFFFF; /* Mindstate: White background */
    border-radius: 0; /* Mindstate: Sharp corners */
    padding: var(--spacing-md);
    text-align: center;
    width: 100%;
    max-width: 400px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Mindstate: Minimal shadow */
    margin-bottom: var(--spacing-sm);
    border: 1px solid #F4F4F4; /* Mindstate: Light border */
}

.funnel-label {
    font-size: 0.9rem;
    color: #8B9187; /* Mindstate: Medium gray */
    margin-bottom: var(--spacing-xs);
}

.funnel-value {
    font-size: 1.5rem;
    font-weight: 300; /* Mindstate: Lighter weight for large numbers */
    color: #000000; /* Mindstate: Pure black */
    font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    letter-spacing: -0.04em; /* Mindstate: Tighter letter spacing */
}

.funnel-rate {
    font-size: 0.85rem;
    color: #6B8E23; /* Mindstate: Data green */
    margin-top: var(--spacing-xs);
}

.funnel-arrow {
    font-size: 1.5rem;
    color: #8B9187; /* Mindstate: Medium gray */
    margin: var(--spacing-xs) 0;
}

/* Market Metrics Grid */
.market-metrics-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--spacing-md);
    padding: var(--spacing-md);
}

/* Mindstate: Clean metric item */
.market-metric-item {
    background: #FFFFFF; /* Mindstate: White background */
    border-radius: 0; /* Mindstate: Sharp corners */
    padding: var(--spacing-md);
    text-align: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Mindstate: Minimal shadow */
    border: 1px solid #F4F4F4; /* Mindstate: Light border */
}

.market-metric-item .metric-label {
    font-size: 0.85rem;
    color: #8B9187; /* Mindstate: Medium gray */
    text-transform: uppercase;
    letter-spacing: 0.05em; /* Mindstate: Wide letter spacing */
    margin-bottom: var(--spacing-xs);
}

.market-metric-item .metric-value {
    font-size: 1.3rem;
    font-weight: 300; /* Mindstate: Lighter weight for numbers */
    color: #000000; /* Mindstate: Pure black */
    font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    margin-bottom: var(--spacing-xs);
    letter-spacing: -0.04em; /* Mindstate: Tighter letter spacing */
}

.market-metric-item .metric-confidence {
    font-size: 0.8rem;
    padding: 2px 8px;
    border-radius: 0; /* Mindstate: Sharp corners */
    display: inline-block;
}

/* Data Quality Summary */
.data-quality-summary {
    display: flex;
    align-items: center;
    gap: var(--spacing-xl);
    padding: var(--spacing-md);
}

/* Mindstate: Clean quality score circle */
.quality-score-circle {
    background: #FFFFFF; /* Mindstate: White background */
    border-radius: 50%; /* Keep circular */
    width: 120px;
    height: 120px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); /* Mindstate: Subtle shadow */
    border: 1px solid #F4F4F4; /* Mindstate: Light border */
}

.score-value {
    font-size: 2rem;
    font-weight: 300; /* Mindstate: Lighter weight */
    color: #000000; /* Mindstate: Pure black */
    font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    letter-spacing: -0.04em; /* Mindstate: Tighter letter spacing */
}

.score-label {
    font-size: 0.8rem;
    color: #8B9187; /* Mindstate: Medium gray */
}

.confidence-breakdown {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

/* Mindstate: Clean confidence item */
.confidence-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-sm);
    background: #FFFFFF; /* Mindstate: White background */
    border-radius: 0; /* Mindstate: Sharp corners */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Mindstate: Minimal shadow */
    border: 1px solid #F4F4F4; /* Mindstate: Light border */
}

.confidence-metric {
    font-size: 0.9rem;
    color: #000000; /* Mindstate: Pure black */
}

/* Confidence Level Styles */
/* Mindstate: Simplified confidence levels with solid colors */
.confidence-high {
    background: #F0F8F0; /* Mindstate: Very light green tint */
    color: #000000; /* Mindstate: Black text */
    border: 1px solid #6B8E23; /* Mindstate: Data green border */
}

.confidence-medium {
    background: #FFFEF0; /* Mindstate: Very light yellow tint */
    color: #000000; /* Mindstate: Black text */
    border: 1px solid #BDB76B; /* Mindstate: Data yellow border */
}

.confidence-low {
    background: #FFF5F0; /* Mindstate: Very light orange tint */
    color: #000000; /* Mindstate: Black text */
    border: 1px solid #CD853F; /* Mindstate: Data orange border */
}

.confidence-verylow,
.confidence-insufficient {
    background: #FFF0F0; /* Mindstate: Very light red tint */
    color: #000000; /* Mindstate: Black text */
    border: 1px solid #CD853F; /* Mindstate: Data orange border */
}

/* Market References */
/* Mindstate: Clean references section */
.market-references-section {
    margin-top: var(--spacing-lg);
    background: #FAFAFA; /* Mindstate: Very light gray */
    border-radius: 0; /* Mindstate: Sharp corners */
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Mindstate: Minimal shadow */
    border: 1px solid #F4F4F4; /* Mindstate: Light border */
}

.market-references-header {
    padding: var(--spacing-sm) var(--spacing-md);
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all var(--transition-fast) ease;
    user-select: none;
    background: #F0F8F0; /* Mindstate: Very light green tint */
}

.market-references-header:hover {
    background: #E8F5E8; /* Mindstate: Slightly darker green tint */
}

.market-references-header h4 {
    margin: 0;
    font-size: 0.95rem;
    color: #000000; /* Mindstate: Pure black */
    font-weight: 600;
    letter-spacing: -0.02em; /* Mindstate: Tighter letter spacing */
}

.market-references-content {
    display: none;
    padding: var(--spacing-md);
    background: #F0F8F0; /* Mindstate: Very light green tint */
    animation: slideDown 0.3s ease;
}

.market-references-content.active {
    display: block;
}

.market-reference-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-sm);
}

.market-reference-item {
    margin: 0;
}

/* Mindstate: Clean reference links */
.market-reference-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    background: #FFFFFF; /* Mindstate: White background */
    padding: 4px 10px;
    border-radius: 0; /* Mindstate: Sharp corners */
    font-size: 0.8rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Mindstate: Minimal shadow */
    border: 1px solid #F4F4F4; /* Mindstate: Light border */
    transition: all var(--transition-fast) ease;
    color: #3B3B3B; /* Mindstate: Dark gray */
}

.market-reference-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); /* Mindstate: Subtle shadow */
    background-color: #F0F8F0; /* Mindstate: Very light green tint */
}

.market-reference-number {
    font-weight: 600;
    margin-right: 6px;
    background: none; /* Mindstate: Remove gradient */
    -webkit-background-clip: unset;
    -webkit-text-fill-color: #6B8E23; /* Mindstate: Data green */
    background-clip: unset;
    color: #6B8E23; /* Mindstate: Data green */
}

/* Mindstate: Solid accent line for market analysis container */
#fullMarketAnalysisContainer::before { /* Top highlight for the main container card */
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0; /* Replaces width: 100% */
    height: 4px; /* Match other cards */
    background: #6B8E23; /* Mindstate: Data green solid color */
    z-index: 1;
    /* border-top-left-radius and border-top-right-radius removed, relies on parent overflow:hidden */
}

/* Adjustments for the tab navigation within the main market analysis card */
/* Mindstate: Clean tab navigation */
#fullMarketAnalysisContainer .tabs {
    display: flex;
    flex-wrap: wrap; /* Allow tabs to wrap to next line */
    gap: var(--spacing-xs); /* Add gap between tabs */
    margin-left: calc(-1 * var(--spacing-xl)); /* Counteract parent padding */
    margin-right: calc(-1 * var(--spacing-xl)); /* Counteract parent padding */
    margin-top: calc(-1 * var(--spacing-xl)); /* Counteract parent padding */
    padding: var(--spacing-md) var(--spacing-xl) var(--spacing-sm) var(--spacing-xl); /* Add own padding */
    border-bottom: 1px solid #F4F4F4; /* Mindstate: Light border */
    border-top-left-radius: 0; /* Mindstate: Sharp corners */
    border-top-right-radius: 0; /* Mindstate: Sharp corners */
    background: #FAFAFA; /* Mindstate: Very light gray */
    box-shadow: none; /* Remove any default .tabs shadow if it existed */
    margin-bottom: var(--spacing-lg); /* Space before tab content */
    overflow-x: visible; /* Override any scroll behavior */
}

#fullMarketAnalysisContainer .tabs .tab {
    /* Custom styling for tabs within this container if needed, e.g., softer look */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Mindstate: Minimal shadow */
}
#fullMarketAnalysisContainer .tabs .tab.active {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); /* Mindstate: Subtle shadow */
}


/* Styles for sub-cards within the Market Analysis main card's tab content */
/* Mindstate: Clean sub-cards */
#fullMarketAnalysisContainer .tab-content > .card {
    box-shadow: none; /* Mindstate: Remove inset shadow */
    border: 1px solid #F4F4F4; /* Mindstate: Light border */
    background: #FFFFFF; /* Mindstate: White background */
    border-radius: 0; /* Mindstate: Sharp corners */
    padding: var(--spacing-lg);
    margin-bottom: var(--spacing-lg); /* Space between sub-cards if multiple in one tab panel */
}

#fullMarketAnalysisContainer .tab-content > .card:last-child {
    margin-bottom: 0;
}

#fullMarketAnalysisContainer .tab-content > .card:hover {
    transform: none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Mindstate: Minimal shadow */
}

#fullMarketAnalysisContainer .tab-content > .card::before { 
    display: none; /* Remove the individual top highlight from sub-cards */
}

/* =============================================================================
   UNIFIED EMPTY STATE CARD STYLING
   Consistent styling for "No Data" cards across all modules
   ============================================================================= */
.empty-state-card {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
}

.empty-state-inner {
    background: linear-gradient(145deg, var(--card-bg), var(--color-bg-light));
    border-radius: 16px;
    padding: 24px;
    text-align: center;
    max-width: 400px;
    box-shadow: 6px 6px 12px var(--color-shadow-dark), -6px -6px 12px var(--color-shadow-light);
    position: relative;
    overflow: hidden;
}

.empty-state-icon {
    width: 50px;
    height: 50px;
    margin: 0 auto 16px;
    background: linear-gradient(145deg, var(--primary-lighter), var(--color-bg-light));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    box-shadow: 3px 3px 6px var(--color-shadow-dark), -3px -3px 6px var(--color-shadow-light);
    color: var(--primary);
}

.empty-state-icon i {
    width: 24px;
    height: 24px;
}

.empty-state-title {
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    color: var(--color-text-dark) !important;
    margin-bottom: 8px !important;
    border: none !important;
    padding-bottom: 0 !important;
}

/* Remove any pseudo-elements from empty state titles */
.empty-state-title::before,
.empty-state-title::after {
    display: none !important;
}

.empty-state-description {
    color: var(--color-text);
    margin-bottom: 16px;
    line-height: 1.5;
    font-size: 0.9rem;
}

.empty-state-button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #6B8E23; /* Mindstate: Solid data green */
    color: white !important;
    padding: 8px 20px;
    border-radius: 8px;
    text-decoration: none !important;
    font-weight: 500;
    font-size: 0.9rem;
    box-shadow: 2px 2px 4px rgba(174, 178, 196, 0.5), -2px -2px 4px rgba(255, 255, 255, 0.8);
    transition: all 0.3s ease;
    cursor: pointer;
    border: none !important;
    border-bottom: none !important;
    outline: none !important;
}

.empty-state-button span {
    color: white !important;
    display: inline-block;
    text-decoration: none !important;
}

.empty-state-button:hover {
    transform: translateY(-2px);
    box-shadow: 4px 4px 8px rgba(174, 178, 196, 0.5), -4px -4px 8px rgba(255, 255, 255, 0.8);
    background: #4A6319; /* Mindstate: Darker green on hover */
    color: white;
    text-decoration: none !important;
    border: none !important;
    border-bottom: none !important;
    outline: none !important;
}

.empty-state-button:active {
    transform: translateY(0);
    box-shadow: 2px 2px 4px rgba(174, 178, 196, 0.5), -2px -2px 4px rgba(255, 255, 255, 0.8);
    background: #6B8E23; /* Back to original on active */
}

.empty-state-decoration {
    position: absolute;
    top: -30px;
    right: -30px;
    width: 100px;
    height: 100px;
    background: linear-gradient(135deg, var(--primary-lighter), transparent);
    border-radius: 50%;
    opacity: 0.1;
}

/* =============================================================================
   UNIFIED CHEVRON ICON STYLING
   All expandable/collapsible elements use the same chevron appearance
   Simple text swap approach - no rotation
   ============================================================================= */
.chevron-icon {
    font-size: 1.2rem !important;
    color: #6B8E23 !important; /* Mindstate: Data green */
    display: inline-block !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    width: 1.2rem !important;
    height: 1.2rem !important;
    text-align: center !important;
    transition: color 0.3s ease !important; /* Only transition color, not transform */
}

/* Hover effect for all chevrons */
.chevron-icon:hover,
.accordion-header:hover .chevron-icon,
.pipeline-step-header:hover .chevron-icon,
.prevalence-section-header:hover .chevron-icon,
.step-description-container:hover .chevron-icon,
.effect-item-header:hover .chevron-icon {
    color: #000000 !important; /* Mindstate: Black on hover */
}

/* Research Pipeline Styles */
.research-pipeline-container {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Mindstate: Clean pipeline step */
.pipeline-step {
    background: #FFFFFF;
    border-radius: 0; /* Mindstate: Sharp corners */
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Mindstate: Minimal shadow */
    transition: all 0.3s ease;
    border: 1px solid #F4F4F4; /* Mindstate: Light border */
}

.pipeline-step:hover {
    transform: translateY(-2px);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); /* Mindstate: Subtle shadow */
}

.pipeline-step-header {
    display: flex;
    align-items: center;
    padding: 1.5rem;
    cursor: pointer;
    gap: 1rem;
    background: #FFFFFF; /* Mindstate: White background */
    border-bottom: 1px solid #F4F4F4; /* Mindstate: Light border */
    transition: background-color 0.2s ease;
}

.pipeline-step-header:hover {
    background: #FAFAFA; /* Mindstate: Very light gray */
}

/* Mindstate: Clean step number */
.pipeline-step-number {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: 700;
    color: #FFFFFF;
    background: #6B8E23; /* Mindstate: Data green */
    border-radius: 50%; /* Keep circular */
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); /* Mindstate: Minimal shadow */
    flex-shrink: 0;
}

.pipeline-step-title {
    flex: 1;
}

.pipeline-step-title h4 {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 600;
    color: #000000; /* Mindstate: Pure black */
    letter-spacing: -0.02em; /* Mindstate: Tighter letter spacing */
}

.pipeline-step-description {
    margin: 0.25rem 0 0 0;
    font-size: 0.875rem;
    color: #8B9187; /* Mindstate: Medium gray */
    line-height: 1.4;
}

/* Chevron styling moved to unified chevron-icon class above */

.pipeline-step-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.pipeline-step-content.expanded {
    max-height: 2000px;
}

.pipeline-step-details {
    padding: 2rem;
    background: #FAFBFC;
}

.pipeline-step-details h5 {
    font-size: 1.1rem;
    font-weight: 600;
    color: #000000; /* Mindstate: Pure black */
    margin: 0 0 1rem 0;
    letter-spacing: -0.02em; /* Mindstate: Tighter letter spacing */
}

.pipeline-step-details h5:not(:first-child) {
    margin-top: 2rem;
}

.pipeline-step-details ul {
    margin: 0.5rem 0;
    padding-left: 1.5rem;
    color: #3B3B3B; /* Mindstate: Dark gray */
}

.pipeline-step-details li {
    margin-bottom: 0.5rem;
    line-height: 1.5;
}

.pipeline-step-details p {
    margin: 0.5rem 0;
    color: #3B3B3B; /* Mindstate: Dark gray */
    line-height: 1.6;
}

/* Mindstate: Clean code block */
.code-block {
    position: relative;
    background: #1E1E1E;
    border-radius: 0; /* Mindstate: Sharp corners */
    padding: 1rem;
    margin: 1rem 0;
    overflow: hidden;
}

.code-block pre {
    margin: 0;
    overflow-x: auto;
    color: #D4D4D4;
    font-family: 'Open Sans', 'Consolas', 'Monaco', monospace;
    font-size: 0.875rem;
    line-height: 1.5;
    white-space: pre-wrap;
    word-wrap: break-word;
}

.code-block code {
    background: none;
    padding: 0;
    border-radius: 0;
    font-size: inherit;
}

/* Mindstate: Clean copy button */
.copy-btn {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    padding: 0.5rem 1rem;
    background: rgba(255, 255, 255, 0.1);
    color: #D4D4D4;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 0; /* Mindstate: Sharp corners */
    font-size: 0.75rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.copy-btn:hover {
    background: rgba(255, 255, 255, 0.2);
    color: #FFFFFF;
    transform: translateY(-1px);
}

.copy-btn:active {
    transform: translateY(0);
}

.copy-btn.copied {
    background: #6B8E23; /* Mindstate: Data green */
    color: white;
    border-color: #6B8E23; /* Mindstate: Data green */
}

.disorder-name-inline {
    font-weight: 600;
    color: #6B8E23; /* Mindstate: Data green */
}