:root {
    color-scheme: light dark;
}
body {
    font-family: system-ui, Arial, sans-serif;
    max-width: 1050px;
    margin: 32px auto;
    padding: 0 16px;
    line-height: 1.45;
}
h1 {
    margin-bottom: 4px;
}
.muted {
    color: #777;
    font-size: 14px;
}
.box {
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 16px;
    margin: 16px 0;
}
.password-wrap {
    position: relative;
}
.password-wrap input {
    padding-right: 44px;
}
.password-toggle {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    border: 0;
    background: transparent;
    padding: 4px 6px;
    margin: 0;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    color: #888;
}
input,
textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 11px;
    margin: 6px 0 12px;
    font-size: 16px;
}
textarea {
    min-height: 90px;
}
.search-options {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin: 0 0 12px 0;
    font-size: 14px;
    color: #888;
}
.search-options label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}
.search-options input {
    width: auto;
    margin: 0;
}
.ai-size-option {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.ai-size-option input {
    width: 70px;
    padding: 6px;
    margin: 0;
}
@media (max-width: 650px) {
    .search-options {
        align-items: flex-start;
        flex-direction: column;
    }
}
button {
    padding: 10px 14px;
    font-size: 15px;
    cursor: pointer;
    margin-right: 8px;
}
.error {
    color: #b00020;
    font-weight: 600;
}
.topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}
.result {
    padding: 12px 0;
    border-bottom: 1px solid #e5e5e5;
}
.result:last-child {
    border-bottom: 0;
}
.mode1-section {
    margin: 10px 0 18px;
}
.mode1-section summary {
    cursor: pointer;
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 8px;
    color: inherit;
}
.mode1-section[open] summary {
    margin-bottom: 10px;
}
.mode1-section .result {
    margin-left: 2ch;
    padding-left: 0;
}
.provider {
    font-size: 12px;
    color: #777;
}
.path-line {
    font-size: 12px;
    color: #888;
    margin-top: 2px;
}
.parent-line {
    font-size: 12px;
    color: #888;
    margin: 3px 0 1px 1.75em;
}
.keyword-line {
    display: inline-block;
    margin-left: 1.75em;
    color: #777;
    font-size: 12px;
}
.item-icon {
    display: inline-block;
    width: 1.25em;
    font-size: 0.82em;
    opacity: 0.85;
    text-decoration: none;
}
.answer {
    white-space: pre-wrap;
}
.rendered-answer {
    white-space: normal;
}
.rendered-answer p {
    margin: 0.45em 0;
}
.rendered-answer h2,
.rendered-answer h3,
.rendered-answer h4 {
    margin: 1em 0 0.45em;
    line-height: 1.25;
}
.ai-h2 {
    font-size: 1.18em;
}
.ai-h3 {
    font-size: 1.08em;
}
.ai-h4 {
    font-size: 1em;
}
.ai-list-heading {
    margin: 0.75em 0 0.25em 0;
}
.table-wrap {
    overflow-x: auto;
    margin: 12px 0;
}
.ai-table {
    border-collapse: collapse;
    width: 100%;
    font-size: 0.92em;
}
.ai-table th,
.ai-table td {
    border: 1px solid rgba(140, 140, 160, 0.45);
    padding: 7px 9px;
    text-align: left;
    vertical-align: top;
}
.ai-table th {
    font-weight: 700;
    background: rgba(140, 140, 160, 0.18);
}
.ai-table tr:nth-child(even) td {
    background: rgba(140, 140, 160, 0.07);
}
.ai-pre {
    white-space: pre-wrap;
    overflow-x: auto;
}
.ai-list {
    margin: 0.5em 0 0.9em;
    padding-left: 1.55em;
    list-style: disc outside;
}
.ai-list > li {
    margin: 0.42em 0;
    padding-left: 0.15em;
}
.ai-list-level-2 {
    margin: 0.35em 0 0.65em;
    padding-left: 2em;
    list-style: circle outside;
}
.ai-list-level-3 {
    margin: 0.3em 0 0.55em;
    padding-left: 2em;
    list-style: square outside;
}
.ai-list-level-2 > li,
.ai-list-level-3 > li {
    margin: 0.28em 0;
}
.rendered-answer p {
    margin: 0.7em 0;
}
.rendered-answer h2,
.rendered-answer h3,
.rendered-answer h4 {
    margin: 1.25em 0 0.5em;
    line-height: 1.25;
}
a {
    word-break: break-word;
    color: #8ab4ff;
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}
.meta-panel {
    margin-top: 18px;
    padding: 10px 12px;
    border: 1px solid rgba(140, 140, 160, 0.35);
    border-radius: 10px;
    background: rgba(128, 128, 160, 0.08);
    font-size: 13px;
    color: #aaa;
    text-align: left;
}
.meta-row {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 8px;
    align-items: start;
    margin: 4px 0;
    text-align: left;
}
.meta-label {
    font-weight: 700;
    color: #ccc;
    text-align: left;
}
.meta-value {
    color: #aaa;
}
.keyword-list {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.keyword-list li {
    border: 1px solid rgba(140, 140, 160, 0.28);
    border-radius: 999px;
    padding: 1px 7px;
    background: rgba(128, 128, 160, 0.08);
    color: #ddd;
    font-size: 12px;
    line-height: 1.4;
}
.meta-panel details {
    margin-top: 8px;
}
.meta-panel summary {
    cursor: pointer;
    font-weight: 500;
    color: #aaa;
}
.meta-panel ul {
    margin: 8px 0 0 0;
    padding-left: 20px;
}
.meta-panel li {
    margin: 4px 0;
}
.footer-panel {
    margin-top: 28px;
}
.source-title {
    font-size: 18px;
    margin: 22px 0 8px;
}
.followup-box {
    margin-top: 16px;
    border-top: 1px solid rgba(140, 140, 160, 0.25);
    padding-top: 12px;
}
.followup-box label {
    font-size: 13px;
    color: #999;
}
.followup-box textarea {
    min-height: 64px;
    margin-bottom: 8px;
}
.ia-history {
    display: block;
    margin-top: 14px;
    border-top: 1px solid rgba(140, 140, 160, 0.25);
    padding-top: 10px;
    font-size: 0.72em;
    color: #999;
}
.ia-history summary {
    cursor: pointer;
    font-weight: 400;
    color: #999;
    list-style: revert;
}
.ia-history strong {
    font-weight: 500;
}
.ia-history-title {
    font-weight: 500;
    color: #aaa;
    margin-bottom: 4px;
}
.ia-history-label {
    font-size: 0.9em;
    color: #888;
    margin-top: 6px;
}
.ia-history-answer {
    font-size: 1em;
    color: #999;
}
.ia-history-empty {
    color: #888;
    font-style: italic;
    padding: 6px 0;
}
.ia-history-item {
    padding: 8px 0;
    border-bottom: 1px solid rgba(140, 140, 160, 0.18);
}
.ia-history-item:last-child {
    border-bottom: 0;
}
.reply-bar {
    display: flex;
    justify-content: flex-end;
    margin-top: 4px;
}
.reply-bar button {
    margin-right: 0;
}
.security-hint {
    font-size: 13px;
    color: #999;
    margin-top: 8px;
}

button .button-spinner {
    display: none;
    width: 0.9em;
    height: 0.9em;
    flex: 0 0 0.9em;
    box-sizing: border-box;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
}
button.is-loading {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.55em;
    cursor: progress;
    opacity: 0.9;
    pointer-events: none;
}
button.is-loading .button-spinner {
    display: inline-block !important;
    animation: button-spinner 0.7s linear infinite;
}
@keyframes button-spinner {
    to {
        transform: rotate(360deg);
    }
}
@media (prefers-reduced-motion: reduce) {
    button.is-loading .button-spinner {
        animation-duration: 1.4s;
    }
}

.rendered-answer {
    min-width: 0;
    overflow-wrap: anywhere;
}
.rendered-answer > * {
    max-width: 100%;
}
.rendered-answer .ai-list {
    box-sizing: border-box;
}
.rendered-answer a {
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* V72: priorité forte pour la mire du bouton d'enrichissement AJAX. */
.reply-bar button.is-loading .button-spinner,
form[data-followup-form="1"] button.is-loading .button-spinner {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 0.9em !important;
    height: 0.9em !important;
    border: 2px solid currentColor !important;
    border-right-color: transparent !important;
    border-radius: 50% !important;
}

.session-action-button.is-pending {
    color: #e0e0e0 !important;
    background-color: #666 !important;
    border-color: #999 !important;
    cursor: progress !important;
    opacity: 0.85 !important;
}
.site-version {
    margin: 28px 0 8px;
    text-align: center;
    color: #888;
    font-size: 12px;
}

.meta-row-keywords {
    align-items: center;
}
.meta-section-title {
    margin: 14px 0 6px;
    color: #ccc;
    font-weight: 700;
    font-size: 14px;
}

.result-detail-line,
.result-location-line {
    margin-left: 0;
}
.result-detail-line {
    margin-top: 3px;
}
.result-location-line {
    margin-top: 1px;
}


/* V96: le + et la mire occupent exactement le même emplacement à gauche. */
.ai-upload-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:2px 0 8px}.ai-upload-input{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}.ai-upload-button{display:inline-grid;grid-template-columns:.9em auto;align-items:center;column-gap:.55em;margin-right:0}.ai-upload-button .upload-icon,.ai-upload-button .button-spinner{grid-column:1;grid-row:1;width:.9em;height:.9em;line-height:.82em;text-align:center;box-sizing:border-box}.ai-upload-button .upload-label{grid-column:2;grid-row:1}.ai-upload-button.is-loading .upload-icon{visibility:hidden}.ai-upload-button:not(.is-loading) .button-spinner{display:none!important}.ai-upload-selection{color:#888;font-size:12px}

.ai-upload-row{align-items:flex-start}.ai-upload-list{display:flex;flex-direction:column;gap:5px;flex-basis:100%;margin-top:2px}.ai-upload-item{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:620px;padding:5px 8px;border:1px solid #444;border-radius:4px;background:#202027}.ai-upload-name{overflow-wrap:anywhere}.ai-upload-delete{margin:0!important;padding:0 7px!important;min-width:28px;height:28px;color:#ddd;background:#3a3033;border-color:#76535c;font-size:19px;line-height:1}.ai-upload-delete:hover{background:#633743;border-color:#b46678}.ia-history-files{margin:4px 0 10px 20px;padding:0}.ia-history-files li{margin:2px 0}


/* V114: actions collees sous la textarea, boutons sur la meme ligne. */
.followup-box textarea {
    margin-bottom: 0;
}
.ai-followup-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 12px;
    width: 100%;
    margin-top: 4px;
}
.ai-followup-actions .ai-upload-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin: 0;
    min-width: 0;
}
.ai-followup-actions .ai-upload-button,
.ai-followup-actions .reply-bar button {
    margin-top: 0;
}
.ai-followup-actions .reply-bar {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    margin: 0;
}
.ai-followup-actions .ai-upload-list {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 5px;
    width: 100%;
    margin-top: 0;
}
.ai-followup-actions .ai-upload-item {
    width: 100%;
    max-width: 900px;
    box-sizing: border-box;
}
@media (max-width: 650px) {
    .ai-followup-actions {
        grid-template-columns: 1fr;
    }
    .ai-followup-actions .reply-bar {
        justify-content: flex-start;
    }
}

/* V115: export PDF de l'historique IA. */
.history-pdf-link{
    margin-left:8px;
    color:#8ab4ff;
    text-decoration:none;
    font-size:0.95em;
}
.history-pdf-link:hover{
    text-decoration:underline;
}

.search-limit-warning{margin:14px 0 0;color:#d8a94b;font-weight:700}
@media (max-width:650px){.ai-followup-actions{display:flex!important;flex-direction:column!important}.ai-followup-actions .ai-upload-row{order:1;width:100%}.ai-followup-actions .reply-bar{order:2;width:100%;justify-content:flex-start!important}}

@media (max-width:650px){.ai-followup-actions{display:flex!important;flex-direction:column!important}.ai-followup-actions .reply-bar{order:1;width:100%;justify-content:flex-start!important}.ai-followup-actions .ai-upload-row{order:2;width:100%}}

/* V155: tableau sans bordure, 2 colonnes, 3 lignes. */
#search-form textarea{
    display:block;
    width:100%;
    margin-bottom:0;
}
.search-layout-table{
    width:100%;
    border:0!important;
    border-collapse:collapse;
    border-spacing:0;
    table-layout:auto;
    margin:4px 0 0;
    background:transparent!important;
}
.search-layout-table tbody,
.search-layout-table tr,
.search-layout-table td{
    border:0!important;
    background:transparent!important;
}
.search-layout-table td{
    padding:4px 0;
    vertical-align:top;
}
.search-layout-buttons{
    width:1%;
    padding-right:28px!important;
    white-space:nowrap;
}
.search-mode-buttons-nowrap{
    display:flex;
    flex-wrap:nowrap;
    align-items:flex-start;
    justify-content:flex-start;
    gap:12px;
    white-space:nowrap;
}
.search-mode-buttons-nowrap button{
    margin:0;
    white-space:nowrap;
}
.search-layout-option{
    width:99%;
    text-align:right;
    white-space:nowrap;
}
.search-table-control{
    display:inline-grid;
    grid-template-columns:auto 92px 30px;
    align-items:center;
    justify-content:end;
    column-gap:10px;
    white-space:nowrap;
    margin:0;
}
.search-table-control > span:first-child{
    text-align:right;
    white-space:nowrap;
}
.search-table-control input[type="number"]{
    width:92px;
    min-width:92px;
    box-sizing:border-box;
    margin:0;
}
.search-table-unit{
    text-align:left;
    white-space:nowrap;
}
.search-table-parser{
    display:inline-flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    white-space:nowrap;
}
.search-table-parser input[type="checkbox"]{
    width:auto;
    margin:0;
    flex:0 0 auto;
}
.guest-search-buttons{
    margin-top:4px;
}
@media(max-width:1100px){
    .search-layout-table,
    .search-layout-table tbody,
    .search-layout-table tr,
    .search-layout-table td{
        display:block;
        width:100%;
    }
    .search-layout-buttons{
        padding-right:0!important;
    }
    .search-layout-option{
        text-align:left;
    }
    .search-table-control{
        justify-content:start;
    }
}
@media(max-width:700px){
    .search-mode-buttons-nowrap{
        flex-wrap:wrap;
    }
    .search-table-control{
        display:flex;
        flex-wrap:wrap;
        justify-content:flex-start;
        white-space:normal;
    }
    .search-table-parser{
        white-space:normal;
    }
}

/* V159: tooltip tactile discret de durée de connexion. */
.session-action-form{position:relative}
.session-duration-tooltip[hidden]{display:none!important}
.session-duration-tooltip{
    position:absolute;
    z-index:1000;
    right:0;
    top:calc(100% + 8px);
    padding:7px 10px;
    border:1px solid #666;
    border-radius:5px;
    background:#1f1f24;
    color:#fff;
    font-size:12px;
    line-height:1.2;
    white-space:nowrap;
    box-shadow:0 4px 14px rgba(0,0,0,.35);
    pointer-events:none;
}

/* V170 : métriques Mistral structurées sur toute la largeur du footer. */
.mistral-metrics{
    grid-column:1 / -1;
    width:100%;
    margin-top:10px;
}
.mistral-metrics summary{
    cursor:pointer;
    font-weight:700;
    color:#bbb;
}
.mistral-metrics-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px 22px;
    margin-top:10px;
}
.mistral-metrics-grid>div{
    display:grid;
    grid-template-columns:minmax(150px,auto) 1fr;
    gap:10px;
    min-width:0;
}
.mistral-metrics-grid strong{
    color:#ccc;
    white-space:nowrap;
}
.mistral-metrics-grid span{
    color:#aaa;
    overflow-wrap:anywhere;
}
@media(max-width:800px){
    .mistral-metrics-grid{grid-template-columns:1fr}
    .mistral-metrics-grid>div{grid-template-columns:1fr;gap:2px}
}

.ai-model-select{margin:0;min-width:190px;width:auto;white-space:nowrap}.search-mode-buttons-nowrap{align-items:center}.mistral-metrics-table{width:auto;min-width:420px;margin-top:10px;border-collapse:collapse}.mistral-metrics-table th,.mistral-metrics-table td{padding:7px 10px;border:1px solid rgba(140,140,160,.3);text-align:left}.mistral-metrics-table th{width:180px;color:#ccc}.mistral-metrics-table td{color:#aaa}@media(max-width:700px){.ai-model-select{min-width:0;width:100%}.mistral-metrics-table{min-width:0;width:100%}}


/* V175: largeur et alignement du formulaire avec sélecteur de modèle. */
body{max-width:1500px}
.topbar{width:100%}
.search-layout-buttons{width:auto!important;padding-right:32px!important}
.search-mode-buttons-nowrap{display:flex;flex-wrap:nowrap;align-items:center;gap:12px}
.search-mode-buttons-nowrap button{margin:0}
.ai-model-select{min-width:230px;max-width:290px;height:43px;padding:8px 36px 8px 12px;font-size:15px;box-sizing:border-box}
.search-layout-option{min-width:590px}
@media(max-width:1250px){
    body{max-width:1100px}
    .search-layout-table,.search-layout-table tbody,.search-layout-table tr,.search-layout-table td{display:block;width:100%}
    .search-layout-buttons{padding-right:0!important;margin-bottom:10px}
    .search-layout-option{text-align:left;min-width:0}
}
@media(max-width:760px){
    .search-mode-buttons-nowrap{flex-wrap:wrap}
    .ai-model-select{width:100%;max-width:none;min-width:0}
}


/* V176 : réduction maximale de l'espace entre le sélecteur et les options. */
.search-layout-table{
    table-layout:auto!important;
}
.search-layout-buttons{
    width:1%!important;
    padding-right:8px!important;
}
.search-mode-buttons-nowrap{
    gap:8px!important;
}
.search-layout-option{
    width:auto!important;
    min-width:0!important;
    padding-left:0!important;
}
.ai-model-select{
    min-width:210px!important;
    max-width:230px!important;
}
@media(min-width:1251px){
    .search-layout-table{
        width:auto!important;
        max-width:100%!important;
    }
}

/* V181 UI */
body{max-width:1700px}
.ai-model-select{background:#353545!important;border:1px solid #7b7b92!important;color:#fff!important;font-weight:600}
button:active,.session-action-button:active,.ai-upload-button:active{filter:brightness(1.12)}
button:hover,.session-action-button:hover,.ai-upload-button:hover{filter:brightness(1.05)}


/* V182 : états visuels explicites en mode sombre. */
button,
.session-action-button,
.ai-upload-button{
    transition:background-color .08s ease,border-color .08s ease,box-shadow .08s ease!important;
}
button:hover:not(:disabled),
.session-action-button:hover:not(:disabled),
.ai-upload-button:hover:not(:disabled){
    background-color:#3a3a46!important;
    border-color:#858595!important;
    filter:none!important;
}
button:active:not(:disabled),
button.is-pressed:not(:disabled),
.session-action-button:active:not(:disabled),
.ai-upload-button:active:not(:disabled){
    background-color:#484858!important;
    border-color:#9a9aac!important;
    box-shadow:inset 0 0 0 999px rgba(255,255,255,.025)!important;
    filter:none!important;
}
.ai-model-select{
    background-color:#252532!important;
    border:1px solid #737386!important;
    border-radius:5px!important;
    color:#f2f2f4!important;
}
.ai-model-select:hover,
.ai-model-select:focus{
    background-color:#30303d!important;
    border-color:#9292a5!important;
}

/* V184 : historique détaillé des tentatives Mistral. */
.mistral-attempt-list{margin:7px 0 0 18px;padding:0}.mistral-attempt-list li{margin:3px 0;color:#aaa}


/* V185 : métriques compactes, alignées et sans retour à la ligne. */
.mistral-metrics-table{
    width:max-content!important;
    min-width:0!important;
    max-width:none!important;
}
.mistral-metrics-table th,
.mistral-metrics-table td,
.mistral-nowrap{
    white-space:nowrap!important;
}
.mistral-metrics-table th{
    width:auto!important;
}
.mistral-attempt-list{
    margin:6px 0 0 0!important;
    padding:0!important;
    list-style:none!important;
}
.mistral-attempt-list li{
    position:relative;
    margin:3px 0!important;
    padding-left:22px!important;
    white-space:nowrap!important;
}
.mistral-attempt-list li::before{
    content:"•";
    position:absolute;
    left:12px;
    top:0;
}
.mistral-metrics{
    overflow-x:auto;
}


/* V190 : footer, échanges et tentatives sans retour à la ligne. */
.meta-row,.meta-label,.meta-value,
.mistral-metrics-table th,.mistral-metrics-table td,
.mistral-exchange-list li,.mistral-attempt-list li,.mistral-nowrap{
    white-space:nowrap!important;
}
.meta-panel,.mistral-metrics{overflow-x:auto}
.mistral-exchange-list{margin:6px 0 0 0;padding:0;list-style:none}
.mistral-exchange-list li{position:relative;margin:3px 0;padding-left:22px}
.mistral-exchange-list li::before{content:"•";position:absolute;left:12px;top:0}

.meta-row,.meta-row-execution,.meta-row-context{display:grid!important;grid-template-columns:280px minmax(0,1fr)!important;align-items:center!important}.meta-label,.meta-value{white-space:nowrap!important}


/* V193 : mire garantie sur tous les boutons de traitement. */
button.is-loading .button-spinner,
button[aria-busy="true"] .button-spinner{
    display:inline-block!important;
    visibility:visible!important;
    opacity:1!important;
    animation:button-spinner .7s linear infinite!important;
}
button.is-loading,
button[aria-busy="true"]{
    cursor:progress!important;
}

/* V196 metrics alignment */
.mistral-metrics-table th{vertical-align:top!important;width:320px!important}.mistral-metrics-table td{vertical-align:top!important}.mistral-exchange-list,.mistral-attempt-list{margin:6px 0 0 0!important;padding:0!important;list-style:none!important}.mistral-exchange-list li,.mistral-attempt-list li{padding-left:22px!important;position:relative}.mistral-exchange-list li::before,.mistral-attempt-list li::before{content:"•";position:absolute;left:12px;top:0}.mistral-nowrap{white-space:nowrap!important}


/* V200 : le sélecteur de modèle est un contrôle de configuration, pas un bouton d'action. */
.ai-model-config{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:43px;
    padding:0 8px 0 10px;
    border:1px dashed #7183a8;
    border-radius:10px;
    background:linear-gradient(180deg,#202938,#18202d);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}
.ai-model-config-label{
    color:#9fb4dc;
    font-size:12px;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    white-space:nowrap;
}
.ai-model-config .ai-model-select{
    min-width:210px!important;
    max-width:250px!important;
    height:34px!important;
    margin:0!important;
    padding:4px 30px 4px 9px!important;
    border:1px solid #53698f!important;
    border-radius:7px!important;
    background-color:#121927!important;
    color:#cfdbf2!important;
    font-weight:600!important;
    box-shadow:none!important;
}
.ai-model-config:hover{
    border-color:#91a6d1;
    background:linear-gradient(180deg,#253144,#1c2635);
}
@media(max-width:760px){
    .ai-model-config{width:100%;box-sizing:border-box}
    .ai-model-config .ai-model-select{width:100%!important;max-width:none!important}
}


/* V202 : séparation visuelle forte entre les actions et le choix du modèle. */
.ai-model-config{
    position:relative!important;
    min-height:43px!important;
    padding:15px 10px 6px!important;
    border:1px solid #4e668f!important;
    border-radius:6px!important;
    background:#111827!important;
    box-shadow:inset 3px 0 0 #5b8def!important;
}
.ai-model-config-label{
    position:absolute!important;
    top:2px!important;
    left:12px!important;
    color:#8eb4ff!important;
    font-size:9px!important;
    line-height:11px!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
}
.ai-model-config .ai-model-select{
    height:28px!important;
    min-width:220px!important;
    padding:2px 28px 2px 7px!important;
    border:0!important;
    border-radius:3px!important;
    background:#111827!important;
    color:#d7e3fa!important;
    font-size:14px!important;
    font-weight:600!important;
    outline:none!important;
}
.ai-model-config:focus-within{
    border-color:#8eb4ff!important;
    box-shadow:inset 3px 0 0 #8eb4ff,0 0 0 1px rgba(142,180,255,.25)!important;
}

/* V204 compact model selector */
.ai-model-config{padding:2px 4px!important;min-height:32px!important;max-width:190px!important;border-radius:4px!important}
.ai-model-config .ai-model-select{min-width:150px!important;max-width:170px!important;width:170px!important;height:26px!important;font-size:12px!important;padding:2px 20px 2px 6px!important}
