        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background: linear-gradient(135deg, #2c5282 0%, #3182ce 100%);
            min-height: 100vh;
            padding: 20px;
        }

        .container {
            max-width: 900px;
            margin: 0 auto;
        }

        /* En-tête */
        .header {
            background: white;
            border-radius: 16px;
            padding: 30px;
            margin-bottom: 20px;
            box-shadow: 0 10px 40px rgba(0,0,0,0.2);
        }

        .header h1 {
            color: #4a5568;
            font-size: 24px;
            margin-bottom: 20px;
            text-align: center;
        }

        /* Recherche */
        .search-container {
            position: relative;
        }

        #searchInput {
            width: 100%;
            padding: 16px 20px;
            font-size: 18px;
            border: 2px solid #e2e8f0;
            border-radius: 12px;
            outline: none;
            transition: all 0.3s;
        }

        #searchInput:focus {
            border-color: #2c5282;
            box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.2);
        }

        #suggestions {
            position: absolute;
            top: 100%;
            left: 0;
            right: 0;
            background: white;
            border-radius: 12px;
            box-shadow: 0 10px 40px rgba(0,0,0,0.15);
            margin-top: 8px;
            max-height: 300px;
            overflow-y: auto;
            z-index: 100;
            display: none;
        }

        .suggestion-item {
            padding: 14px 20px;
            cursor: pointer;
            border-bottom: 1px solid #f0f0f0;
            transition: background 0.2s;
        }

        .suggestion-item:hover {
            background: #f7fafc;
        }

        .suggestion-item:last-child {
            border-bottom: none;
        }

        .suggestion-code {
            color: #2c5282;
            font-weight: 600;
            margin-right: 10px;
        }

        /* Fiche métier */
        .metier-card {
            background: white;
            border-radius: 16px;
            overflow: hidden;
            box-shadow: 0 10px 40px rgba(0,0,0,0.2);
            display: none;
        }

        .metier-header {
            background: linear-gradient(135deg, #2c5282 0%, #3182ce 100%);
            color: white;
            padding: 30px;
        }

        .metier-title {
            font-size: 28px;
            font-weight: 700;
            margin-bottom: 8px;
        }

        .metier-code {
            font-size: 16px;
            opacity: 0.9;
            background: rgba(255,255,255,0.2);
            display: inline-block;
            padding: 4px 12px;
            border-radius: 20px;
        }

        .metier-savoir-etre {
            margin-top: 15px;
            font-size: 14px;
            opacity: 0.9;
        }

        .metier-savoir-etre span {
            background: rgba(255,255,255,0.2);
            padding: 4px 10px;
            border-radius: 12px;
            margin-right: 8px;
            margin-bottom: 8px;
            display: inline-block;
        }

        .metier-definition {
            margin-top: 15px;
            font-size: 15px;
            line-height: 1.6;
            opacity: 0.95;
            background: rgba(255,255,255,0.1);
            padding: 15px;
            border-radius: 10px;
        }

        /* Section SFC */
        .sfc-section {
            padding: 20px 30px;
        }

        .sfc-section-title {
            font-size: 18px;
            color: #4a5568;
            margin-bottom: 20px;
            padding-bottom: 10px;
            border-bottom: 2px solid #e2e8f0;
        }

        .sfc-count {
            background: #2c5282;
            color: white;
            padding: 2px 10px;
            border-radius: 12px;
            font-size: 14px;
            margin-left: 10px;
        }

        /* Accordéon SFC */
        .sfc-accordion {
            margin-bottom: 12px;
            border: 1px solid #e2e8f0;
            border-radius: 12px;
            overflow: hidden;
        }

        .sfc-header {
            padding: 16px 20px;
            background: #f7fafc;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            transition: background 0.2s;
        }

        .sfc-header:hover {
            background: #edf2f7;
        }

        .sfc-header.active {
            background: #2c5282;
            color: white;
        }

        .sfc-name {
            font-weight: 600;
            font-size: 16px;
        }

        .sfc-header-content {
            display: flex;
            flex-direction: column;
            flex: 1;
            min-width: 0;
        }

        .sfc-definition-inline {
            font-size: 13px;
            color: #718096;
            font-style: italic;
            margin-top: 4px;
            line-height: 1.4;
        }

        .sfc-arrow {
            transition: transform 0.3s;
        }

        .sfc-header.active .sfc-arrow {
            transform: rotate(180deg);
        }

        .sfc-content {
            display: none;
            padding: 20px;
            background: white;
            border-top: 1px solid #e2e8f0;
        }

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

        /* Définition SFC */
        .sfc-definition {
            background: #f7fafc;
            padding: 15px;
            border-radius: 8px;
            margin-bottom: 20px;
            position: relative;
        }

        .sfc-definition-label {
            font-size: 12px;
            color: #718096;
            margin-bottom: 8px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .sfc-definition-text {
            color: #4a5568;
            font-style: italic;
            line-height: 1.5;
        }

        .sfc-definition textarea {
            width: 100%;
            border: 1px solid #e2e8f0;
            border-radius: 6px;
            padding: 10px;
            font-size: 14px;
            resize: vertical;
            min-height: 60px;
            display: none;
        }

        .sfc-definition.editing textarea {
            display: block;
        }

        .sfc-definition.editing .sfc-definition-text {
            display: none;
        }

        .edit-btn {
            position: absolute;
            top: 10px;
            right: 10px;
            background: none;
            border: none;
            color: #2c5282;
            cursor: pointer;
            font-size: 14px;
        }

        /* Slogan SFC */
        .sfc-slogan {
            background: linear-gradient(135deg, #faf5ff 0%, #f3e8ff 100%);
            padding: 15px;
            border-radius: 8px;
            margin-bottom: 20px;
            position: relative;
            border-left: 4px solid #9f7aea;
        }

        .sfc-slogan-label {
            font-size: 12px;
            color: #805ad5;
            margin-bottom: 8px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            font-weight: 600;
        }

        .sfc-slogan-text {
            color: #553c9a;
            font-weight: 500;
            font-size: 15px;
            line-height: 1.5;
        }

        .sfc-slogan textarea {
            width: 100%;
            border: 1px solid #d6bcfa;
            border-radius: 6px;
            padding: 10px;
            font-size: 14px;
            resize: vertical;
            min-height: 60px;
            display: none;
        }

        .sfc-slogan.editing textarea {
            display: block;
        }

        .sfc-slogan.editing .sfc-slogan-text {
            display: none;
        }

        /* Indicateurs */
        .indicators-title {
            font-size: 14px;
            color: #4a5568;
            font-weight: 600;
            margin-bottom: 12px;
        }

        .indicator-item {
            display: flex;
            align-items: flex-start;
            padding: 10px 0;
            border-bottom: 1px solid #f0f0f0;
        }

        .indicator-item:last-child {
            border-bottom: none;
        }

        .indicator-item input[type="checkbox"] {
            width: 20px;
            height: 20px;
            margin-right: 12px;
            margin-top: 2px;
            accent-color: #2c5282;
            cursor: pointer;
        }

        .indicator-text {
            flex: 1;
            color: #4a5568;
            line-height: 1.5;
        }

        .indicator-type {
            font-size: 11px;
            padding: 2px 8px;
            border-radius: 10px;
            margin-left: 10px;
            white-space: nowrap;
        }

        .indicator-type.principal {
            background: #c6f6d5;
            color: #276749;
        }

        .indicator-type.secondaire {
            background: #feebc8;
            color: #c05621;
        }

        /* Actions */
        .actions {
            padding: 20px 30px;
            background: #f7fafc;
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
        }

        .btn {
            padding: 12px 24px;
            border: none;
            border-radius: 8px;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.2s;
        }

        .btn-primary {
            background: linear-gradient(135deg, #2c5282 0%, #3182ce 100%);
            color: white;
        }

        .btn-primary:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
        }

        .btn-secondary {
            background: white;
            color: #4a5568;
            border: 2px solid #e2e8f0;
        }

        .btn-secondary:hover {
            border-color: #2c5282;
            color: #2c5282;
        }

        /* Empty state */
        .empty-indicators {
            color: #a0aec0;
            font-style: italic;
            padding: 10px 0;
        }

        /* Ajout manuel */
        .add-sfc-container {
            margin-top: 20px;
            padding: 15px;
            background: #f0fff4;
            border: 2px dashed #68d391;
            border-radius: 12px;
        }

        .add-sfc-row {
            display: flex;
            gap: 10px;
            align-items: center;
        }

        .add-sfc-select {
            flex: 1;
            padding: 10px 15px;
            border: 1px solid #e2e8f0;
            border-radius: 8px;
            font-size: 14px;
            background: white;
        }

        .add-indicator-container {
            margin-top: 15px;
            padding-top: 15px;
            border-top: 1px dashed #e2e8f0;
        }

        .add-indicator-row {
            display: flex;
            gap: 10px;
            align-items: center;
        }

        .add-indicator-input {
            flex: 1;
            padding: 10px 15px;
            border: 1px solid #e2e8f0;
            border-radius: 8px;
            font-size: 14px;
        }

        .add-indicator-input:focus {
            outline: none;
            border-color: #2c5282;
            box-shadow: 0 0 0 3px rgba(44, 82, 130, 0.1);
        }

        .btn-add {
            padding: 10px 20px;
            background: #48bb78;
            color: white;
            border: none;
            border-radius: 8px;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.2s;
            white-space: nowrap;
        }

        .btn-add:hover {
            background: #38a169;
        }

        .btn-remove {
            background: none;
            border: none;
            color: #e53e3e;
            cursor: pointer;
            padding: 5px;
            font-size: 16px;
            opacity: 0.6;
            transition: opacity 0.2s;
        }

        .btn-remove:hover {
            opacity: 1;
        }

        .indicator-item.manual {
            background: #f0fff4;
            border-radius: 8px;
            padding: 10px;
            margin-bottom: 8px;
        }

        .indicator-wrapper {
            margin-bottom: 12px;
            padding-bottom: 12px;
            border-bottom: 1px dashed #e2e8f0;
        }

        .indicator-wrapper:last-child {
            border-bottom: none;
            margin-bottom: 0;
            padding-bottom: 0;
        }

        .tache-observable {
            margin-top: 8px;
            margin-left: 32px;
            padding: 10px 12px;
            background: linear-gradient(135deg, #ebf8ff 0%, #e6fffa 100%);
            border-left: 3px solid #3182ce;
            border-radius: 0 8px 8px 0;
            font-size: 13px;
            color: #2c5282;
            line-height: 1.5;
        }

        .tache-observable-label {
            font-size: 11px;
            font-weight: 600;
            color: #2b6cb0;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-bottom: 4px;
        }

        .tache-observable-text {
            color: #2d3748;
        }

        .tache-observable textarea {
            display: none;
            width: 100%;
            min-height: 60px;
            padding: 8px;
            border: 1px solid #3182ce;
            border-radius: 4px;
            font-size: 13px;
            font-family: inherit;
            resize: vertical;
            margin-top: 4px;
        }

        .tache-observable.editing textarea {
            display: block;
        }

        .tache-observable.editing .tache-observable-text {
            display: none;
        }

        .tache-edit-btn {
            background: none;
            border: none;
            color: #3182ce;
            cursor: pointer;
            font-size: 12px;
            padding: 2px 6px;
            margin-left: 8px;
            opacity: 0.7;
            transition: opacity 0.2s;
        }

        .tache-edit-btn:hover {
            opacity: 1;
        }

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

        .add-tache-container {
            margin-top: 8px;
            margin-left: 32px;
        }

        .add-tache-input {
            width: 100%;
            padding: 8px 12px;
            border: 1px dashed #3182ce;
            border-radius: 4px;
            font-size: 13px;
            font-family: inherit;
            background: #f7fafc;
            color: #4a5568;
        }

        .add-tache-input::placeholder {
            color: #a0aec0;
            font-style: italic;
        }

        .no-tache {
            margin-top: 8px;
            margin-left: 32px;
            padding: 8px 12px;
            background: #fff5f5;
            border-left: 3px solid #fc8181;
            border-radius: 0 8px 8px 0;
            font-size: 12px;
            color: #c53030;
            font-style: italic;
        }

        /* Système d'indicateurs à 4 niveaux */
        .niveaux-container {
            margin-top: 10px;
            margin-left: 32px;
            border-radius: 8px;
            overflow: hidden;
            border: 1px solid #e2e8f0;
        }

        .niveau-indicator {
            display: flex;
            align-items: flex-start;
            padding: 10px 12px;
            gap: 10px;
            border-bottom: 1px solid #e2e8f0;
            transition: background 0.2s;
        }

        .niveau-indicator:last-child {
            border-bottom: none;
        }

        .niveau-indicator:hover {
            filter: brightness(0.98);
        }

        .niveau-indicator.niveau-1 {
            background: linear-gradient(135deg, #ebf8ff 0%, #dbeafe 100%);
            border-left: 4px solid #3182ce;
        }

        .niveau-indicator.niveau-2 {
            background: linear-gradient(135deg, #fefce8 0%, #fef3c7 100%);
            border-left: 4px solid #ecc94b;
        }

        .niveau-indicator.niveau-3 {
            background: linear-gradient(135deg, #f0fff4 0%, #dcfce7 100%);
            border-left: 4px solid #48bb78;
        }

        .niveau-indicator.niveau-4 {
            background: linear-gradient(135deg, #fff5f5 0%, #fee2e2 100%);
            border-left: 4px solid #e53e3e;
        }

        .niveau-indicator input[type="checkbox"] {
            margin-top: 3px;
            width: 16px;
            height: 16px;
            cursor: pointer;
            flex-shrink: 0;
        }

        .niveau-indicator-content {
            flex: 1;
        }

        .niveau-indicator-header {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 4px;
        }

        .niveau-badge {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 22px;
            height: 22px;
            border-radius: 50%;
            font-size: 11px;
            font-weight: 700;
            color: white;
            flex-shrink: 0;
        }

        .niveau-badge.badge-1 { background: #3182ce; }
        .niveau-badge.badge-2 { background: #ecc94b; color: #744210; }
        .niveau-badge.badge-3 { background: #48bb78; }
        .niveau-badge.badge-4 { background: #e53e3e; }

        .niveau-label {
            font-size: 11px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .niveau-1 .niveau-label { color: #2b6cb0; }
        .niveau-2 .niveau-label { color: #975a16; }
        .niveau-3 .niveau-label { color: #276749; }
        .niveau-4 .niveau-label { color: #c53030; }

        .niveau-indicator-text {
            font-size: 13px;
            color: #2d3748;
            line-height: 1.5;
        }

        .niveau-edit-btn {
            background: none;
            border: none;
            color: inherit;
            cursor: pointer;
            font-size: 12px;
            padding: 2px 6px;
            margin-left: auto;
            opacity: 0.5;
            transition: opacity 0.2s;
        }

        .niveau-edit-btn:hover {
            opacity: 1;
        }

        .niveau-indicator-textarea {
            display: none;
            width: 100%;
            min-height: 60px;
            padding: 8px;
            border: 1px solid currentColor;
            border-radius: 4px;
            font-size: 13px;
            font-family: inherit;
            resize: vertical;
            margin-top: 4px;
            background: white;
        }

        .niveau-indicator.editing .niveau-indicator-textarea {
            display: block;
        }

        .niveau-indicator.editing .niveau-indicator-text {
            display: none;
        }

        /* Formulaire de création des 4 niveaux */
        .niveaux-inputs-container {
            margin-top: 10px;
            margin-left: 32px;
            border: 1px dashed #cbd5e0;
            border-radius: 8px;
            padding: 16px;
            background: #f7fafc;
        }

        .niveaux-inputs-header {
            font-size: 12px;
            font-weight: 600;
            color: #4a5568;
            margin-bottom: 12px;
        }

        .niveau-input-row {
            margin-bottom: 12px;
            padding: 10px;
            border-radius: 6px;
        }

        .niveau-input-row.niveau-1 {
            background: linear-gradient(135deg, #ebf8ff 0%, #dbeafe 100%);
            border-left: 3px solid #3182ce;
        }

        .niveau-input-row.niveau-2 {
            background: linear-gradient(135deg, #fefce8 0%, #fef3c7 100%);
            border-left: 3px solid #ecc94b;
        }

        .niveau-input-row.niveau-3 {
            background: linear-gradient(135deg, #f0fff4 0%, #dcfce7 100%);
            border-left: 3px solid #48bb78;
        }

        .niveau-input-row.niveau-4 {
            background: linear-gradient(135deg, #fff5f5 0%, #fee2e2 100%);
            border-left: 3px solid #e53e3e;
        }

        .niveau-input-label {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 6px;
            font-size: 12px;
            font-weight: 600;
        }

        .niveau-input-textarea {
            width: 100%;
            min-height: 50px;
            padding: 8px;
            border: 1px solid #e2e8f0;
            border-radius: 4px;
            font-size: 13px;
            font-family: inherit;
            resize: vertical;
            background: white;
        }

        .niveau-input-textarea:focus {
            outline: none;
            border-color: #667eea;
            box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.2);
        }

        .btn-save-niveaux {
            display: block;
            width: 100%;
            margin-top: 12px;
            padding: 10px 16px;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: white;
            border: none;
            border-radius: 6px;
            font-size: 13px;
            font-weight: 600;
            cursor: pointer;
            transition: transform 0.2s, box-shadow 0.2s;
        }

        .btn-save-niveaux:hover {
            transform: translateY(-1px);
            box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
        }

        .niveau-help-link {
            display: inline-block;
            margin-left: 32px;
            margin-top: 6px;
            font-size: 11px;
            color: #718096;
            cursor: pointer;
            text-decoration: underline;
        }

        .niveau-help-link:hover {
            color: #4a5568;
        }

        /* Modale des niveaux de performance */
        .niveau-modal-overlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.6);
            z-index: 1000;
            justify-content: center;
            align-items: center;
            padding: 20px;
        }

        .niveau-modal-overlay.active {
            display: flex;
        }

        .niveau-modal {
            background: white;
            border-radius: 12px;
            max-width: 900px;
            width: 100%;
            max-height: 90vh;
            overflow-y: auto;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
        }

        .niveau-modal-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 20px 24px;
            border-bottom: 1px solid #e2e8f0;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            border-radius: 12px 12px 0 0;
        }

        .niveau-modal-header h3 {
            margin: 0;
            color: white;
            font-size: 18px;
        }

        .niveau-modal-close {
            background: rgba(255, 255, 255, 0.2);
            border: none;
            color: white;
            font-size: 20px;
            cursor: pointer;
            padding: 5px 10px;
            border-radius: 4px;
            transition: background 0.2s;
        }

        .niveau-modal-close:hover {
            background: rgba(255, 255, 255, 0.3);
        }

        .niveau-modal-content {
            padding: 24px;
        }

        .niveau-table {
            width: 100%;
            border-collapse: collapse;
            margin-bottom: 20px;
        }

        .niveau-table th,
        .niveau-table td {
            padding: 12px 16px;
            text-align: left;
            border: 1px solid #e2e8f0;
        }

        .niveau-table th {
            background: #f7fafc;
            font-weight: 600;
            color: #2d3748;
        }

        /* Ancien système de notation (conservé pour compatibilité) */
        .niveau-rating {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-top: 10px;
            padding: 8px 12px;
            background: #f8fafc;
            border-radius: 6px;
        }

        .niveau-rating-label {
            font-size: 11px;
            color: #718096;
            margin-right: 8px;
            font-weight: 500;
        }

        .niveau-btn {
            width: 28px;
            height: 28px;
            border-radius: 50%;
            border: 2px solid transparent;
            cursor: pointer;
            font-size: 12px;
            font-weight: 600;
            color: white;
            transition: all 0.2s ease;
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .niveau-btn:hover {
            transform: scale(1.15);
            box-shadow: 0 2px 8px rgba(0,0,0,0.2);
        }

        .niveau-btn.selected {
            transform: scale(1.2);
            box-shadow: 0 0 0 3px rgba(0,0,0,0.1), 0 2px 8px rgba(0,0,0,0.2);
        }

        .niveau-btn[data-niveau="1"] {
            background: #3182ce;
        }
        .niveau-btn[data-niveau="1"].selected {
            box-shadow: 0 0 0 3px rgba(49,130,206,0.3), 0 2px 8px rgba(0,0,0,0.2);
        }

        .niveau-btn[data-niveau="2"] {
            background: #ecc94b;
            color: #744210;
        }
        .niveau-btn[data-niveau="2"].selected {
            box-shadow: 0 0 0 3px rgba(236,201,75,0.4), 0 2px 8px rgba(0,0,0,0.2);
        }

        .niveau-btn[data-niveau="3"] {
            background: #48bb78;
        }
        .niveau-btn[data-niveau="3"].selected {
            box-shadow: 0 0 0 3px rgba(72,187,120,0.3), 0 2px 8px rgba(0,0,0,0.2);
        }

        .niveau-btn[data-niveau="4"] {
            background: #e53e3e;
        }
        .niveau-btn[data-niveau="4"].selected {
            box-shadow: 0 0 0 3px rgba(229,62,62,0.3), 0 2px 8px rgba(0,0,0,0.2);
        }

        /* Tooltips pour les niveaux */
        .niveau-btn::after {
            content: attr(data-tooltip);
            position: absolute;
            bottom: 100%;
            left: 50%;
            transform: translateX(-50%);
            background: #2d3748;
            color: white;
            padding: 6px 10px;
            border-radius: 6px;
            font-size: 11px;
            font-weight: 400;
            white-space: nowrap;
            opacity: 0;
            visibility: hidden;
            transition: all 0.2s;
            z-index: 100;
            margin-bottom: 8px;
            max-width: 200px;
            white-space: normal;
            text-align: center;
            line-height: 1.3;
        }

        .niveau-btn::before {
            content: '';
            position: absolute;
            bottom: 100%;
            left: 50%;
            transform: translateX(-50%);
            border: 6px solid transparent;
            border-top-color: #2d3748;
            opacity: 0;
            visibility: hidden;
            transition: all 0.2s;
            margin-bottom: 2px;
        }

        .niveau-btn:hover::after,
        .niveau-btn:hover::before {
            opacity: 1;
            visibility: visible;
        }

        .niveau-help-btn {
            background: none;
            border: 1px solid #cbd5e0;
            border-radius: 50%;
            width: 20px;
            height: 20px;
            font-size: 11px;
            color: #718096;
            cursor: pointer;
            margin-left: auto;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .niveau-help-btn:hover {
            background: #edf2f7;
            color: #4a5568;
        }

        /* Modale de référence des niveaux */
        .modal-overlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0,0,0,0.5);
            z-index: 1000;
            align-items: center;
            justify-content: center;
        }

        .modal-overlay.active {
            display: flex;
        }

        .modal-content {
            background: white;
            border-radius: 12px;
            max-width: 900px;
            max-height: 90vh;
            overflow-y: auto;
            box-shadow: 0 20px 60px rgba(0,0,0,0.3);
            margin: 20px;
        }

        .modal-header {
            padding: 20px;
            border-bottom: 1px solid #e2e8f0;
            display: flex;
            justify-content: space-between;
            align-items: center;
            position: sticky;
            top: 0;
            background: white;
            z-index: 10;
        }

        .modal-header h3 {
            color: #2d3748;
            font-size: 18px;
        }

        .modal-close {
            background: none;
            border: none;
            font-size: 24px;
            cursor: pointer;
            color: #718096;
            padding: 5px;
        }

        .modal-close:hover {
            color: #e53e3e;
        }

        .modal-body {
            padding: 20px;
        }

        .niveau-table {
            width: 100%;
            border-collapse: collapse;
            font-size: 13px;
        }

        .niveau-table th,
        .niveau-table td {
            padding: 12px;
            border: 1px solid #e2e8f0;
            text-align: center;
            vertical-align: top;
        }

        .niveau-table th {
            background: #f7fafc;
            font-weight: 600;
            color: #4a5568;
        }

        .niveau-table th.niveau-1 { background: #3182ce; color: white; }
        .niveau-table th.niveau-2 { background: #ecc94b; color: #744210; }
        .niveau-table th.niveau-3 { background: #48bb78; color: white; }
        .niveau-table th.niveau-4 { background: #e53e3e; color: white; }

        .niveau-table td {
            text-align: left;
            line-height: 1.5;
        }

        .niveau-table .critere {
            font-weight: 600;
            color: #4a5568;
            background: #f7fafc;
            text-align: right;
            width: 120px;
        }

        .niveau-table .sous-critere {
            color: #718096;
            font-size: 12px;
            padding-left: 20px;
            background: #fafafa;
        }

        .niveau-row td {
            vertical-align: top;
        }

        .niveau-row td:first-child {
            text-align: center;
            white-space: nowrap;
        }

        .niveau-row ul {
            margin: 0;
            padding-left: 20px;
        }

        .niveau-row li {
            margin-bottom: 5px;
        }

        .niveau-badge {
            display: inline-block;
            width: 28px;
            height: 28px;
            border-radius: 50%;
            line-height: 28px;
            text-align: center;
            font-weight: 600;
            color: white;
            margin-right: 8px;
        }

        .niveau-badge-1 {
            background: #3182ce;
        }

        .niveau-badge-2 {
            background: #ecc94b;
            color: #744210;
        }

        .niveau-badge-3 {
            background: #48bb78;
        }

        .niveau-badge-4 {
            background: #e53e3e;
        }

        .niveau-row.niveau-1 {
            background: #ebf8ff;
        }

        .niveau-row.niveau-2 {
            background: #fefce8;
        }

        .niveau-row.niveau-3 {
            background: #f0fff4;
        }

        .niveau-row.niveau-4 {
            background: #fff5f5;
        }

        .niveau-legend {
            margin-top: 20px;
            padding: 15px;
            background: #f7fafc;
            border-radius: 6px;
            font-size: 14px;
            color: #4a5568;
        }

        .niveau-legend p {
            margin: 0 0 8px 0;
        }

        .niveau-legend p:last-child {
            margin-bottom: 0;
        }

        .sfc-accordion.manual {
            border-color: #68d391;
            background: #f0fff4;
        }

        .sfc-accordion.manual .sfc-header {
            background: #f0fff4;
        }

        .sfc-accordion.manual .sfc-header:hover {
            background: #e6ffed;
        }

        .btn-remove-sfc {
            background: none;
            border: none;
            color: #e53e3e;
            cursor: pointer;
            padding: 5px 10px;
            font-size: 14px;
            opacity: 0.6;
            transition: opacity 0.2s;
            margin-left: 10px;
        }

        .btn-remove-sfc:hover {
            opacity: 1;
        }

        .sfc-header.active .btn-remove-sfc {
            color: #fed7d7;
        }

        .sfc-header.active .btn-remove-sfc:hover {
            color: white;
        }

        /* Drag and Drop */
        .sfc-accordion.draggable {
            cursor: grab;
        }

        .sfc-accordion.draggable .sfc-header {
            position: relative;
        }

        .drag-handle {
            display: inline-flex;
            align-items: center;
            margin-right: 10px;
            color: #a0aec0;
            cursor: grab;
        }

        .drag-handle:active {
            cursor: grabbing;
        }

        .sfc-accordion.dragging {
            opacity: 0.5;
            transform: scale(0.98);
        }

        .drop-zone {
            border: 2px dashed #3182ce;
            border-radius: 12px;
            padding: 20px;
            text-align: center;
            color: #3182ce;
            background: rgba(49, 130, 206, 0.05);
            margin-bottom: 15px;
            transition: all 0.2s;
            display: none;
        }

        .drop-zone.visible {
            display: block;
        }

        .drop-zone.drag-over {
            background: rgba(49, 130, 206, 0.15);
            border-color: #2c5282;
            transform: scale(1.02);
        }

        .drop-zone-icon {
            font-size: 24px;
            margin-bottom: 8px;
        }

        /* Print styles */
        @media print {
            body {
                background: white;
                padding: 0;
            }
            .header, .actions {
                display: none;
            }
            .metier-card {
                box-shadow: none;
            }
            .sfc-content {
                display: block !important;
            }
            .indicator-item input[type="checkbox"]:not(:checked) {
                display: none;
            }
            .indicator-item:has(input:not(:checked)) {
                display: none;
            }
        }

        /* Bouton Radar */
        .btn-radar {
            background: linear-gradient(135deg, #9f7aea 0%, #805ad5 100%);
            color: white;
            border: none;
            padding: 8px 16px;
            border-radius: 20px;
            font-size: 13px;
            font-weight: 600;
            cursor: pointer;
            margin-left: 15px;
            transition: all 0.2s;
            vertical-align: middle;
        }

        .btn-radar:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(159, 122, 234, 0.4);
        }

        /* Modale de sélection des 6 SFC */
        .select-sfc-modal-overlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.6);
            z-index: 1000;
            justify-content: center;
            align-items: center;
            padding: 20px;
        }

        .select-sfc-modal-overlay.active {
            display: flex;
        }

        .select-sfc-modal {
            background: white;
            border-radius: 16px;
            max-width: 700px;
            width: 100%;
            max-height: 90vh;
            overflow-y: auto;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
        }

        .select-sfc-modal-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 20px 24px;
            border-bottom: 1px solid #e2e8f0;
            background: linear-gradient(135deg, #9f7aea 0%, #805ad5 100%);
            border-radius: 16px 16px 0 0;
        }

        .select-sfc-modal-header h3 {
            margin: 0;
            color: white;
            font-size: 18px;
        }

        .select-sfc-modal-close {
            background: rgba(255, 255, 255, 0.2);
            border: none;
            color: white;
            font-size: 20px;
            cursor: pointer;
            padding: 5px 10px;
            border-radius: 4px;
            transition: background 0.2s;
        }

        .select-sfc-modal-close:hover {
            background: rgba(255, 255, 255, 0.3);
        }

        .select-sfc-modal-content {
            padding: 24px;
        }

        .sfc-selection-count {
            text-align: center;
            font-size: 14px;
            color: #4a5568;
            margin-bottom: 20px;
            padding: 10px;
            background: #f7fafc;
            border-radius: 8px;
        }

        .sfc-selection-count strong {
            color: #805ad5;
            font-size: 18px;
        }

        .sfc-selection-list {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 10px;
            margin-bottom: 20px;
        }

        .sfc-selection-item {
            display: flex;
            align-items: center;
            padding: 12px;
            border: 2px solid #e2e8f0;
            border-radius: 10px;
            cursor: pointer;
            transition: all 0.2s;
        }

        .sfc-selection-item:hover {
            border-color: #9f7aea;
            background: #faf5ff;
        }

        .sfc-selection-item.selected {
            border-color: #805ad5;
            background: linear-gradient(135deg, #faf5ff 0%, #f3e8ff 100%);
        }

        .sfc-selection-item input[type="checkbox"] {
            width: 18px;
            height: 18px;
            margin-right: 10px;
            accent-color: #805ad5;
        }

        .sfc-selection-item-content {
            flex: 1;
        }

        .sfc-selection-item-name {
            font-weight: 600;
            color: #2d3748;
            font-size: 13px;
        }

        .sfc-selection-item-def {
            font-size: 11px;
            color: #718096;
            margin-top: 2px;
        }

        .sfc-niveau-requis {
            display: flex;
            align-items: center;
            gap: 4px;
            margin-top: 8px;
        }

        .sfc-niveau-requis label {
            font-size: 11px;
            color: #718096;
        }

        .niveau-requis-btn {
            width: 24px;
            height: 24px;
            border-radius: 50%;
            border: 2px solid transparent;
            cursor: pointer;
            font-size: 11px;
            font-weight: 600;
            color: white;
            transition: all 0.2s;
            opacity: 0.5;
        }

        .niveau-requis-btn:hover {
            opacity: 0.8;
        }

        .niveau-requis-btn.selected {
            opacity: 1;
            transform: scale(1.15);
            box-shadow: 0 2px 6px rgba(0,0,0,0.2);
        }

        .niveau-requis-btn[data-niveau="1"] { background: #3182ce; }
        .niveau-requis-btn[data-niveau="2"] { background: #ecc94b; color: #744210; }
        .niveau-requis-btn[data-niveau="3"] { background: #48bb78; }
        .niveau-requis-btn[data-niveau="4"] { background: #e53e3e; }

        .btn-generate-radar {
            display: block;
            width: 100%;
            padding: 14px 24px;
            background: linear-gradient(135deg, #9f7aea 0%, #805ad5 100%);
            color: white;
            border: none;
            border-radius: 10px;
            font-size: 16px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.2s;
        }

        .btn-generate-radar:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 16px rgba(159, 122, 234, 0.4);
        }

        .btn-generate-radar:disabled {
            opacity: 0.5;
            cursor: not-allowed;
            transform: none;
        }

        /* Modale du radar */
        .radar-modal-overlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.7);
            z-index: 1001;
            justify-content: center;
            align-items: center;
            padding: 20px;
        }

        .radar-modal-overlay.active {
            display: flex;
        }

        .radar-modal {
            background: white;
            border-radius: 16px;
            max-width: 1000px;
            width: 100%;
            max-height: 95vh;
            overflow-y: auto;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
        }

        .radar-modal-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 20px 24px;
            border-bottom: 1px solid #e2e8f0;
            background: linear-gradient(135deg, #2c5282 0%, #3182ce 100%);
            border-radius: 16px 16px 0 0;
        }

        .radar-modal-header h3 {
            margin: 0;
            color: white;
            font-size: 18px;
        }

        .radar-modal-close {
            background: rgba(255, 255, 255, 0.2);
            border: none;
            color: white;
            font-size: 20px;
            cursor: pointer;
            padding: 5px 10px;
            border-radius: 4px;
            transition: background 0.2s;
        }

        .radar-modal-close:hover {
            background: rgba(255, 255, 255, 0.3);
        }

        .radar-modal-content {
            padding: 24px;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 24px;
        }

        @media (max-width: 800px) {
            .radar-modal-content {
                grid-template-columns: 1fr;
            }
        }

        .radar-chart-container {
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .radar-chart-container h4 {
            margin: 0 0 15px 0;
            color: #2d3748;
            font-size: 16px;
        }

        .radar-svg {
            max-width: 100%;
            height: auto;
        }

        .radar-legend {
            display: flex;
            gap: 20px;
            margin-top: 15px;
            font-size: 12px;
        }

        .radar-legend-item {
            display: flex;
            align-items: center;
            gap: 6px;
        }

        .radar-legend-line {
            width: 20px;
            height: 3px;
        }

        .radar-legend-line.requis {
            background: #e53e3e;
            border: 1px dashed #e53e3e;
        }

        .radar-legend-line.acquis {
            background: #48bb78;
        }

        /* Liste détaillée des SFC dans le radar */
        .radar-details {
            max-height: 450px;
            overflow-y: auto;
        }

        .radar-details h4 {
            margin: 0 0 15px 0;
            color: #2d3748;
            font-size: 16px;
            position: sticky;
            top: 0;
            background: white;
            padding-bottom: 10px;
            border-bottom: 1px solid #e2e8f0;
        }

        .radar-sfc-detail {
            margin-bottom: 15px;
            padding: 12px;
            border: 1px solid #e2e8f0;
            border-radius: 10px;
            cursor: pointer;
            transition: all 0.2s;
        }

        .radar-sfc-detail:hover {
            border-color: #3182ce;
            background: #f7fafc;
        }

        .radar-sfc-detail.expanded {
            border-color: #3182ce;
            background: #ebf8ff;
        }

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

        .radar-sfc-name {
            font-weight: 600;
            color: #2d3748;
            font-size: 14px;
        }

        .radar-sfc-levels {
            display: flex;
            align-items: center;
            gap: 10px;
            font-size: 12px;
        }

        .radar-sfc-level {
            padding: 3px 8px;
            border-radius: 12px;
            font-weight: 600;
        }

        .radar-sfc-level.requis {
            background: rgba(229, 62, 62, 0.15);
            color: #c53030;
        }

        .radar-sfc-level.acquis {
            background: rgba(72, 187, 120, 0.15);
            color: #276749;
        }

        .radar-sfc-level.ecart-positif {
            background: rgba(72, 187, 120, 0.3);
        }

        .radar-sfc-level.ecart-negatif {
            background: rgba(229, 62, 62, 0.3);
        }

        .radar-sfc-savoirfaire {
            display: none;
            margin-top: 12px;
            padding-top: 12px;
            border-top: 1px dashed #cbd5e0;
        }

        .radar-sfc-detail.expanded .radar-sfc-savoirfaire {
            display: block;
        }

        .radar-sf-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 8px 0;
            border-bottom: 1px solid #e2e8f0;
            font-size: 12px;
        }

        .radar-sf-item:last-child {
            border-bottom: none;
        }

        .radar-sf-name {
            flex: 1;
            color: #4a5568;
        }

        .radar-sf-niveau {
            display: flex;
            gap: 4px;
        }

        .radar-sf-niveau-btn {
            width: 22px;
            height: 22px;
            border-radius: 50%;
            border: 2px solid transparent;
            cursor: pointer;
            font-size: 10px;
            font-weight: 600;
            color: white;
            transition: all 0.2s;
            opacity: 0.4;
        }

        .radar-sf-niveau-btn:hover {
            opacity: 0.7;
        }

        .radar-sf-niveau-btn.selected {
            opacity: 1;
            transform: scale(1.1);
        }

        .radar-sf-niveau-btn[data-niveau="1"] { background: #3182ce; }
        .radar-sf-niveau-btn[data-niveau="2"] { background: #ecc94b; color: #744210; }
        .radar-sf-niveau-btn[data-niveau="3"] { background: #48bb78; }
        .radar-sf-niveau-btn[data-niveau="4"] { background: #e53e3e; }

        .radar-global-level {
            font-size: 11px;
            color: #718096;
            margin-top: 4px;
        }

        .radar-global-level strong {
            color: #2d3748;
        }

        .radar-calculation-mode {
            margin-bottom: 15px;
            padding: 10px;
            background: #f7fafc;
            border-radius: 8px;
            display: flex;
            align-items: center;
            gap: 10px;
            font-size: 12px;
        }

        .radar-calculation-mode label {
            color: #4a5568;
            font-weight: 500;
        }

        .radar-calculation-mode select {
            padding: 5px 10px;
            border: 1px solid #e2e8f0;
            border-radius: 6px;
            font-size: 12px;
        }

        .radar-actions {
            grid-column: 1 / -1;
            display: flex;
            gap: 10px;
            justify-content: center;
            padding-top: 15px;
            border-top: 1px solid #e2e8f0;
        }

        .radar-actions .btn {
            padding: 10px 20px;
        }

        /* Mode sélection radar */
        .selection-mode .sfc-accordion {
            position: relative;
            margin-left: 40px;
            transition: margin-left 0.3s;
        }

        .radar-select-checkbox {
            display: none;
            width: 24px;
            height: 24px;
            accent-color: #805ad5;
            cursor: pointer;
            flex-shrink: 0;
            margin-right: 10px;
        }

        .selection-mode .sfc-header {
            display: flex;
            align-items: center;
        }

        .selection-mode .radar-select-checkbox {
            display: block;
        }

        .sfc-accordion.radar-selected {
            border-color: #805ad5;
            box-shadow: 0 0 0 2px rgba(128, 90, 213, 0.3);
        }

        .sfc-accordion.radar-selected .sfc-header {
            background: linear-gradient(135deg, #faf5ff 0%, #f3e8ff 100%);
        }

        .sfc-accordion.radar-selected .sfc-header.active {
            background: linear-gradient(135deg, #805ad5 0%, #9f7aea 100%);
        }

        .radar-niveau-requis-inline {
            display: none;
            align-items: center;
            gap: 4px;
            margin-left: auto;
            margin-right: 10px;
            padding: 4px 8px;
            background: rgba(128, 90, 213, 0.1);
            border-radius: 15px;
        }

        .selection-mode .radar-niveau-requis-inline {
            display: flex;
        }

        .radar-niveau-requis-inline label {
            font-size: 10px;
            color: #805ad5;
            font-weight: 500;
            white-space: nowrap;
        }

        .radar-niveau-requis-inline .niveau-requis-btn {
            width: 20px;
            height: 20px;
            font-size: 10px;
        }

        /* Barre flottante de sélection */
        .radar-selection-bar {
            display: none;
            position: fixed;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            background: linear-gradient(135deg, #805ad5 0%, #9f7aea 100%);
            color: white;
            padding: 15px 25px;
            border-radius: 50px;
            box-shadow: 0 10px 40px rgba(128, 90, 213, 0.4);
            z-index: 1000;
            align-items: center;
            gap: 20px;
            font-size: 14px;
            font-weight: 500;
        }

        .radar-selection-bar.visible {
            display: flex;
        }

        .radar-selection-bar .count {
            font-size: 20px;
            font-weight: 700;
        }

        .radar-selection-bar .btn-generate {
            background: white;
            color: #805ad5;
            border: none;
            padding: 8px 20px;
            border-radius: 25px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.2s;
        }

        .radar-selection-bar .btn-generate:hover {
            transform: scale(1.05);
            box-shadow: 0 4px 12px rgba(0,0,0,0.2);
        }

        .radar-selection-bar .btn-generate:disabled {
            opacity: 0.5;
            cursor: not-allowed;
            transform: none;
        }

        .radar-selection-bar .btn-cancel {
            background: rgba(255,255,255,0.2);
            color: white;
            border: none;
            padding: 8px 15px;
            border-radius: 20px;
            cursor: pointer;
            font-size: 13px;
        }

        .radar-selection-bar .btn-cancel:hover {
            background: rgba(255,255,255,0.3);
        }

        .btn-radar.active {
            background: linear-gradient(135deg, #e53e3e 0%, #c53030 100%);
        }

        /* Champ nom apprenant dans la barre de sélection */
        .radar-selection-bar .apprenant-input {
            display: flex;
            align-items: center;
            gap: 8px;
            background: rgba(255,255,255,0.15);
            padding: 6px 12px;
            border-radius: 20px;
        }

        .radar-selection-bar .apprenant-input label {
            font-size: 12px;
            opacity: 0.9;
        }

        .radar-selection-bar .apprenant-input input {
            background: white;
            border: none;
            padding: 6px 12px;
            border-radius: 15px;
            font-size: 13px;
            width: 180px;
            color: #333;
        }

        .radar-selection-bar .apprenant-input input:focus {
            outline: 2px solid rgba(255,255,255,0.5);
        }

        /* Info apprenant dans la modale */
        .radar-apprenant-info {
            background: linear-gradient(135deg, #ebf8ff 0%, #e6fffa 100%);
            border: 1px solid #81e6d9;
            border-radius: 8px;
            padding: 12px 16px;
            margin-bottom: 20px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 10px;
        }

        .radar-apprenant-info .apprenant-name {
            font-weight: 600;
            color: #234e52;
            font-size: 15px;
        }

        .radar-apprenant-info .apprenant-name span {
            color: #319795;
        }

        .radar-apprenant-info .eval-date {
            font-size: 12px;
            color: #718096;
        }

        /* Bouton sauvegarder */
        .btn-save {
            background: linear-gradient(135deg, #48bb78 0%, #38a169 100%);
            color: white;
        }

        .btn-save:hover {
            background: linear-gradient(135deg, #38a169 0%, #2f855a 100%);
        }

        /* Message de confirmation */
        .save-confirmation {
            position: fixed;
            bottom: 100px;
            left: 50%;
            transform: translateX(-50%);
            background: #48bb78;
            color: white;
            padding: 12px 24px;
            border-radius: 8px;
            box-shadow: 0 4px 20px rgba(72, 187, 120, 0.4);
            z-index: 2000;
            animation: slideUp 0.3s ease, fadeOut 0.3s ease 2.5s forwards;
        }

        @keyframes slideUp {
            from { transform: translateX(-50%) translateY(20px); opacity: 0; }
            to { transform: translateX(-50%) translateY(0); opacity: 1; }
        }

        @keyframes fadeOut {
            from { opacity: 1; }
            to { opacity: 0; visibility: hidden; }
        }

        /* ==========================================
           STYLES HISTORIQUE DES ÉVALUATIONS
           ========================================== */

        /* Bouton Historique */
        .btn-historique {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: white;
            border: none;
            padding: 8px 16px;
            border-radius: 20px;
            font-size: 13px;
            font-weight: 500;
            cursor: pointer;
            transition: all 0.2s;
            display: inline-flex;
            align-items: center;
            gap: 8px;
        }

        .btn-historique:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
        }

        .historique-badge {
            background: rgba(255,255,255,0.3);
            padding: 2px 8px;
            border-radius: 10px;
            font-size: 11px;
            font-weight: 600;
        }

        /* Modale Historique */
        .historique-modal-overlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0,0,0,0.6);
            z-index: 1500;
            justify-content: center;
            align-items: center;
            padding: 20px;
        }

        .historique-modal-overlay.active {
            display: flex;
        }

        .historique-modal {
            background: white;
            border-radius: 16px;
            max-width: 900px;
            width: 100%;
            max-height: 85vh;
            overflow: hidden;
            box-shadow: 0 25px 50px rgba(0,0,0,0.3);
            display: flex;
            flex-direction: column;
        }

        .historique-modal-header {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: white;
            padding: 20px 25px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .historique-modal-header h3 {
            margin: 0;
            font-size: 18px;
            font-weight: 600;
        }

        .historique-modal-close {
            background: rgba(255,255,255,0.2);
            border: none;
            color: white;
            font-size: 20px;
            cursor: pointer;
            width: 36px;
            height: 36px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: background 0.2s;
        }

        .historique-modal-close:hover {
            background: rgba(255,255,255,0.3);
        }

        /* Filtres */
        .historique-filters {
            padding: 15px 25px;
            background: #f7fafc;
            border-bottom: 1px solid #e2e8f0;
            display: flex;
            gap: 15px;
            flex-wrap: wrap;
            align-items: center;
        }

        .historique-filter {
            display: flex;
            flex-direction: column;
            gap: 4px;
        }

        .historique-filter label {
            font-size: 11px;
            color: #718096;
            font-weight: 500;
            text-transform: uppercase;
        }

        .historique-filter input,
        .historique-filter select {
            padding: 8px 12px;
            border: 1px solid #e2e8f0;
            border-radius: 6px;
            font-size: 13px;
            min-width: 150px;
        }

        .historique-filter input:focus,
        .historique-filter select:focus {
            outline: none;
            border-color: #667eea;
            box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
        }

        .historique-stats {
            margin-left: auto;
            font-size: 13px;
            color: #718096;
        }

        .historique-stats strong {
            color: #667eea;
        }

        /* Liste des évaluations */
        .historique-content {
            flex: 1;
            overflow-y: auto;
            padding: 20px 25px;
        }

        .historique-empty {
            text-align: center;
            padding: 60px 20px;
            color: #a0aec0;
        }

        .historique-empty-icon {
            font-size: 48px;
            margin-bottom: 15px;
        }

        .historique-list {
            display: flex;
            flex-direction: column;
            gap: 12px;
        }

        .historique-item {
            background: #f7fafc;
            border: 1px solid #e2e8f0;
            border-radius: 10px;
            padding: 15px 20px;
            cursor: pointer;
            transition: all 0.2s;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 15px;
        }

        .historique-item:hover {
            border-color: #667eea;
            background: #ebf4ff;
            transform: translateX(4px);
        }

        .historique-item-main {
            flex: 1;
            min-width: 0;
        }

        .historique-item-header {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 8px;
        }

        .historique-item-apprenant {
            font-weight: 600;
            color: #2d3748;
            font-size: 15px;
        }

        .historique-item-date {
            font-size: 12px;
            color: #718096;
            background: #e2e8f0;
            padding: 3px 10px;
            border-radius: 12px;
        }

        .historique-item-metier {
            font-size: 13px;
            color: #4a5568;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .historique-item-metier .code {
            background: #667eea;
            color: white;
            padding: 2px 8px;
            border-radius: 4px;
            font-size: 11px;
            margin-right: 8px;
        }

        .historique-item-sfcs {
            display: flex;
            gap: 6px;
            margin-top: 10px;
            flex-wrap: wrap;
        }

        .historique-item-sfc {
            font-size: 11px;
            background: white;
            border: 1px solid #cbd5e0;
            padding: 3px 8px;
            border-radius: 4px;
            color: #4a5568;
        }

        .historique-item-actions {
            display: flex;
            gap: 8px;
            flex-shrink: 0;
        }

        .historique-item-btn {
            padding: 8px 12px;
            border: none;
            border-radius: 6px;
            font-size: 12px;
            cursor: pointer;
            transition: all 0.2s;
        }

        .historique-item-btn.open {
            background: #667eea;
            color: white;
        }

        .historique-item-btn.open:hover {
            background: #5a67d8;
        }

        .historique-item-btn.delete {
            background: #fed7d7;
            color: #c53030;
        }

        .historique-item-btn.delete:hover {
            background: #feb2b2;
        }

        /* Actions de la modale */
        .historique-modal-actions {
            padding: 15px 25px;
            background: #f7fafc;
            border-top: 1px solid #e2e8f0;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 15px;
        }

        .historique-modal-actions .btn-group {
            display: flex;
            gap: 10px;
        }

        .btn-export-all {
            background: #48bb78;
            color: white;
        }

        .btn-export-all:hover {
            background: #38a169;
        }

        .btn-import {
            background: #ed8936;
            color: white;
        }

        .btn-import:hover {
            background: #dd6b20;
        }

        .btn-clear-all {
            background: #e53e3e;
            color: white;
        }

        .btn-clear-all:hover {
            background: #c53030;
        }

        /* Input file caché */
        .hidden-input {
            display: none;
        }

        /* ==========================================
           STYLES COMPARAISON DES ÉVALUATIONS
           ========================================== */

        /* Mode comparaison dans l'historique */
        .historique-compare-bar {
            display: none;
            background: linear-gradient(135deg, #38b2ac 0%, #319795 100%);
            color: white;
            padding: 12px 25px;
            align-items: center;
            justify-content: space-between;
            gap: 15px;
        }

        .historique-compare-bar.visible {
            display: flex;
        }

        .historique-compare-bar .compare-info {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .historique-compare-bar .compare-count {
            background: rgba(255,255,255,0.2);
            padding: 4px 12px;
            border-radius: 15px;
            font-weight: 600;
        }

        .historique-compare-bar .btn-compare {
            background: white;
            color: #319795;
            border: none;
            padding: 8px 20px;
            border-radius: 20px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.2s;
        }

        .historique-compare-bar .btn-compare:hover {
            transform: scale(1.05);
        }

        .historique-compare-bar .btn-compare:disabled {
            opacity: 0.5;
            cursor: not-allowed;
            transform: none;
        }

        .historique-compare-bar .btn-cancel-compare {
            background: rgba(255,255,255,0.2);
            color: white;
            border: none;
            padding: 8px 15px;
            border-radius: 15px;
            cursor: pointer;
        }

        /* Checkbox de sélection comparaison */
        .historique-item.compare-mode {
            cursor: pointer;
        }

        .historique-item .compare-checkbox {
            display: none;
            width: 24px;
            height: 24px;
            border: 2px solid #cbd5e0;
            border-radius: 6px;
            margin-right: 12px;
            flex-shrink: 0;
            align-items: center;
            justify-content: center;
            transition: all 0.2s;
            background: white;
        }

        .historique-item.compare-mode .compare-checkbox {
            display: flex;
        }

        .historique-item.compare-selected .compare-checkbox {
            background: #38b2ac;
            border-color: #38b2ac;
            color: white;
        }

        .historique-item.compare-selected {
            border-color: #38b2ac;
            background: #e6fffa;
        }

        /* Bouton mode comparaison */
        .btn-enter-compare {
            background: linear-gradient(135deg, #38b2ac 0%, #319795 100%);
            color: white;
        }

        .btn-enter-compare:hover {
            background: linear-gradient(135deg, #319795 0%, #2c7a7b 100%);
        }

        /* Modale de comparaison */
        .compare-modal-overlay {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: rgba(0,0,0,0.7);
            z-index: 2000;
            justify-content: center;
            align-items: center;
            padding: 20px;
        }

        .compare-modal-overlay.active {
            display: flex;
        }

        .compare-modal {
            background: white;
            border-radius: 16px;
            max-width: 1100px;
            width: 100%;
            max-height: 90vh;
            overflow: hidden;
            box-shadow: 0 25px 50px rgba(0,0,0,0.3);
            display: flex;
            flex-direction: column;
        }

        .compare-modal-header {
            background: linear-gradient(135deg, #38b2ac 0%, #319795 100%);
            color: white;
            padding: 20px 25px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .compare-modal-header h3 {
            margin: 0;
            font-size: 18px;
        }

        .compare-modal-close {
            background: rgba(255,255,255,0.2);
            border: none;
            color: white;
            font-size: 20px;
            cursor: pointer;
            width: 36px;
            height: 36px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .compare-modal-content {
            flex: 1;
            overflow-y: auto;
            padding: 25px;
            display: flex;
            gap: 30px;
        }

        @media (max-width: 900px) {
            .compare-modal-content {
                flex-direction: column;
            }
        }

        /* Radar de comparaison */
        .compare-radar-section {
            flex: 1;
            min-width: 400px;
        }

        .compare-radar-section h4 {
            margin: 0 0 15px 0;
            color: #2d3748;
            font-size: 16px;
        }

        .compare-radar-container {
            background: #f7fafc;
            border-radius: 12px;
            padding: 20px;
            text-align: center;
        }

        .compare-radar-svg {
            max-width: 100%;
            height: auto;
        }

        .compare-legend {
            display: flex;
            flex-wrap: wrap;
            gap: 15px;
            margin-top: 20px;
            justify-content: center;
        }

        .compare-legend-item {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 13px;
        }

        .compare-legend-color {
            width: 20px;
            height: 4px;
            border-radius: 2px;
        }

        /* Tableau d'évolution */
        .compare-details-section {
            flex: 1;
            min-width: 300px;
        }

        .compare-details-section h4 {
            margin: 0 0 15px 0;
            color: #2d3748;
            font-size: 16px;
        }

        .compare-evaluations-list {
            display: flex;
            flex-direction: column;
            gap: 10px;
            margin-bottom: 20px;
        }

        .compare-eval-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 8px 14px;
            border-radius: 8px;
            font-size: 13px;
        }

        .compare-eval-badge .color-dot {
            width: 12px;
            height: 12px;
            border-radius: 50%;
        }

        .compare-table {
            width: 100%;
            border-collapse: collapse;
            font-size: 13px;
        }

        .compare-table th {
            background: #edf2f7;
            padding: 10px 12px;
            text-align: left;
            font-weight: 600;
            color: #4a5568;
            border-bottom: 2px solid #e2e8f0;
        }

        .compare-table td {
            padding: 10px 12px;
            border-bottom: 1px solid #e2e8f0;
        }

        .compare-table tr:hover {
            background: #f7fafc;
        }

        .compare-table .sfc-name {
            font-weight: 500;
            color: #2d3748;
        }

        .compare-table .niveau {
            text-align: center;
            font-weight: 600;
        }

        .compare-table .evolution {
            text-align: center;
            font-weight: 600;
            padding: 4px 8px;
            border-radius: 4px;
        }

        .compare-table .evolution.positive {
            background: #c6f6d5;
            color: #276749;
        }

        .compare-table .evolution.negative {
            background: #fed7d7;
            color: #c53030;
        }

        .compare-table .evolution.neutral {
            background: #e2e8f0;
            color: #718096;
        }

        /* Actions modale comparaison */
        .compare-modal-actions {
            padding: 15px 25px;
            background: #f7fafc;
            border-top: 1px solid #e2e8f0;
            display: flex;
            justify-content: flex-end;
            gap: 10px;
        }

        /* ==========================================
           COMMENTAIRES ET INDICATEURS DE PRIORITÉ
           ========================================== */

        /* Zone de commentaire par SFC */
        .radar-sfc-comment {
            margin-top: 12px;
            padding-top: 12px;
            border-top: 1px dashed #e2e8f0;
        }

        .radar-sfc-comment label {
            display: block;
            font-size: 11px;
            color: #718096;
            margin-bottom: 6px;
            font-weight: 500;
        }

        .radar-sfc-comment textarea {
            width: 100%;
            min-height: 60px;
            padding: 10px;
            border: 1px solid #e2e8f0;
            border-radius: 6px;
            font-size: 13px;
            font-family: inherit;
            resize: vertical;
            transition: border-color 0.2s;
        }

        .radar-sfc-comment textarea:focus {
            outline: none;
            border-color: #805ad5;
            box-shadow: 0 0 0 3px rgba(128, 90, 213, 0.1);
        }

        .radar-sfc-comment textarea::placeholder {
            color: #a0aec0;
        }

        /* Indicateur de priorité */
        .priority-indicator {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 4px 10px;
            border-radius: 12px;
            font-size: 11px;
            font-weight: 600;
            margin-left: 10px;
        }

        .priority-indicator.priority-high {
            background: linear-gradient(135deg, #fed7d7 0%, #feb2b2 100%);
            color: #c53030;
        }

        .priority-indicator.priority-medium {
            background: linear-gradient(135deg, #fefcbf 0%, #faf089 100%);
            color: #975a16;
        }

        .priority-indicator.priority-low {
            background: linear-gradient(135deg, #c6f6d5 0%, #9ae6b4 100%);
            color: #276749;
        }

        .priority-indicator.priority-achieved {
            background: linear-gradient(135deg, #bee3f8 0%, #90cdf4 100%);
            color: #2b6cb0;
        }

        .priority-indicator .priority-icon {
            font-size: 12px;
        }

        /* Section résumé des priorités */
        .priority-summary {
            background: linear-gradient(135deg, #faf5ff 0%, #f3e8ff 100%);
            border: 1px solid #d6bcfa;
            border-radius: 10px;
            padding: 15px 20px;
            margin-bottom: 20px;
        }

        .priority-summary h5 {
            margin: 0 0 12px 0;
            color: #553c9a;
            font-size: 14px;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .priority-summary-list {
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .priority-summary-item {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 8px 12px;
            background: white;
            border-radius: 6px;
            font-size: 13px;
        }

        .priority-summary-item .sfc-name {
            font-weight: 500;
            color: #2d3748;
        }

        .priority-summary-item .ecart-info {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .priority-summary-item .ecart-value {
            font-weight: 600;
            padding: 2px 8px;
            border-radius: 4px;
        }

        .priority-summary-item .ecart-value.negative {
            background: #fed7d7;
            color: #c53030;
        }

        .priority-summary-item .ecart-value.positive {
            background: #c6f6d5;
            color: #276749;
        }

        .priority-summary-item .ecart-value.neutral {
            background: #e2e8f0;
            color: #718096;
        }

        /* Message si pas de priorité */
        .priority-summary-empty {
            text-align: center;
            padding: 15px;
            color: #718096;
            font-size: 13px;
        }

        .priority-summary-empty .icon {
            font-size: 24px;
            margin-bottom: 8px;
        }

        /* Badge commentaire dans l'en-tête SFC */
        .comment-badge {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            background: #edf2f7;
            color: #4a5568;
            padding: 2px 8px;
            border-radius: 10px;
            font-size: 11px;
            margin-left: 8px;
        }

        .comment-badge.has-comment {
            background: #e9d8fd;
            color: #553c9a;
        }

/* ============================================================
   HEADER ACTIONS - Boutons Apprenants et Tableau de bord
   ============================================================ */

.header-actions {
    display: flex;
    gap: 10px;
    margin: 15px 0;
    justify-content: center;
}

.btn-apprenants,
.btn-tableau-bord {
    padding: 10px 20px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s;
}

.btn-apprenants {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
}

.btn-apprenants:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

.btn-tableau-bord {
    background: linear-gradient(135deg, #38b2ac 0%, #319795 100%);
    color: white;
}

.btn-tableau-bord:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(56, 178, 172, 0.4);
}

.apprenants-badge {
    background: rgba(255, 255, 255, 0.3);
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 12px;
    margin-left: 5px;
}

/* ============================================================
   MODALE APPRENANTS
   ============================================================ */

.apprenants-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.apprenants-modal-overlay.active {
    display: flex;
}

.apprenants-modal {
    background: white;
    border-radius: 12px;
    width: 90%;
    max-width: 700px;
    max-height: 85vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.apprenants-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-radius: 12px 12px 0 0;
}

.apprenants-modal-header h3 {
    margin: 0;
    font-size: 18px;
}

.apprenants-modal-close {
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: white;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 18px;
}

.apprenants-tabs {
    display: flex;
    border-bottom: 1px solid #e2e8f0;
    padding: 0 20px;
}

.apprenants-tabs .tab-btn {
    padding: 12px 20px;
    border: none;
    background: none;
    cursor: pointer;
    font-size: 14px;
    color: #718096;
    border-bottom: 2px solid transparent;
    transition: all 0.2s;
}

.apprenants-tabs .tab-btn:hover {
    color: #667eea;
}

.apprenants-tabs .tab-btn.active {
    color: #667eea;
    border-bottom-color: #667eea;
}

.apprenants-tab-content {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
}

.tab-pane {
    display: none;
}

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

.apprenants-filters {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
}

.apprenants-filters input,
.apprenants-filters select {
    padding: 8px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 14px;
}

.apprenants-filters input {
    flex: 1;
}

.apprenants-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.apprenant-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 15px;
    background: #f7fafc;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
}

.apprenant-info {
    flex: 1;
}

.apprenant-name {
    font-weight: 600;
    color: #2d3748;
    margin-bottom: 4px;
}

.apprenant-details {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.apprenant-details span {
    font-size: 12px;
    padding: 2px 8px;
    border-radius: 4px;
}

.apprenant-groupe {
    background: #e2e8f0;
    color: #4a5568;
}

.apprenant-metier {
    background: #bee3f8;
    color: #2b6cb0;
}

.apprenant-evals {
    background: #c6f6d5;
    color: #276749;
}

.apprenant-actions {
    display: flex;
    gap: 8px;
}

.btn-small {
    padding: 6px 12px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 12px;
    background: #667eea;
    color: white;
}

.btn-small:hover {
    background: #5a67d8;
}

.btn-small.btn-danger {
    background: #fc8181;
    color: white;
}

.btn-small.btn-danger:hover {
    background: #f56565;
}

.empty-list {
    text-align: center;
    color: #a0aec0;
    padding: 40px;
}

/* Import CSV */
.import-instructions {
    background: #f7fafc;
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 20px;
}

.import-instructions h4 {
    margin: 0 0 10px 0;
    color: #2d3748;
}

.import-instructions code {
    background: #edf2f7;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 13px;
}

.import-instructions pre {
    background: #2d3748;
    color: #e2e8f0;
    padding: 10px;
    border-radius: 6px;
    font-size: 12px;
    overflow-x: auto;
    margin: 10px 0;
}

.import-drop-zone {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px;
    border: 2px dashed #cbd5e0;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
}

.import-drop-zone:hover {
    border-color: #667eea;
    background: #f7fafc;
}

.import-drop-zone input {
    display: none;
}

.drop-icon {
    font-size: 40px;
    margin-bottom: 10px;
}

.csv-preview {
    margin-top: 20px;
}

.preview-header {
    font-weight: 600;
    margin-bottom: 10px;
    color: #276749;
}

.preview-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    margin-bottom: 15px;
}

.preview-table th,
.preview-table td {
    padding: 8px;
    border: 1px solid #e2e8f0;
    text-align: left;
}

.preview-table th {
    background: #edf2f7;
}

.csv-preview .success {
    background: #c6f6d5;
    color: #276749;
    padding: 15px;
    border-radius: 8px;
    text-align: center;
}

.csv-preview .error {
    background: #fed7d7;
    color: #c53030;
    padding: 15px;
    border-radius: 8px;
    text-align: center;
}

/* Formulaire ajout */
.form-group {
    margin-bottom: 15px;
}

.form-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: 500;
    color: #4a5568;
}

.form-group input {
    width: 100%;
    padding: 10px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 14px;
}

.form-group input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.apprenants-modal-actions {
    display: flex;
    justify-content: space-between;
    padding: 15px 20px;
    border-top: 1px solid #e2e8f0;
    background: #f7fafc;
    border-radius: 0 0 12px 12px;
}

.btn-export-csv {
    background: #48bb78;
    color: white;
}

.btn-clear-apprenants {
    background: #fc8181;
    color: white;
}

/* ============================================================
   MODALE TABLEAU DE BORD
   ============================================================ */

.tableau-bord-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.tableau-bord-modal-overlay.active {
    display: flex;
}

.tableau-bord-modal {
    background: white;
    border-radius: 12px;
    width: 95%;
    max-width: 1000px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.tableau-bord-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(135deg, #38b2ac 0%, #319795 100%);
    color: white;
    border-radius: 12px 12px 0 0;
}

.tableau-bord-modal-header h3 {
    margin: 0;
    font-size: 18px;
}

.tableau-bord-modal-close {
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: white;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 18px;
}

.tableau-bord-filters {
    display: flex;
    gap: 20px;
    padding: 15px 20px;
    background: #f7fafc;
    border-bottom: 1px solid #e2e8f0;
}

.tableau-bord-filters .filter-group {
    display: flex;
    align-items: center;
    gap: 8px;
}

.tableau-bord-filters label {
    font-weight: 500;
    color: #4a5568;
    font-size: 14px;
}

.tableau-bord-filters select {
    padding: 8px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 14px;
    min-width: 150px;
}

.tableau-bord-content {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
}

.tableau-bord-stats {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
}

.stat-card {
    flex: 1;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 20px;
    border-radius: 10px;
    text-align: center;
}

.stat-value {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 5px;
}

.stat-label {
    font-size: 14px;
    opacity: 0.9;
}

.tableau-bord-table-container {
    overflow-x: auto;
}

.tableau-bord-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.tableau-bord-table th {
    background: #edf2f7;
    padding: 12px;
    text-align: left;
    font-weight: 600;
    color: #4a5568;
    border-bottom: 2px solid #e2e8f0;
}

.tableau-bord-table td {
    padding: 12px;
    border-bottom: 1px solid #e2e8f0;
}

.tableau-bord-table tr:hover {
    background: #f7fafc;
}

.eval-count {
    color: #a0aec0;
    font-size: 12px;
}

.niveau-cell {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 20px;
    font-weight: 600;
}

.niveau-bon {
    background: #c6f6d5;
    color: #276749;
}

.niveau-moyen {
    background: #fefcbf;
    color: #975a16;
}

.niveau-faible {
    background: #fed7d7;
    color: #c53030;
}

.tableau-bord-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 15px 20px;
    border-top: 1px solid #e2e8f0;
    background: #f7fafc;
    border-radius: 0 0 12px 12px;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 768px) {
    .header-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .tableau-bord-stats {
        flex-direction: column;
    }

    .tableau-bord-filters {
        flex-direction: column;
        gap: 10px;
    }

    .apprenants-filters {
        flex-direction: column;
    }
}

/* ============================================================
   AUTOCOMPLETION METIER DANS FORMULAIRE APPRENANT
   ============================================================ */

.metier-search-container {
    position: relative;
}

.metier-suggestions {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 0 0 6px 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    max-height: 250px;
    overflow-y: auto;
    z-index: 100;
    display: none;
}

.metier-suggestion-item {
    padding: 10px 12px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #f0f0f0;
}

.metier-suggestion-item:hover {
    background: #f7fafc;
}

.metier-suggestion-item:last-child {
    border-bottom: none;
}

.metier-suggestion-item .metier-code {
    background: #667eea;
    color: white;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    flex-shrink: 0;
}

.metier-suggestion-item .metier-nom {
    font-size: 13px;
    color: #2d3748;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.metier-suggestions .no-result {
    padding: 15px;
    text-align: center;
    color: #a0aec0;
    font-size: 13px;
}

/* ============================================================
   AMÉLIORATIONS UX - JANVIER 2026
   ============================================================ */

/* 1. RECHERCHE AVANCÉE */
.search-filters {
    margin-top: 10px;
}

.btn-filter-toggle {
    background: none;
    border: 1px solid #e2e8f0;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 12px;
    color: #4a5568;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-filter-toggle:hover {
    background: #f7fafc;
    border-color: #cbd5e0;
}

.search-filters-panel {
    display: none;
    background: #f7fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 15px;
    margin-top: 10px;
}

.search-filters-panel .filter-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.search-filters-panel .filter-row label {
    min-width: 100px;
    font-size: 13px;
    color: #4a5568;
}

.search-filters-panel select {
    flex: 1;
    padding: 8px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    font-size: 13px;
}

.filter-results {
    text-align: right;
    font-size: 12px;
    color: #718096;
    font-weight: 500;
}

.suggestion-more {
    padding: 10px 15px;
    text-align: center;
    color: #718096;
    font-size: 12px;
    font-style: italic;
    border-top: 1px solid #e2e8f0;
}

/* 2. TABLEAU DE BORD - FILTRES SUPPLÉMENTAIRES */
.tableau-bord-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    padding: 15px;
    background: #f7fafc;
    border-radius: 8px;
    margin-bottom: 20px;
}

.tableau-bord-filters .filter-group {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 150px;
}

.tableau-bord-filters label {
    font-size: 11px;
    text-transform: uppercase;
    color: #718096;
    font-weight: 600;
}

.tableau-bord-filters select {
    padding: 8px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    font-size: 13px;
    background: white;
}

/* 3. STATISTIQUES SFC DU GROUPE */
.tableau-bord-sfc-stats {
    background: #f7fafc;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
}

.tableau-bord-sfc-stats h4 {
    margin: 0 0 15px 0;
    font-size: 14px;
    color: #2d3748;
}

.sfc-stats-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.sfc-stats-column {
    background: white;
    border-radius: 6px;
    padding: 15px;
    border: 1px solid #e2e8f0;
}

.sfc-stats-title {
    font-size: 13px;
    font-weight: 600;
    margin: 0 0 12px 0;
    padding-bottom: 8px;
    border-bottom: 2px solid;
}

.sfc-stats-title.sfc-faible {
    color: #c53030;
    border-color: #fed7d7;
}

.sfc-stats-title.sfc-fort {
    color: #276749;
    border-color: #c6f6d5;
}

.sfc-stats-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sfc-stats-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #f0f0f0;
    font-size: 13px;
}

.sfc-stats-list li:last-child {
    border-bottom: none;
}

.sfc-stats-list .sfc-name {
    color: #4a5568;
}

.sfc-stats-list .sfc-niveau {
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 600;
    font-size: 12px;
}

.sfc-stats-list .sfc-niveau.niveau-faible {
    background: #fed7d7;
    color: #c53030;
}

.sfc-stats-list .sfc-niveau.niveau-bon {
    background: #c6f6d5;
    color: #276749;
}

.sfc-stats-list .no-data {
    color: #a0aec0;
    font-style: italic;
    text-align: center;
}

/* 4. NOTES APPRENANT */
.form-group textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 14px;
    font-family: inherit;
    resize: vertical;
    min-height: 80px;
}

.form-group textarea:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.apprenant-notes {
    font-size: 12px;
    color: #718096;
    margin-top: 5px;
    padding: 5px 8px;
    background: #f7fafc;
    border-radius: 4px;
}

.apprenant-item .btn-edit {
    background: #edf2f7;
    color: #4a5568;
}

.apprenant-item .btn-edit:hover {
    background: #e2e8f0;
}

/* 5. EXPORT PDF CONFIGURATION */
.pdf-config-modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 2000;
    justify-content: center;
    align-items: center;
}

.pdf-config-modal {
    background: white;
    border-radius: 12px;
    width: 90%;
    max-width: 500px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.pdf-config-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid #e2e8f0;
}

.pdf-config-modal-header h3 {
    margin: 0;
    font-size: 18px;
    color: #2d3748;
}

.pdf-config-modal-close {
    background: none;
    border: none;
    font-size: 24px;
    color: #a0aec0;
    cursor: pointer;
}

.pdf-config-content {
    padding: 20px;
}

.pdf-config-content .form-group {
    margin-bottom: 15px;
}

.pdf-config-content label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #4a5568;
    margin-bottom: 5px;
}

.pdf-config-content input[type="text"] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 14px;
}

.logo-upload-container {
    display: flex;
    gap: 10px;
}

.logo-upload-container input[type="text"] {
    flex: 1;
}

.btn-upload-logo {
    padding: 10px 15px;
    background: #edf2f7;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 13px;
    cursor: pointer;
}

.btn-upload-logo:hover {
    background: #e2e8f0;
}

.btn-upload-logo input {
    display: none;
}

.logo-preview {
    margin-top: 10px;
    min-height: 20px;
}

.checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.checkbox-group label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: normal;
    cursor: pointer;
}

.checkbox-group input[type="checkbox"] {
    width: 18px;
    height: 18px;
}

.pdf-config-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 15px 20px;
    border-top: 1px solid #e2e8f0;
    background: #f7fafc;
}

/* 6. HISTORIQUE - BOUTON DUPLIQUER */
.historique-item {
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 10px;
    transition: box-shadow 0.2s;
}

.historique-item:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.historique-item-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 10px;
}

.historique-item-info {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.historique-item-info strong {
    font-size: 14px;
    color: #2d3748;
}

.historique-date {
    font-size: 12px;
    color: #718096;
}

.historique-item-metier {
    font-size: 12px;
    color: #4a5568;
    background: #edf2f7;
    padding: 3px 8px;
    border-radius: 4px;
}

.historique-item-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.btn-small {
    padding: 6px 12px;
    font-size: 12px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-small.btn-view {
    background: #667eea;
    color: white;
}

.btn-small.btn-view:hover {
    background: #5a67d8;
}

.btn-small.btn-duplicate {
    background: #48bb78;
    color: white;
}

.btn-small.btn-duplicate:hover {
    background: #38a169;
}

.btn-small.btn-delete {
    background: #fc8181;
    color: white;
}

.btn-small.btn-delete:hover {
    background: #f56565;
}

.btn-small.btn-select {
    background: #667eea;
    color: white;
}

.btn-small.btn-select:hover {
    background: #5a67d8;
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .sfc-stats-container {
        grid-template-columns: 1fr;
    }
    
    .tableau-bord-filters {
        flex-direction: column;
    }
    
    .tableau-bord-filters .filter-group {
        min-width: 100%;
    }
    
    .search-filters-panel .filter-row {
        flex-direction: column;
        align-items: stretch;
    }
    
    .search-filters-panel .filter-row label {
        min-width: auto;
    }
}

/* Bouton Config PDF */
.btn-config {
    background: #edf2f7;
    color: #4a5568;
    border: 1px solid #e2e8f0;
}

.btn-config:hover {
    background: #e2e8f0;
}

/* No data placeholder */
.no-data {
    text-align: center;
    padding: 30px;
    color: #a0aec0;
    font-style: italic;
}

/* Autocomplétion Groupe */
.groupe-search-container {
    position: relative;
}

.groupe-suggestions {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    max-height: 200px;
    overflow-y: auto;
    z-index: 100;
}

.groupe-suggestion-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 15px;
    cursor: pointer;
    transition: background 0.2s;
    border-bottom: 1px solid #f0f0f0;
}

.groupe-suggestion-item:last-child {
    border-bottom: none;
}

.groupe-suggestion-item:hover {
    background: #f7fafc;
}

.groupe-suggestion-item .groupe-nom {
    font-size: 14px;
    color: #2d3748;
}

.groupe-suggestion-item .groupe-count {
    font-size: 11px;
    color: #718096;
    background: #edf2f7;
    padding: 2px 8px;
    border-radius: 10px;
}

/* Certifications RNCP/RS dans l'autocomplétion */
.groupe-section-title {
    padding: 8px 15px;
    font-size: 11px;
    text-transform: uppercase;
    color: #718096;
    background: #f7fafc;
    font-weight: 600;
    border-bottom: 1px solid #e2e8f0;
}

.groupe-suggestion-hint {
    padding: 15px;
    text-align: center;
    color: #718096;
    font-size: 13px;
    font-style: italic;
}

.groupe-suggestion-item.rncp-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
}

.cert-main {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
}

.cert-code {
    background: #667eea;
    color: white;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 10px;
    font-weight: 600;
    flex-shrink: 0;
}

.cert-nom {
    font-size: 13px;
    color: #2d3748;
    line-height: 1.3;
}

.cert-details {
    display: flex;
    gap: 8px;
    padding-left: 0;
}

.cert-type {
    font-size: 11px;
    color: #4a5568;
    background: #e2e8f0;
    padding: 2px 6px;
    border-radius: 3px;
}

.cert-niveau {
    font-size: 11px;
    color: #276749;
    background: #c6f6d5;
    padding: 2px 6px;
    border-radius: 3px;
}

.groupe-suggestions {
    max-height: 350px;
}

/* Filtres avancés - améliorations */
.filter-actions-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #e2e8f0;
}

.filter-results {
    font-size: 13px;
    color: #4a5568;
}

.filter-results strong {
    color: #667eea;
}

.filter-results a {
    color: #667eea;
    text-decoration: none;
}

.filter-results a:hover {
    text-decoration: underline;
}

.btn-reset-filters {
    padding: 6px 12px;
    background: #edf2f7;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    font-size: 12px;
    color: #4a5568;
    cursor: pointer;
}

.btn-reset-filters:hover {
    background: #e2e8f0;
}

/* Suggestions améliorées */
.suggestion-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 15px;
    cursor: pointer;
    border-bottom: 1px solid #f0f0f0;
    transition: background 0.2s;
}

.suggestion-item:hover {
    background: #f7fafc;
}

.suggestion-item .code-rome {
    background: #667eea;
    color: white;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 600;
    flex-shrink: 0;
}

.suggestion-item .metier-nom {
    flex: 1;
    font-size: 13px;
    color: #2d3748;
}

.suggestion-item .sfc-badge {
    background: #c6f6d5;
    color: #276749;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 10px;
    font-weight: 600;
}

.suggestion-more {
    padding: 12px 15px;
    text-align: center;
    color: #718096;
    font-size: 13px;
    background: #f7fafc;
    border-top: 1px solid #e2e8f0;
}

.suggestion-more small {
    display: block;
    margin-top: 5px;
    font-size: 11px;
    color: #a0aec0;
}

.no-result {
    padding: 20px;
    text-align: center;
    color: #a0aec0;
    font-style: italic;
}

/* ============================================================
   FORM GROUP ROW - Champs côte à côte
   ============================================================ */

.form-group-row {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
}

.form-group-row .form-group {
    flex: 1;
    margin-bottom: 0;
}

/* ============================================================
   MODALE ÉVOLUTION - Graphique de progression
   ============================================================ */

.evolution-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1100;
}

.evolution-modal-overlay.active {
    display: flex;
}

.evolution-modal {
    background: white;
    border-radius: 12px;
    width: 95%;
    max-width: 900px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.evolution-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(135deg, #38b2ac 0%, #319795 100%);
    color: white;
    border-radius: 12px 12px 0 0;
}

.evolution-modal-header h3 {
    margin: 0;
    font-size: 18px;
}

.evolution-modal-close {
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: white;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 18px;
}

.evolution-modal-close:hover {
    background: rgba(255, 255, 255, 0.3);
}

.evolution-modal-content {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
}

.evolution-chart-container {
    background: #f7fafc;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
}

.evolution-chart-container h4 {
    margin: 0 0 15px 0;
    color: #2d3748;
    font-size: 16px;
}

.evolution-chart-container svg {
    width: 100%;
    height: auto;
    display: block;
}

.evolution-details {
    margin-top: 20px;
}

.evolution-details h4 {
    margin: 0 0 15px 0;
    color: #2d3748;
    font-size: 16px;
}

.evolution-eval-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.evolution-eval-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 15px;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}

.evolution-eval-date {
    font-size: 13px;
    color: #718096;
    min-width: 100px;
}

.evolution-eval-niveau {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 20px;
    font-weight: 600;
    font-size: 13px;
}

.evolution-eval-niveau.niveau-1 {
    background: #fed7d7;
    color: #c53030;
}

.evolution-eval-niveau.niveau-2 {
    background: #fefcbf;
    color: #975a16;
}

.evolution-eval-niveau.niveau-3 {
    background: #c6f6d5;
    color: #276749;
}

.evolution-eval-niveau.niveau-4 {
    background: #bee3f8;
    color: #2b6cb0;
}

.evolution-eval-sfc {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    flex: 1;
    margin: 0 15px;
}

.evolution-eval-sfc span {
    background: #edf2f7;
    color: #4a5568;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 11px;
}

.evolution-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 15px 20px;
    border-top: 1px solid #e2e8f0;
    background: #f7fafc;
    border-radius: 0 0 12px 12px;
}

.evolution-no-data {
    text-align: center;
    padding: 40px;
    color: #718096;
}

.evolution-no-data .icon {
    font-size: 48px;
    margin-bottom: 15px;
    opacity: 0.5;
}

.evolution-no-data p {
    margin: 0;
    font-size: 14px;
}

/* Filtres de la modale évolution */
.evolution-filters {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
}

.evolution-filters .filter-group {
    flex: 1;
}

.evolution-filters label {
    display: block;
    font-size: 12px;
    color: #718096;
    margin-bottom: 5px;
}

.evolution-filters select {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 14px;
    background: white;
}

/* Légende du graphique */
.evolution-legend {
    display: flex;
    gap: 20px;
    justify-content: center;
    margin-top: 15px;
}

.evolution-legend-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #4a5568;
}

.evolution-legend-line {
    width: 30px;
    height: 3px;
    border-radius: 2px;
}

.evolution-legend-line.niveau-acquis {
    background: #48bb78;
}

.evolution-legend-line.niveau-cible {
    background: #667eea;
    background: repeating-linear-gradient(
        90deg,
        #667eea,
        #667eea 5px,
        transparent 5px,
        transparent 10px
    );
}

/* Statistiques de progression */
.evolution-stats {
    display: flex;
    gap: 15px;
    margin: 20px 0;
}

.evolution-stats .stat-item {
    flex: 1;
    text-align: center;
    padding: 15px;
    background: #f7fafc;
    border-radius: 8px;
}

.evolution-stats .stat-label {
    display: block;
    font-size: 11px;
    color: #718096;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 5px;
}

.evolution-stats .stat-value {
    font-size: 18px;
    font-weight: 600;
    color: #2d3748;
}

/* Liste des évaluations dans évolution */
.evolution-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.evolution-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 10px 15px;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
}

.evolution-date {
    font-size: 13px;
    color: #718096;
    min-width: 80px;
}

.evolution-niveau {
    padding: 4px 10px;
    background: #c6f6d5;
    color: #276749;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

.evolution-sfc {
    font-size: 12px;
    color: #a0aec0;
}

/* Info apprenant dans évolution */
.evolution-apprenant {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.evolution-metier {
    font-size: 13px;
    color: #718096;
}

.no-objectif {
    font-size: 13px;
    color: #a0aec0;
    font-style: italic;
}

/* Infos apprenant en haut de la modale */
.evolution-info {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
    padding: 15px;
    background: #edf2f7;
    border-radius: 8px;
}

.evolution-info-item {
    display: flex;
    flex-direction: column;
}

.evolution-info-label {
    font-size: 11px;
    color: #718096;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.evolution-info-value {
    font-size: 14px;
    font-weight: 600;
    color: #2d3748;
}

.objectif-niveau {
    display: inline-block;
    background: #e9d8fd;
    color: #553c9a;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
    margin-right: 5px;
}

.objectif-date {
    font-size: 12px;
    color: #718096;
}

/* ============================================================
   STATUS BADGES - Alertes visuelles
   ============================================================ */

.status-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
}

.status-badge.status-success {
    background: #c6f6d5;
    color: #276749;
}

.status-badge.status-warning {
    background: #fefcbf;
    color: #975a16;
}

.status-badge.status-critical {
    background: #fed7d7;
    color: #c53030;
}

.status-badge.status-ahead {
    background: #bee3f8;
    color: #2b6cb0;
}

.status-badge.status-on-track {
    background: #c6f6d5;
    color: #276749;
}

.status-badge.status-no-objective {
    background: #edf2f7;
    color: #718096;
}

.status-badge .status-icon {
    font-size: 14px;
}

/* Tableau de bord - Colonne objectif et statut */
.objectif-cell {
    font-size: 13px;
    color: #4a5568;
}

.objectif-cell .objectif-niveau {
    display: block;
    margin-bottom: 2px;
}

.objectif-cell .objectif-date {
    display: block;
    font-size: 11px;
    color: #a0aec0;
}

/* Bouton évolution dans le tableau */
.btn-evolution {
    padding: 4px 8px;
    background: #edf2f7;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.2s;
}

.btn-evolution:hover {
    background: #e2e8f0;
    transform: scale(1.1);
}

/* Ligne en alerte dans le tableau */
.tableau-bord-table tr.row-critical {
    background: #fff5f5;
}

.tableau-bord-table tr.row-critical:hover {
    background: #fed7d7;
}

.tableau-bord-table tr.row-warning {
    background: #fffff0;
}

.tableau-bord-table tr.row-warning:hover {
    background: #fefcbf;
}

.tableau-bord-table tr.row-success {
    background: #f0fff4;
}

.tableau-bord-table tr.row-success:hover {
    background: #c6f6d5;
}

.tableau-bord-table tr.row-on-track {
    background: #f0fff4;
}

.tableau-bord-table tr.row-on-track:hover {
    background: #c6f6d5;
}

/* ============================================================
   TABLEAU DE BORD INDIVIDUEL
   ============================================================ */

.dashboard-individuel-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1100;
}

.dashboard-individuel-overlay[style*="flex"] {
    display: flex;
}

.dashboard-individuel {
    background: white;
    border-radius: 12px;
    width: 95%;
    max-width: 900px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.dashboard-individuel-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-radius: 12px 12px 0 0;
}

.dashboard-individuel-header h3 {
    margin: 0;
    font-size: 18px;
}

.dashboard-individuel-close {
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: white;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 18px;
}

.dashboard-individuel-close:hover {
    background: rgba(255, 255, 255, 0.3);
}

.dashboard-individuel-content {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
}

.dashboard-individuel-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 15px 20px;
    border-top: 1px solid #e2e8f0;
    background: #f7fafc;
    border-radius: 0 0 12px 12px;
}

/* Sections */
.di-section {
    margin-bottom: 20px;
    padding: 15px;
    background: #f7fafc;
    border-radius: 10px;
}

.di-section h4 {
    margin: 0 0 15px 0;
    font-size: 14px;
    color: #4a5568;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

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

.di-section-header h4 {
    margin: 0;
}

/* Carte identité */
.di-identity {
    background: white;
    border: 1px solid #e2e8f0;
}

.di-identity-main {
    display: flex;
    align-items: center;
    gap: 15px;
}

.di-avatar {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 600;
}

.di-identity-info {
    flex: 1;
}

.di-identity-info h2 {
    margin: 0 0 5px 0;
    font-size: 20px;
    color: #2d3748;
}

.di-meta {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.di-groupe {
    background: #e9d8fd;
    color: #553c9a;
    padding: 2px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
}

.di-metier {
    color: #718096;
    font-size: 13px;
}

.di-dates {
    margin-top: 5px;
    font-size: 12px;
    color: #a0aec0;
}

.di-identity-actions {
    display: flex;
    gap: 10px;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #e2e8f0;
}

/* KPIs */
.di-kpis {
    display: flex;
    gap: 15px;
    background: transparent;
    padding: 0;
}

.di-kpi {
    flex: 1;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 15px;
    text-align: center;
}

.di-kpi-value {
    font-size: 28px;
    font-weight: 700;
    color: #2d3748;
    line-height: 1.2;
}

.di-kpi-value.positive {
    color: #38a169;
}

.di-kpi-value.negative {
    color: #e53e3e;
}

.di-kpi-label {
    font-size: 12px;
    color: #718096;
    margin-top: 5px;
}

.di-kpi-sub {
    font-size: 11px;
    color: #a0aec0;
    margin-top: 3px;
}

.di-kpi-status {
    background: linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%);
}

/* Barre de progression */
.di-objectif {
    background: white;
    border: 1px solid #e2e8f0;
}

.di-progress-container {
    margin-bottom: 10px;
}

.di-progress-bar {
    height: 20px;
    background: #e2e8f0;
    border-radius: 10px;
    position: relative;
    overflow: visible;
}

.di-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #48bb78 0%, #38a169 100%);
    border-radius: 10px;
    transition: width 0.5s ease;
}

.di-progress-marker {
    position: absolute;
    top: -5px;
    width: 4px;
    height: 30px;
    background: #667eea;
    border-radius: 2px;
    transform: translateX(-50%);
}

.di-progress-labels {
    display: flex;
    justify-content: space-between;
    margin-top: 5px;
    font-size: 10px;
    color: #a0aec0;
}

.di-progress-legend {
    display: flex;
    gap: 20px;
    justify-content: center;
    margin-top: 10px;
}

.di-legend-item {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: #718096;
}

.di-legend-color {
    width: 20px;
    height: 8px;
    border-radius: 4px;
}

.di-legend-actuel {
    background: linear-gradient(90deg, #48bb78 0%, #38a169 100%);
}

.di-legend-objectif {
    background: #667eea;
}

/* Mini graphique évolution */
.di-evolution {
    background: white;
    border: 1px solid #e2e8f0;
}

.di-chart-container {
    background: #f8fafc;
    border-radius: 8px;
    padding: 10px;
}

.di-evolution-svg {
    width: 100%;
    height: auto;
}

/* Analyse SFC */
.di-sfc-analysis {
    background: white;
    border: 1px solid #e2e8f0;
}

.di-sfc-columns {
    display: flex;
    gap: 20px;
}

.di-sfc-column {
    flex: 1;
    padding: 15px;
    border-radius: 8px;
}

.di-sfc-weak {
    background: #fff5f5;
}

.di-sfc-strong {
    background: #f0fff4;
}

.di-sfc-column h5 {
    margin: 0 0 10px 0;
    font-size: 13px;
    color: #4a5568;
}

.di-sfc-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.di-sfc-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 10px;
    background: white;
    border-radius: 6px;
}

.di-sfc-name {
    font-size: 13px;
    color: #2d3748;
}

.di-sfc-niveau {
    font-weight: 600;
    font-size: 14px;
}

.di-sfc-empty {
    text-align: center;
    color: #a0aec0;
    font-size: 13px;
    font-style: italic;
    margin: 0;
    padding: 15px;
}

/* Notes */
.di-notes {
    background: white;
    border: 1px solid #e2e8f0;
}

.di-notes-content {
    background: #f7fafc;
    padding: 15px;
    border-radius: 8px;
    min-height: 60px;
}

.di-notes-content p {
    margin: 0;
    color: #4a5568;
    font-size: 14px;
    white-space: pre-wrap;
}

.di-notes-edit {
    width: 100%;
    min-height: 80px;
    padding: 10px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    font-size: 14px;
    resize: vertical;
}

.di-notes-actions {
    display: flex;
    gap: 10px;
    margin-top: 10px;
    justify-content: flex-end;
}

/* Historique */
.di-history {
    background: white;
    border: 1px solid #e2e8f0;
}

.di-history-count {
    font-size: 13px;
    color: #718096;
}

.di-history-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.di-history-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 10px 12px;
    background: #f7fafc;
    border-radius: 8px;
}

.di-history-date {
    font-size: 13px;
    color: #718096;
    min-width: 80px;
}

.di-history-niveau {
    min-width: 50px;
}

.di-history-niveau .niveau-badge {
    display: inline-block;
    padding: 3px 10px;
    background: #c6f6d5;
    color: #276749;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
}

.di-history-sfc {
    flex: 1;
    font-size: 12px;
    color: #a0aec0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.di-history-empty {
    text-align: center;
    color: #a0aec0;
    font-size: 13px;
    font-style: italic;
    margin: 0;
    padding: 20px;
}

.di-history-more {
    text-align: center;
    color: #718096;
    font-size: 12px;
    margin: 10px 0 0 0;
}

/* Bouton dashboard dans tableau de bord global */
.btn-dashboard {
    padding: 4px 8px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border: none;
    border-radius: 4px;
    color: white;
    cursor: pointer;
    font-size: 12px;
    transition: all 0.2s;
}

.btn-dashboard:hover {
    transform: scale(1.05);
    box-shadow: 0 2px 8px rgba(102, 126, 234, 0.4);
}

/* ============================================================
   BARRE DE SÉLECTION RADAR AMÉLIORÉE
   ============================================================ */

.radar-selection-bar {
    flex-direction: column;
    gap: 8px;
    padding: 12px 20px;
}

.radar-bar-row {
    display: flex;
    align-items: center;
    gap: 15px;
    flex-wrap: wrap;
}

.radar-bar-main {
    justify-content: flex-start;
}

.radar-bar-details {
    background: rgba(255, 255, 255, 0.1);
    padding: 8px 12px;
    border-radius: 6px;
    margin-top: 4px;
}

.eval-type-input,
.evaluateur-input,
.lieu-input,
.date-input {
    display: flex;
    align-items: center;
    gap: 6px;
}

.eval-type-input label,
.evaluateur-input label,
.lieu-input label,
.date-input label {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.8);
    white-space: nowrap;
}

.eval-type-input select {
    padding: 5px 10px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 4px;
    background: white;
    font-size: 13px;
    color: #333;
}

.evaluateur-input input,
.lieu-input input,
.date-input input {
    padding: 5px 10px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 4px;
    background: white;
    font-size: 13px;
    width: 150px;
}

.date-input input {
    width: 140px;
}

/* Toggle Mode Rapide */
.eval-mode-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
}

.toggle-switch {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 22px;
    cursor: pointer;
}

.toggle-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.toggle-slider {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.3);
    transition: 0.3s;
    border-radius: 22px;
}

.toggle-slider:before {
    position: absolute;
    content: "";
    height: 16px;
    width: 16px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    transition: 0.3s;
    border-radius: 50%;
}

.toggle-switch input:checked + .toggle-slider {
    background-color: #4CAF50;
}

.toggle-switch input:checked + .toggle-slider:before {
    transform: translateX(18px);
}

.toggle-label {
    font-size: 12px;
    color: white;
    font-weight: 500;
}

.sfc-counter {
    font-size: 13px;
    color: white;
    background: rgba(255, 255, 255, 0.2);
    padding: 5px 12px;
    border-radius: 15px;
}

.sfc-counter .count {
    font-weight: bold;
    color: #FFD700;
}

/* ============================================================
   MODALE RADAR - TRAÇABILITÉ ET NOUVELLES SECTIONS
   ============================================================ */

.radar-apprenant-info {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px 15px;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-radius: 8px;
    margin-bottom: 15px;
}

.radar-info-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.radar-info-main .apprenant-name {
    font-size: 16px;
    font-weight: 600;
    color: #333;
}

.eval-type-badge {
    padding: 4px 12px;
    border-radius: 15px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
}

.eval-type-badge.type-formateur {
    background: #667eea;
    color: white;
}

.eval-type-badge.type-auto {
    background: #f39c12;
    color: white;
}

.eval-type-badge.type-tuteur {
    background: #27ae60;
    color: white;
}

.radar-info-details {
    display: flex;
    gap: 20px;
    font-size: 13px;
    color: #666;
    flex-wrap: wrap;
}

.radar-info-details span:before {
    margin-right: 5px;
}

.eval-date:before { content: "📅"; }
.eval-evaluateur:before { content: "👤"; }
.eval-lieu:before { content: "📍"; }

/* Mode Évaluation Rapide */
.radar-mode-rapide {
    background: #fff3cd;
    border: 1px solid #ffc107;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 15px;
}

.radar-mode-rapide h4 {
    color: #856404;
    margin: 0 0 10px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.radar-mode-rapide h4:before {
    content: "⚡";
}

.mode-rapide-help {
    font-size: 13px;
    color: #856404;
    margin: 0 0 15px 0;
}

.mode-rapide-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.mode-rapide-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 10px 15px;
    background: white;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.mode-rapide-sfc {
    flex: 1;
    font-weight: 600;
    color: #333;
    min-width: 150px;
}

.mode-rapide-requis {
    font-size: 12px;
    color: #666;
    padding: 3px 8px;
    background: #e9ecef;
    border-radius: 10px;
}

.mode-rapide-niveaux {
    display: flex;
    gap: 5px;
}

.mode-rapide-btn {
    width: 36px;
    height: 36px;
    border: 2px solid #ddd;
    border-radius: 50%;
    background: white;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.2s;
}

.mode-rapide-btn:hover {
    transform: scale(1.1);
}

.mode-rapide-btn.selected {
    color: white;
    border-color: transparent;
}

.mode-rapide-btn.niveau-1.selected { background: #e74c3c; }
.mode-rapide-btn.niveau-2.selected { background: #f39c12; }
.mode-rapide-btn.niveau-3.selected { background: #3498db; }
.mode-rapide-btn.niveau-4.selected { background: #27ae60; }

.mode-rapide-btn.niveau-1:hover { border-color: #e74c3c; }
.mode-rapide-btn.niveau-2:hover { border-color: #f39c12; }
.mode-rapide-btn.niveau-3:hover { border-color: #3498db; }
.mode-rapide-btn.niveau-4:hover { border-color: #27ae60; }

/* Légende auto-évaluation */
.radar-legend-autoeval .radar-legend-line {
    background: #f39c12;
    border-style: dashed;
}

/* Plan d'actions */
.radar-plan-actions {
    background: #e8f5e9;
    border: 1px solid #4CAF50;
    border-radius: 8px;
    padding: 15px;
    margin-top: 15px;
}

.radar-plan-actions h4 {
    color: #2e7d32;
    margin: 0 0 10px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.radar-plan-actions h4:before {
    content: "📋";
}

.plan-actions-intro p {
    font-size: 13px;
    color: #555;
    margin: 0 0 15px 0;
}

.plan-actions-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 15px;
}

.plan-action-item {
    background: white;
    border-radius: 6px;
    padding: 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.plan-action-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.plan-action-sfc {
    font-weight: 600;
    color: #333;
}

.plan-action-priority {
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 10px;
}

.plan-action-priority.haute {
    background: #ffebee;
    color: #c62828;
}

.plan-action-priority.moyenne {
    background: #fff3e0;
    color: #ef6c00;
}

.plan-action-ecart {
    font-size: 12px;
    color: #666;
    margin-left: auto;
}

.plan-action-textarea {
    width: 100%;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 13px;
    resize: vertical;
    min-height: 60px;
}

.plan-action-textarea:focus {
    border-color: #4CAF50;
    outline: none;
}

/* Objectifs du niveau cible dans le plan d'actions */
.plan-action-objectifs {
    background: #e3f2fd;
    border: 1px solid #90caf9;
    border-radius: 6px;
    padding: 10px;
    margin-bottom: 10px;
}

.plan-action-objectifs-header {
    color: #1565c0;
    font-size: 12px;
    margin-bottom: 8px;
}

.plan-action-objectifs-list {
    margin: 0;
    padding-left: 20px;
    font-size: 12px;
    color: #333;
}

.plan-action-objectifs-list li {
    margin-bottom: 6px;
    line-height: 1.4;
}

.plan-action-objectifs-list li:last-child {
    margin-bottom: 0;
}

.plan-action-fields label {
    display: block;
    font-size: 12px;
    font-weight: 500;
    color: #666;
    margin-bottom: 4px;
}

.plan-actions-global {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    padding-top: 15px;
    border-top: 1px solid #c8e6c9;
}

.plan-actions-global .form-group {
    flex: 1;
    min-width: 200px;
}

.plan-actions-global label {
    display: block;
    font-size: 13px;
    color: #555;
    margin-bottom: 5px;
}

.plan-actions-global textarea,
.plan-actions-global input[type="date"] {
    width: 100%;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 13px;
}

.no-priorities {
    text-align: center;
    padding: 20px;
    color: #2e7d32;
    font-weight: 500;
    background: white;
    border-radius: 6px;
}

/* Signatures */
.radar-signatures {
    background: #fafafa;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 15px;
    margin-top: 15px;
}

.radar-signatures h4 {
    color: #333;
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.radar-signatures h4:before {
    content: "✍️";
}

.signatures-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 15px;
}

.signature-block {
    background: white;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    padding: 12px;
}

.signature-block label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-weight: 500;
    color: #333;
}

.signature-block input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

.signature-info {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px dashed #ddd;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.signature-name {
    font-weight: 500;
    color: #333;
}

.signature-date {
    font-size: 12px;
    color: #666;
}

.signature-block.signed {
    border-color: #4CAF50;
    background: #f1f8e9;
}

.signature-block.signed .signature-name:before {
    content: "✓ ";
    color: #4CAF50;
}

/* ============================================================
   SÉLECTEUR DE PAYS - Architecture multi-pays
   ============================================================ */

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

.header-top-row h1 {
    margin-bottom: 0;
    text-align: left;
}

.country-selector {
    display: flex;
    gap: 8px;
    background: #f7fafc;
    padding: 6px;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
}

.country-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border: 2px solid transparent;
    border-radius: 8px;
    background: white;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    color: #4a5568;
    transition: all 0.2s ease;
}

.country-btn:hover {
    background: #edf2f7;
    transform: translateY(-1px);
}

.country-btn.active {
    background: #2c5282;
    color: white;
    border-color: #2c5282;
    box-shadow: 0 2px 8px rgba(44, 82, 130, 0.3);
}

.country-btn .country-flag {
    font-size: 20px;
    line-height: 1;
}

.country-btn .country-code {
    font-weight: 600;
    letter-spacing: 0.5px;
}

.country-btn.active .country-code {
    color: white;
}

/* Source info banner */
.country-source-info {
    background: linear-gradient(135deg, #ebf4ff 0%, #c3dafe 100%);
    padding: 8px 16px;
    border-radius: 8px;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: #2c5282;
}

.country-source-info .source-flag {
    font-size: 24px;
}

.country-source-info .source-label {
    font-weight: 600;
}

.country-source-info .source-name {
    color: #4a5568;
}

/* ============================================================
   RESPONSIVE - Adaptations mobile
   ============================================================ */

@media (max-width: 768px) {
    .form-group-row {
        flex-direction: column;
        gap: 10px;
    }

    .evolution-modal {
        width: 98%;
        max-height: 95vh;
    }

    .evolution-info {
        flex-direction: column;
        gap: 10px;
    }

    .evolution-eval-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .evolution-eval-sfc {
        margin: 0;
    }

    /* Sélecteur de pays mobile */
    .header-top-row {
        flex-direction: column;
        gap: 15px;
    }

    .header-top-row h1 {
        text-align: center;
    }

    .country-selector {
        justify-content: center;
    }

    .country-btn {
        padding: 6px 10px;
    }

    .country-source-info {
        flex-direction: column;
        text-align: center;
        gap: 5px;
    }
}
