/* Couleurs et mise en page reprises de la page du service client (charte AlloPunaise, thème sombre). */
:root { --bleu:#448FF8; --orange:#F5953A; --rouge:#f06464; --fond:#000; --carte:#111418; --bord:#262c35;
        --texte:#fff; --doux:#b4bcc8; color-scheme: dark; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--fond); color: var(--texte); font-family: "Open Sans", system-ui, sans-serif; font-size: 15px; }
main { max-width: 720px; margin: 40px auto; padding: 0 16px; }
main.etroit { max-width: 460px; }
.carte { background: var(--carte); border: 1px solid var(--bord); border-radius: 12px; padding: 20px; margin-bottom: 16px; }
h1 { font-size: 20px; margin: 0 0 12px; }
h2 { font-size: 17px; margin: 0 0 12px; }
p, li, label { color: var(--doux); line-height: 1.5; }
input, select { width: 100%; font-size: 16px; padding: 10px; border-radius: 8px; border: 1px solid var(--bord);
                background: #05070a; color: #fff; margin: 4px 0 12px; }
input.code { font-size: 24px; letter-spacing: 6px; text-align: center; }
button, .bouton { display: inline-block; padding: 10px 16px; border: 0; border-radius: 8px; background: var(--bleu); color: #fff;
                  font-size: 15px; font-weight: 600; cursor: pointer; text-decoration: none; }
button.secondaire { background: transparent; border: 1px solid var(--bord); color: var(--doux); }
.pleine { width: 100%; }
.erreur { color: var(--rouge); }
.alerte { color: var(--orange); }
.choix label { display: block; margin: 4px 0; }
.choix input { width: auto; margin-right: 8px; }
table { width: 100%; border-collapse: collapse; }
td, th { text-align: left; padding: 8px 6px; border-bottom: 1px solid var(--bord); vertical-align: middle; }
th { color: var(--doux); font-weight: 600; font-size: 13px; }
td form { display: inline; }
header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
header form { margin: 0; }
textarea { width: 100%; font: inherit; font-size: 16px; padding: 10px; border-radius: 8px; border: 1px solid var(--bord);
           background: #05070a; color: #fff; margin: 4px 0 12px; resize: vertical; }
.fil { margin: 16px 0; }
.message { white-space: pre-wrap; line-height: 1.5; padding: 12px; border-radius: 10px; margin-bottom: 10px;
           border: 1px solid var(--bord); }
.message.utilisateur { background: #0b1626; border-color: #1d3a63; margin-left: 40px; }
.message.interrogateur { background: #0d0f12; margin-right: 40px; }
.message.md { white-space: normal; }
.message.md > :first-child, .message.md .qui + * { margin-top: 0; }
.message.md p, .message.md ul, .message.md ol, .message.md pre, .message.md blockquote, .message.md .tableau { margin: 0 0 10px; }
.message.md > :last-child { margin-bottom: 0; }
.message.md ul, .message.md ol { padding-left: 22px; }
.message.md li { margin-bottom: 4px; }
.message.md hr { border: 0; border-top: 1px solid var(--bord); margin: 14px 0; }
.message.md h3, .message.md h4 { margin: 14px 0 6px; font-size: 15px; }
.message.md code { font-size: 13px; background: #05070a; padding: 1px 4px; border-radius: 4px; }
.message.md pre { white-space: pre-wrap; background: #05070a; padding: 10px; border-radius: 8px; overflow-x: auto; }
.message.md pre code { padding: 0; }
.message.md blockquote { border-left: 3px solid var(--bord); padding-left: 10px; color: var(--doux); }
.message.md .tableau { overflow-x: auto; }
.qui { display: block; font-size: 12px; font-weight: 600; color: var(--doux); margin-bottom: 4px; }
.doux { font-size: 13px; }
pre.spec { white-space: pre-wrap; font-size: 13px; background: #05070a; padding: 12px; border-radius: 8px;
           border: 1px solid var(--bord); overflow-x: auto; }
