       * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        :root {
            --base-color-brand--main: #1EC99D;
            --base-color-brand--secondary: #19b482;
            --base-color-brand--light-blue: #B8D8E8;
            --base-color-brand--button-secondary: #4A9FB5;
            --base-color-neutral--black: #2C5F6F;
            --base-color-brand--gold: #D4AF7A;
            --base-color-brand--white: #FFFFFF;
            --base-color-brand--light-grey: #D8E8ED;
        }

        body {
            font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
            background: linear-gradient(135deg, #B8D8E8 0%, #C5E1ED 50%, #A8CDD8 100%);
            min-height: 100vh;
            overflow-x: hidden;
            position: relative;
        }

        /* Hero Animation Background */
        .hero-animation {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100vh;
            z-index: 0;
            pointer-events: none;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .hero-graphic-wrap {
            position: relative;
            width: 1096px;
            height: 902px;
            max-width: 90vw;
            max-height: 90vh;
        }

        .hero_blur {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 100%;
            height: 100%;
            object-fit: contain;
            opacity: 0.4;
        }

        .hero_group {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
        }

        .hero_img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: contain;
        }

        .hero_img.is-placeholder {
            opacity: 0;
        }

        .hero_img.is-logo {
            z-index: 5;
        }

        /* Circle rotation animations will be handled by GSAP */
        .hero_img.is-circle {
            transform-origin: center center;
        }

        .hero_img.is-tentacle {
            animation: float 4s ease-in-out infinite;
        }

        @keyframes float {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-10px); }
        }

        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }

        /* Main Content Overlay */
        .content-overlay {
            position: relative;
            z-index: 10;
            animation: slideUp 1s ease-out 1.5s both;
        }

        @keyframes slideUp {
            from {
                opacity: 0;
                transform: translateY(40px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* Navbar */
        .navbar {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 100;
            background: rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(20px);
            border-bottom: 1px solid rgba(255, 255, 255, 0.2);
            padding: 1rem 2rem;
            animation: slideDown 0.8s ease-out 2s both;
        }

        .nav-logo .logo-image {
            height: 60px;
            width: auto;
            object-fit: contain;
        }

        .nav-logo-right .logo-image {
            height: 60px;
        }

        @media (max-width: 768px) {
    .navbar {
        padding: 0.75rem 1rem;
    }
    
    .nav-title {
        font-size: 0.9rem;
    }
    
    .nav-logo .logo-image {
        height: 28px;
    }
    
    .nav-logo-right .logo-image {
        height: 32px;
    }
    
    .nav-logo {
        min-width: 80px;
    }
}

@media (max-width: 480px) {
    .nav-title {
        font-size: 0.8rem;
        padding: 0 0.5rem;
    }
    
    .nav-logo {
        min-width: 60px;
    }
    
    .nav-logo .logo-image {
        height: 24px;
    }
}

        @keyframes slideDown {
            from {
                opacity: 0;
                transform: translateY(-100%);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .navbar-content {
            max-width: 1400px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .logo-svg {
            height: 32px;
            width: auto;
            color: var(--base-color-neutral--black);
        }

        .nav-title {
            font-size: 1.125rem;
            font-weight: 500;
            color: var(--base-color-neutral--black);
            letter-spacing: 0.5px;
        }

        .container {
            display: flex;
            height: 100vh;
            padding-top: 80px;
            overflow: hidden;
        }

        /* Sidebar */
        .sidebar {
            width: 260px;
            background: rgba(255, 255, 255, 0.3);
            backdrop-filter: blur(20px);
            border-right: 1px solid rgba(255, 255, 255, 0.4);
            padding: 1.5rem;
            transition: all 0.3s ease;
        }

        .nav-item {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.875rem 1rem;
            margin-bottom: 0.5rem;
            border-radius: 0.5rem;
            color: var(--base-color-neutral--black);
            font-weight: 500;
            font-size: 0.95rem;
            cursor: pointer;
            transition: all 0.2s ease;
            border: none;
            background: transparent;
            width: 100%;
            text-align: left;
        }

        .nav-item.active {
            background: rgba(184, 216, 232, 0.6);
            box-shadow: 0 2px 8px rgba(74, 159, 181, 0.15);
        }

        .nav-item:hover {
            background: rgba(255, 255, 255, 0.3);
        }

        .nav-icon {
            width: 20px;
            height: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .icon-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 2px;
            width: 100%;
            height: 100%;
        }

        .icon-grid-cell {
            background: var(--base-color-brand--button-secondary);
            border-radius: 2px;
        }

        /* Main Content */
        .main-content {
            flex: 1;
            padding: 2rem;
            overflow-y: auto;
            overflow-x: hidden;
            min-height: 0; /* crucial for flex child scrolling */
        }

        .page-title {
            font-size: 2.25rem;
            font-weight: 300;
            color: var(--base-color-neutral--black);
            margin-bottom: 2rem;
            letter-spacing: -0.5px;
        }

        /* Stage Tracker */
        .stage-tracker {
            background: rgba(255, 255, 255, 0.5);
            backdrop-filter: blur(30px);
            border-radius: 1rem;
            padding: 2rem 1.5rem;
            margin-bottom: 1.5rem;
            border: 1px solid rgba(255, 255, 255, 0.6);
            box-shadow: 0 8px 32px rgba(74, 159, 181, 0.15);
            position: relative;
            overflow: hidden;
        }

        .stage-tracker-title {
            font-size: 1.125rem;
            font-weight: 600;
            color: var(--base-color-neutral--black);
            margin-bottom: 1.5rem;
            letter-spacing: 0.5px;
        }

        .stages-container {
            display: flex;
            align-items: center;
            justify-content: space-between;
            overflow: visible;
            padding: 1rem 0;
            position: relative;
        }

        /* Pipeline Background Line */
        .stages-container::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 0;
            right: 0;
            height: 3px;
            background: linear-gradient(
                to right,
                var(--base-color-brand--button-secondary) 0%,
                var(--base-color-brand--button-secondary) 80%,
                var(--base-color-brand--gold) 80%,
                var(--base-color-brand--gold) 100%
            );
            transform: translateY(-50%);
            z-index: 0;
            opacity: 0.3;
            border-radius: 999px;
        }

        .stage {
            display: flex;
            flex-direction: column;
            align-items: center;
            position: relative;
            z-index: 1;
            flex: 0 0 auto;
        }

        .stage-button {
            position: relative;
            padding: 0.875rem 1.5rem;
            border-radius: 2rem;
            font-weight: 600;
            font-size: 0.8rem;
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            white-space: nowrap;
            border: none;
            cursor: pointer;
            font-family: 'Montserrat', sans-serif;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            box-shadow: 0 4px 12px rgba(74, 159, 181, 0.0);
            transform: translateY(0);
            flex-shrink: 0;
        }

        /* Stage number badge */
        .stage-number {
            width: 24px;
            height: 24px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.75rem;
            font-weight: 700;
            background: rgba(255, 255, 255, 0.3);
            transition: all 0.3s ease;
        }

        /* Stage label underneath */
        .stage-label {
            margin-top: 0.75rem;
            font-size: 0.75rem;
            font-weight: 500;
            color: var(--base-color-neutral--black);
            opacity: 0.6;
            transition: all 0.3s ease;
        }

        /* Active state */
        .stage-button.active {
            background: linear-gradient(135deg, var(--base-color-brand--button-secondary) 0%, #3A8FA5 100%);
            color: white;
            box-shadow: 0 8px 24px rgba(74, 159, 181, 0.35);
            transform: translateY(-2px) scale(1.05);
        }

        .stage-button.active .stage-number {
            background: rgba(255, 255, 255, 0.25);
            color: white;
        }

        .stage-button.active + .stage-label {
            opacity: 1;
            font-weight: 600;
        }

        /* Completed state (checkmark icon) */
        .stage-button.completed {
            background: var(--base-color-brand--main);
            color: white;
            box-shadow: 0 4px 16px rgba(30, 201, 157, 0.3);
        }

        .stage-button.completed .stage-number {
            background: rgba(255, 255, 255, 0.25);
        }

        .stage-button.completed::after {
            content: '✓';
            position: absolute;
            top: -4px;
            right: -4px;
            width: 20px;
            height: 20px;
            background: var(--base-color-brand--main);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.7rem;
            font-weight: 700;
            border: 2px solid white;
            box-shadow: 0 2px 8px rgba(30, 201, 157, 0.4);
        }

        /* Final state (gold) */
        .stage-button.final {
            background: linear-gradient(135deg, var(--base-color-brand--gold) 0%, #C49F6A 100%);
            color: white;
            box-shadow: 0 8px 24px rgba(212, 175, 122, 0.4);
            transform: translateY(-2px) scale(1.08);
            animation: pulse 2s ease-in-out infinite;
        }

        @keyframes pulse {
            0%, 100% { 
                box-shadow: 0 8px 24px rgba(212, 175, 122, 0.4);
            }
            50% { 
                box-shadow: 0 8px 32px rgba(212, 175, 122, 0.6);
            }
        }

        .stage-button.final .stage-number {
            background: rgba(255, 255, 255, 0.25);
            color: white;
        }

        .stage-button.final::before {
            content: '★';
            position: absolute;
            top: -8px;
            left: 50%;
            transform: translateX(-50%);
            font-size: 1.2rem;
            color: var(--base-color-brand--gold);
            filter: drop-shadow(0 2px 4px rgba(212, 175, 122, 0.6));
            animation: starTwinkle 1.5s ease-in-out infinite;
        }

        @keyframes starTwinkle {
            0%, 100% { opacity: 1; transform: translateX(-50%) scale(1); }
            50% { opacity: 0.7; transform: translateX(-50%) scale(1.1); }
        }

        /* Inactive/Upcoming state */
        .stage-button.inactive {
            background: var(--base-color-brand--light-grey);
            color: rgba(44, 95, 111, 0.5);
            cursor: not-allowed;
        }

        .stage-button.inactive .stage-number {
            background: rgba(44, 95, 111, 0.1);
            color: rgba(44, 95, 111, 0.5);
        }

        /* Hover effects */
        .stage-button:not(.inactive):hover {
            transform: translateY(-4px) scale(1.05);
            box-shadow: 0 12px 28px rgba(74, 159, 181, 0.25);
        }

        .stage-button.active:hover {
            box-shadow: 0 12px 32px rgba(74, 159, 181, 0.45);
        }

        .stage-button.final:hover {
            box-shadow: 0 12px 36px rgba(212, 175, 122, 0.5);
        }

        /* Connection dots between stages */
        .stage-connector {
            flex: 1;
            min-width: 20px;
            max-width: 60px;
            height: 3px;
            background: transparent;
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .stage-connector::before {
            content: '';
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--base-color-brand--button-secondary);
            opacity: 0.4;
            transition: all 0.3s ease;
        }

        .stage-connector.active::before {
            opacity: 1;
            background: var(--base-color-brand--main);
            box-shadow: 0 0 12px rgba(30, 201, 157, 0.6);
            animation: connectorPulse 1.5s ease-in-out infinite;
        }

        @keyframes connectorPulse {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.3); }
        }

        /* Grid Layout */
        .content-grid {
            display: grid;
            grid-template-columns: 2fr 1fr;
            gap: 1.5rem;
        }

        /* Quantum Matrix Card */
        .matrix-card {
            background: rgba(255, 255, 255, 0.85);
            backdrop-filter: blur(30px);
            border-radius: 1rem;
            padding: 1.5rem;
            border: 1px solid rgba(255, 255, 255, 0.8);
            box-shadow: 0 8px 32px rgba(74, 159, 181, 0.15);
        }

        .card-header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            margin-bottom: 1.5rem;
        }

        .card-title {
            font-size: 1.25rem;
            font-weight: 500;
            color: var(--base-color-neutral--black);
            margin-bottom: 0.25rem;
        }

        .card-subtitle {
            font-size: 0.875rem;
            color: rgba(44, 95, 111, 0.6);
        }

        .dropdown {
            padding: 0.5rem 1rem;
            background: rgba(255, 255, 255, 0.6);
            border: 1px solid rgba(74, 159, 181, 0.3);
            border-radius: 0.5rem;
            color: var(--base-color-neutral--black);
            font-size: 0.875rem;
            font-family: 'Montserrat', sans-serif;
            cursor: pointer;
            outline: none;
            transition: all 0.2s ease;
        }

        .dropdown:focus {
            border-color: var(--base-color-brand--button-secondary);
            box-shadow: 0 0 0 3px rgba(74, 159, 181, 0.1);
        }

        /* Canvas Container */
        .canvas-container {
            position: relative;
            width: 100%;
            aspect-ratio: 1;
            max-width: 500px;
            margin: 0 auto 1.5rem;
            background: rgba(255, 255, 255, 0.6);
            border-radius: 1rem;
            overflow: hidden;
            box-shadow: inset 0 2px 8px rgba(74, 159, 181, 0.15);
        }

        .grid-overlay {
            position: absolute;
            inset: 0;
            background-image: 
                linear-gradient(rgba(74, 159, 181, 0.1) 1px, transparent 1px),
                linear-gradient(90deg, rgba(74, 159, 181, 0.1) 1px, transparent 1px);
            background-size: 20px 20px;
            opacity: 0.3;
            pointer-events: none;
        }

        #quantumCanvas {
            position: relative;
            z-index: 10;
            display: block;
            background: #2C3E50;
        }

        /* Footer */
        .card-footer {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .confidence-box {
            background: rgba(255, 255, 255, 0.6);
            border-radius: 0.75rem;
            padding: 1rem 1.5rem;
            border: 1px solid rgba(74, 159, 181, 0.3);
        }

        .confidence-label {
            font-size: 0.75rem;
            color: rgba(44, 95, 111, 0.6);
            margin-bottom: 0.25rem;
        }

        .confidence-value {
            font-size: 2.5rem;
            font-weight: 700;
            color: var(--base-color-brand--button-secondary);
        }

        .action-button {
            padding: 0.75rem 1.5rem;
            background: var(--base-color-brand--main);
            border: 1px solid var(--base-color-brand--main);
            border-radius: 0.5rem;
            color: white;
            font-weight: 500;
            font-family: 'Montserrat', sans-serif;
            cursor: pointer;
            transition: all 0.2s ease;
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        .action-button:hover {
            background: var(--base-color-brand--secondary);
            border-color: var(--base-color-brand--secondary);
            box-shadow: 0 4px 12px rgba(30, 201, 157, 0.3);
        }

        /* Startup ID Card */
        .startup-card {
            background: rgba(255, 255, 255, 0.4);
            backdrop-filter: blur(30px);
            border-radius: 1rem;
            padding: 1.5rem;
            border: 1px solid rgba(255, 255, 255, 0.5);
            box-shadow: 0 8px 32px rgba(74, 159, 181, 0.1);
        }

        .startup-badge {
            background: rgba(255, 255, 255, 0.6);
            border-radius: 0.75rem;
            padding: 1rem;
            margin-bottom: 1.5rem;
            border: 1px solid rgba(74, 159, 181, 0.2);
            display: flex;
            align-items: center;
            gap: 0.75rem;
        }

        .startup-icon {
            width: 40px;
            height: 40px;
            background: var(--base-color-brand--light-blue);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .startup-icon svg {
            width: 20px;
            height: 20px;
            color: var(--base-color-brand--button-secondary);
        }

        .startup-info .title {
            font-weight: 500;
            color: var(--base-color-neutral--black);
            font-size: 0.95rem;
        }

        .startup-info .status {
            font-size: 0.875rem;
            color: rgba(44, 95, 111, 0.6);
        }

        /* Score Bars */
        .scores-container {
            display: flex;
            flex-direction: column;
            gap: 1.25rem;
        }

        .score-item {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
        }

        .score-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .score-label {
            color: var(--base-color-neutral--black);
            font-weight: 500;
            font-size: 0.95rem;
        }

        .score-value {
            color: var(--base-color-neutral--black);
            font-weight: 700;
            font-size: 0.95rem;
        }

        .score-bar {
            height: 10px;
            background: var(--base-color-brand--light-grey);
            border-radius: 999px;
            overflow: hidden;
            position: relative;
        }

        .score-fill {
            height: 100%;
            background: linear-gradient(90deg, var(--base-color-brand--button-secondary) 0%, var(--base-color-brand--gold) 100%);
            border-radius: 999px;
            transition: width 1s cubic-bezier(0.4, 0, 0.2, 1);
            box-shadow: 0 0 10px rgba(74, 159, 181, 0.3);
        }

        /* Responsive Design */
        @media (max-width: 1024px) {
            .content-grid {
                grid-template-columns: 1fr;
            }
            
            .stage-button {
                padding: 0.875rem 1.5rem;
                font-size: 0.8rem;
            }

            .stage-number {
                width: 22px;
                height: 22px;
                font-size: 0.7rem;
            }

            .stage-connector {
                min-width: 30px;
            }
        }

        @media (max-width: 768px) {
            .sidebar {
                width: 100%;
                padding: 1rem;
                border-right: none;
                border-bottom: 1px solid rgba(255, 255, 255, 0.5);
            }

            .container {
                flex-direction: column;
            }

            .main-content {
                padding: 1rem;
            }

            .page-title {
                font-size: 1.75rem;
            }

            .stage-tracker {
                padding: 1.5rem 1rem;
            }

            .stages-container {
                overflow-x: auto;
                padding-bottom: 0.5rem;
                -webkit-overflow-scrolling: touch;
                scrollbar-width: thin;
                scrollbar-color: rgba(74, 159, 181, 0.3) transparent;
            }

            .stages-container::-webkit-scrollbar {
                height: 4px;
            }

            .stages-container::-webkit-scrollbar-track {
                background: transparent;
            }

            .stages-container::-webkit-scrollbar-thumb {
                background: rgba(74, 159, 181, 0.3);
                border-radius: 999px;
            }

            .stage-button {
                padding: 0.75rem 1.25rem;
                font-size: 0.75rem;
            }

            .stage-number {
                width: 20px;
                height: 20px;
                font-size: 0.65rem;
            }

            .stage-connector {
                min-width: 24px;
            }

            .stage-button::before {
                font-size: 1rem;
                top: -6px;
            }

            .stages-container::before {
                height: 2px;
            }

            .card-header {
                flex-direction: column;
                gap: 1rem;
            }

            .card-footer {
                flex-direction: column;
                gap: 1rem;
            }

            .confidence-box {
                width: 100%;
                text-align: center;
            }

            .action-button {
                width: 100%;
                justify-content: center;
            }
        }





/* ===========================================
   EVALUATION FLOW VIEW STYLES - PROFESSIONAL
   =========================================== */

/* View Transition Container */
.view-container {
    position: relative;
    width: 100%;
}

/* Dashboard View */
.dashboard-view {
    opacity: 1;
    transform: translateY(0);
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.dashboard-view.hidden {
    opacity: 0;
    transform: translateY(30px);
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0;
    overflow: hidden;
}

/* Evaluation Flow View */
.evaluation-flow-view {
    opacity: 0;
    transform: translateY(-30px);
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0;
    overflow: hidden;
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.evaluation-flow-view.active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    position: relative;
    height: auto;
    overflow: visible;
}

/* Back Button */
.back-button {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid rgba(74, 159, 181, 0.3);
    border-radius: 0.5rem;
    color: var(--base-color-neutral--black);
    font-weight: 500;
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-bottom: 1.5rem;
    font-family: 'Montserrat', sans-serif;
}

.back-button:hover {
    background: rgba(255, 255, 255, 0.9);
    transform: translateX(-4px);
    box-shadow: 0 4px 12px rgba(74, 159, 181, 0.15);
}

.back-button svg {
    width: 18px;
    height: 18px;
    transition: transform 0.3s ease;
}

.back-button:hover svg {
    transform: translateX(-3px);
}

/* Flow Container */
.flow-container {
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(30px);
    border-radius: 1.5rem;
    padding: 2.5rem;
    border: 1px solid rgba(255, 255, 255, 0.7);
    box-shadow: 0 8px 32px rgba(74, 159, 181, 0.12);
    margin-bottom: 2rem;
}

/* ============================================
   MAIN INFOGRAPHIC WORKFLOW
   ============================================ */

.infographic-wrapper {
    position: relative;
    padding: 2rem 0;
}

/* Main Horizontal Flow */
.main-flow {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 0;
    position: relative;
    min-height: 200px;
}

/* Flow Box - Main Style */
.flow-box {
    flex: 1;
    max-width: 200px;
    min-width: 160px;
    border-radius: 0.75rem;
    padding: 1.5rem 1.25rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.flow-box.visible {
    opacity: 1;
    transform: translateY(0);
}

.flow-box:hover {
    transform: translateY(-4px);
}

/* Flow Box Variants */
.flow-box.input-box {
    background: linear-gradient(180deg, #E8F5E9 0%, #C8E6C9 100%);
    border: 1px solid rgba(76, 175, 80, 0.3);
    box-shadow: 0 4px 16px rgba(76, 175, 80, 0.15);
}

.flow-box.input-box:hover {
    box-shadow: 0 8px 28px rgba(76, 175, 80, 0.25);
}

.flow-box.ai-box {
    background: linear-gradient(180deg, #E3F2FD 0%, #BBDEFB 100%);
    border: 1px solid rgba(33, 150, 243, 0.3);
    box-shadow: 0 4px 16px rgba(33, 150, 243, 0.15);
}

.flow-box.ai-box:hover {
    box-shadow: 0 8px 28px rgba(33, 150, 243, 0.25);
}

.flow-box.quantum-box {
    background: linear-gradient(180deg, #F3E5F5 0%, #E1BEE7 100%);
    border: 1px solid rgba(156, 39, 176, 0.3);
    box-shadow: 0 4px 16px rgba(156, 39, 176, 0.15);
    position: relative;
}

.flow-box.quantum-box:hover {
    box-shadow: 0 8px 28px rgba(156, 39, 176, 0.25);
}

.flow-box.interpretation-box {
    background: linear-gradient(180deg, #FFF3E0 0%, #FFE0B2 100%);
    border: 1px solid rgba(255, 152, 0, 0.3);
    box-shadow: 0 4px 16px rgba(255, 152, 0, 0.15);
}

.flow-box.interpretation-box:hover {
    box-shadow: 0 8px 28px rgba(255, 152, 0, 0.25);
}

.flow-box.output-box {
    background: linear-gradient(180deg, #FFF8E1 0%, #FFECB3 100%);
    border: 1px solid rgba(212, 175, 122, 0.4);
    box-shadow: 0 4px 16px rgba(212, 175, 122, 0.2);
}

.flow-box.output-box:hover {
    box-shadow: 0 8px 28px rgba(212, 175, 122, 0.35);
}

/* Flow Box Icon */
.flow-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
    position: relative;
}

.flow-icon svg {
    width: 24px;
    height: 24px;
}

.input-box .flow-icon {
    background: rgba(76, 175, 80, 0.15);
    color: #2E7D32;
}

.ai-box .flow-icon {
    background: rgba(33, 150, 243, 0.15);
    color: #1565C0;
}

.quantum-box .flow-icon {
    background: rgba(156, 39, 176, 0.15);
    color: #7B1FA2;
}

.interpretation-box .flow-icon {
    background: rgba(255, 152, 0, 0.15);
    color: #E65100;
}

.output-box .flow-icon {
    background: rgba(212, 175, 122, 0.2);
    color: #8D6E3F;
}

/* Flow Box Title */
.flow-title {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--base-color-neutral--black);
    margin-bottom: 0.75rem;
    letter-spacing: 0.3px;
}

/* Flow Box Content */
.flow-content {
    font-size: 0.75rem;
    color: rgba(44, 62, 80, 0.8);
    line-height: 1.6;
}

.flow-content-item {
    padding: 0.2rem 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.flow-content-item:last-child {
    border-bottom: none;
}

/* Connector Arrows */
.flow-connector {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 50px;
    position: relative;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.flow-connector.visible {
    opacity: 1;
}

.connector-line {
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, 
        rgba(74, 159, 181, 0.6) 0%,
        rgba(74, 159, 181, 0.3) 100%
    );
    position: relative;
    border-radius: 2px;
}

.connector-arrow {
    width: 0;
    height: 0;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 10px solid rgba(74, 159, 181, 0.6);
    flex-shrink: 0;
}

/* Animated Flow Particle */
.flow-particle {
    position: absolute;
    width: 6px;
    height: 6px;
    background: var(--base-color-brand--main);
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%);
    animation: particleFlow 2.5s ease-in-out infinite;
    box-shadow: 0 0 8px rgba(30, 201, 157, 0.6);
}

@keyframes particleFlow {
    0% { left: 0; opacity: 0; }
    10% { opacity: 1; }
    90% { opacity: 1; }
    100% { left: calc(100% - 6px); opacity: 0; }
}

.flow-connector:nth-child(2) .flow-particle { animation-delay: 0s; }
.flow-connector:nth-child(4) .flow-particle { animation-delay: 0.5s; }
.flow-connector:nth-child(6) .flow-particle { animation-delay: 1s; }
.flow-connector:nth-child(8) .flow-particle { animation-delay: 1.5s; }

/* Iteration Badge */
.iteration-badge {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #9C27B0 0%, #7B1FA2 100%);
    color: white;
    padding: 0.35rem 0.75rem;
    border-radius: 2rem;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(156, 39, 176, 0.4);
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.iteration-badge svg {
    width: 12px;
    height: 12px;
    animation: rotateIcon 2s linear infinite;
}

@keyframes rotateIcon {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Feedback Loop Curve */
.feedback-loop {
    position: relative;
    height: 60px;
    margin-top: 1rem;
}

.feedback-loop-svg {
    position: absolute;
    width: 60%;
    left: 20%;
    top: 0;
    height: 60px;
}

.feedback-path {
    fill: none;
    stroke: rgba(156, 39, 176, 0.4);
    stroke-width: 2;
    stroke-dasharray: 8, 4;
    animation: dashMove 1s linear infinite;
}

@keyframes dashMove {
    to { stroke-dashoffset: -12; }
}

.feedback-label {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    font-size: 0.7rem;
    font-weight: 600;
    color: #7B1FA2;
    background: rgba(243, 229, 245, 0.9);
    padding: 0.3rem 0.75rem;
    border-radius: 1rem;
    white-space: nowrap;
}

/* ============================================
   EVALUATION ROUNDS SECTION
   ============================================ */

.rounds-section {
    margin-top: 2.5rem;
}

.section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(74, 159, 181, 0.15);
}

.section-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--base-color-neutral--black);
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.section-title-icon {
    width: 32px;
    height: 32px;
    border-radius: 0.5rem;
    background: linear-gradient(135deg, var(--base-color-brand--main) 0%, #15a37f 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.section-title-icon svg {
    width: 18px;
    height: 18px;
    color: white;
}

/* Rounds Grid */
.rounds-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

/* Round Card */
.round-card {
    background: rgba(255, 255, 255, 0.8);
    border-radius: 1rem;
    overflow: hidden;
    border: 1px solid rgba(74, 159, 181, 0.1);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0;
    transform: translateY(20px);
}

.round-card.visible {
    opacity: 1;
    transform: translateY(0);
}

.round-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 36px rgba(74, 159, 181, 0.18);
}

/* Round Header Bar */
.round-header-bar {
    padding: 1rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.round-card.round-1 .round-header-bar {
    background: linear-gradient(135deg, var(--base-color-brand--main) 0%, #15a37f 100%);
}

.round-card.round-2 .round-header-bar {
    background: linear-gradient(135deg, var(--base-color-brand--button-secondary) 0%, #3A8FA5 100%);
}

.round-card.round-3 .round-header-bar {
    background: linear-gradient(135deg, var(--base-color-brand--gold) 0%, #C49F6A 100%);
}

.round-label {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.round-number {
    width: 28px;
    height: 28px;
    background: rgba(255, 255, 255, 0.25);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.8rem;
    color: white;
}

.round-name {
    font-weight: 600;
    font-size: 0.95rem;
    color: white;
}

.round-funnel {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(255, 255, 255, 0.2);
    padding: 0.4rem 0.75rem;
    border-radius: 2rem;
}

.funnel-count {
    font-size: 0.75rem;
    font-weight: 600;
    color: white;
}

.funnel-arrow {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.7rem;
}

/* Round Body */
.round-body {
    padding: 1.25rem;
}

.round-focus {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--base-color-neutral--black);
    margin-bottom: 0.5rem;
}

.round-description {
    font-size: 0.75rem;
    color: rgba(44, 95, 111, 0.7);
    line-height: 1.5;
    margin-bottom: 1rem;
}

/* Criteria Groups */
.criteria-section {
    margin-bottom: 1rem;
}

.criteria-section:last-child {
    margin-bottom: 0;
}

.criteria-label {
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: rgba(44, 95, 111, 0.5);
    margin-bottom: 0.5rem;
}

.criteria-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

/* Criteria Tag */
.criteria-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.65rem;
    border-radius: 0.35rem;
    font-size: 0.7rem;
    font-weight: 500;
    transition: all 0.25s ease;
}

.criteria-tag:hover {
    transform: translateY(-2px);
}

.criteria-tag.nature {
    background: rgba(30, 201, 157, 0.1);
    color: #0d7a5f;
    border: 1px solid rgba(30, 201, 157, 0.25);
}

.criteria-tag.nature:hover {
    background: rgba(30, 201, 157, 0.18);
    box-shadow: 0 2px 8px rgba(30, 201, 157, 0.2);
}

.criteria-tag.business {
    background: rgba(74, 159, 181, 0.1);
    color: #2d6a7a;
    border: 1px solid rgba(74, 159, 181, 0.25);
}

.criteria-tag.business:hover {
    background: rgba(74, 159, 181, 0.18);
    box-shadow: 0 2px 8px rgba(74, 159, 181, 0.2);
}

.criteria-tag.jury {
    background: rgba(212, 175, 122, 0.12);
    color: #7a5c2e;
    border: 1px solid rgba(212, 175, 122, 0.3);
}

.criteria-tag.jury:hover {
    background: rgba(212, 175, 122, 0.22);
    box-shadow: 0 2px 8px rgba(212, 175, 122, 0.25);
}

.tag-code {
    font-weight: 700;
    font-size: 0.65rem;
    opacity: 0.8;
}

/* ============================================
   RESPONSIVE
   ============================================ */

@media (max-width: 1200px) {
    .main-flow {
        gap: 0.5rem;
    }
    
    .flow-box {
        min-width: 140px;
        padding: 1.25rem 1rem;
    }
    
    .flow-connector {
        min-width: 35px;
    }
}

@media (max-width: 1024px) {
    .rounds-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .main-flow {
        flex-wrap: wrap;
        justify-content: center;
        gap: 1rem;
    }
    
    .flow-connector {
        display: none;
    }
    
    .flow-box {
        flex: 0 0 calc(33.333% - 1rem);
        max-width: none;
    }
    
    .feedback-loop {
        display: none;
    }
}

@media (max-width: 768px) {
    .flow-container {
        padding: 1.5rem;
    }
    
    .flow-box {
        flex: 0 0 calc(50% - 0.5rem);
    }
    
    .flow-icon {
        width: 40px;
        height: 40px;
    }
    
    .flow-icon svg {
        width: 20px;
        height: 20px;
    }
    
    .flow-title {
        font-size: 0.8rem;
    }
    
    .flow-content {
        font-size: 0.7rem;
    }
}

@media (max-width: 480px) {
    .flow-box {
        flex: 0 0 100%;
    }
    
    .section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }
}

/* ===========================================
   APPLIED STARTUPS VIEW STYLES
   =========================================== */

/* Applied Startups View */
.applied-startups-view {
    opacity: 0;
    transform: translateY(-30px);
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0;
    overflow: hidden;
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.applied-startups-view.active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    position: relative;
    height: auto;
    overflow: visible;
}

/* Startups Container */
.startups-container {
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(30px);
    border-radius: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.7);
    box-shadow: 0 8px 32px rgba(74, 159, 181, 0.12);
    overflow: hidden;
}

/* Table Header Bar */
.table-header-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    background: rgba(255, 255, 255, 0.5);
    border-bottom: 1px solid rgba(74, 159, 181, 0.1);
}

.table-title {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.table-title-icon {
    width: 36px;
    height: 36px;
    border-radius: 0.5rem;
    background: linear-gradient(135deg, var(--base-color-brand--button-secondary) 0%, #3A8FA5 100%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.table-title-icon svg {
    width: 18px;
    height: 18px;
    color: white;
}

.table-title-text {
    font-size: 1rem;
    font-weight: 600;
    color: var(--base-color-neutral--black);
}

.table-title-count {
    font-size: 0.8rem;
    font-weight: 500;
    color: rgba(44, 95, 111, 0.6);
    margin-left: 0.5rem;
}

/* Table Controls */
.table-controls {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.search-box {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(74, 159, 181, 0.2);
    border-radius: 0.5rem;
    transition: all 0.3s ease;
}

.search-box:focus-within {
    border-color: var(--base-color-brand--button-secondary);
    box-shadow: 0 0 0 3px rgba(74, 159, 181, 0.1);
}

.search-box svg {
    width: 16px;
    height: 16px;
    color: rgba(44, 95, 111, 0.5);
}

.search-box input {
    border: none;
    background: transparent;
    outline: none;
    font-size: 0.85rem;
    font-family: 'Montserrat', sans-serif;
    color: var(--base-color-neutral--black);
    width: 180px;
}

.search-box input::placeholder {
    color: rgba(44, 95, 111, 0.4);
}

.filter-dropdown {
    padding: 0.5rem 1rem;
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(74, 159, 181, 0.2);
    border-radius: 0.5rem;
    font-size: 0.85rem;
    font-family: 'Montserrat', sans-serif;
    color: var(--base-color-neutral--black);
    cursor: pointer;
    outline: none;
    transition: all 0.3s ease;
}

.filter-dropdown:focus {
    border-color: var(--base-color-brand--button-secondary);
    box-shadow: 0 0 0 3px rgba(74, 159, 181, 0.1);
}

/* Data Table */
.data-table {
    width: 100%;
    border-collapse: collapse;
}

.data-table thead {
    background: rgba(74, 159, 181, 0.08);
}

.data-table th {
    padding: 0.75rem 0.875rem;
    text-align: left;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: rgba(44, 95, 111, 0.7);
    border-bottom: 1px solid rgba(74, 159, 181, 0.1);
    white-space: nowrap;
}

.data-table th.sortable {
    cursor: pointer;
    user-select: none;
    transition: all 0.2s ease;
}

.data-table th.sortable:hover {
    color: var(--base-color-brand--button-secondary);
    background: rgba(74, 159, 181, 0.05);
}

.data-table th .sort-icon {
    display: inline-flex;
    margin-left: 0.4rem;
    opacity: 0.4;
    vertical-align: middle;
}

.data-table th.sortable:hover .sort-icon {
    opacity: 0.8;
}

.data-table tbody tr {
    transition: all 0.25s ease;
    opacity: 0;
    transform: translateX(-10px);
}

.data-table tbody tr.visible {
    opacity: 1;
    transform: translateX(0);
}

.data-table tbody tr:hover {
    background: rgba(74, 159, 181, 0.06);
}

.data-table td {
    padding: 0.75rem 0.5rem;
    font-size: 0.8rem;
    color: var(--base-color-neutral--black);
    border-bottom: 1px solid rgba(74, 159, 181, 0.08);
    vertical-align: middle;
}

.data-table tbody tr:last-child td {
    border-bottom: none;
}

/* Cell Styles */
.cell-id {
    font-family: 'SF Mono', 'Monaco', 'Consolas', monospace;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--base-color-brand--button-secondary);
    background: rgba(74, 159, 181, 0.08);
    padding: 0.25rem 0.5rem;
    border-radius: 0.35rem;
    display: inline-block;
}

.cell-startup {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.startup-avatar {
    width: 32px;
    height: 32px;
    border-radius: 0.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.7rem;
    color: white;
    flex-shrink: 0;
}

.startup-avatar.green { background: linear-gradient(135deg, #4CAF50 0%, #2E7D32 100%); }
.startup-avatar.blue { background: linear-gradient(135deg, #2196F3 0%, #1565C0 100%); }
.startup-avatar.purple { background: linear-gradient(135deg, #9C27B0 0%, #6A1B9A 100%); }
.startup-avatar.orange { background: linear-gradient(135deg, #FF9800 0%, #E65100 100%); }
.startup-avatar.teal { background: linear-gradient(135deg, #009688 0%, #00695C 100%); }
.startup-avatar.pink { background: linear-gradient(135deg, #E91E63 0%, #AD1457 100%); }
.startup-avatar.indigo { background: linear-gradient(135deg, #3F51B5 0%, #283593 100%); }

.startup-name {
    font-weight: 600;
    font-size: 0.8rem;
    color: var(--base-color-neutral--black);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 180px;
}

.cell-country {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.country-flag {
    font-size: 1.1rem;
    line-height: 1;
}

.country-name {
    color: rgba(44, 95, 111, 0.8);
}

/* Status Badge */
.status-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.3rem 0.6rem;
    border-radius: 2rem;
    font-size: 0.7rem;
    font-weight: 600;
}

.status-badge .status-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
}

.status-badge.submitted {
    background: rgba(33, 150, 243, 0.12);
    color: #1565C0;
}

.status-badge.submitted .status-dot {
    background: #2196F3;
}

.status-badge.processing {
    background: rgba(255, 152, 0, 0.12);
    color: #E65100;
}

.status-badge.processing .status-dot {
    background: #FF9800;
    animation: pulse-dot 1.5s ease-in-out infinite;
}

@keyframes pulse-dot {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(1.3); }
}

.status-badge.evaluated {
    background: rgba(30, 201, 157, 0.12);
    color: #0d7a5f;
}

.status-badge.evaluated .status-dot {
    background: var(--base-color-brand--main);
}

.status-badge.error {
    background: rgba(244, 67, 54, 0.12);
    color: #C62828;
}

.status-badge.error .status-dot {
    background: #F44336;
}

/* Date Cell */
.cell-date {
    color: rgba(44, 95, 111, 0.7);
    font-size: 0.75rem;
    white-space: nowrap;
}

.cell-date.empty {
    color: rgba(44, 95, 111, 0.35);
    font-style: italic;
}

/* Decision Badge */
.decision-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.3rem 0.6rem;
    border-radius: 0.35rem;
    font-size: 0.7rem;
    font-weight: 700;
}

.decision-badge.round2 {
    background: linear-gradient(135deg, rgba(30, 201, 157, 0.15) 0%, rgba(30, 201, 157, 0.08) 100%);
    color: #0d7a5f;
    border: 1px solid rgba(30, 201, 157, 0.25);
}

.decision-badge.rejected {
    background: linear-gradient(135deg, rgba(244, 67, 54, 0.1) 0%, rgba(244, 67, 54, 0.05) 100%);
    color: #C62828;
    border: 1px solid rgba(244, 67, 54, 0.2);
}

.decision-badge.pending {
    background: rgba(158, 158, 158, 0.1);
    color: rgba(44, 95, 111, 0.5);
    border: 1px solid rgba(158, 158, 158, 0.2);
}

.decision-badge svg {
    width: 12px;
    height: 12px;
}

/* Table Footer */
.table-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    background: rgba(255, 255, 255, 0.5);
    border-top: 1px solid rgba(74, 159, 181, 0.1);
}

.table-info {
    font-size: 0.8rem;
    color: rgba(44, 95, 111, 0.6);
}

.table-info strong {
    color: var(--base-color-neutral--black);
}

.table-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
}

/* Pagination */
.pagination {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.pagination-btn {
    width: 32px;
    height: 32px;
    border: 1px solid rgba(74, 159, 181, 0.2);
    background: rgba(255, 255, 255, 0.8);
    border-radius: 0.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--base-color-neutral--black);
    cursor: pointer;
    transition: all 0.25s ease;
    font-family: 'Montserrat', sans-serif;
}

.pagination-btn:hover {
    background: rgba(74, 159, 181, 0.1);
    border-color: var(--base-color-brand--button-secondary);
}

.pagination-btn.active {
    background: var(--base-color-brand--button-secondary);
    border-color: var(--base-color-brand--button-secondary);
    color: white;
}

.pagination-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.pagination-btn svg {
    width: 14px;
    height: 14px;
}

/* Run Evaluation Button */
.run-evaluation-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.75rem 1.5rem;
    background: linear-gradient(135deg, var(--base-color-brand--main) 0%, #15a37f 100%);
    border: none;
    border-radius: 0.5rem;
    color: white;
    font-size: 0.85rem;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(30, 201, 157, 0.3);
}

.run-evaluation-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(30, 201, 157, 0.4);
}

.run-evaluation-btn:active {
    transform: translateY(0);
}

.run-evaluation-btn svg {
    width: 18px;
    height: 18px;
}

.run-evaluation-btn .btn-loader {
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
    display: none;
}

.run-evaluation-btn.loading .btn-loader {
    display: block;
}

.run-evaluation-btn.loading svg {
    display: none;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Row Selection Checkbox */
.row-checkbox {
    width: 18px;
    height: 18px;
    border: 2px solid rgba(74, 159, 181, 0.3);
    border-radius: 0.25rem;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    background: white;
}

.row-checkbox:hover {
    border-color: var(--base-color-brand--button-secondary);
}

.row-checkbox.checked {
    background: var(--base-color-brand--button-secondary);
    border-color: var(--base-color-brand--button-secondary);
}

.row-checkbox.checked svg {
    width: 12px;
    height: 12px;
    color: white;
}

.row-checkbox svg {
    display: none;
}

.row-checkbox.checked svg {
    display: block;
}

/* Selected Count */
.selected-count {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: rgba(74, 159, 181, 0.1);
    border-radius: 2rem;
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--base-color-brand--button-secondary);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.selected-count.visible {
    opacity: 1;
}

/* Empty State */
.empty-state {
    padding: 4rem 2rem;
    text-align: center;
}

.empty-state-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 1.5rem;
    background: rgba(74, 159, 181, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.empty-state-icon svg {
    width: 40px;
    height: 40px;
    color: rgba(74, 159, 181, 0.5);
}

.empty-state-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--base-color-neutral--black);
    margin-bottom: 0.5rem;
}

.empty-state-text {
    font-size: 0.9rem;
    color: rgba(44, 95, 111, 0.6);
}

/* Responsive */
@media (max-width: 1200px) {
    .table-controls {
        gap: 0.75rem;
    }
    
    .search-box input {
        width: 140px;
    }
}

@media (max-width: 1024px) {
    .table-header-bar {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }
    
    .table-controls {
        width: 100%;
        flex-wrap: wrap;
    }
    
    .search-box {
        flex: 1;
        min-width: 200px;
    }
    
    .search-box input {
        width: 100%;
    }
    
    .data-table {
        display: block;
        overflow-x: auto;
    }
    
    .table-footer {
        flex-direction: column;
        gap: 1rem;
        align-items: stretch;
    }
    
    .table-actions {
        justify-content: space-between;
    }
}

@media (max-width: 768px) {
    .data-table th,
    .data-table td {
        padding: 0.625rem 0.5rem;
    }

    .cell-startup {
        min-width: 150px;
    }

    .startup-avatar {
        width: 28px;
        height: 28px;
        font-size: 0.65rem;
    }

    .startup-name {
        max-width: 120px;
    }

    .run-evaluation-btn {
        width: 100%;
        justify-content: center;
    }
}

/* ===========================================
   TABLE LOADING & EMPTY STATES
   =========================================== */

.table-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    gap: 1rem;
}

.loading-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid rgba(74, 159, 181, 0.2);
    border-top-color: var(--base-color-brand--button-secondary);
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

.table-loading span {
    font-size: 0.9rem;
    color: rgba(44, 95, 111, 0.6);
}

.table-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    text-align: center;
}

.empty-icon {
    width: 64px;
    height: 64px;
    background: rgba(74, 159, 181, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
}

.empty-icon svg {
    width: 32px;
    height: 32px;
    color: rgba(74, 159, 181, 0.5);
}

.empty-title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--base-color-neutral--black);
    margin-bottom: 0.5rem;
}

.empty-text {
    font-size: 0.85rem;
    color: rgba(44, 95, 111, 0.6);
}

.data-table th.sortable.sorted-asc .sort-icon,
.data-table th.sortable.sorted-desc .sort-icon {
    opacity: 1;
    color: var(--base-color-brand--button-secondary);
}

.data-table th.sortable.sorted-desc .sort-icon {
    transform: rotate(180deg);
}

/* Selected Row */
.data-table tbody tr.selected {
    background: rgba(74, 159, 181, 0.08);
}

.data-table tbody tr.selected:hover {
    background: rgba(74, 159, 181, 0.12);
}


/* ===========================================
   EVALUATION MODAL STYLES
   =========================================== */

/* Modal Overlay */
.modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    padding: 1rem;
}

.modal-overlay.active {
    opacity: 1;
    visibility: visible;
}

/* Modal Container */
.modal-container {
    background: white;
    border-radius: 1.25rem;
    width: 100%;
    max-width: 1000px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    transform: scale(0.95) translateY(20px);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
}

.modal-overlay.active .modal-container {
    transform: scale(1) translateY(0);
}

/* Modal Header */
.modal-header {
    padding: 1.5rem 2rem;
    border-bottom: 1px solid rgba(74, 159, 181, 0.1);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background: linear-gradient(180deg, rgba(74, 159, 181, 0.03) 0%, transparent 100%);
}

.modal-title-section {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.modal-icon {
    width: 48px;
    height: 48px;
    border-radius: 0.75rem;
    background: linear-gradient(135deg, var(--base-color-brand--main) 0%, #15a37f 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.modal-icon svg {
    width: 24px;
    height: 24px;
    color: white;
}

.modal-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--base-color-neutral--black);
    margin: 0;
}

.modal-subtitle {
    font-size: 0.85rem;
    color: rgba(44, 95, 111, 0.6);
    margin: 0.25rem 0 0;
}

/* Progress Bar */
.modal-progress {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 180px;
}

.progress-bar {
    flex: 1;
    height: 6px;
    background: rgba(74, 159, 181, 0.1);
    border-radius: 999px;
    overflow: hidden;
}

.progress-fill {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, var(--base-color-brand--main) 0%, #15a37f 100%);
    border-radius: 999px;
    transition: width 0.4s ease;
}

.progress-text {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--base-color-brand--main);
    white-space: nowrap;
}

/* Modal Body */
.modal-body {
    flex: 1;
    overflow-y: auto;
    padding: 0;
}

/* Modal Tabs */
.modal-tabs {
    display: flex;
    padding: 1rem 2rem 0;
    gap: 0.5rem;
    border-bottom: 1px solid rgba(74, 159, 181, 0.1);
}

.modal-tab {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.875rem 1.25rem;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    font-size: 0.9rem;
    font-weight: 500;
    color: rgba(44, 95, 111, 0.6);
    cursor: pointer;
    transition: all 0.25s ease;
    font-family: 'Montserrat', sans-serif;
    margin-bottom: -1px;
}

.modal-tab svg {
    width: 18px;
    height: 18px;
}

.modal-tab:hover {
    color: var(--base-color-brand--button-secondary);
}

.modal-tab.active {
    color: var(--base-color-brand--button-secondary);
    border-bottom-color: var(--base-color-brand--button-secondary);
}

/* Tab Content */
.modal-tab-content {
    display: none;
    padding: 1.5rem 2rem;
}

.modal-tab-content.active {
    display: block;
}

/* Upload Zone */
.upload-zone {
    border: 2px dashed rgba(74, 159, 181, 0.3);
    border-radius: 1rem;
    padding: 3rem 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
    background: rgba(74, 159, 181, 0.02);
}

.upload-zone:hover,
.upload-zone.dragover {
    border-color: var(--base-color-brand--button-secondary);
    background: rgba(74, 159, 181, 0.05);
}

.upload-zone.dragover {
    transform: scale(1.01);
}

.upload-icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(74, 159, 181, 0.15) 0%, rgba(74, 159, 181, 0.05) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.25rem;
}

.upload-icon svg {
    width: 36px;
    height: 36px;
    color: var(--base-color-brand--button-secondary);
}

.upload-text {
    margin-bottom: 1rem;
}

.upload-title {
    display: block;
    font-size: 1rem;
    font-weight: 600;
    color: var(--base-color-neutral--black);
    margin-bottom: 0.25rem;
}

.upload-subtitle {
    font-size: 0.85rem;
    color: rgba(44, 95, 111, 0.5);
}

.upload-formats {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.format-badge {
    padding: 0.35rem 0.75rem;
    background: rgba(74, 159, 181, 0.1);
    border-radius: 0.35rem;
    font-size: 0.7rem;
    font-weight: 700;
    color: var(--base-color-brand--button-secondary);
    text-transform: uppercase;
}

.format-divider {
    color: rgba(44, 95, 111, 0.3);
}

.format-size {
    font-size: 0.8rem;
    color: rgba(44, 95, 111, 0.5);
}

/* File Preview */
.file-preview {
    background: rgba(30, 201, 157, 0.05);
    border: 1px solid rgba(30, 201, 157, 0.2);
    border-radius: 1rem;
    padding: 1.25rem;
}

.file-info {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.file-icon {
    width: 48px;
    height: 48px;
    border-radius: 0.75rem;
    background: white;
    border: 1px solid rgba(74, 159, 181, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.file-icon svg {
    width: 24px;
    height: 24px;
    color: var(--base-color-brand--button-secondary);
}

.file-icon.pdf { color: #e53935; }
.file-icon.pptx { color: #fb8c00; }

.file-details {
    flex: 1;
}

.file-name {
    display: block;
    font-weight: 600;
    color: var(--base-color-neutral--black);
    font-size: 0.9rem;
    margin-bottom: 0.25rem;
    word-break: break-all;
}

.file-size {
    font-size: 0.8rem;
    color: rgba(44, 95, 111, 0.6);
}

.file-remove {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background: rgba(244, 67, 54, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.25s ease;
}

.file-remove svg {
    width: 18px;
    height: 18px;
    color: #e53935;
}

.file-remove:hover {
    background: rgba(244, 67, 54, 0.2);
}

.file-status {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--base-color-brand--main);
}

.file-status svg {
    width: 18px;
    height: 18px;
}

/* Section Navigation */
.section-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(74, 159, 181, 0.1);
}

.section-nav-btn {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: rgba(74, 159, 181, 0.05);
    border: 1px solid rgba(74, 159, 181, 0.15);
    border-radius: 2rem;
    font-size: 0.8rem;
    font-weight: 500;
    color: rgba(44, 95, 111, 0.7);
    cursor: pointer;
    transition: all 0.25s ease;
    font-family: 'Montserrat', sans-serif;
}

.section-nav-btn:hover {
    background: rgba(74, 159, 181, 0.1);
    border-color: var(--base-color-brand--button-secondary);
}

.section-nav-btn.active {
    background: var(--base-color-brand--button-secondary);
    border-color: var(--base-color-brand--button-secondary);
    color: white;
}

.section-nav-btn.completed {
    background: rgba(30, 201, 157, 0.1);
    border-color: rgba(30, 201, 157, 0.3);
    color: var(--base-color-brand--main);
}

.section-nav-btn .nav-number {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-weight: 700;
}

.section-nav-btn.active .nav-number {
    background: rgba(255, 255, 255, 0.25);
}

/* Form Sections */
.form-section {
    display: none;
    animation: fadeIn 0.3s ease;
}

.form-section.active {
    display: block;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.form-section-header {
    margin-bottom: 1.5rem;
}

.form-section-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--base-color-neutral--black);
    margin: 0 0 0.25rem;
}

.form-section-subtitle {
    font-size: 0.85rem;
    color: rgba(44, 95, 111, 0.6);
    margin: 0;
}

/* Form Group */
.form-group {
    margin-bottom: 1.25rem;
}

.form-label {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--base-color-neutral--black);
    margin-bottom: 0.5rem;
}

.form-label .required {
    color: #e53935;
    margin-left: 0.25rem;
}

.form-label .optional {
    font-weight: 400;
    color: rgba(44, 95, 111, 0.5);
    margin-left: 0.25rem;
}

/* Form Inputs */
.form-input,
.form-textarea,
.form-select {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid rgba(74, 159, 181, 0.2);
    border-radius: 0.5rem;
    font-size: 0.9rem;
    font-family: 'Montserrat', sans-serif;
    color: var(--base-color-neutral--black);
    background: white;
    transition: all 0.25s ease;
}

.form-input:focus,
.form-textarea:focus,
.form-select:focus {
    outline: none;
    border-color: var(--base-color-brand--button-secondary);
    box-shadow: 0 0 0 3px rgba(74, 159, 181, 0.1);
}

.form-input::placeholder,
.form-textarea::placeholder {
    color: rgba(44, 95, 111, 0.4);
}

.form-textarea {
    min-height: 100px;
    resize: vertical;
}

.form-select {
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%234A9FB5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 16px;
    padding-right: 2.5rem;
}

/* Form Row (for side-by-side fields) */
.form-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.form-row-3 {
    grid-template-columns: repeat(3, 1fr);
}

/* Range Slider */
.range-container {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.form-range {
    flex: 1;
    height: 6px;
    -webkit-appearance: none;
    appearance: none;
    background: rgba(74, 159, 181, 0.2);
    border-radius: 3px;
    outline: none;
    cursor: pointer;
}

.form-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    background: #4A9FB5;
    border-radius: 50%;
    cursor: pointer;
    transition: background 0.2s ease;
}

.form-range::-webkit-slider-thumb:hover {
    background: #3A8FA5;
}

.form-range::-moz-range-thumb {
    width: 20px;
    height: 20px;
    background: #4A9FB5;
    border-radius: 50%;
    cursor: pointer;
    border: none;
}

.range-value {
    min-width: 45px;
    text-align: center;
    font-weight: 600;
    color: #4A9FB5;
    font-size: 0.95rem;
}

/* Checkbox & Radio Groups */
.checkbox-group,
.radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.checkbox-item,
.radio-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: rgba(74, 159, 181, 0.05);
    border: 1px solid rgba(74, 159, 181, 0.15);
    border-radius: 0.5rem;
    cursor: pointer;
    transition: all 0.25s ease;
}

.checkbox-item:hover,
.radio-item:hover {
    background: rgba(74, 159, 181, 0.1);
}

.checkbox-item.selected,
.radio-item.selected {
    background: rgba(74, 159, 181, 0.15);
    border-color: var(--base-color-brand--button-secondary);
}

.checkbox-item input,
.radio-item input {
    display: none;
}

.checkbox-box,
.radio-box {
    width: 18px;
    height: 18px;
    border: 2px solid rgba(74, 159, 181, 0.4);
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.radio-box {
    border-radius: 50%;
}

.checkbox-item.selected .checkbox-box,
.radio-item.selected .radio-box {
    background: var(--base-color-brand--button-secondary);
    border-color: var(--base-color-brand--button-secondary);
}

.checkbox-box svg,
.radio-box::after {
    opacity: 0;
    transform: scale(0);
    transition: all 0.2s ease;
}

.checkbox-item.selected .checkbox-box svg {
    opacity: 1;
    transform: scale(1);
}

.checkbox-box svg {
    width: 12px;
    height: 12px;
    color: white;
}

.radio-box::after {
    content: '';
    width: 8px;
    height: 8px;
    background: white;
    border-radius: 50%;
}

.radio-item.selected .radio-box::after {
    opacity: 1;
    transform: scale(1);
}

.checkbox-label,
.radio-label {
    font-size: 0.85rem;
    color: var(--base-color-neutral--black);
}

/* Character Counter */
.char-counter {
    text-align: right;
    font-size: 0.75rem;
    color: rgba(44, 95, 111, 0.5);
    margin-top: 0.35rem;
}

.char-counter.warning {
    color: #ff9800;
}

.char-counter.error {
    color: #e53935;
}

/* Section Navigation Buttons */
.section-navigation {
    display: flex;
    justify-content: space-between;
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(74, 159, 181, 0.1);
}

.section-nav-arrow {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    background: rgba(74, 159, 181, 0.1);
    border: none;
    border-radius: 0.5rem;
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--base-color-brand--button-secondary);
    cursor: pointer;
    transition: all 0.25s ease;
    font-family: 'Montserrat', sans-serif;
}

.section-nav-arrow:hover {
    background: rgba(74, 159, 181, 0.2);
}

.section-nav-arrow:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.section-nav-arrow svg {
    width: 16px;
    height: 16px;
}

/* Modal Footer */
.modal-footer {
    padding: 1.25rem 2rem;
    border-top: 1px solid rgba(74, 159, 181, 0.1);
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    background: rgba(74, 159, 181, 0.02);
}

.modal-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.875rem 1.5rem;
    border-radius: 0.5rem;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.25s ease;
    font-family: 'Montserrat', sans-serif;
}

.modal-btn.cancel {
    background: transparent;
    border: 1px solid rgba(74, 159, 181, 0.3);
    color: rgba(44, 95, 111, 0.7);
}

.modal-btn.cancel:hover {
    background: rgba(74, 159, 181, 0.05);
    border-color: rgba(74, 159, 181, 0.5);
}

.modal-btn.primary {
    background: linear-gradient(135deg, var(--base-color-brand--main) 0%, #15a37f 100%);
    border: none;
    color: white;
    box-shadow: 0 4px 12px rgba(30, 201, 157, 0.3);
}

.modal-btn.primary:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(30, 201, 157, 0.4);
}

.modal-btn.primary:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
}

.modal-btn.primary svg {
    width: 18px;
    height: 18px;
}

.modal-btn.primary .btn-loader {
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
    display: none;
}

.modal-btn.primary.loading .btn-loader {
    display: block;
}

.modal-btn.primary.loading svg {
    display: none;
}

/* Error Message */
.form-error {
    display: none;
    margin-top: 0.35rem;
    font-size: 0.75rem;
    color: #e53935;
}

.form-group.error .form-input,
.form-group.error .form-textarea,
.form-group.error .form-select {
    border-color: #e53935;
}

.form-group.error .form-error {
    display: block;
}

/* Responsive */
@media (max-width: 768px) {
    .modal-container {
        max-height: 95vh;
        border-radius: 1rem;
    }
    
    .modal-header {
        flex-direction: column;
        align-items: flex-start;
        padding: 1.25rem;
    }
    
    .modal-progress {
        width: 100%;
    }
    
    .modal-tabs {
        padding: 1rem 1.25rem 0;
    }
    
    .modal-tab {
        padding: 0.75rem 1rem;
        font-size: 0.8rem;
    }
    
    .modal-tab-content {
        padding: 1.25rem;
    }
    
    .form-row,
    .form-row-3 {
        grid-template-columns: 1fr;
    }
    
    .upload-zone {
        padding: 2rem 1rem;
    }
    
    .section-nav {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 1rem;
        margin-bottom: 1rem;
        -webkit-overflow-scrolling: touch;
    }
    
    .section-nav-btn {
        flex-shrink: 0;
    }
    
    .modal-footer {
        flex-direction: column;
        padding: 1rem 1.25rem;
    }
    
    .modal-btn {
        width: 100%;
        justify-content: center;
    }
}


/* ===========================================
   DEMO MODE TOGGLE STYLES
   =========================================== */

.demo-mode-section {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.5rem 1rem;
    background: rgba(212, 175, 122, 0.08);
    border: 1px solid rgba(212, 175, 122, 0.2);
    border-radius: 0.75rem;
    flex-shrink: 0;
}

.demo-toggle-wrapper {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.demo-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--base-color-neutral--black);
    white-space: nowrap;
}

/* Toggle Switch */
.demo-toggle {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
}

.demo-toggle input {
    opacity: 0;
    width: 0;
    height: 0;
}

.toggle-slider {
    position: absolute;
    cursor: pointer;
    inset: 0;
    background: rgba(74, 159, 181, 0.2);
    border-radius: 24px;
    transition: all 0.3s ease;
}

.toggle-slider::before {
    content: '';
    position: absolute;
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background: white;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
}

.demo-toggle input:checked + .toggle-slider {
    background: linear-gradient(135deg, #D4AF7A 0%, #c9a066 100%);
}

.demo-toggle input:checked + .toggle-slider::before {
    transform: translateX(20px);
}

/* Case ID Input */
.demo-case-input {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    animation: slideIn 0.3s ease;
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(-10px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.case-id-input {
    width: 120px;
    padding: 0.5rem 0.75rem;
    border: 1px solid rgba(212, 175, 122, 0.3);
    border-radius: 0.5rem;
    font-size: 0.85rem;
    font-family: 'Montserrat', sans-serif;
    background: white;
    transition: all 0.25s ease;
}

.case-id-input:focus {
    outline: none;
    border-color: #D4AF7A;
    box-shadow: 0 0 0 3px rgba(212, 175, 122, 0.15);
}

.case-id-input::placeholder {
    color: rgba(44, 95, 111, 0.4);
}

.case-load-btn {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.5rem 0.875rem;
    background: linear-gradient(135deg, #D4AF7A 0%, #c9a066 100%);
    border: none;
    border-radius: 0.5rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: white;
    cursor: pointer;
    transition: all 0.25s ease;
    font-family: 'Montserrat', sans-serif;
}

.case-load-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(212, 175, 122, 0.3);
}

.case-load-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
}

.case-load-btn svg {
    width: 14px;
    height: 14px;
}

.case-load-btn.loading svg {
    animation: spin 0.8s linear infinite;
}

/* Case Status */
.case-status {
    font-size: 0.75rem;
    font-weight: 500;
    white-space: nowrap;
    padding: 0.35rem 0.75rem;
    border-radius: 2rem;
    display: none;
}

.case-status.success {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: rgba(30, 201, 157, 0.1);
    color: var(--base-color-brand--main);
    border: 1px solid rgba(30, 201, 157, 0.2);
}

.case-status.error {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: rgba(244, 67, 54, 0.1);
    color: #e53935;
    border: 1px solid rgba(244, 67, 54, 0.2);
}

.case-status.loading {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: rgba(74, 159, 181, 0.1);
    color: var(--base-color-brand--button-secondary);
    border: 1px solid rgba(74, 159, 181, 0.2);
}

/* Demo Mode Active State */
.modal-container.demo-active .modal-header {
    background: linear-gradient(180deg, rgba(212, 175, 122, 0.08) 0%, transparent 100%);
}

.modal-container.demo-active .modal-icon {
    background: linear-gradient(135deg, #D4AF7A 0%, #c9a066 100%);
}

/* Demo Badge on Fields */
.form-group.demo-filled .form-label::after {
    content: 'Auto-filled';
    margin-left: 0.5rem;
    padding: 0.15rem 0.5rem;
    background: rgba(212, 175, 122, 0.15);
    color: #c9a066;
    font-size: 0.65rem;
    font-weight: 600;
    border-radius: 2rem;
    text-transform: uppercase;
}

.form-group.demo-filled .form-input,
.form-group.demo-filled .form-textarea,
.form-group.demo-filled .form-select {
    background: rgba(212, 175, 122, 0.05);
    border-color: rgba(212, 175, 122, 0.3);
}

/* Responsive */
@media (max-width: 900px) {
    .modal-header {
        flex-wrap: wrap;
    }
    
    .demo-mode-section {
        order: 3;
        width: 100%;
        margin-top: 0.75rem;
        justify-content: center;
        flex-wrap: wrap;
    }
}

@media (max-width: 480px) {
    .demo-mode-section {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
    }
    
    .demo-toggle-wrapper {
        justify-content: center;
    }
    
    .demo-case-input {
        justify-content: center;
    }
    
    .case-id-input {
        flex: 1;
    }
}

/* ===========================================
   EVALUATION PIPELINE - ADDITIONAL STATES
   =========================================== */

/* Default/Disabled State */
.stage-button.disabled {
    background: var(--base-color-brand--light-grey);
    color: rgba(44, 95, 111, 0.4);
    cursor: not-allowed;
    pointer-events: none;
    box-shadow: none;
    transform: none;
}

.stage-button.disabled .stage-number {
    background: rgba(44, 95, 111, 0.1);
    color: rgba(44, 95, 111, 0.4);
}

.stage-button.disabled:hover {
    transform: none;
    box-shadow: none;
}

/* Computing/Processing State */
.stage-button.computing {
    background: linear-gradient(135deg, var(--base-color-brand--button-secondary) 0%, #3A8FA5 100%);
    color: white;
    cursor: wait;
    pointer-events: none;
    animation: computingPulse 2s ease-in-out infinite;
    box-shadow: 0 8px 24px rgba(74, 159, 181, 0.35);
    padding-right: 2.75rem;
}

.stage-button.computing .stage-number {
    background: rgba(255, 255, 255, 0.25);
    color: white;
}

.stage-button.computing::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 12px;
    width: 16px;
    height: 16px;
    margin-top: -8px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes computingPulse {
    0%, 100% { 
        box-shadow: 0 8px 24px rgba(74, 159, 181, 0.35);
        transform: translateY(-2px);
    }
    50% { 
        box-shadow: 0 12px 36px rgba(74, 159, 181, 0.5);
        transform: translateY(-4px);
    }
}

@keyframes spinNumber {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Rejected State */
.stage-button.rejected {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    color: white;
    box-shadow: 0 8px 24px rgba(239, 68, 68, 0.35);
    cursor: pointer;
    pointer-events: auto;
}

.stage-button.rejected .stage-number {
    background: rgba(255, 255, 255, 0.25);
    color: white;
}

.stage-button.rejected::after {
    content: '✕';
    position: absolute;
    top: -4px;
    right: -4px;
    width: 20px;
    height: 20px;
    background: #ef4444;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
    font-weight: 700;
    border: 2px solid white;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4);
}

.stage-button.rejected:hover {
    box-shadow: 0 12px 32px rgba(239, 68, 68, 0.45);
    transform: translateY(-4px) scale(1.05);
}

/* Final Stage Disabled */
.stage-button.final.disabled {
    background: var(--base-color-brand--light-grey);
    color: rgba(212, 175, 122, 0.5);
    box-shadow: none;
    transform: none;
    animation: none;
    cursor: not-allowed;
    pointer-events: none;
}

.stage-button.final.disabled .stage-number {
    background: rgba(212, 175, 122, 0.15);
    color: rgba(212, 175, 122, 0.5);
}

.stage-button.final.disabled::before {
    color: rgba(212, 175, 122, 0.3);
    animation: none;
}

/* Connector States */
.stage-connector.computing::before {
    opacity: 0.6;
    background: var(--base-color-brand--button-secondary);
    animation: connectorComputing 1s ease-in-out infinite;
}

@keyframes connectorComputing {
    0%, 100% { 
        opacity: 0.4;
        transform: scale(1);
    }
    50% { 
        opacity: 1;
        transform: scale(1.2);
    }
}

.stage-connector.rejected::before {
    opacity: 1;
    background: #ef4444;
    box-shadow: 0 0 12px rgba(239, 68, 68, 0.6);
}

/* ===========================================
   STAGE DETAIL POPUP (Matches Modal Style)
   =========================================== */

.stage-popup-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.6);
    backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1100;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    padding: 1rem;
}

.stage-popup-overlay.active {
    opacity: 1;
    visibility: visible;
}

.stage-popup {
    background: white;
    border-radius: 1.25rem;
    width: 100%;
    max-width: 640px;
    max-height: 85vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    transform: scale(0.95) translateY(20px);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
}

.stage-popup-overlay.active .stage-popup {
    transform: scale(1) translateY(0);
}

/* Popup Header */
.stage-popup-header {
    padding: 1.5rem 2rem;
    border-bottom: 1px solid rgba(74, 159, 181, 0.1);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background: linear-gradient(180deg, rgba(74, 159, 181, 0.05) 0%, transparent 100%);
}

.stage-popup-title {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.stage-popup-title h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--base-color-neutral--black);
    margin: 0;
}

.stage-popup-score {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: rgba(30, 201, 157, 0.1);
    border-radius: 2rem;
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--base-color-brand--main);
}

.stage-popup-score.rejected {
    background: rgba(239, 68, 68, 0.1);
    color: #ef4444;
}

.stage-popup-close {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(74, 159, 181, 0.05);
    border: 1px solid rgba(74, 159, 181, 0.1);
    border-radius: 0.75rem;
    color: rgba(44, 95, 111, 0.6);
    cursor: pointer;
    transition: all 0.2s ease;
}

.stage-popup-close:hover {
    background: rgba(74, 159, 181, 0.1);
    color: var(--base-color-brand--button-secondary);
    border-color: rgba(74, 159, 181, 0.2);
}

.stage-popup-close svg {
    width: 20px;
    height: 20px;
}

/* Popup Content */
.stage-popup-content {
    padding: 1.5rem 2rem;
    overflow-y: auto;
    flex: 1;
}

.stage-popup-section {
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid rgba(74, 159, 181, 0.08);
}

.stage-popup-section:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.stage-popup-section-title {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--base-color-brand--button-secondary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.stage-popup-section-title svg {
    width: 16px;
    height: 16px;
    opacity: 0.7;
}

.stage-popup-text {
    color: rgba(44, 95, 111, 0.8);
    line-height: 1.7;
    font-size: 0.95rem;
}

/* Strengths & Weaknesses Lists */
.stage-popup-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.stage-popup-list li {
    padding: 0.625rem 0;
    padding-left: 1.75rem;
    position: relative;
    color: rgba(44, 95, 111, 0.75);
    font-size: 0.9rem;
    line-height: 1.5;
    border-bottom: 1px solid rgba(74, 159, 181, 0.05);
}

.stage-popup-list li:last-child {
    border-bottom: none;
}

.stage-popup-list.strengths li::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: 0.625rem;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(30, 201, 157, 0.1);
    color: var(--base-color-brand--main);
    font-size: 0.7rem;
    font-weight: bold;
    border-radius: 50%;
}

.stage-popup-list.weaknesses li::before {
    content: '!';
    position: absolute;
    left: 0;
    top: 0.625rem;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(212, 175, 122, 0.15);
    color: var(--base-color-brand--gold);
    font-size: 0.75rem;
    font-weight: bold;
    border-radius: 50%;
}

/* Quantum Correction Badge */
.quantum-correction {
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.08), rgba(74, 159, 181, 0.05));
    border: 1px solid rgba(139, 92, 246, 0.2);
    border-radius: 0.875rem;
    padding: 1rem 1.25rem;
    margin-top: 1rem;
}

.quantum-correction-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
    color: #8b5cf6;
    font-weight: 600;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.quantum-correction-header svg {
    width: 16px;
    height: 16px;
}

.quantum-correction-text {
    color: rgba(44, 95, 111, 0.75);
    font-size: 0.9rem;
    line-height: 1.6;
}

/* ===========================================
   FINAL SCORE MODAL
   =========================================== */

.final-score-modal .stage-popup {
    max-width: 800px;
}

.final-score-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.final-score-card {
    background: rgba(74, 159, 181, 0.04);
    border: 1px solid rgba(74, 159, 181, 0.1);
    border-radius: 0.875rem;
    padding: 1rem;
    text-align: center;
}

.final-score-card-title {
    font-size: 0.7rem;
    font-weight: 600;
    color: rgba(44, 95, 111, 0.5);
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.final-score-card-value {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--base-color-neutral--black);
}

.final-score-card-value.business {
    color: var(--base-color-brand--button-secondary);
}

.final-score-card-value.nature {
    color: var(--base-color-brand--gold);
}

.final-score-card-value.total {
    background: linear-gradient(135deg, var(--base-color-brand--button-secondary), var(--base-color-brand--gold));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Decision Banner */
.final-decision-banner {
    padding: 1.25rem 1.5rem;
    border-radius: 0.875rem;
    text-align: center;
    margin-bottom: 1.5rem;
}

.final-decision-banner.round2 {
    background: linear-gradient(135deg, rgba(30, 201, 157, 0.1), rgba(74, 159, 181, 0.08));
    border: 1px solid rgba(30, 201, 157, 0.25);
}

.final-decision-banner.rejected {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.1), rgba(239, 68, 68, 0.05));
    border: 1px solid rgba(239, 68, 68, 0.25);
}

.final-decision-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: rgba(44, 95, 111, 0.5);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.375rem;
}

.final-decision-value {
    font-size: 1.375rem;
    font-weight: 700;
}

.final-decision-value.round2 {
    color: var(--base-color-brand--main);
}

.final-decision-value.rejected {
    color: #ef4444;
}

/* Criteria Scores Grid */
.criteria-scores-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
}

.criteria-score-item {
    background: rgba(74, 159, 181, 0.03);
    border: 1px solid rgba(74, 159, 181, 0.1);
    border-radius: 0.75rem;
    padding: 0.875rem 1rem;
    cursor: pointer;
    transition: all 0.25s ease;
}

.criteria-score-item:hover {
    background: rgba(74, 159, 181, 0.08);
    border-color: rgba(74, 159, 181, 0.25);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(74, 159, 181, 0.1);
}

.criteria-score-item-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.5rem;
}

.criteria-score-item-name {
    font-size: 0.75rem;
    font-weight: 500;
    color: rgba(44, 95, 111, 0.7);
}

.criteria-score-item-value {
    font-size: 1rem;
    font-weight: 700;
    color: var(--base-color-brand--button-secondary);
}

.criteria-score-item-bar {
    height: 4px;
    background: rgba(74, 159, 181, 0.1);
    border-radius: 2px;
    overflow: hidden;
}

.criteria-score-item-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--base-color-brand--main), var(--base-color-brand--button-secondary));
    border-radius: 2px;
    transition: width 0.5s ease;
}

/* ===========================================
   RESPONSIVE ADJUSTMENTS
   =========================================== */

@media (max-width: 768px) {
    .stage-popup {
        max-width: 100%;
        max-height: 90vh;
        border-radius: 1rem 1rem 0 0;
        margin-top: auto;
    }
    
    .stage-popup-header {
        padding: 1.25rem 1.5rem;
    }
    
    .stage-popup-content {
        padding: 1.25rem 1.5rem;
    }
    
    .stage-popup-title h3 {
        font-size: 1.1rem;
    }
    
    .final-score-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .criteria-scores-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .final-score-grid {
        grid-template-columns: 1fr;
    }
    
    .criteria-scores-grid {
        grid-template-columns: 1fr;
    }
    
    .stage-popup-title {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
}

/* ===========================================
   STARTUP CARD - EVALUATION STATES
   =========================================== */

/* Score fill animation */
.score-fill {
    transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.score-fill.confidence {
    background: linear-gradient(90deg, #8b5cf6, #a78bfa);
}

.score-fill.total {
    background: linear-gradient(90deg, var(--base-color-brand--button-secondary), var(--base-color-brand--gold));
}

/* Status icon states */
.startup-icon.processing {
    background: linear-gradient(135deg, var(--base-color-brand--button-secondary), #3A8FA5);
    animation: iconPulse 2s ease-in-out infinite;
}

.startup-icon.processing svg {
    animation: spin 1.5s linear infinite;
}

.startup-icon.evaluated {
    background: linear-gradient(135deg, var(--base-color-brand--main), #15a37f);
}

.startup-icon.rejected {
    background: linear-gradient(135deg, #ef4444, #dc2626);
}

@keyframes iconPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(74, 159, 181, 0.4); }
    50% { box-shadow: 0 0 0 12px rgba(74, 159, 181, 0); }
}

/* Evaluation Decision Badge */
.evaluation-decision-badge {
    margin-top: 1.25rem;
    padding: 1rem 1.25rem;
    border-radius: 0.875rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    font-weight: 700;
    font-size: 1rem;
    animation: badgeSlideIn 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes badgeSlideIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.evaluation-decision-badge.round2 {
    background: linear-gradient(135deg, rgba(30, 201, 157, 0.15), rgba(74, 159, 181, 0.1));
    border: 1px solid rgba(30, 201, 157, 0.3);
    color: var(--base-color-brand--main);
}

.evaluation-decision-badge.rejected {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.15), rgba(239, 68, 68, 0.08));
    border: 1px solid rgba(239, 68, 68, 0.3);
    color: #ef4444;
}

.decision-icon {
    font-size: 1.25rem;
}

/* Processing state text */
.startup-info .status.processing {
    color: var(--base-color-brand--button-secondary);
    animation: statusPulse 1.5s ease-in-out infinite;
}

@keyframes statusPulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

/* Score values computing state */
.score-value.computing {
    color: var(--base-color-brand--button-secondary);
    animation: statusPulse 1.5s ease-in-out infinite;
}

/* ===========================================
   ADDITIONS: styles.css — append to end of file
   =========================================== */

/* ===========================================
   TABLE ACTION BUTTONS (Retrieve / Export)
   =========================================== */

.cell-actions {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.action-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.3rem 0.6rem;
    border-radius: 0.35rem;
    font-size: 0.7rem;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    cursor: pointer;
    transition: all 0.25s ease;
    border: none;
    white-space: nowrap;
}

.action-btn svg {
    width: 13px;
    height: 13px;
    flex-shrink: 0;
}

.action-btn.retrieve-btn {
    background: rgba(74, 159, 181, 0.1);
    color: var(--base-color-brand--button-secondary);
    border: 1px solid rgba(74, 159, 181, 0.2);
}

.action-btn.retrieve-btn:hover {
    background: rgba(74, 159, 181, 0.18);
    border-color: var(--base-color-brand--button-secondary);
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(74, 159, 181, 0.15);
}

.action-btn.export-btn {
    background: rgba(212, 175, 122, 0.1);
    color: var(--base-color-brand--gold);
    border: 1px solid rgba(212, 175, 122, 0.25);
    padding: 0.3rem 0.45rem;
}

.action-btn.export-btn:hover {
    background: rgba(212, 175, 122, 0.2);
    border-color: var(--base-color-brand--gold);
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(212, 175, 122, 0.2);
}

.action-placeholder {
    color: rgba(44, 95, 111, 0.25);
    font-size: 0.85rem;
    padding-left: 0.5rem;
}

/* ===========================================
   EXPORT ALL BUTTON (Header Bar)
   =========================================== */

.export-all-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: linear-gradient(135deg, var(--base-color-brand--gold) 0%, #c9a066 100%);
    border: none;
    border-radius: 0.5rem;
    color: white;
    font-size: 0.85rem;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(212, 175, 122, 0.25);
    white-space: nowrap;
}

.export-all-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(212, 175, 122, 0.35);
}

.export-all-btn:active {
    transform: translateY(0);
}

.export-all-btn svg {
    width: 16px;
    height: 16px;
}

.export-all-btn .btn-loader {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
    display: none;
}

.export-all-btn.loading .btn-loader {
    display: block;
}

.export-all-btn.loading svg {
    display: none;
}

.export-all-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
}

/* ===========================================
   RETRIEVE RESULTS MODAL
   =========================================== */

.retrieve-modal .stage-popup {
    max-width: 900px;
}

/* Loading & Error States */
.retrieve-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem 2rem;
    gap: 1rem;
}

.retrieve-loading .loading-spinner {
    width: 48px;
    height: 48px;
}

.retrieve-loading span {
    font-size: 0.9rem;
    color: rgba(44, 95, 111, 0.6);
}

.retrieve-error {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 3rem 2rem;
    gap: 0.75rem;
}

.retrieve-error-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--base-color-neutral--black);
}

.retrieve-error-text {
    font-size: 0.9rem;
    color: rgba(44, 95, 111, 0.6);
}

/* Header Info */
.retrieve-header-info {
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(74, 159, 181, 0.1);
}

.retrieve-startup-name {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--base-color-neutral--black);
    margin-bottom: 0.25rem;
}

.retrieve-startup-meta {
    font-size: 0.85rem;
    color: rgba(44, 95, 111, 0.6);
}

/* Sections */
.retrieve-section {
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid rgba(74, 159, 181, 0.08);
}

.retrieve-section:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.retrieve-section-title {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--base-color-brand--button-secondary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.retrieve-section-title svg {
    width: 16px;
    height: 16px;
    opacity: 0.7;
}

.retrieve-section-title.red-flag {
    color: #ef4444;
}

.retrieve-section-text {
    color: rgba(44, 95, 111, 0.8);
    line-height: 1.7;
    font-size: 0.9rem;
}

/* Red Flags */
.retrieve-red-flags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.retrieve-red-flag-tag {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 0.75rem;
    background: rgba(239, 68, 68, 0.08);
    border: 1px solid rgba(239, 68, 68, 0.2);
    border-radius: 2rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #ef4444;
}

/* Criteria Grid */
.retrieve-criteria-grid {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.retrieve-criteria-card {
    background: rgba(74, 159, 181, 0.03);
    border: 1px solid rgba(74, 159, 181, 0.1);
    border-radius: 0.875rem;
    padding: 1.25rem;
    transition: all 0.25s ease;
}

.retrieve-criteria-card:hover {
    background: rgba(74, 159, 181, 0.06);
    border-color: rgba(74, 159, 181, 0.2);
}

.retrieve-criteria-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.625rem;
}

.retrieve-criteria-name {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--base-color-neutral--black);
}

.retrieve-criteria-score {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--base-color-brand--button-secondary);
}

.retrieve-criteria-max {
    font-size: 0.75rem;
    font-weight: 500;
    color: rgba(44, 95, 111, 0.5);
}

.retrieve-criteria-bar {
    height: 5px;
    background: rgba(74, 159, 181, 0.1);
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 0.75rem;
}

.retrieve-criteria-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--base-color-brand--main), var(--base-color-brand--button-secondary));
    border-radius: 3px;
    transition: width 0.5s ease;
}

.retrieve-criteria-reasoning {
    font-size: 0.85rem;
    color: rgba(44, 95, 111, 0.75);
    line-height: 1.6;
    margin-bottom: 0.75rem;
}

.retrieve-criteria-list {
    margin-top: 0.5rem;
}

.retrieve-criteria-list.strengths .retrieve-criteria-item {
    color: #0d7a5f;
    background: rgba(30, 201, 157, 0.06);
}

.retrieve-criteria-list.weaknesses .retrieve-criteria-item {
    color: #a97c1f;
    background: rgba(212, 175, 122, 0.08);
}

.retrieve-criteria-item {
    padding: 0.4rem 0.75rem;
    border-radius: 0.35rem;
    font-size: 0.8rem;
    line-height: 1.5;
    margin-bottom: 0.35rem;
}

/* Modal Footer Export Button */
.retrieve-footer {
    padding: 1.25rem 2rem;
    border-top: 1px solid rgba(74, 159, 181, 0.1);
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    background: rgba(74, 159, 181, 0.02);
}

.retrieve-export-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem 0.75rem 1.5rem;
    background: linear-gradient(135deg, var(--base-color-brand--gold) 0%, #c9a066 100%);
    border: none;
    border-radius: 0.5rem;
    color: white;
    font-size: 0.85rem;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(212, 175, 122, 0.25);
}

.retrieve-export-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(212, 175, 122, 0.35);
}

.retrieve-export-btn svg {
    width: 18px;
    height: 18px;
}

/* Final Score Modal Export Button Addition */
.final-score-export-row {
    display: flex;
    justify-content: center;
    padding-top: 1rem;
    padding-bottom: 1rem;
    margin-top: 1rem;
    border-top: 1px solid rgba(74, 159, 181, 0.08);
}

/* ===========================================
   RESPONSIVE ADJUSTMENTS
   =========================================== */

@media (max-width: 1024px) {
    .cell-actions {
        flex-direction: column;
        gap: 0.35rem;
    }
    
    .action-btn.retrieve-btn {
        font-size: 0.7rem;
        padding: 0.35rem 0.6rem;
    }
}

@media (max-width: 768px) {
    .retrieve-modal .stage-popup {
        max-width: 100%;
        max-height: 90vh;
        border-radius: 1rem 1rem 0 0;
        margin-top: auto;
    }
    
    .export-all-btn {
        width: 100%;
        justify-content: center;
    }
    
    .retrieve-criteria-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25rem;
    }
}


/* =============================================================================
   FINAL SELECT SECTION
   ============================================================================= */

/* Locked Nav Item */
.nav-item.locked {
    opacity: 0.55;
    cursor: not-allowed;
    position: relative;
}

.nav-item.locked:hover {
    background: rgba(255, 255, 255, 0.15);
    opacity: 0.7;
}

.nav-item.locked .nav-label {
    flex: 1;
}

.nav-lock-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background: rgba(44, 95, 111, 0.12);
    border-radius: 4px;
    color: rgba(44, 95, 111, 0.5);
    margin-left: auto;
}

/* Final Select View */
.final-select-view {
    opacity: 0;
    transform: translateY(-30px);
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0;
    overflow: hidden;
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.final-select-view.active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    position: relative;
    height: auto;
    overflow: visible;
}

.final-select-header {
    margin-bottom: 2rem;
}

.final-select-title-row {
    display: flex;
    align-items: baseline;
    gap: 1rem;
    margin-bottom: 0.5rem;
}

.final-select-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.75rem;
    border-radius: 2rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.025em;
}

.final-select-badge.locked {
    background: linear-gradient(135deg, rgba(212, 175, 122, 0.15), rgba(212, 175, 122, 0.08));
    border: 1px solid rgba(212, 175, 122, 0.3);
    color: #b8913a;
}

.final-select-subtitle {
    color: var(--base-color-neutral--black);
    font-size: 0.95rem;
    line-height: 1.6;
    max-width: 700px;
}

/* Stats Grid */
.fs-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin-bottom: 2rem;
}

.fs-stat-card {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(20px);
    border-radius: 1rem;
    padding: 1.25rem;
    border: 1px solid rgba(255, 255, 255, 0.7);
    box-shadow: 0 4px 20px rgba(74, 159, 181, 0.08);
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.fs-stat-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(74, 159, 181, 0.15);
}

.fs-stat-icon {
    width: 44px;
    height: 44px;
    border-radius: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.fs-stat-icon svg {
    width: 22px;
    height: 22px;
}

.fs-stat-icon.pool {
    background: linear-gradient(135deg, rgba(74, 159, 181, 0.15), rgba(74, 159, 181, 0.08));
    color: #4A9FB5;
}

.fs-stat-icon.scores {
    background: linear-gradient(135deg, rgba(30, 201, 157, 0.15), rgba(30, 201, 157, 0.08));
    color: #1ec99d;
}

.fs-stat-icon.profit {
    background: linear-gradient(135deg, rgba(212, 175, 122, 0.15), rgba(212, 175, 122, 0.08));
    color: #b8913a;
}

.fs-stat-icon.stage {
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.15), rgba(139, 92, 246, 0.08));
    color: #8b5cf6;
}

.fs-stat-value {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--base-color-neutral--black);
    line-height: 1.2;
}

.fs-stat-label {
    font-size: 0.8rem;
    font-weight: 500;
    color: rgba(44, 95, 111, 0.7);
    margin-top: 0.125rem;
}

.fs-stat-detail {
    font-size: 0.7rem;
    color: rgba(44, 95, 111, 0.45);
    margin-top: 0.25rem;
}

/* Section Headers */
.fs-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.fs-section-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--base-color-neutral--black);
}

.fs-section-title svg {
    color: #4A9FB5;
}

.fs-locked-overlay-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.25rem 0.75rem;
    border-radius: 2rem;
    font-size: 0.7rem;
    font-weight: 500;
    background: rgba(44, 95, 111, 0.06);
    color: rgba(44, 95, 111, 0.45);
    border: 1px solid rgba(44, 95, 111, 0.1);
}

/* Score Distribution */
.fs-distribution-section {
    margin-bottom: 2rem;
}

.fs-distribution-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.fs-dist-card {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(20px);
    border-radius: 1rem;
    padding: 1.25rem;
    border: 1px solid rgba(255, 255, 255, 0.7);
    box-shadow: 0 4px 20px rgba(74, 159, 181, 0.08);
}

.fs-dist-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.75rem;
}

.fs-dist-label {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--base-color-neutral--black);
}

.fs-dist-avg {
    font-size: 0.75rem;
    color: rgba(44, 95, 111, 0.5);
    font-weight: 500;
}

.fs-dist-bar-bg {
    height: 10px;
    background: var(--base-color-brand--light-grey);
    border-radius: 999px;
    overflow: visible;
    position: relative;
    margin-bottom: 0.5rem;
}

.fs-dist-bar-fill {
    height: 100%;
    border-radius: 999px;
    transition: width 1.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.fs-dist-bar-fill.business {
    background: linear-gradient(90deg, var(--base-color-brand--button-secondary), #4A9FB5);
    box-shadow: 0 0 10px rgba(74, 159, 181, 0.3);
}

.fs-dist-bar-fill.nature {
    background: linear-gradient(90deg, #1ec99d, #15b88e);
    box-shadow: 0 0 10px rgba(30, 201, 157, 0.3);
}

.fs-dist-bar-marker {
    position: absolute;
    top: -6px;
    width: 2px;
    height: 22px;
    background: rgba(239, 68, 68, 0.6);
    transform: translateX(-50%);
}

.fs-marker-label {
    position: absolute;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 0.6rem;
    color: rgba(239, 68, 68, 0.7);
    white-space: nowrap;
    font-weight: 600;
}

.fs-dist-range {
    display: flex;
    justify-content: space-between;
    font-size: 0.7rem;
    color: rgba(44, 95, 111, 0.4);
}

/* Config Panel with Lock Overlay */
.fs-config-section {
    margin-bottom: 2rem;
}

.fs-config-panel {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(20px);
    border-radius: 1rem;
    padding: 1.5rem;
    border: 1px solid rgba(255, 255, 255, 0.6);
    box-shadow: 0 4px 20px rgba(74, 159, 181, 0.08);
}

.fs-config-panel.locked-panel {
    position: relative;
    pointer-events: none;
    user-select: none;
}

.fs-locked-overlay {
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.65);
    backdrop-filter: blur(3px);
    border-radius: 1rem;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fs-locked-content {
    text-align: center;
    padding: 2rem;
}

.fs-locked-icon {
    color: rgba(44, 95, 111, 0.25);
    margin-bottom: 1rem;
    animation: lockPulse 3s ease-in-out infinite;
}

@keyframes lockPulse {
    0%, 100% { opacity: 0.5; transform: scale(1); }
    50% { opacity: 0.8; transform: scale(1.05); }
}

.fs-locked-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: rgba(44, 95, 111, 0.5);
    margin-bottom: 0.5rem;
}

.fs-locked-desc {
    font-size: 0.85rem;
    color: rgba(44, 95, 111, 0.4);
    max-width: 400px;
    line-height: 1.5;
}

/* Config Controls */
.fs-config-row {
    margin-bottom: 1.25rem;
}

.fs-config-label {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--base-color-neutral--black);
    display: block;
    margin-bottom: 0.25rem;
}

.fs-config-hint {
    font-size: 0.75rem;
    color: rgba(44, 95, 111, 0.5);
    margin-bottom: 0.75rem;
}

/* Finalist Selector Buttons */
.fs-finalist-selector {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-wrap: wrap;
}

.fs-finalist-btn {
    width: 44px;
    height: 44px;
    border-radius: 0.625rem;
    background: rgba(74, 159, 181, 0.06);
    border: 1.5px solid rgba(74, 159, 181, 0.15);
    color: rgba(44, 95, 111, 0.6);
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.25s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fs-finalist-btn.active {
    background: linear-gradient(135deg, #4A9FB5, #2c5f6f);
    border-color: transparent;
    color: #fff;
    box-shadow: 0 4px 12px rgba(74, 159, 181, 0.3);
}

.fs-finalist-custom {
    margin-left: 0.5rem;
}

.fs-finalist-input {
    width: 80px;
    height: 44px;
    border-radius: 0.625rem;
    background: rgba(74, 159, 181, 0.04);
    border: 1.5px solid rgba(74, 159, 181, 0.15);
    padding: 0 0.75rem;
    font-size: 0.85rem;
    color: var(--base-color-neutral--black);
    text-align: center;
}

/* Criteria Weight Cards */
.fs-weights-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.fs-weight-card {
    background: rgba(255, 255, 255, 0.5);
    border-radius: 0.75rem;
    padding: 1rem;
    border: 1px solid rgba(74, 159, 181, 0.1);
    transition: all 0.25s ease;
}

.fs-weight-card.business {
    border-left: 3px solid rgba(74, 159, 181, 0.4);
}

.fs-weight-card.nature {
    border-left: 3px solid rgba(30, 201, 157, 0.4);
}

.fs-weight-card.highlight {
    border-left: 3px solid rgba(212, 175, 122, 0.6);
    background: rgba(212, 175, 122, 0.04);
}

.fs-weight-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.625rem;
}

.fs-weight-code {
    font-size: 0.7rem;
    font-weight: 700;
    padding: 0.15rem 0.4rem;
    border-radius: 0.25rem;
    letter-spacing: 0.02em;
}

.fs-weight-card.business .fs-weight-code {
    background: rgba(74, 159, 181, 0.12);
    color: #4A9FB5;
}

.fs-weight-card.nature .fs-weight-code {
    background: rgba(30, 201, 157, 0.12);
    color: #1ec99d;
}

.fs-weight-card.highlight .fs-weight-code {
    background: rgba(212, 175, 122, 0.15);
    color: #b8913a;
}

.fs-weight-name {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--base-color-neutral--black);
}

.fs-weight-slider {
    width: 100%;
    height: 4px;
    -webkit-appearance: none;
    appearance: none;
    background: rgba(74, 159, 181, 0.15);
    border-radius: 2px;
    outline: none;
    margin-bottom: 0.375rem;
}

.fs-weight-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 14px;
    height: 14px;
    background: #4A9FB5;
    border-radius: 50%;
    cursor: not-allowed;
}

.fs-weight-value {
    font-size: 0.75rem;
    font-weight: 600;
    color: rgba(44, 95, 111, 0.5);
    text-align: right;
}

/* Selection Filters */
.fs-filters-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.fs-filter-item {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.4);
    border-radius: 0.75rem;
    border: 1px solid rgba(74, 159, 181, 0.08);
}

.fs-toggle {
    width: 40px;
    height: 22px;
    background: rgba(44, 95, 111, 0.12);
    border-radius: 11px;
    position: relative;
    flex-shrink: 0;
    margin-top: 2px;
    transition: background 0.25s ease;
}

.fs-toggle::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    background: white;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
    transition: transform 0.25s ease;
}

.fs-toggle.active {
    background: #4A9FB5;
}

.fs-toggle.active::after {
    transform: translateX(18px);
}

.fs-toggle.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.fs-filter-name {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--base-color-neutral--black);
    margin-bottom: 0.125rem;
}

.fs-filter-desc {
    font-size: 0.72rem;
    color: rgba(44, 95, 111, 0.5);
    line-height: 1.4;
}

/* Run Button */
.fs-action-row {
    text-align: center;
    padding-top: 0.5rem;
}

.fs-run-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.875rem 2rem;
    background: linear-gradient(135deg, rgba(74, 159, 181, 0.15), rgba(74, 159, 181, 0.08));
    border: 1.5px solid rgba(74, 159, 181, 0.2);
    border-radius: 0.75rem;
    color: rgba(74, 159, 181, 0.5);
    font-size: 0.95rem;
    font-weight: 600;
    cursor: not-allowed;
    transition: all 0.3s ease;
}

.fs-run-btn svg {
    width: 18px;
    height: 18px;
}

.fs-action-hint {
    font-size: 0.72rem;
    color: rgba(44, 95, 111, 0.35);
    margin-top: 0.75rem;
}

/* Nominated Candidates */
.fs-candidates-section {
    margin-bottom: 2rem;
}

.fs-candidates-placeholder {
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(20px);
    border-radius: 1rem;
    padding: 2rem;
    border: 1px solid rgba(255, 255, 255, 0.6);
    border: 2px dashed rgba(74, 159, 181, 0.15);
    text-align: center;
}

.fs-placeholder-slots {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    margin-bottom: 1.25rem;
}

.fs-slot {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.fs-slot-rank {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(212, 175, 122, 0.2), rgba(212, 175, 122, 0.08));
    border: 1px solid rgba(212, 175, 122, 0.3);
    color: #b8913a;
    font-size: 0.7rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fs-slot-avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(74, 159, 181, 0.06);
    border: 2px dashed rgba(74, 159, 181, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
}

.fs-slot-placeholder {
    font-size: 0.68rem;
    color: rgba(44, 95, 111, 0.35);
    font-weight: 500;
}

.fs-placeholder-text {
    font-size: 0.8rem;
    color: rgba(44, 95, 111, 0.4);
    max-width: 500px;
    margin: 0 auto;
    line-height: 1.5;
}

/* Export Results */
.fs-export-section {
    margin-bottom: 2rem;
}

.fs-export-panel {
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(20px);
    border-radius: 1rem;
    padding: 1.25rem;
    border: 1px solid rgba(255, 255, 255, 0.6);
    box-shadow: 0 4px 20px rgba(74, 159, 181, 0.08);
}

.fs-export-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.fs-export-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 0.75rem;
    border: 1px solid rgba(74, 159, 181, 0.08);
    opacity: 0.5;
    cursor: not-allowed;
    transition: all 0.25s ease;
}

.fs-export-icon {
    width: 44px;
    height: 44px;
    border-radius: 0.625rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    gap: 0.125rem;
}

.fs-export-icon.pdf {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.12), rgba(239, 68, 68, 0.05));
    color: #ef4444;
}

.fs-export-icon.xlsx {
    background: linear-gradient(135deg, rgba(30, 201, 157, 0.12), rgba(30, 201, 157, 0.05));
    color: #1ec99d;
}

.fs-export-icon.json {
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.12), rgba(139, 92, 246, 0.05));
    color: #8b5cf6;
}

.fs-export-icon svg {
    width: 20px;
    height: 20px;
}

.fs-export-format {
    font-size: 0.55rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    line-height: 1;
}

.fs-export-info {
    flex: 1;
    min-width: 0;
}

.fs-export-name {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--base-color-neutral--black);
    margin-bottom: 0.125rem;
}

.fs-export-desc {
    font-size: 0.7rem;
    color: rgba(44, 95, 111, 0.5);
    line-height: 1.4;
}

.fs-export-btn {
    width: 36px;
    height: 36px;
    border-radius: 0.5rem;
    background: rgba(74, 159, 181, 0.06);
    border: 1px solid rgba(74, 159, 181, 0.12);
    color: rgba(74, 159, 181, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    cursor: not-allowed;
}

/* Responsive */
@media (max-width: 1200px) {
    .fs-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .fs-weights-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .fs-export-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .fs-stats-grid {
        grid-template-columns: 1fr;
    }
    .fs-distribution-grid {
        grid-template-columns: 1fr;
    }
    .fs-weights-grid {
        grid-template-columns: 1fr;
    }
    .fs-filters-grid {
        grid-template-columns: 1fr;
    }
    .fs-placeholder-slots {
        flex-wrap: wrap;
    }
    .final-select-title-row {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* =============================================================================
   DEVELOPER MODE
   ============================================================================= */

/* Sidebar Footer */
.sidebar-footer {
    margin-top: auto;
    padding-top: 1rem;
    border-top: 1px solid rgba(74, 159, 181, 0.12);
}

.sidebar { display: flex; flex-direction: column; }

.dev-mode-toggle {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.625rem 0.75rem;
    cursor: pointer;
    border-radius: 0.5rem;
    transition: background 0.2s;
}
.dev-mode-toggle:hover { background: rgba(255,255,255,0.2); }

.dev-toggle-label {
    font-size: 0.8rem;
    font-weight: 500;
    color: rgba(44,95,111,0.6);
}

.dev-toggle-track {
    width: 36px; height: 20px;
    background: rgba(44,95,111,0.15);
    border-radius: 10px;
    position: relative;
    transition: background 0.3s;
}
.dev-toggle-thumb {
    width: 16px; height: 16px;
    background: white;
    border-radius: 50%;
    position: absolute;
    top: 2px; left: 2px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
    transition: transform 0.3s;
}
.dev-toggle-switch.active .dev-toggle-track {
    background: #ef4444;
}
.dev-toggle-switch.active .dev-toggle-thumb {
    transform: translateX(16px);
}

.dev-nav-items {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    animation: devSlideIn 0.3s ease;
}
@keyframes devSlideIn {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}

.nav-item.dev-nav {
    color: #dc2626;
    font-size: 0.85rem;
}
.nav-item.dev-nav .nav-icon { color: #ef4444; }
.nav-item.dev-nav.active {
    background: rgba(239,68,68,0.12);
    color: #dc2626;
}
.nav-item.dev-nav:hover { background: rgba(239,68,68,0.08); }

/* Password Modal */
.dev-password-modal {
    position: fixed; inset: 0;
    background: rgba(0,0,0,0.5);
    backdrop-filter: blur(8px);
    z-index: 9999;
    display: flex; align-items: center; justify-content: center;
    animation: fadeIn 0.25s ease;
}
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

.dev-password-card {
    background: white;
    border-radius: 1.25rem;
    padding: 2.5rem;
    width: 380px;
    text-align: center;
    box-shadow: 0 25px 60px rgba(0,0,0,0.2);
    animation: modalSlideUp 0.35s cubic-bezier(0.4,0,0.2,1);
}
@keyframes modalSlideUp { from { transform: translateY(30px); opacity:0; } to { transform: translateY(0); opacity:1; } }

.dev-password-icon { color: #ef4444; margin-bottom: 1rem; }
.dev-password-title { font-size: 1.15rem; font-weight: 600; margin-bottom: 0.25rem; }
.dev-password-subtitle { font-size: 0.8rem; color: rgba(44,95,111,0.5); margin-bottom: 1.5rem; }

.dev-password-field { margin-bottom: 1.25rem; text-align: left; }
.dev-password-field input {
    width: 100%; padding: 0.75rem 1rem;
    border: 1.5px solid rgba(44,95,111,0.15);
    border-radius: 0.625rem;
    font-size: 0.9rem;
    transition: border-color 0.2s;
    box-sizing: border-box;
}
.dev-password-field input:focus {
    outline: none; border-color: #ef4444;
}
.dev-password-error {
    color: #ef4444; font-size: 0.75rem; margin-top: 0.5rem; font-weight: 500;
}

.dev-password-actions { display: flex; gap: 0.75rem; }
.dev-password-cancel {
    flex: 1; padding: 0.625rem;
    background: rgba(44,95,111,0.06);
    border: 1px solid rgba(44,95,111,0.12);
    border-radius: 0.625rem; cursor: pointer;
    font-size: 0.85rem; font-weight: 500;
}
.dev-password-submit {
    flex: 1; padding: 0.625rem;
    background: linear-gradient(135deg, #ef4444, #dc2626);
    border: none; border-radius: 0.625rem;
    color: white; cursor: pointer;
    font-size: 0.85rem; font-weight: 600;
    transition: transform 0.2s, box-shadow 0.2s;
}
.dev-password-submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(239,68,68,0.3);
}

/* =============================================================================
   Q.ENGINE EVALUATION VIEW
   ============================================================================= */
.engine-eval-view {
    opacity: 0; transform: translateY(-30px);
    pointer-events: none; position: absolute;
    top: 0; left: 0; right: 0; height: 0; overflow: hidden;
    transition: all 0.6s cubic-bezier(0.4,0,0.2,1);
}
.engine-eval-view.active {
    opacity: 1; transform: translateY(0);
    pointer-events: auto; position: relative; height: auto; overflow: visible;
}

.ee-header { margin-bottom: 1.5rem; }
.ee-subtitle { color: var(--base-color-neutral--black); font-size: 0.9rem; line-height: 1.6; max-width: 680px; }

.ee-config-card {
    background: rgba(255,255,255,0.85);
    backdrop-filter: blur(20px);
    border-radius: 1rem;
    padding: 1.5rem;
    border: 1px solid rgba(239,68,68,0.12);
    box-shadow: 0 4px 20px rgba(239,68,68,0.06);
    margin-bottom: 2rem;
}
.ee-config-title {
    display: flex; align-items: center; gap: 0.5rem;
    font-size: 1rem; font-weight: 600; margin-bottom: 1.25rem;
    color: #dc2626;
}

.ee-params-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-bottom: 1.5rem; }
.ee-param-label { font-size: 0.85rem; font-weight: 600; display: block; margin-bottom: 0.125rem; }
.ee-param-hint { font-size: 0.7rem; color: rgba(44,95,111,0.5); margin-bottom: 0.75rem; }

/* Percentage Selector */
.ee-pct-selector { display: flex; gap: 0.5rem; }
.ee-pct-btn {
    padding: 0.5rem 0.875rem; border-radius: 0.5rem;
    background: rgba(239,68,68,0.05); border: 1.5px solid rgba(239,68,68,0.15);
    color: rgba(44,95,111,0.6); font-size: 0.8rem; font-weight: 600;
    cursor: pointer; transition: all 0.2s;
}
.ee-pct-btn.active {
    background: linear-gradient(135deg, #ef4444, #dc2626);
    border-color: transparent; color: white;
    box-shadow: 0 3px 10px rgba(239,68,68,0.25);
}
.ee-custom-pct {
    display: inline-flex; align-items: center; position: relative;
}
.ee-custom-pct-input {
    width: 70px; height: 34px; padding: 0 1.5rem 0 0.625rem;
    border: 1.5px solid rgba(239,68,68,0.15); border-radius: 0.5rem;
    background: rgba(239,68,68,0.03); font-size: 0.8rem; font-weight: 600;
    text-align: center; box-sizing: border-box;
    -moz-appearance: textfield;
}
.ee-custom-pct-input::-webkit-outer-spin-button,
.ee-custom-pct-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ee-custom-pct-input:focus { outline: none; border-color: #ef4444; }
.ee-custom-pct-sign {
    position: absolute; right: 8px; font-size: 0.75rem; font-weight: 600;
    color: rgba(44,95,111,0.4); pointer-events: none;
}
.ee-sample-info { font-size: 0.7rem; color: rgba(44,95,111,0.4); margin-top: 0.5rem; }

/* Radio Cards */
.ee-mode-selector { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.5rem; }
.ee-radio-card {
    display: flex; align-items: center; gap: 0.5rem;
    padding: 0.625rem 0.75rem; border-radius: 0.625rem;
    background: rgba(239,68,68,0.03); border: 1.5px solid rgba(239,68,68,0.1);
    cursor: pointer; transition: all 0.2s;
}
.ee-radio-card input { display: none; }
.ee-radio-card.active {
    background: rgba(239,68,68,0.08); border-color: #ef4444;
}
.ee-radio-card span { font-size: 0.8rem; font-weight: 500; }
.ee-radio-count { margin-left: auto; font-size: 0.7rem; color: rgba(44,95,111,0.4); font-weight: 600; }
.ee-radio-icon {
    width: 28px; height: 28px; border-radius: 0.375rem;
    display: flex; align-items: center; justify-content: center;
    background: rgba(74,159,181,0.1); color: #4A9FB5;
}
.ee-radio-icon.rejected { background: rgba(239,68,68,0.1); color: #ef4444; }
.ee-radio-icon.round2 { background: rgba(30,201,157,0.1); color: #1ec99d; }
.ee-radio-icon.wyss { background: rgba(212,175,122,0.1); color: #b8913a; }

/* Toggle */
.ee-toggle-row { display: flex; align-items: center; gap: 0.75rem; }
.ee-toggle { cursor: pointer; }
.ee-toggle .ee-toggle-track {
    width: 44px; height: 24px; background: rgba(44,95,111,0.15);
    border-radius: 12px; position: relative; transition: background 0.3s;
}
.ee-toggle .ee-toggle-thumb {
    width: 18px; height: 18px; background: white; border-radius: 50%;
    position: absolute; top: 3px; left: 3px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2); transition: transform 0.3s;
}
.ee-toggle.active .ee-toggle-track { background: #1ec99d; }
.ee-toggle.active .ee-toggle-thumb { transform: translateX(20px); }
.ee-toggle-label { font-size: 0.8rem; font-weight: 500; color: rgba(44,95,111,0.6); }

/* Run Button */
.ee-run-row { text-align: center; padding-top: 0.5rem; }
.ee-run-btn {
    display: inline-flex; align-items: center; gap: 0.625rem;
    padding: 0.875rem 2.5rem;
    background: linear-gradient(135deg, #ef4444, #dc2626);
    border: none; border-radius: 0.75rem;
    color: white; font-size: 0.95rem; font-weight: 600;
    cursor: pointer; transition: all 0.3s;
}
.ee-run-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(239,68,68,0.35);
}
.ee-run-btn:disabled { opacity: 0.6; cursor: not-allowed; transform: none; box-shadow: none; }
.ee-run-btn svg { width: 18px; height: 18px; }
.ee-run-loader {
    width: 16px; height: 16px; border: 2px solid rgba(255,255,255,0.3);
    border-top-color: white; border-radius: 50%;
    animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

.ee-progress-bar {
    margin-top: 1rem; height: 8px; background: rgba(239,68,68,0.1);
    border-radius: 4px; position: relative; overflow: hidden;
}
.ee-progress-fill {
    height: 100%; background: linear-gradient(90deg, #ef4444, #f97316);
    border-radius: 4px; width: 0%; transition: width 0.5s ease;
}
.ee-progress-text {
    position: absolute; top: 14px; left: 0; right: 0;
    text-align: center; font-size: 0.7rem; color: rgba(44,95,111,0.5);
}

/* Results */
.ee-results-section { animation: fadeIn 0.5s ease; }

.ee-accuracy-hero {
    display: flex; align-items: center; gap: 2rem;
    background: rgba(255,255,255,0.85); backdrop-filter: blur(20px);
    border-radius: 1rem; padding: 2rem; margin-bottom: 1.5rem;
    border: 1px solid rgba(239,68,68,0.1);
    box-shadow: 0 4px 20px rgba(239,68,68,0.06);
}
.ee-accuracy-ring { position: relative; width: 120px; height: 120px; flex-shrink: 0; }
.ee-ring-svg { transform: rotate(-90deg); }
.ee-accuracy-value {
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.75rem; font-weight: 700; color: #dc2626;
}
.ee-accuracy-info h3 { font-size: 1.1rem; font-weight: 600; margin-bottom: 0.25rem; }
.ee-accuracy-info p { font-size: 0.85rem; color: rgba(44,95,111,0.6); }

.ee-metrics-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin-bottom: 1.5rem;
}
.ee-metric-card {
    background: rgba(255,255,255,0.8); backdrop-filter: blur(20px);
    border-radius: 0.75rem; padding: 1.25rem; text-align: center;
    border: 1px solid rgba(239,68,68,0.08);
}
.ee-metric-label { font-size: 0.75rem; color: rgba(44,95,111,0.5); font-weight: 500; margin-bottom: 0.375rem; }
.ee-metric-value { font-size: 1.5rem; font-weight: 700; color: var(--base-color-neutral--black); }

/* Confusion Matrix */
.ee-confusion-section {
    background: rgba(255,255,255,0.85); backdrop-filter: blur(20px);
    border-radius: 1rem; padding: 1.5rem; margin-bottom: 1.5rem;
    border: 1px solid rgba(239,68,68,0.08);
}
.ee-section-title { font-size: 1rem; font-weight: 600; margin-bottom: 1rem; }

.ee-cm-table {
    width: 100%; border-collapse: separate; border-spacing: 4px;
}
.ee-cm-table th {
    padding: 0.625rem; font-size: 0.8rem; font-weight: 600; text-align: center;
    color: rgba(44,95,111,0.7);
}
.ee-cm-corner { text-align: left !important; font-size: 0.7rem; color: rgba(44,95,111,0.4); }
.ee-cm-cell {
    padding: 1rem; text-align: center; border-radius: 0.5rem;
    font-size: 1.25rem; font-weight: 700;
    background: rgba(239,68,68,0.04);
    transition: all 0.3s;
}
.ee-cm-cell.diagonal {
    background: rgba(30,201,157,0.12); color: #1ec99d;
}
.ee-cm-cell.off-diagonal {
    background: rgba(239,68,68,0.08); color: #ef4444;
}

/* Per-Class */
.ee-perclass-section {
    background: rgba(255,255,255,0.85); backdrop-filter: blur(20px);
    border-radius: 1rem; padding: 1.5rem; margin-bottom: 1.5rem;
    border: 1px solid rgba(239,68,68,0.08);
}
.ee-perclass-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }

.ee-class-card {
    border-radius: 0.75rem; padding: 1.25rem;
    background: rgba(255,255,255,0.5);
    border: 1px solid rgba(74,159,181,0.08);
}
.ee-class-card-header {
    display: flex; align-items: center; gap: 0.5rem; margin-bottom: 1rem;
}
.ee-class-badge {
    padding: 0.2rem 0.5rem; border-radius: 0.375rem;
    font-size: 0.7rem; font-weight: 700;
}
.ee-class-badge.rejected { background: rgba(239,68,68,0.1); color: #ef4444; }
.ee-class-badge.round2 { background: rgba(30,201,157,0.1); color: #1ec99d; }
.ee-class-badge.wyss { background: rgba(212,175,122,0.1); color: #b8913a; }

.ee-class-metrics { display: flex; flex-direction: column; gap: 0.625rem; }
.ee-class-metric {
    display: flex; justify-content: space-between; align-items: center;
}
.ee-class-metric-label { font-size: 0.75rem; color: rgba(44,95,111,0.5); }
.ee-class-metric-value { font-size: 0.85rem; font-weight: 700; }
.ee-class-metric-bar {
    height: 4px; background: rgba(44,95,111,0.08); border-radius: 2px; margin-top: 0.25rem;
}
.ee-class-metric-fill {
    height: 100%; border-radius: 2px;
    background: linear-gradient(90deg, #ef4444, #f97316);
    transition: width 0.8s ease;
}

/* Export */
.ee-export-row { text-align: center; }
.ee-export-btn {
    display: inline-flex; align-items: center; gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    background: rgba(239,68,68,0.06); border: 1.5px solid rgba(239,68,68,0.2);
    border-radius: 0.625rem; color: #dc2626;
    font-size: 0.85rem; font-weight: 600; cursor: pointer;
    transition: all 0.2s;
}
.ee-export-btn:hover {
    background: rgba(239,68,68,0.12);
    transform: translateY(-1px);
}

/* =============================================================================
   QUANTUM CONFIGURATION VIEW
   ============================================================================= */
.quantum-config-view {
    opacity: 0; transform: translateY(-30px);
    pointer-events: none; position: absolute;
    top: 0; left: 0; right: 0; height: 0; overflow: hidden;
    transition: all 0.6s cubic-bezier(0.4,0,0.2,1);
}
.quantum-config-view.active {
    opacity: 1; transform: translateY(0);
    pointer-events: auto; position: relative; height: auto; overflow: visible;
}

.qc-header { margin-bottom: 1.5rem; }
.qc-title-row { display: flex; align-items: baseline; gap: 1rem; margin-bottom: 0.5rem; }
.qc-subtitle { color: var(--base-color-neutral--black); font-size: 0.9rem; line-height: 1.6; max-width: 700px; }

/* Quantum Circuit - Enhanced 32-Qubit PennyLane Style */
.qc-circuit-section { margin-bottom: 2rem; }
.qc-circuit-card {
    background: linear-gradient(135deg, rgba(8,12,22,0.95), rgba(12,18,32,0.95));
    backdrop-filter: blur(20px); border-radius: 1rem;
    padding: 1.5rem 1.5rem 1rem;
    border: 1px solid rgba(74,159,181,0.15);
    box-shadow: 0 8px 40px rgba(0,0,0,0.4), inset 0 1px 0 rgba(74,159,181,0.08);
    overflow: hidden; position: relative;
}
.qc-circuit-header {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 1rem;
}
.qc-card-title {
    color: rgba(74,159,181,0.85); font-size: 0.95rem; font-weight: 600;
    letter-spacing: 0.02em;
}
.qc-circuit-meta { display: flex; gap: 0.5rem; }
.qc-meta-tag {
    padding: 0.2rem 0.5rem; border-radius: 0.25rem;
    font-size: 0.6rem; font-weight: 600; letter-spacing: 0.04em;
    background: rgba(74,159,181,0.08); color: rgba(74,159,181,0.5);
    border: 1px solid rgba(74,159,181,0.12);
    font-family: 'Courier New', monospace;
}

.qc-circuit-canvas {
    overflow: hidden;
    position: relative; padding-bottom: 0.5rem;
}

.qc-circuit-grid {
    display: flex; flex-direction: column; position: relative;
    width: 100%;
}

.qc-row {
    display: flex; align-items: center; height: 22px;
}
.qc-row-label {
    width: 42px; flex-shrink: 0; text-align: right; padding-right: 8px;
    font-family: 'Courier New', monospace; font-size: 0.6rem;
    color: rgba(74,159,181,0.45); user-select: none;
}
.qc-row-wire {
    flex: 1; display: flex; align-items: center;
    position: relative;
}
.qc-row-wire::before {
    content: ''; position: absolute; top: 50%; left: 0; right: 0;
    height: 1px; background: rgba(74,159,181,0.1);
}

.qc-ket-label {
    font-family: 'Courier New', monospace; font-size: 0.55rem;
    color: rgba(74,159,181,0.3); margin-left: 2px;
    width: 22px; flex-shrink: 0; text-align: center;
}

/* Gate Slots */
.qc-slot {
    flex: 1; height: 20px;
    display: flex; align-items: center; justify-content: center;
    position: relative; z-index: 1;
}

/* Gate Styling */
.qc-g {
    border-radius: 3px; font-family: 'Courier New', monospace;
    font-size: 0.55rem; font-weight: 700;
    display: flex; align-items: center; justify-content: center;
    transition: all 0.3s ease; cursor: default;
    box-shadow: 0 1px 4px rgba(0,0,0,0.3);
    width: 30px; height: 18px;
}
.qc-g:hover {
    transform: scale(1.2); z-index: 10;
    box-shadow: 0 0 12px rgba(74,159,181,0.4);
}
.qc-g.g-h { background: rgba(74,159,181,0.25); color: #6bc5d8; border: 1px solid rgba(74,159,181,0.4); }
.qc-g.g-x { background: rgba(74,159,181,0.3); color: #7dd3e8; border: 1px solid rgba(74,159,181,0.45); }
.qc-g.g-rx, .qc-g.g-ry, .qc-g.g-rz {
    background: rgba(139,92,246,0.25); color: #b8a0f8; border: 1px solid rgba(139,92,246,0.4);
}
.qc-g.g-s, .qc-g.g-t, .qc-g.g-sdg, .qc-g.g-tdg {
    background: rgba(244,114,182,0.2); color: #f9a8d4; border: 1px solid rgba(244,114,182,0.35);
}
.qc-g.g-u { background: rgba(251,146,60,0.2); color: #fdba74; border: 1px solid rgba(251,146,60,0.35); }
.qc-g.g-sw { background: rgba(30,201,157,0.25); color: #6ee7b7; border: 1px solid rgba(30,201,157,0.4); }
.qc-g.g-m {
    background: rgba(212,175,122,0.2); color: #e8c888; border: 1px solid rgba(212,175,122,0.35);
    border-radius: 2px 2px 5px 5px;
}
.qc-g.g-bar {
    width: 4px; height: 18px; border-radius: 2px;
    background: rgba(74,159,181,0.3); border: none; box-shadow: none;
}
.qc-g.g-bar:hover { transform: none; box-shadow: none; }

/* CNOT control dot */
.qc-ctrl {
    width: 8px; height: 8px; border-radius: 50%;
    background: #4A9FB5; box-shadow: 0 0 6px rgba(74,159,181,0.5);
}
/* CNOT target */
.qc-targ {
    width: 16px; height: 16px; border-radius: 50%;
    border: 1.5px solid #4A9FB5; position: relative;
    box-shadow: 0 0 6px rgba(74,159,181,0.3);
}
.qc-targ::before, .qc-targ::after {
    content: ''; position: absolute; background: #4A9FB5;
}
.qc-targ::before { width: 100%; height: 1.5px; top: 50%; transform: translateY(-50%); }
.qc-targ::after { width: 1.5px; height: 100%; left: 50%; transform: translateX(-50%); }

/* CNOT vertical connector line */
.qc-cnot-line {
    position: absolute; width: 1.5px; background: rgba(74,159,181,0.35);
    left: 50%; transform: translateX(-50%); z-index: 0;
    box-shadow: 0 0 4px rgba(74,159,181,0.15);
}

/* Entanglement bracket notation */
.qc-bracket {
    position: absolute; right: 48px; top: 0; bottom: 0;
    width: 18px; display: flex; flex-direction: column; justify-content: center;
}
.qc-bracket-line {
    width: 1px; background: rgba(139,92,246,0.2);
    position: absolute; right: 8px;
}
.qc-bracket-label {
    font-family: 'Courier New', monospace; font-size: 0.45rem;
    color: rgba(139,92,246,0.4); writing-mode: vertical-rl;
    text-orientation: mixed; letter-spacing: 0.05em;
}

/* Scanning pulse */
.qc-scan-line {
    position: absolute; top: 0; width: 2px; height: 100%;
    background: linear-gradient(180deg, transparent, rgba(74,159,181,0.4), transparent);
    box-shadow: 0 0 8px rgba(74,159,181,0.3), 4px 0 16px rgba(74,159,181,0.1);
    animation: scanLine 6s linear infinite;
    z-index: 5; pointer-events: none;
}
@keyframes scanLine { from { left: 42px; } to { left: calc(100% - 30px); } }

/* Qubit state glow */
.qc-state-glow {
    position: absolute; right: 0; top: 0; bottom: 0; width: 30px;
    background: linear-gradient(90deg, transparent, rgba(74,159,181,0.03));
    pointer-events: none;
}

/* Config Panels */
.qc-panels-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.qc-panel {
    background: rgba(255,255,255,0.8); backdrop-filter: blur(20px);
    border-radius: 1rem; padding: 1.25rem;
    border: 1px solid rgba(255,255,255,0.6); position: relative;
    box-shadow: 0 4px 20px rgba(74,159,181,0.08);
}
.qc-panel-title {
    display: flex; align-items: center; gap: 0.5rem;
    font-size: 0.9rem; font-weight: 600; margin-bottom: 1rem;
    color: var(--base-color-neutral--black);
}
.qc-panel-title svg { color: #4A9FB5; }

.qc-param-group { display: flex; flex-direction: column; gap: 0.75rem; }
.qc-param label {
    display: block; font-size: 0.72rem; font-weight: 600;
    color: rgba(44,95,111,0.6); margin-bottom: 0.25rem;
}
.qc-param select, .qc-param input {
    width: 100%; padding: 0.5rem 0.625rem;
    background: rgba(74,159,181,0.04);
    border: 1px solid rgba(74,159,181,0.12);
    border-radius: 0.5rem; font-size: 0.8rem;
    box-sizing: border-box;
}
.qc-param textarea {
    width: 100%; min-height: 80px; padding: 0.5rem 0.625rem;
    background: rgba(74,159,181,0.04);
    border: 1px solid rgba(74,159,181,0.12);
    border-radius: 0.5rem; font-size: 0.78rem;
    resize: vertical; font-family: inherit; box-sizing: border-box;
}
.qc-param.full-width { grid-column: 1 / -1; }

@media (max-width: 1200px) {
    .ee-params-grid { grid-template-columns: 1fr 1fr; }
    .ee-perclass-grid { grid-template-columns: 1fr; }
    .qc-panels-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .ee-params-grid { grid-template-columns: 1fr; }
    .ee-metrics-grid { grid-template-columns: repeat(2, 1fr); }
    .ee-mode-selector { grid-template-columns: 1fr; }
}
}