:root{color-scheme:dark;font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f1f5f9;background:#17151a;--accent:#ffad66}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,textarea,select{touch-action:manipulation}a{color:var(--accent)}label{display:block;font-weight:650;margin-top:1.25rem}input,select,textarea{display:block;width:100%;margin:.4rem 0 0;border:1px solid #64748b;border-radius:.6rem;padding:.75rem;color:inherit;background:#ffffff08}textarea{resize:vertical;min-height:8rem}input[type=file]{font-size:.9rem}input::file-selector-button{font:inherit;border:0;border-radius:.4rem;padding:.4rem;margin-right:.5rem}button{border:0;border-radius:.6rem;padding:.8rem 1rem;background:var(--accent);color:#10131b;font-weight:700;cursor:pointer;min-height:44px}button:disabled{opacity:.6;cursor:default}button[aria-busy=true]{cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}h1,h2,h3{line-height:1.25}h2{margin-top:0}.hint{color:#c2c8d2;font-size:.88rem}.form-page{background:transparent}.form-page main{padding:4px 2px 20px}.form-page.devcalc{--accent:#35e0f5}.form-page.nextmetro{--accent:#fbbf24}.form-page.psa{--accent:#f7941e}.trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.cf-turnstile{margin:1.5rem 0}#result{white-space:pre-wrap;font-weight:600;scroll-margin:24px}.admin-page header{padding:1.5rem 2rem;background:#22212a;border-bottom:1px solid #494651}.admin-page h1{font-size:1.5rem}.dashboard{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:2rem;max-width:1500px;margin:auto;padding:2rem}.filters{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.filters label{font-size:.9rem;margin:0}.filters label:has(input){grid-column:1/-1}.filters button{grid-column:1/-1}.ticket{display:flex;flex-direction:column;align-items:start;gap:.5rem;background:#2a2932;color:#f1f5f9;border:1px solid #494651;width:100%;margin:.75rem 0;text-align:left;font-weight:400;overflow-wrap:anywhere}.ticket strong{color:var(--accent)}.ticket span{font-size:.9rem}.ticket span:last-child{white-space:pre-wrap}.metadata{white-space:pre-wrap;overflow-wrap:anywhere;color:#c2c8d2}.message{border:1px solid #494651;border-radius:.8rem;padding:1rem;margin:1rem 0;background:#22212a}.message.outbound{border-left:4px solid var(--accent)}.message h3{font-size:.9rem;color:var(--accent);margin:0}.message-body{white-space:pre-wrap;overflow-wrap:anywhere}.gallery{display:flex;gap:1rem;flex-wrap:wrap;margin:1rem 0}.gallery img{object-fit:contain;width:160px;height:140px;border:1px solid #64748b;border-radius:.5rem}.danger{background:#49262d;color:#ffcbd0;margin-top:2rem}.warning,#error{color:#ffb9b9}#error{position:sticky;bottom:0;background:#281b23;padding:1rem;white-space:pre-wrap}#error:empty{display:none}.admin-page form button{margin-top:1rem}select option{background:#22212a}@media(max-width:800px){.dashboard{grid-template-columns:1fr;padding:1rem;gap:1rem}.admin-page header{padding:1rem}#detail{border-top:1px solid #494651;padding-top:1.5rem}.gallery img{width:120px;height:120px}}

.filters .wide{grid-column:1/-1}

/* L’iframe laisse transparaître la carte du site ; la page autonome reste lisible. */
html.form-document{background:var(--page-background);color:var(--form-text)}
html.form-document.is-embedded{background:transparent}
.form-document.devcalc{--page-background:#071530;--form-text:#f1f5f9;--field-background:#0c1e3d;--field-border:#607b9c;--hint:#becde0;--accent:#35e0f5}
.form-document.psa{--page-background:#0c1430;--form-text:#f4f6fb;--field-background:#142147;--field-border:#7080a8;--hint:#c0c8df;--accent:#f7941e}
.form-document.nextmetro{--page-background:#1e293b;--form-text:#f1f5f9;--field-background:#0f172a;--field-border:#64748b;--hint:#cbd5e1;--accent:#fbbf24}
.form-page input,.form-page select,.form-page textarea{background:var(--field-background);border-color:var(--field-border)}
.form-page select option{background:var(--field-background)}
.form-page .hint{color:var(--hint)}
.form-page input::file-selector-button{background:var(--field-border);color:var(--form-text)}
.form-page label:first-of-type{margin-top:.5rem}

/* Succès distinct de l’attente ; widget antispam à sa largeur utile. */
.cf-turnstile{width:300px;max-width:100%}
.back-to-list{display:none}
@media(max-width:800px){
  .admin-page:not(.has-detail) #detail{display:none}
  .admin-page.has-detail #list-panel{display:none}
  .admin-page.has-detail #detail{border-top:0;padding-top:0;scroll-margin-top:1rem}
  .back-to-list{display:inline-block;margin-bottom:1.5rem}
}
