html {
    background-color: #111318;
}

body {
    margin: 0;
    background-color: #111318;
}

.swagger-ui {
    color: #e5e7eb;
}

.swagger-ui .topbar {
    background: linear-gradient(90deg, #111318, #312e81);
    border-bottom: 1px solid #4f46e5;
}

.swagger-ui .info .title,
.swagger-ui .info p,
.swagger-ui .info li,
.swagger-ui .info table,
.swagger-ui .scheme-container,
.swagger-ui .opblock-tag,
.swagger-ui .opblock-description-wrapper p,
.swagger-ui .opblock-summary-description,
.swagger-ui .response-col_status,
.swagger-ui .response-col_description,
.swagger-ui label,
.swagger-ui table thead tr th,
.swagger-ui table tbody tr td {
    color: #e5e7eb;
}

.swagger-ui .info a,
.swagger-ui .opblock-tag a {
    color: #a5b4fc;
}

.swagger-ui .scheme-container {
    background-color: #1b1f2a;
    box-shadow: none;
    border: 1px solid #303747;
}

.swagger-ui .opblock {
    background-color: #1b1f2a;
    border-radius: 8px;
    box-shadow: none;
}

.swagger-ui .opblock .opblock-summary {
    border-color: rgba(255, 255, 255, 0.15);
}

.swagger-ui .opblock-body,
.swagger-ui .responses-inner {
    background-color: #171a22;
}

.swagger-ui input,
.swagger-ui textarea,
.swagger-ui select {
    color: #f9fafb;
    background-color: #242936;
    border: 1px solid #4b5563;
}

.swagger-ui input::placeholder,
.swagger-ui textarea::placeholder {
    color: #9ca3af;
}

.swagger-ui .model-box,
.swagger-ui section.models {
    color: #e5e7eb;
    background-color: #1b1f2a;
}

.swagger-ui .model,
.swagger-ui .model-title,
.swagger-ui .prop-type {
    color: #c7d2fe;
}

.swagger-ui pre,
.swagger-ui .highlight-code {
    color: #e5e7eb;
    background-color: #0d1117;
}

.swagger-ui .btn {
    color: #e5e7eb;
    border-color: #6366f1;
}

.swagger-ui .btn.execute {
    background-color: #4f46e5;
    border-color: #4f46e5;
}

/* En-têtes des sections Parameters, Request body et Responses */
.swagger-ui .opblock .opblock-section-header {
    background-color: #242936 !important;
    border-top: 1px solid #374151;
    border-bottom: 1px solid #374151;
    box-shadow: none;
}

/* Titres des sections */
.swagger-ui .opblock .opblock-section-header h4,
.swagger-ui .opblock .opblock-section-header label {
    color: #f3f4f6 !important;
}

/* Bouton Try it out */
.swagger-ui .btn.try-out__btn {
    color: #c7d2fe !important;
    background-color: transparent !important;
    border: 1px solid #6366f1 !important;
}

/* Survol du bouton Try it out */
.swagger-ui .btn.try-out__btn:hover {
    color: #ffffff !important;
    background-color: #4f46e5 !important;
    border-color: #4f46e5 !important;
}

/* Bouton Cancel après activation de Try it out */
.swagger-ui .btn.cancel {
    color: #fecaca !important;
    background-color: transparent !important;
    border-color: #ef4444 !important;
}

.swagger-ui .btn.cancel:hover {
    color: #ffffff !important;
    background-color: #dc2626 !important;
}

/* Bloc principal de présentation */
.swagger-ui .info {
    position: relative;
    padding-right: 180px;
}

/* Logo Anderson placé à droite du titre */
.swagger-ui .info .description img {
    position: absolute;
    top: 0;
    right: 20px;
    display: block;
    width: 120px;
    height: 120px;
    margin: 0;
    object-fit: contain;
}

/* Améliorer la lisibilité des descriptions des catégories */
.swagger-ui .opblock-tag small,
.swagger-ui .opblock-tag small p {
    color: #9ca3af !important;
}

@media (max-width: 768px) {
    .swagger-ui .info {
        padding-right: 0;
    }

    .swagger-ui .info .description img {
        position: static;
        width: 90px;
        height: 90px;
        margin: 16px 0;
    }
}


/* Champs de saisie Swagger */
.swagger-ui input,
.swagger-ui input[type="text"],
.swagger-ui input[type="email"],
.swagger-ui input[type="password"],
.swagger-ui input[type="number"],
.swagger-ui input[type="file"],
.swagger-ui textarea,
.swagger-ui select {
    color: #f9fafb !important;
    -webkit-text-fill-color: #f9fafb !important;
    background-color: #242936 !important;
    border: 1px solid #4b5563 !important;
}

/* Texte indicatif des champs */
.swagger-ui input::placeholder,
.swagger-ui textarea::placeholder {
    color: #9ca3af !important;
    -webkit-text-fill-color: #9ca3af !important;
    opacity: 1;
}

/* Options des listes */
.swagger-ui select option {
    color: #f9fafb;
    background-color: #242936;
}

/* Bouton de sélection d'un fichier */
.swagger-ui input[type="file"]::file-selector-button {
    color: #ffffff;
    background-color: #4f46e5;
    border: 0;
    border-right: 1px solid #6366f1;
    padding: 8px 12px;
    cursor: pointer;
}

/* Champ JSON du Request body */
.swagger-ui textarea.body-param__text {
    color: #f9fafb !important;
    background-color: #0d1117 !important;
}