:root{--fond: #EEF1F3;--surface: #FFFFFF;--encre: #1B242B;--gris: #56636D;--trait: #CDD5DB;--accent: #1C5A74;--marche: #2B7A45;--demande: #A35F00;--danger: #B8322B;--texte: Barlow, "Segoe UI", system-ui, sans-serif;--titre: "Barlow Semi Condensed", "Arial Narrow", sans-serif;--code: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}body{margin:0;background:var(--fond);color:var(--encre);font:15px/1.4 var(--texte)}a{color:var(--accent)}.bandeau{background:var(--encre);color:#fff;padding:12px 16px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}.bandeau a{color:#fff;text-decoration:none;font-weight:600}.bandeau .note{color:#b9c4cc;font-size:13px}.page{max-width:1100px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:16px}h1,h2{font-family:var(--titre);margin:0}h1{font-size:28px}.rubrique{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gris)}.carte{background:var(--surface);border:1px solid var(--trait);border-radius:10px;padding:12px 14px}.code{font-family:var(--code);font-size:13px;color:var(--gris)}.zones{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.machines{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-top:8px}.machine{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--trait);border-radius:8px;color:var(--encre);text-decoration:none;min-height:64px}.machine.complete{border:2px solid var(--accent);background:#e8f1f5}.etat{font-size:12px}.etat.marche{color:var(--gris)}.etat.degrade,.etat.arret{color:var(--demande);font-weight:600}.message{color:var(--gris)}.liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.menu{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center}.menu a{color:#fff;text-decoration:none;font-weight:600;min-height:44px;display:inline-flex;align-items:center}.menu a.actif{text-decoration:underline;text-underline-offset:6px}.menu .groupe{color:#b9c4cc;font-size:12px;text-transform:uppercase;letter-spacing:.06em}form.connexion{display:flex;flex-direction:column;gap:8px;max-width:360px}form.connexion input,button{font:16px var(--texte);min-height:44px;padding:0 12px;border-radius:8px;border:1px solid var(--trait)}button{background:var(--accent);color:#fff;border:none;font-weight:600;cursor:pointer}button.secondaire{background:var(--surface);color:var(--encre);border:1px solid var(--trait)}.module{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--trait)}.formulaire{display:flex;flex-direction:column;gap:10px;max-width:560px}.formulaire label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:14px}.formulaire textarea,.formulaire select,.formulaire input:not([type=radio]){font:16px var(--texte);min-height:44px;padding:8px 12px;border-radius:8px;border:1px solid var(--trait);background:var(--surface);color:var(--encre)}.formulaire .choix{display:flex;flex-wrap:wrap;gap:8px 16px}.formulaire .choix label{flex-direction:row;align-items:center;gap:6px;font-weight:500;min-height:44px}.ligne-demande{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.ligne-demande>div{min-width:0;flex:1 1 260px}.reponse{display:flex;flex-direction:column;gap:8px}.reponse ol{margin:4px 0 0;padding-left:20px}.alerte{border-left:4px solid var(--demande);padding:6px 10px;margin:0;background:var(--fond)}
