/*
 * La documentation de l'API au style de myadion.com : le theme sombre de
 * l'espace client (fonds #111113, surfaces a peine eclaircies, filets blancs a
 * 8 %), Raleway pour le texte, Lilita One pour la marque, l'accent vert d'eau.
 * Les couleurs sont celles de myadion/src/style.css (.v-theme--adionDark).
 * La structure (barre, colonne des groupes, reponses repliables) vient du
 * plugin js/swagger-adion.js.
 */
:root {
    --adion-bg-0: #111113;
    --adion-bg-1: #17171b;
    --adion-bg-2: #1f1f24;
    --adion-code-bg: #0b0b0d;
    --adion-surface: rgba(255, 255, 255, 0.04);
    --adion-border: rgba(255, 255, 255, 0.08);
    --adion-border-strong: rgba(255, 255, 255, 0.16);
    --adion-text-1: #eafcf6;
    --adion-text-2: rgba(220, 231, 239, 0.58);
    --adion-primary: #54ba9b;
    --adion-accent-text: #67dcc6;
    --adion-nav-bg: #111111;
    --adion-cta-bg: #e6e6e6;
    --adion-cta-fg: #000000;
    --adion-radius-pill: 24px;
    --adion-radius-sm: 8px;
    --adion-header-h: 64px;
    --adion-sidebar-w: 288px;
    --adion-row-hover: rgba(255, 255, 255, 0.05);
    --adion-accent-soft: rgba(84, 186, 155, 0.14);
    --method-get: #06b6d4;
    --method-post: #54ba9b;
    --method-put: #f5a524;
    --method-patch: #a78bfa;
    --method-delete: #f26d6d;
    --family-2xx: #67dcc6;
    --family-3xx: #06b6d4;
    --family-4xx: #f5a524;
    --family-5xx: #f26d6d;
}

html {
    box-sizing: border-box;
    overflow-y: scroll;
    background: var(--adion-bg-0);
}

*, *::before, *::after { box-sizing: inherit; }

body {
    margin: 0;
    background: var(--adion-bg-0);
    color: var(--adion-text-1);
}

.swagger-ui,
.swagger-ui * {
    /* Swagger pose sa police classe par classe : sans !important, Raleway ne tenait que sur le texte courant. */
    font-family: 'Raleway', sans-serif !important;
    /* Raleway dessine ses chiffres « a l'ancienne » (un 5 qui descend) : on les aligne. */
    font-variant-numeric: lining-nums;
}

/* Le code en chasse fixe, enfants compris : chaque span recevait Raleway. */
.swagger-ui code,
.swagger-ui code *,
.swagger-ui pre,
.swagger-ui pre *,
.swagger-ui .microlight,
.swagger-ui .microlight *,
.swagger-ui .opblock-summary-path,
.swagger-ui .opblock-summary-path *,
.swagger-ui .parameter__type,
.swagger-ui .prop-type,
.swagger-ui textarea,
.swagger-ui .model,
.swagger-ui .model *,
.swagger-ui .adion-code,
.swagger-ui kbd {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
    font-variant-numeric: normal;
}

/* ---------------------------------------------------------------- */
/* La barre : celle de l'espace client, fixe en haut de page          */
/* ---------------------------------------------------------------- */

.swagger-ui .adion-header {
    position: sticky;
    top: 0;
    z-index: 30;
    display: flex;
    align-items: center;
    height: var(--adion-header-h);
    padding-right: 32px;
    background: var(--adion-nav-bg);
    border-bottom: 1px solid var(--adion-border);
}

/* La marque occupe la largeur de la colonne des groupes : les filets s'alignent. */
.swagger-ui .adion-brand {
    display: flex;
    flex: 0 0 var(--adion-sidebar-w);
    align-items: center;
    gap: 10px;
    height: 100%;
    padding: 0 28px;
    border-right: 1px solid var(--adion-border);
    text-decoration: none;
}

.swagger-ui .adion-brand-mark {
    width: 30px;
    height: 30px;
    background: url('/images/adion-mark.ico') center / contain no-repeat;
}

.swagger-ui .adion-brand-name {
    font-family: 'Lilita One', sans-serif !important;
    font-size: 12.8px;
    line-height: 1.1;
    text-transform: uppercase;
    color: var(--adion-text-1);
}

.swagger-ui .adion-header-label {
    padding: 0 24px;
    font-size: 11.2px;
    font-weight: 500;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    white-space: nowrap;
    color: var(--adion-text-2);
}

.swagger-ui .adion-search {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    max-width: 560px;
    margin: 0;
}

.swagger-ui .adion-search input[type=search] {
    width: 100%;
    /* Swagger borne les champs a 175 px sous 768 px de large. */
    max-width: none;
    height: 38px;
    margin: 0;
    padding: 0 40px 0 40px;
    border: 1px solid var(--adion-border-strong);
    border-radius: var(--adion-radius-pill);
    background: rgba(255, 255, 255, 0.05);
    color: var(--adion-text-1);
    font-size: 12.5px;
    -webkit-appearance: none;
    appearance: none;
}

.swagger-ui .adion-search input::placeholder { color: var(--adion-text-2); }
.swagger-ui .adion-search input:focus { outline: none; border-color: var(--adion-primary); background: rgba(255, 255, 255, 0.07); }
.swagger-ui .adion-search input::-webkit-search-cancel-button { display: none; }

/* La loupe, dessinee : un cercle et son manche. */
.swagger-ui .adion-search-icon {
    position: absolute;
    left: 16px;
    width: 12px;
    height: 12px;
    border: 2px solid var(--adion-text-2);
    border-radius: 50%;
    pointer-events: none;
}

.swagger-ui .adion-search-icon::after {
    content: '';
    position: absolute;
    right: -5px;
    bottom: -4px;
    width: 6px;
    height: 2px;
    background: var(--adion-text-2);
    transform: rotate(45deg);
}

.swagger-ui .adion-search kbd {
    position: absolute;
    right: 12px;
    padding: 1px 7px;
    border: 1px solid var(--adion-border-strong);
    border-radius: 6px;
    font-size: 11px;
    color: var(--adion-text-2);
    pointer-events: none;
}

.swagger-ui .adion-search input:focus ~ kbd { display: none; }

.swagger-ui .adion-header-auth { margin-left: auto; padding-left: 24px; }

/* Connecte : qui l'on est, et de quoi se deconnecter. */
.swagger-ui .adion-session { display: flex; align-items: center; gap: 14px; }
.swagger-ui .adion-person { display: flex; align-items: center; gap: 10px; min-width: 0; }

.swagger-ui .adion-avatar {
    display: inline-flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(84, 186, 155, 0.18);
    color: var(--adion-accent-text);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.5px;
}

.swagger-ui .adion-person-name {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12.5px;
    font-weight: 600;
}

.swagger-ui .btn.authorize {
    display: inline-flex;
    align-items: center;
    height: 38px;
    margin: 0;
    padding: 0 20px;
    border: 0;
    border-radius: var(--adion-radius-pill);
    background: var(--adion-cta-bg);
    color: var(--adion-cta-fg);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    box-shadow: none;
}

.swagger-ui .btn.authorize span { float: none; padding: 0 8px 0 0; }
.swagger-ui .btn.authorize svg { fill: var(--adion-cta-fg); }

/* Connecte : l'accent de la marque, et le bouton sert a se deconnecter. */
.swagger-ui .btn.authorize.locked { background: var(--adion-primary); color: #0b1512; }
.swagger-ui .btn.authorize.locked svg { fill: #0b1512; }

/* Deconnexion : un bouton discret a cote du nom, rouge au survol. */
.swagger-ui .btn.authorize.adion-disconnect {
    background: transparent;
    border: 1px solid var(--adion-border-strong);
    color: var(--adion-text-1);
}

.swagger-ui .btn.authorize.adion-disconnect:hover { border-color: #f26d6d; color: #f26d6d; }

/* ---------------------------------------------------------------- */
/* La colonne des groupes                                             */
/* ---------------------------------------------------------------- */

.swagger-ui .adion-body { display: flex; align-items: flex-start; }
.swagger-ui .adion-column { flex: 1 1 auto; min-width: 0; }

/*
 * La colonne de l'espace client (Kevin, le 2026-09-26) : de haut en bas, 288 px,
 * jamais de defilement de cote. Petits caracteres, arrondis de 2 px au plus,
 * le survol sur toute la largeur.
 */
.swagger-ui .adion-sidebar {
    position: sticky;
    top: 0;
    z-index: 30;
    display: flex;
    flex-direction: column;
    flex: 0 0 var(--adion-sidebar-w);
    width: var(--adion-sidebar-w);
    height: 100vh;
    overflow: clip;
    border-right: 1px solid var(--adion-border);
    background: var(--adion-nav-bg);
}

/* Le logo, et a cote les gestes : accueil, espace developpeur, connexion. */
.swagger-ui .adion-side-brand {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    height: 48px;
    padding: 0 10px 0 16px;
    border-bottom: 1px solid var(--adion-border);
}

.swagger-ui .adion-side-brand .adion-brand { flex: none; height: auto; padding: 0; border: 0; }
.swagger-ui .adion-side-brand .adion-brand-mark { width: 24px; height: 24px; }
.swagger-ui .adion-side-brand .adion-brand-name { font-size: 11.5px; line-height: 1.05; }

.swagger-ui .adion-side-actions { display: flex; align-items: center; gap: 2px; }

.swagger-ui .adion-side-btn {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 2px;
    background: none;
    color: var(--adion-text-2);
    cursor: pointer;
}

.swagger-ui .adion-side-btn:hover { background: var(--adion-row-hover); color: var(--adion-text-1); }
.swagger-ui .adion-side-btn.is-active { color: var(--adion-accent-text); }
.swagger-ui .adion-side-btn.is-signout:hover { color: #ff9c9c; }
.swagger-ui .adion-icon { width: 16px; height: 16px; fill: currentColor; }

/* Le compte et l'API : une ligne chacun, l'intitule dans la ligne. */
.swagger-ui .adion-side-context { display: grid; grid-template-columns: minmax(0, 1fr); padding: 4px 0; border-bottom: 1px solid var(--adion-border); }

.swagger-ui .adion-ctx {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-width: 0;
    min-height: 28px;
    margin: 0;
    padding: 4px 16px;
    border: 0;
    border-radius: 0;
    background: none;
    color: var(--adion-text-1);
    text-align: left;
}

.swagger-ui button.adion-ctx { cursor: pointer; }
.swagger-ui button.adion-ctx:hover { background: var(--adion-row-hover); }
.swagger-ui .adion-ctx-label { flex: none; width: 46px; font-size: 9px; letter-spacing: 1px; text-transform: uppercase; color: var(--adion-text-2); }
.swagger-ui .adion-ctx-value { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.swagger-ui .adion-ctx-value.is-cta { color: var(--adion-accent-text); }

/* Le filtre : leger, sans cadre. « / » y place le curseur. */
.swagger-ui .adion-side-filter { display: flex; align-items: center; gap: 8px; margin: 0; padding: 8px 16px 4px; color: var(--adion-text-2); }
.swagger-ui .adion-side-filter .adion-search-icon { position: relative; left: 0; flex: none; width: 9px; height: 9px; border-width: 1.5px; }
.swagger-ui .adion-side-filter .adion-search-icon::after { right: -4px; bottom: -3px; width: 4px; height: 1.5px; }

.swagger-ui .adion-side-filter input[type=search] {
    flex: 1;
    min-width: 0;
    width: auto;
    max-width: none;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    outline: none;
    background: none;
    box-shadow: none;
    color: var(--adion-text-1);
    font-size: 11px;
    -webkit-appearance: none;
    appearance: none;
}

.swagger-ui .adion-side-filter input::placeholder { color: var(--adion-text-2); opacity: 0.8; }
.swagger-ui .adion-side-filter input::-webkit-search-cancel-button { display: none; }
.swagger-ui .adion-side-filter kbd { padding: 0 5px; border: 1px solid var(--adion-border); border-radius: 2px; font-size: 9.5px; color: var(--adion-text-2); }
.swagger-ui .adion-side-filter input:focus ~ kbd { display: none; }

/* Le sommaire : seul il defile. */
.swagger-ui .adion-side-body {
    flex: 1;
    min-width: 0;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 4px 10px 16px;
    scrollbar-width: thin;
    scrollbar-color: var(--adion-border-strong) transparent;
}

.swagger-ui .adion-sidebar-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 12px 10px 4px;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--adion-text-2);
}

.swagger-ui .adion-sidebar-total { letter-spacing: 0; text-transform: none; }

.swagger-ui .adion-nav,
.swagger-ui .adion-nav-sections { margin: 0; padding: 0; list-style: none; }

/* Une rubrique : son nom en petites capitales, ses groupes dessous. */
.swagger-ui .adion-nav-section { margin: 6px 0 0; }

.swagger-ui .adion-nav-section-name {
    display: block;
    padding: 8px 10px 4px;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--adion-text-2);
}

.swagger-ui .adion-nav-item,
.swagger-ui .adion-nav-home {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-height: 30px;
    margin: 0 0 1px;
    padding: 0 6px 0 10px;
    border: 0;
    border-radius: 2px;
    background: transparent;
    color: var(--adion-text-1);
    font-size: 12px;
    font-weight: 400;
    text-align: left;
    cursor: pointer;
}

.swagger-ui .adion-nav-item:hover,
.swagger-ui .adion-nav-home:hover { background: var(--adion-row-hover); }
.swagger-ui .adion-nav-item:focus-visible { outline: 1px solid var(--adion-primary); outline-offset: -1px; }
.swagger-ui .adion-nav-item.is-active,
.swagger-ui .adion-nav-home.is-active { background: var(--adion-accent-soft); color: var(--adion-accent-text); font-weight: 500; }

.swagger-ui .adion-nav-label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.swagger-ui .adion-nav-count { flex: none; font-size: 10px; font-weight: 400; color: var(--adion-text-2); }
.swagger-ui .adion-nav-item.is-active .adion-nav-count { color: var(--adion-accent-text); }
.swagger-ui .adion-nav-caret { flex: none; width: 15px; height: 15px; fill: var(--adion-text-2); transition: transform 0.15s ease; }
.swagger-ui .adion-nav-caret.is-open { transform: rotate(90deg); fill: currentColor; }

.swagger-ui .adion-sidebar-empty { margin: 8px 10px; font-size: 11.5px; color: var(--adion-text-2); }

/* Les routes du groupe ouvert, sous son nom, reliees par un filet. */
.swagger-ui .adion-nav-ops {
    margin: 0 0 4px 18px;
    padding: 0 0 0 8px;
    border-left: 1px solid var(--adion-border);
    list-style: none;
}

.swagger-ui .adion-nav-op {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
    padding: 5px 8px;
    border: 0;
    border-radius: 2px;
    background: transparent;
    color: var(--adion-text-2);
    text-align: left;
    cursor: pointer;
}

.swagger-ui .adion-nav-op:hover { background: var(--adion-row-hover); color: var(--adion-text-1); }
.swagger-ui .adion-nav-op.is-active { background: var(--adion-row-hover); color: var(--adion-accent-text); }
.swagger-ui .adion-nav-op:focus-visible { outline: 1px solid var(--adion-primary); outline-offset: -1px; }

.swagger-ui .adion-nav-path {
    min-width: 0;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
    font-size: 10.5px;
    line-height: 15px;
    overflow-wrap: anywhere;
}

/* Le verbe en toutes petites capitales, a la couleur de sa pastille. */
.swagger-ui .adion-method {
    flex: none;
    width: 34px;
    padding-top: 1px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
    font-size: 9.5px;
    font-weight: 800;
    line-height: 15px;
    letter-spacing: 0.3px;
}

.swagger-ui .adion-method[data-method="get"] { color: var(--method-get); }
.swagger-ui .adion-method[data-method="post"] { color: var(--method-post); }
.swagger-ui .adion-method[data-method="put"] { color: var(--method-put); }
.swagger-ui .adion-method[data-method="patch"] { color: var(--method-patch); }
.swagger-ui .adion-method[data-method="delete"] { color: var(--method-delete); }
.swagger-ui .adion-method.is-small { width: auto; margin-right: 4px; padding: 0; }

/* ---------------------------------------------------------------- */
/* Le contenu                                                         */
/* ---------------------------------------------------------------- */

.swagger-ui .adion-main { flex: 1 1 auto; min-width: 0; padding-bottom: 64px; }
.swagger-ui .adion-main > .swagger-ui { min-height: calc(100vh - var(--adion-header-h)); }
/* Sur l'accueil, les groupes sont masques : cette hauteur laissait un ecran vide sous les cartes. */
.adion-shell.is-home .adion-main > .swagger-ui { min-height: 0; }

/* La recherche et Authorize sont dans la barre ; un seul serveur (/api), rien a choisir. */
.swagger-ui .adion-main .filter-container,
.swagger-ui .adion-main .scheme-container,
.swagger-ui .information-container,
.swagger-ui .opblock-section.operation-servers,
.swagger-ui .try-out {
    display: none !important;
}

.swagger-ui .wrapper { max-width: 1440px; padding: 0 36px; }
/* L'air au-dessus de la liste, sur le premier groupe seulement : chaque groupe
   est le premier enfant de son propre conteneur. */
.swagger-ui section.block.col-12 > div > span:first-child > .opblock-tag-section { margin-top: 24px; }

/*
 * Un groupe a la fois : hors recherche, les groupes fermes disparaissent du
 * contenu (la colonne et l'accueil y menent). Un groupe seul a son propre
 * en-tete, celui de Swagger s'efface.
 */
.adion-shell:not(.is-filtering) .opblock-tag-section:not(.is-open) { display: none; }
.adion-shell.is-focused .opblock-tag { display: none; }
.adion-shell.is-focused section.block.col-12 > div > span:first-child > .opblock-tag-section { margin-top: 0; }
.adion-shell.is-focused .opblock-tag-section .operation-tag-content { padding-top: 0; }

/* ---------------------------------------------------------------- */
/* L'accueil                                                          */
/* ---------------------------------------------------------------- */

.swagger-ui .adion-overview,
.swagger-ui .adion-group-head {
    max-width: 1440px;
    padding: 40px 36px 0;
}

.swagger-ui .adion-eyebrow {
    margin: 0 0 10px;
    font-size: 11.2px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--adion-accent-text);
}

.swagger-ui .adion-hero h1 {
    margin: 0;
    font-size: 34px;
    font-weight: 300;
    line-height: 1.1;
    color: var(--adion-text-1);
}

.swagger-ui .adion-lead {
    max-width: 680px;
    margin: 14px 0 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--adion-text-2);
}

.swagger-ui .adion-hero-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    margin-top: 18px;
    font-size: 13px;
    color: var(--adion-text-2);
}

.swagger-ui .adion-pill {
    padding: 2px 10px;
    border: 1px solid var(--adion-border-strong);
    border-radius: var(--adion-radius-pill);
    font-size: 12px;
    font-weight: 600;
    color: var(--adion-text-1);
}

.swagger-ui .adion-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 14px;
    margin-top: 32px;
}

.swagger-ui .adion-card {
    padding: 18px 20px;
    border: 1px solid var(--adion-border);
    border-radius: 12px;
    background: var(--adion-surface);
}

.swagger-ui .adion-card h2,
.swagger-ui .adion-section-title {
    margin: 0 0 12px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    color: var(--adion-text-2);
}

.swagger-ui .adion-card p { margin: 10px 0 0; font-size: 12.5px; line-height: 1.6; color: var(--adion-text-1); }
.swagger-ui .adion-card p:first-of-type { margin-top: 0; }
.swagger-ui .adion-card .adion-copy-field + p { margin-top: 12px; }
.swagger-ui .adion-card code,
.swagger-ui .adion-sample-note code {
    padding: 1px 5px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.07);
    font-size: 12px;
    color: var(--adion-accent-text);
}
.swagger-ui .adion-card .btn.authorize { margin-top: 14px; }

.swagger-ui .adion-copy-field {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 6px 6px 12px;
    border: 1px solid var(--adion-border-strong);
    border-radius: var(--adion-radius-sm);
    background: var(--adion-code-bg);
}

.swagger-ui .adion-copy-field code {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 0;
    background: none;
    font-size: 12px;
    color: #d7fff2;
}

.swagger-ui .adion-copy-button,
.swagger-ui .adion-sample-copy {
    flex: none;
    padding: 4px 12px;
    border: 1px solid var(--adion-border-strong);
    border-radius: var(--adion-radius-pill);
    background: transparent;
    color: var(--adion-text-1);
    font-size: 11.5px;
    font-weight: 600;
    cursor: pointer;
}

.swagger-ui .adion-copy-button:hover,
.swagger-ui .adion-sample-copy:hover { border-color: var(--adion-primary); }
.swagger-ui .adion-copy-button.is-done,
.swagger-ui .adion-sample-copy.is-done { border-color: var(--adion-primary); color: var(--adion-accent-text); }

.swagger-ui .adion-section-title { margin: 36px 0 6px; }
.swagger-ui .adion-section-description { max-width: 720px; margin: 0 0 14px; font-size: 12.5px; line-height: 1.5; color: var(--adion-text-2); }
.swagger-ui .adion-overview-section:last-child { padding-bottom: 8px; }

.swagger-ui .adion-groups {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 12px;
    padding-bottom: 8px;
}

.swagger-ui .adion-group-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 84px;
    padding: 14px 16px;
    border: 1px solid var(--adion-border);
    border-radius: 12px;
    background: var(--adion-surface);
    color: var(--adion-text-1);
    text-align: left;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease, transform 0.15s ease;
}

.swagger-ui .adion-group-card:hover {
    border-color: rgba(84, 186, 155, 0.5);
    background: rgba(84, 186, 155, 0.06);
    transform: translateY(-1px);
}

.swagger-ui .adion-group-card:focus-visible { outline: 2px solid var(--adion-primary); outline-offset: 2px; }
.swagger-ui .adion-group-name { font-size: 14px; font-weight: 700; }
.swagger-ui .adion-group-description {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    font-size: 12px;
    line-height: 1.5;
    color: var(--adion-text-2);
}

.swagger-ui .adion-group-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: auto;
    font-size: 12px;
    color: var(--adion-text-2);
}

.swagger-ui .adion-group-methods { display: inline-flex; flex-wrap: wrap; gap: 10px; }
.swagger-ui .adion-method-count { display: inline-flex; align-items: baseline; font-size: 12px; color: var(--adion-text-2); }

/* L'en-tete d'un groupe ouvert : le fil d'Ariane, le nom, ce qu'il contient. */
.swagger-ui .adion-group-head { padding-bottom: 20px; }

.swagger-ui .adion-crumbs {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    font-size: 12.5px;
    color: var(--adion-text-2);
}

.swagger-ui .adion-crumbs button {
    padding: 0;
    border: 0;
    background: none;
    color: var(--adion-accent-text);
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
}

.swagger-ui .adion-crumbs button:hover { text-decoration: underline; }

.swagger-ui .adion-group-head h1 {
    margin: 0;
    font-size: 26px;
    font-weight: 300;
    color: var(--adion-text-1);
}

.swagger-ui .adion-group-head-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    margin: 10px 0 0;
    font-size: 13px;
    color: var(--adion-text-2);
}

.swagger-ui .adion-group-head-description { max-width: 720px; margin: 10px 0 0; font-size: 13px; line-height: 1.6; color: var(--adion-text-2); }

.swagger-ui,
.swagger-ui .info .title,
.swagger-ui .opblock-tag,
.swagger-ui .opblock .opblock-section-header h4,
.swagger-ui .opblock-description-wrapper p,
.swagger-ui .opblock-external-docs-wrapper p,
.swagger-ui .opblock-title_normal p,
.swagger-ui .parameter__name,
.swagger-ui .parameter__type,
.swagger-ui .parameter__in,
.swagger-ui .parameter__deprecated,
.swagger-ui .response-col_status,
.swagger-ui .responses-inner h4,
.swagger-ui .responses-inner h5,
.swagger-ui table thead tr th,
.swagger-ui table thead tr td,
.swagger-ui .tab li,
.swagger-ui label,
.swagger-ui .model-title,
.swagger-ui .model,
.swagger-ui section.models h4,
.swagger-ui .prop-type,
.swagger-ui .prop-format,
.swagger-ui .renderedMarkdown p,
.swagger-ui .markdown p,
.swagger-ui .dialog-ux .modal-ux-content p,
.swagger-ui .dialog-ux .modal-ux-header h3,
.swagger-ui .loading-container .loading::after,
.swagger-ui .errors-wrapper,
.swagger-ui .errors-wrapper h4 {
    color: var(--adion-text-1);
}

/* Les groupes, serres : une ligne de 44 px, sans marge entre eux. */
.swagger-ui .opblock-tag-section { margin: 0; }
.swagger-ui .opblock-tag {
    margin: 0;
    padding: 10px 4px;
    border-bottom: 1px solid var(--adion-border);
    font-size: 14px;
    font-weight: 700;
    /* Un groupe choisi dans la colonne s'arrete sous la barre, pas dessous. */
    scroll-margin-top: calc(var(--adion-header-h) + 12px);
}
.swagger-ui .opblock-tag-section .operation-tag-content { padding: 10px 0 16px; }
.swagger-ui .opblock-tag-section.is-open > .opblock-tag { border-bottom-color: transparent; }

.swagger-ui .opblock-tag small { color: var(--adion-text-2); font-size: 12.5px; font-weight: 400; }
.swagger-ui .opblock-tag:hover { background: rgba(255, 255, 255, 0.03); }
.swagger-ui .expand-operation svg,
.swagger-ui .opblock-tag svg,
.swagger-ui .opblock-control-arrow svg,
.swagger-ui .authorization__btn svg { fill: var(--adion-text-1); opacity: 0.6; }
.swagger-ui .model-toggle::after { filter: invert(1); opacity: 0.6; }

/* Le bouton « copier » : un carre blanc sur fond sombre. */
.swagger-ui .copy-to-clipboard {
    background: transparent !important;
    border-radius: var(--adion-radius-sm);
}
.swagger-ui .copy-to-clipboard button { filter: invert(1); opacity: 0.6; }
.swagger-ui .copy-to-clipboard:hover button { opacity: 1; }

/* ---------------------------------------------------------------- */
/* Les operations                                                     */
/* ---------------------------------------------------------------- */

.swagger-ui .opblock {
    margin: 0 0 10px;
    border: 1px solid var(--adion-border);
    border-radius: var(--adion-radius-sm);
    background: var(--adion-surface) !important;
    box-shadow: none;
    overflow: hidden;
    /* Le corps passe en deux colonnes selon la place du bloc, pas celle de la fenetre. */
    container-type: inline-size;
}

.swagger-ui .opblock .opblock-summary { border-bottom: 0; padding: 6px 10px; }
.swagger-ui .opblock.is-open .opblock-summary { border-bottom: 1px solid var(--adion-border); }
.swagger-ui .opblock .opblock-summary-path,
.swagger-ui .opblock .opblock-summary-path__deprecated { color: var(--adion-text-1); font-size: 12.5px; }
.swagger-ui .opblock .opblock-summary-description { color: var(--adion-text-2); font-size: 12px; }

/* Les parametres de chemin ressortent dans l'adresse. */
.swagger-ui .adion-path-param { color: var(--adion-accent-text); }

.swagger-ui .opblock .opblock-summary-method {
    min-width: 64px;
    padding: 4px 0;
    border-radius: var(--adion-radius-pill);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-shadow: none;
    color: #0b1512;
}

.swagger-ui .opblock.opblock-get { border-color: rgba(6, 182, 212, 0.35); }
.swagger-ui .opblock.opblock-get .opblock-summary-method { background: var(--method-get); }
.swagger-ui .opblock.opblock-post { border-color: rgba(84, 186, 155, 0.35); }
.swagger-ui .opblock.opblock-post .opblock-summary-method { background: var(--method-post); }
.swagger-ui .opblock.opblock-put { border-color: rgba(245, 165, 36, 0.35); }
.swagger-ui .opblock.opblock-put .opblock-summary-method { background: var(--method-put); }
.swagger-ui .opblock.opblock-patch { border-color: rgba(167, 139, 250, 0.35); }
.swagger-ui .opblock.opblock-patch .opblock-summary-method { background: var(--method-patch); }
.swagger-ui .opblock.opblock-delete { border-color: rgba(242, 109, 109, 0.35); }
.swagger-ui .opblock.opblock-delete .opblock-summary-method { background: var(--method-delete); }

.swagger-ui .opblock .opblock-section-header {
    min-height: 42px;
    padding: 8px 20px;
    background: rgba(255, 255, 255, 0.03);
    box-shadow: none;
    border-bottom: 1px solid var(--adion-border);
}

.swagger-ui .opblock .opblock-section-header h4 { font-size: 12.5px; font-weight: 700; }
.swagger-ui .opblock .opblock-section-header .tab-header .tab-item.active h4 span::after { background: var(--adion-primary); }

.swagger-ui .opblock-body,
.swagger-ui .responses-inner,
.swagger-ui .opblock-description-wrapper { background: transparent; }

.swagger-ui .opblock-description-wrapper { padding: 16px 20px; }
.swagger-ui .opblock-description-wrapper p { margin: 0; font-size: 13px; line-height: 1.55; }

/*
 * Assez large, l'operation se lit comme un client HTTP : la requete a gauche
 * (parametres, corps, Execute), les reponses a droite, sur un fond plus
 * sombre. La reponse d'un essai s'affiche ainsi a cote du bouton. La
 * description reste en tete sur toute la largeur. La derniere ligne, en 1fr,
 * absorbe la hauteur de la colonne des reponses : sans elle, la grille
 * l'etalait entre les parametres.
 */
@container (min-width: 900px) {
    .swagger-ui .opblock-body {
        display: grid;
        grid-template-columns: minmax(0, 11fr) minmax(0, 10fr);
        grid-template-rows: repeat(10, auto) 1fr;
        grid-auto-flow: row dense;
    }

    .swagger-ui .opblock-body > * { grid-column: 1; }

    .swagger-ui .opblock-body > .opblock-description-wrapper {
        grid-column: 1 / -1;
        grid-row: 1;
        border-bottom: 1px solid var(--adion-border);
    }

    .swagger-ui .opblock-body > .adion-aside {
        grid-column: 2;
        grid-row: 2 / 13;
        border-left: 1px solid var(--adion-border);
        background: rgba(0, 0, 0, 0.28);
    }
}

.swagger-ui table tbody tr td { border-color: var(--adion-border); color: var(--adion-text-1); }
.swagger-ui table thead tr th,
.swagger-ui table thead tr td { border-bottom: 1px solid var(--adion-border); }
.swagger-ui .parameters-container .parameters,
.swagger-ui .table-container { padding: 12px 20px; }
.swagger-ui .opblock-description-wrapper h4.message,
.swagger-ui .opblock-section .opblock-description-wrapper p { color: var(--adion-text-2); }
.swagger-ui .parameter__name.required::after,
.swagger-ui .parameter__name.required span { color: #f26d6d; }
.swagger-ui .parameter__name.required::after { content: 'requis'; }
.swagger-ui .parameter__in,
.swagger-ui .prop-format { color: var(--adion-text-2); }

.swagger-ui input[type=text],
.swagger-ui input[type=password],
.swagger-ui input[type=search],
.swagger-ui input[type=email],
.swagger-ui textarea,
.swagger-ui select {
    border: 1px solid var(--adion-border-strong);
    border-radius: var(--adion-radius-sm);
    background: var(--adion-bg-1);
    color: var(--adion-text-1);
    box-shadow: none;
    font-size: 13px;
}

.swagger-ui .parameters-col_description input[type=text] { width: 100%; max-width: 420px; }
.swagger-ui .parameters-col_description .renderedMarkdown p,
.swagger-ui .parameters-col_description .markdown p { margin: 0 0 8px; font-size: 12.5px; line-height: 1.5; }
.swagger-ui .parameters-col_name { width: 30%; padding-right: 16px; }
.swagger-ui .parameter__name { font-size: 13px; font-weight: 600; }
.swagger-ui input[type=text]:focus,
.swagger-ui textarea:focus,
.swagger-ui select:focus { outline: none; border-color: var(--adion-primary); }

.swagger-ui select { background-color: var(--adion-bg-1); }

/* Le corps d'une requete en edition : le meme fond que les exemples. */
.swagger-ui .opblock-body .body-param__text,
.swagger-ui textarea.body-param__text {
    min-height: 180px;
    background: var(--adion-code-bg);
    color: #d7fff2;
}

/* ---------------------------------------------------------------- */
/* Les reponses                                                       */
/* ---------------------------------------------------------------- */

.swagger-ui .responses-inner { padding: 12px 20px 20px; }

/* La requete prete a copier, en tete de la colonne de droite. */
.swagger-ui .adion-sample { padding: 16px 20px 18px; border-bottom: 1px solid var(--adion-border); }

.swagger-ui .adion-sample-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.swagger-ui .adion-sample-title { font-size: 13px; font-weight: 700; }

.swagger-ui .adion-sample-tabs {
    display: inline-flex;
    gap: 2px;
    margin-left: auto;
    padding: 2px;
    border: 1px solid var(--adion-border);
    border-radius: var(--adion-radius-pill);
}

.swagger-ui .adion-sample-tab {
    padding: 3px 12px;
    border: 0;
    border-radius: var(--adion-radius-pill);
    background: transparent;
    color: var(--adion-text-2);
    font-size: 11.5px;
    font-weight: 600;
    cursor: pointer;
}

.swagger-ui .adion-sample-tab:hover { color: var(--adion-text-1); }
.swagger-ui .adion-sample-tab.is-active { background: rgba(84, 186, 155, 0.18); color: var(--adion-accent-text); }

.swagger-ui .adion-sample-code {
    max-height: 340px;
    margin: 0;
    padding: 14px 16px;
    overflow: auto;
    border: 1px solid var(--adion-border);
    border-radius: var(--adion-radius-sm);
    background: var(--adion-code-bg);
    color: #d7fff2;
    font-size: 11.5px;
    line-height: 1.6;
    /* Une longue adresse passe a la ligne a l'ecran ; la copie garde la ligne entiere. */
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    scrollbar-width: thin;
    scrollbar-color: var(--adion-border-strong) transparent;
}

.swagger-ui .adion-sample-code code { padding: 0; background: none; color: inherit; font-size: inherit; white-space: inherit; }
.swagger-ui .adion-sample-note { margin: 10px 0 0; font-size: 12px; line-height: 1.5; color: var(--adion-text-2); }

/* Les liens OpenAPI : aucune route n'en declare, la colonne disait « No links » partout. */
.swagger-ui .response-col_links { display: none; }
.swagger-ui .responses-table:not(.live-responses-table) > thead { display: none; }

/* Le format de la reponse : le vert de Swagger devient l'accent de la marque. */
.swagger-ui .response-control-media-type--accept-controller select,
.swagger-ui .response-control-media-type select { border-color: var(--adion-primary); }
.swagger-ui .response-control-media-type__accept-message { color: var(--adion-accent-text); }
.swagger-ui .response-control-media-type__title { color: var(--adion-text-2); }

/* Une ligne par code : la pastille, le libelle, la fleche. */
.swagger-ui .adion-response-summary { cursor: pointer; }
.swagger-ui .adion-response-summary > td {
    padding: 10px 6px !important;
    border-top: 1px solid var(--adion-border);
    vertical-align: middle;
}
.swagger-ui .responses-table tbody > .adion-response-summary:first-child > td { border-top: 0; }
.swagger-ui .adion-response-summary:hover > td { background: rgba(255, 255, 255, 0.03); }
.swagger-ui .adion-response-summary:focus-visible { outline: 2px solid var(--adion-primary); outline-offset: -2px; }

.swagger-ui .adion-response-code { width: 64px; }

.swagger-ui .adion-code {
    display: inline-block;
    min-width: 46px;
    padding: 2px 8px;
    border-radius: var(--adion-radius-pill);
    background: rgba(255, 255, 255, 0.08);
    color: var(--adion-text-1);
    font-size: 11.5px;
    font-weight: 700;
    text-align: center;
}

.swagger-ui .adion-code[data-family="2xx"] { background: rgba(103, 220, 198, 0.14); color: var(--family-2xx); }
.swagger-ui .adion-code[data-family="3xx"] { background: rgba(6, 182, 212, 0.14); color: var(--family-3xx); }
.swagger-ui .adion-code[data-family="4xx"] { background: rgba(245, 165, 36, 0.14); color: var(--family-4xx); }
.swagger-ui .adion-code[data-family="5xx"] { background: rgba(242, 109, 109, 0.14); color: var(--family-5xx); }

.swagger-ui .adion-response-title { font-size: 12.5px; color: var(--adion-text-1); }
.swagger-ui .adion-response-summary:not(.is-open) .adion-response-title { color: var(--adion-text-2); }

.swagger-ui .adion-chevron {
    float: right;
    width: 8px;
    height: 8px;
    margin: 4px 6px 0 12px;
    border-right: 2px solid var(--adion-text-2);
    border-bottom: 2px solid var(--adion-text-2);
    transform: rotate(-45deg);
    transition: transform 0.15s ease;
}

.swagger-ui .adion-response-summary.is-open .adion-chevron { transform: rotate(45deg); }

/* Le detail sous sa ligne : le code et le libelle y sont deja, on ne les repete pas. */
.swagger-ui tr.adion-response-detail > td { padding-top: 0 !important; padding-bottom: 16px; border-top: 0; }
.swagger-ui tr.adion-response-detail > .response-col_status { font-size: 0; }
.swagger-ui tr.adion-response-detail .response-col_description__inner { display: none; }
.swagger-ui tr.adion-response-detail .response-controls { padding-top: 2px; }

/* Le cURL d'un essai repetait le bloc « Requete » juste au-dessus. */
.swagger-ui .adion-live-response .curl-command { display: none; }

/* L'essai : adresse appelee, reponse du serveur. */
.swagger-ui .responses-inner h4,
.swagger-ui .responses-inner h5 { margin: 16px 0 6px; font-size: 12.5px; font-weight: 700; }
.swagger-ui .responses-inner > div > h4:first-child,
.swagger-ui .responses-inner > h4:first-child { margin-top: 0; }
.swagger-ui .live-responses-table .response-col_status {
    padding-top: 14px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
    font-size: 13px;
    font-weight: 700;
}
.swagger-ui .adion-live-response[data-family="2xx"] .response-col_status { color: var(--family-2xx); }
.swagger-ui .adion-live-response[data-family="3xx"] .response-col_status { color: var(--family-3xx); }
.swagger-ui .adion-live-response[data-family="4xx"] .response-col_status { color: var(--family-4xx); }
.swagger-ui .adion-live-response[data-family="5xx"] .response-col_status { color: var(--family-5xx); }
.swagger-ui .live-responses-table .response-col_status .response-undocumented { display: block; font-size: 11px; font-weight: 500; color: var(--adion-text-2); }
.swagger-ui .request-url pre,
.swagger-ui .curl-command .curl { font-size: 12px; }
.swagger-ui .request-duration { color: var(--adion-text-2); }

.swagger-ui .download-contents {
    right: 12px;
    bottom: 12px;
    padding: 4px 12px;
    border-radius: var(--adion-radius-pill);
    background: var(--adion-bg-2);
    border: 1px solid var(--adion-border-strong);
    color: var(--adion-text-1);
    font-size: 12px;
    font-weight: 600;
}
.swagger-ui .download-contents:hover { border-color: var(--adion-primary); }

/* ---------------------------------------------------------------- */
/* Boutons, code, modeles                                             */
/* ---------------------------------------------------------------- */

.swagger-ui .btn {
    border: 1px solid var(--adion-border-strong);
    border-radius: var(--adion-radius-pill);
    background: transparent;
    color: var(--adion-text-1);
    box-shadow: none;
    font-weight: 600;
    font-size: 12.5px;
}

.swagger-ui .btn:hover { box-shadow: none; border-color: var(--adion-primary); }
.swagger-ui .btn.execute { background: var(--adion-primary); border-color: var(--adion-primary); color: #0b1512; font-weight: 700; }
.swagger-ui .btn.execute:hover { background: var(--adion-accent-text); }
.swagger-ui .btn.cancel { border-color: rgba(242, 109, 109, 0.6); color: #f26d6d; }
.swagger-ui .btn-group .btn:first-child,
.swagger-ui .btn-group .btn:last-child { border-radius: var(--adion-radius-pill); }
/* Execute et Clear cote a cote, separes, alignes sur les marges du bloc. */
.swagger-ui .btn-group { gap: 10px; padding: 16px 20px 20px; }
.swagger-ui .execute-wrapper { padding: 16px 20px 20px; }
.swagger-ui .btn.execute,
.swagger-ui .btn-group .btn { height: 36px; }

.swagger-ui .tab li { color: var(--adion-text-2); }
.swagger-ui .tab li.active,
.swagger-ui .tab li button.tablinks { color: var(--adion-text-1); background: none; }

.swagger-ui .highlight-code > .microlight,
.swagger-ui .microlight,
.swagger-ui .opblock-body pre.microlight {
    border-radius: var(--adion-radius-sm);
    background: var(--adion-code-bg) !important;
    color: #d7fff2 !important;
    font-size: 11.5px;
}

.swagger-ui .markdown p,
.swagger-ui .renderedMarkdown p { font-size: 13px; }

.swagger-ui .response-col_description__inner div.markdown,
.swagger-ui .response-col_description__inner div.renderedMarkdown {
    background: transparent;
    color: var(--adion-text-1);
}

.swagger-ui section.models {
    border: 1px solid var(--adion-border);
    border-radius: var(--adion-radius-sm);
    background: var(--adion-surface);
}

.swagger-ui section.models .model-container { background: rgba(255, 255, 255, 0.03); }
.swagger-ui .model-box,
.swagger-ui .model .property.primitive { color: var(--adion-text-2); }
.swagger-ui .model-toggle::after { background-color: transparent; }
/* Swagger descend la fleche de 6 px : le « [...] » tombait sous le nom de sa propriete. */
.swagger-ui .model-toggle { top: 0; vertical-align: middle; }
.swagger-ui table.model tr.property-row td { padding-top: 3px; padding-bottom: 3px; line-height: 20px; }

.swagger-ui a,
.swagger-ui .info a { color: var(--adion-accent-text); }

.swagger-ui .loading-container .loading::before { border-color: var(--adion-border-strong); border-top-color: var(--adion-primary); }
.swagger-ui .loading-container .loading::after { content: 'chargement'; color: var(--adion-text-2); }

.swagger-ui .errors-wrapper {
    border: 1px solid rgba(242, 109, 109, 0.5);
    border-radius: var(--adion-radius-sm);
    background: rgba(242, 109, 109, 0.08);
}

/* ---------------------------------------------------------------- */
/* L'espace developpeur                                               */
/* ---------------------------------------------------------------- */

/* La documentation reste montee pendant qu'il est ouvert : on la masque. */
.adion-shell.is-developer .adion-main > .swagger-ui { display: none; }

.swagger-ui .adion-header-link,
.swagger-ui .adion-link-button {
    padding: 0;
    border: 0;
    background: none;
    color: var(--adion-text-2);
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
}

.swagger-ui .adion-header-link { margin-right: 18px; white-space: nowrap; }
.swagger-ui .adion-header-link:hover,
.swagger-ui .adion-header-link.is-active { color: var(--adion-accent-text); }
.swagger-ui .adion-link-button { color: var(--adion-accent-text); }
.swagger-ui .adion-link-button:hover { text-decoration: underline; }
.swagger-ui .adion-header-auth { display: flex; align-items: center; }

.swagger-ui .adion-dev-nav { margin: 0 0 6px; }

.swagger-ui .adion-dev-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--adion-border);
}

.swagger-ui .adion-dev-tab {
    padding: 6px 12px;
    border: 0;
    border-radius: var(--adion-radius-pill);
    background: transparent;
    color: var(--adion-text-2);
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
}

.swagger-ui .adion-dev-tab:hover { color: var(--adion-text-1); background: rgba(255, 255, 255, 0.04); }
.swagger-ui .adion-dev-tab.is-active { background: rgba(84, 186, 155, 0.16); color: var(--adion-accent-text); }

.swagger-ui .adion-developer-body { max-width: 1440px; padding: 8px 36px 64px; }

.swagger-ui .adion-dev-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin: 12px 0 18px;
}

.swagger-ui .adion-dev-section-head h2 { margin: 0; font-size: 17px; font-weight: 700; color: var(--adion-text-1); }
.swagger-ui .adion-dev-lead { max-width: 760px; margin: 6px 0 0; font-size: 13px; line-height: 1.6; color: var(--adion-text-2); }
.swagger-ui .adion-dev-help { margin: 4px 0 0; font-size: 12px; line-height: 1.5; color: var(--adion-text-2); }

.swagger-ui .adion-dev-card {
    margin: 0 0 14px;
    padding: 18px 20px;
    border: 1px solid var(--adion-border);
    border-radius: 12px;
    background: var(--adion-surface);
}

.swagger-ui .adion-dev-card.is-muted { opacity: 0.7; }
.swagger-ui .adion-dev-card h3 { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; font-size: 15px; font-weight: 700; color: var(--adion-text-1); }

.swagger-ui .adion-dev-card-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.swagger-ui .adion-dev-meta { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; font-size: 12px; color: var(--adion-text-2); }

.swagger-ui .adion-dev-kv {
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    margin: 0 0 10px;
    font-size: 12.5px;
}

.swagger-ui .adion-dev-kv > span { color: var(--adion-text-2); font-weight: 600; }
.swagger-ui .adion-dev-kv .adion-copy-field { max-width: 520px; }

.swagger-ui .adion-dev-chip {
    display: inline-block;
    margin: 0 6px 6px 0;
    padding: 2px 8px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.07);
    color: var(--adion-accent-text);
    font-size: 11.5px;
}

.swagger-ui .adion-dev-badge {
    display: inline-block;
    padding: 1px 8px;
    border-radius: var(--adion-radius-pill);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.4px;
    text-transform: uppercase;
}

.swagger-ui .adion-dev-badge.is-server,
.swagger-ui .adion-dev-badge.is-web { background: rgba(6, 182, 212, 0.14); color: var(--method-get); }
.swagger-ui .adion-dev-badge.is-on { background: rgba(103, 220, 198, 0.14); color: var(--family-2xx); }
.swagger-ui .adion-dev-badge.is-off { background: rgba(255, 255, 255, 0.08); color: var(--adion-text-2); }

.swagger-ui .adion-dev-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin-top: 14px; }

.swagger-ui .adion-dev-button {
    display: inline-flex;
    align-items: center;
    height: 32px;
    padding: 0 14px;
    border: 1px solid var(--adion-border-strong);
    border-radius: var(--adion-radius-pill);
    background: transparent;
    color: var(--adion-text-1);
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
}

.swagger-ui .adion-dev-button:hover { border-color: var(--adion-primary); }
.swagger-ui .adion-dev-button:disabled { opacity: 0.5; cursor: default; }
.swagger-ui .adion-dev-button.is-primary { background: var(--adion-primary); border-color: var(--adion-primary); color: #0b1512; }
.swagger-ui .adion-dev-button.is-primary:hover { background: var(--adion-accent-text); }
.swagger-ui .adion-dev-button.is-danger { border-color: rgba(242, 109, 109, 0.5); color: #f26d6d; }
.swagger-ui .adion-dev-button.is-armed { background: #f26d6d; border-color: #f26d6d; color: #1b0b0b; }
.swagger-ui .adion-dev-button.is-armed:not(.is-danger) { background: var(--family-4xx); border-color: var(--family-4xx); }

.swagger-ui .adion-dev-form h3 { margin-bottom: 14px; }

.swagger-ui .adion-dev-field { display: block; margin: 0 0 14px; }
.swagger-ui .adion-dev-field > span { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 700; color: var(--adion-text-2); }
.swagger-ui .adion-dev-field input[type=text],
.swagger-ui .adion-dev-field textarea,
.swagger-ui .adion-dev-field select { width: 100%; max-width: 560px; margin: 0; padding: 8px 12px; font-size: 13px; }

.swagger-ui .adion-dev-inline { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px; }
.swagger-ui .adion-dev-inline .adion-dev-field { flex: 1 1 220px; margin: 0; }
.swagger-ui .adion-dev-inline .adion-dev-field:nth-child(2) { flex: 0 0 160px; }

.swagger-ui .adion-dev-choice { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; margin: 0 0 16px; }

.swagger-ui .adion-dev-option {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 12px 14px;
    border: 1px solid var(--adion-border-strong);
    border-radius: 10px;
    cursor: pointer;
}

.swagger-ui .adion-dev-option input { display: none; }
.swagger-ui .adion-dev-option strong { font-size: 13.5px; color: var(--adion-text-1); }
.swagger-ui .adion-dev-option span { font-size: 12px; line-height: 1.5; color: var(--adion-text-2); }
.swagger-ui .adion-dev-option.is-active { border-color: var(--adion-primary); background: rgba(84, 186, 155, 0.08); }

.swagger-ui .adion-dev-scopes { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 6px; margin-top: 10px; }

.swagger-ui .adion-dev-scope {
    display: grid;
    grid-template-columns: auto auto 1fr;
    align-items: baseline;
    gap: 8px;
    padding: 7px 10px;
    border: 1px solid var(--adion-border);
    border-radius: 8px;
    font-size: 12px;
    color: var(--adion-text-2);
    cursor: pointer;
}

.swagger-ui .adion-dev-scope code { color: var(--adion-accent-text); font-size: 11.5px; }
.swagger-ui .adion-dev-scope.is-active { border-color: var(--adion-primary); background: rgba(84, 186, 155, 0.08); color: var(--adion-text-1); }

.swagger-ui .adion-dev-secret {
    margin: 14px 0;
    padding: 14px 16px;
    border: 1px solid rgba(245, 165, 36, 0.45);
    border-radius: 10px;
    background: rgba(245, 165, 36, 0.07);
}

.swagger-ui .adion-dev-secret-title { margin: 0 0 8px; font-size: 12.5px; font-weight: 700; color: var(--family-4xx); }
.swagger-ui .adion-dev-secret-note { margin: 8px 0 0; font-size: 12px; color: var(--adion-text-2); }

.swagger-ui .adion-dev-notice {
    margin: 10px 0;
    padding: 10px 14px;
    border-left: 3px solid var(--adion-primary);
    border-radius: 6px;
    background: rgba(84, 186, 155, 0.07);
    font-size: 12.5px;
    line-height: 1.5;
    color: var(--adion-text-1);
}

.swagger-ui .adion-dev-notice.is-error { border-left-color: #f26d6d; background: rgba(242, 109, 109, 0.08); }

.swagger-ui .adion-dev-empty {
    padding: 28px;
    border: 1px dashed var(--adion-border-strong);
    border-radius: 12px;
    text-align: center;
    font-size: 13px;
    color: var(--adion-text-1);
}

.swagger-ui .adion-dev-empty .btn.authorize { margin-top: 10px; }

.swagger-ui .adion-dev-table {
    width: 100%;
    margin: 10px 0 18px;
    border-collapse: collapse;
    font-size: 12.5px;
}

.swagger-ui .adion-dev-table th {
    padding: 8px 10px;
    border-bottom: 1px solid var(--adion-border-strong);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-align: left;
    text-transform: uppercase;
    color: var(--adion-text-2);
}

.swagger-ui .adion-dev-table td {
    padding: 9px 10px;
    border-bottom: 1px solid var(--adion-border);
    vertical-align: top;
    color: var(--adion-text-1);
}

.swagger-ui .adion-dev-table tr.is-muted td { color: var(--adion-text-2); }
.swagger-ui .adion-dev-table code { font-size: 11.5px; color: var(--adion-accent-text); }
.swagger-ui .adion-dev-cell-action { text-align: right; white-space: nowrap; }

.swagger-ui .adion-dev-pager { display: flex; align-items: center; justify-content: center; gap: 14px; font-size: 12.5px; color: var(--adion-text-2); }

.swagger-ui .adion-dev-guide { margin: 0 0 30px; }
.swagger-ui .adion-dev-guide h3 { margin: 0 0 10px; font-size: 15px; font-weight: 700; color: var(--adion-text-1); }
.swagger-ui .adion-dev-guide p,
.swagger-ui .adion-dev-guide li { max-width: 820px; font-size: 13px; line-height: 1.65; color: var(--adion-text-1); }
.swagger-ui .adion-dev-guide ol,
.swagger-ui .adion-dev-guide ul { margin: 0 0 12px; padding-left: 20px; }
.swagger-ui .adion-dev-guide code { font-size: 12px; color: var(--adion-accent-text); }
.swagger-ui .adion-dev-code { margin: 10px 0 14px; padding: 14px 16px; border: 1px solid var(--adion-border); border-radius: 12px; background: rgba(0, 0, 0, 0.25); }
.swagger-ui .adion-dev-two { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 14px; }
.swagger-ui .adion-developer .adion-cards { margin: 12px 0 18px; }

/* ---------------------------------------------------------------- */
/* Petits ecrans                                                      */
/* ---------------------------------------------------------------- */

@media (min-width: 1001px) {
    .swagger-ui .adion-header { display: none; }
    .swagger-ui .adion-column { --adion-header-h: 0px; }
}

/* Moins large : la colonne des groupes laisse la place, la recherche suffit. */
@media (max-width: 1000px) {
    .swagger-ui .adion-sidebar { display: none; }
    .swagger-ui .adion-brand { flex-basis: auto; padding: 0 20px; }
    .swagger-ui .wrapper { padding: 0 20px; }
    .swagger-ui .adion-overview,
    .swagger-ui .adion-group-head { padding-left: 20px; padding-right: 20px; }
    .swagger-ui .adion-person-name { display: none; }
    .swagger-ui .adion-developer-body { padding-left: 20px; padding-right: 20px; }
    .swagger-ui .adion-dev-kv { grid-template-columns: 1fr; gap: 6px; }
    .swagger-ui .adion-dev-meta { align-items: flex-start; }
}

/* Telephone : la recherche passe sous la marque, la barre ne suit plus le defilement. */
@media (max-width: 700px) {
    .swagger-ui .adion-header {
        position: static;
        flex-wrap: wrap;
        height: auto;
        padding: 0 12px 12px 0;
    }
    .swagger-ui .adion-brand { height: var(--adion-header-h); padding: 0 16px; border-right: 0; }
    .swagger-ui .adion-brand-name,
    .swagger-ui .adion-header-label { display: none; }
    .swagger-ui .adion-search { order: 3; flex-basis: 100%; max-width: none; margin-left: 12px; }
    .swagger-ui .adion-search kbd { display: none; }
    .swagger-ui .wrapper { padding: 0 12px; }
    .swagger-ui .adion-overview,
    .swagger-ui .adion-group-head { padding: 24px 12px 0; }
    .swagger-ui .adion-group-head { padding-bottom: 16px; }
    .swagger-ui .adion-hero h1 { font-size: 28px; }
    .swagger-ui .adion-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .swagger-ui .adion-group-card { min-height: 0; padding: 12px 14px; gap: 6px; }
    .swagger-ui .adion-group-name { font-size: 13.5px; overflow-wrap: anywhere; }
    .swagger-ui .adion-lead { font-size: 13.5px; }
    .swagger-ui .adion-sample { padding: 14px 12px; }
    .swagger-ui .adion-sample-head { flex-wrap: wrap; }
    .swagger-ui .adion-sample-tabs { order: 3; margin-left: 0; }
    .swagger-ui .adion-sample-copy { margin-left: auto; }
    .swagger-ui .adion-developer-body { padding: 8px 12px 48px; }
    .swagger-ui .adion-dev-table { display: block; overflow-x: auto; }
    .swagger-ui .adion-header-link { margin-right: 10px; font-size: 12px; }

    /* Le chemin garde toute la ligne ; la description passe dessous au lieu de l'ecraser lettre a lettre. */
    .swagger-ui .opblock .opblock-summary-control { flex-wrap: wrap; row-gap: 6px; }
    .swagger-ui .opblock .opblock-summary-path { flex: 1 1 0; min-width: 0; }
    .swagger-ui .opblock .opblock-summary-description { flex: 1 1 100%; order: 3; }
    .swagger-ui .opblock .opblock-summary-method { min-width: 60px; }
}
