/* La grammaire visuelle des consoles CLM et T2 (manuels R2026.NOV), reprise telle quelle pour la
   console reseau : en-tete blanc, sous-bandeau bleu fonce, sections repliables, listes. Les
   couleurs viennent d'eurosysteme.css. Trois classes en plus, pour les verdicts : ok, partiel,
   ecart, et les deux neutres (decision, non mesure, a definir). */
@import url("eurosysteme.css");
*{box-sizing:border-box}
body{margin:0;background:var(--eu-50);color:#333;font:13px/1.45 "Segoe UI",Roboto,"Helvetica Neue",system-ui,sans-serif}
.entete{display:flex;align-items:center;gap:18px;background:#fff;padding:8px 16px;border-bottom:1px solid var(--eu-200);font-size:12px}
.entete .marque{font-weight:700;font-size:15px;color:var(--eu-900);letter-spacing:.02em}
.entete .marque small{font-weight:500;color:var(--eu-600)}
.entete .composant{color:var(--eu-800);font-weight:600;padding-left:12px;border-left:2px solid var(--eu-300)}
.entete .env{background:var(--eu-100);color:var(--eu-800);border:1px solid var(--eu-300);border-radius:3px;padding:1px 8px}
.entete .jour{margin-left:auto}
.entete .jour b,.entete .user b{font-weight:600}
.entete .logo{border:1px solid var(--eu-300);color:var(--eu-600);padding:2px 10px;border-radius:2px;font-size:11px}
.sous{display:flex;align-items:center;gap:14px;background:var(--eu-800);color:#fff;padding:6px 14px;min-height:46px}
.sous .ico{font-size:18px;cursor:pointer;opacity:.95}
.sous .enveloppe{color:#F3A21C}
.sous .nom{margin-right:auto}
.sous .nom b{display:block;font-size:15px;font-weight:600}
.sous .nom span{font-size:11px;opacity:.9}
.sous .nom span a{color:#fff;text-decoration:none;border-bottom:1px dotted rgba(255,255,255,.6)}
.menu{position:absolute;left:8px;top:82px;background:#fff;border:1px solid var(--eu-300);box-shadow:0 6px 18px rgba(31,53,115,.18);min-width:290px;z-index:9;display:none}
.menu.ouvert{display:block}
.menu .groupe{padding:6px 12px 2px;font-size:11px;color:var(--eu-600);text-transform:uppercase;letter-spacing:.04em;border-top:1px solid var(--eu-100)}
.menu a{display:block;padding:6px 16px;color:var(--eu-encre);text-decoration:none;cursor:pointer}
.menu a:hover{background:var(--eu-100)}
.ruban{background:repeating-linear-gradient(135deg,#FFB300,#FFB300 14px,#FFC233 14px,#FFC233 28px);color:#3B2A00;font-weight:700;font-size:11px;letter-spacing:.04em;text-align:center;padding:4px 10px}
.contenu{padding:6px 14px 30px}
.section{border-bottom:1px solid var(--eu-300);margin-top:8px}
.section .titre{display:flex;align-items:center;gap:10px;padding:6px 0;font-weight:600;color:var(--eu-600);font-size:12.5px}
.section .titre .pli{width:18px;height:18px;background:var(--eu-800);color:#fff;display:inline-flex;align-items:center;justify-content:center;border-radius:2px;font-size:13px;cursor:pointer}
.section .titre .rafraichir{margin-left:auto;font-weight:400;font-size:11.5px;color:#444}
.section .titre .rafraichir button{font:inherit;font-size:11px;border:1px solid var(--eu-800);color:var(--eu-800);background:#fff;padding:1px 8px;margin-left:6px;cursor:pointer}
.section .corps{padding:6px 0 10px}
.sous-titre{color:var(--eu-600);font-weight:600;font-size:12px;margin:10px 0 4px;border-bottom:1px solid var(--eu-300);padding-bottom:3px}
.grille{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 24px;padding:6px 0}
.grille.g3{grid-template-columns:repeat(3,1fr)}
.champ label{display:block;font-size:11.5px;color:#444;margin-bottom:2px}
.champ .val{background:#e6e6e6;border:1px solid #cfcfcf;padding:4px 8px;min-height:24px;font-size:12px;color:#555}
.champ .val.edit{background:#fff;border-color:var(--eu-400)}
.champ .val.edit input,.champ .val.edit select{font:inherit;border:0;background:transparent;width:100%;outline:none}
.champ .val.num{text-align:right;font-variant-numeric:tabular-nums}
.lignes{margin:4px 0 10px}
.ligne{display:flex;align-items:center;padding:4px 8px 4px 30px;font-size:12px;position:relative}
.ligne.tete{padding-left:30px;font-weight:700}
.ligne .fleche{position:absolute;left:12px;color:var(--eu-800);font-size:10px}
.ligne .mnt{margin-left:auto;font-variant-numeric:tabular-nums;min-width:170px;text-align:right}
.ligne.total .mnt{border-top:1px solid #333;font-weight:700;padding-top:2px}
.ligne .mnt.debit{color:#c0392b}
table.liste{border-collapse:collapse;width:100%;font-size:12px;margin-top:4px}
table.liste th{background:var(--eu-600);color:#fff;text-align:left;padding:6px 8px;font-weight:600;border-right:1px solid rgba(255,255,255,.35);white-space:nowrap}
table.liste td{padding:5px 8px;border-bottom:1px solid #e3e6ee;white-space:nowrap;background:#fff}
table.liste tr:nth-child(odd) td{background:#EDEDED}
table.liste td.num{text-align:right;font-variant-numeric:tabular-nums}
table.liste td.case{width:28px}
table.liste td.case span{display:inline-block;width:12px;height:12px;border:1px solid #666;background:#fff}
table.liste td.menu3{width:24px;text-align:center;color:#555}
.pagination{display:flex;align-items:center;gap:14px;background:var(--eu-500);color:#fff;padding:6px 10px;font-size:12px;font-weight:600}
.pagination .pg{display:inline-flex;gap:0;background:var(--eu-600)}
.pagination .pg span{padding:2px 9px;border-right:1px solid rgba(255,255,255,.35)}
.pagination .pg span.cur{background:#fff;color:var(--eu-900)}
.pagination .export{margin-left:auto}
.boutons{display:flex;gap:8px;padding:12px 0}
.boutons button{font:inherit;font-size:12px;background:var(--eu-900);color:#fff;border:0;padding:6px 14px;cursor:pointer}
.boutons button.gris{background:#c9ccd3;color:#333}
.boutons button.occupe{opacity:.5;pointer-events:none}
.etat{display:inline-block;padding:0 6px;border-radius:2px;font-size:11px;font-weight:600}
.etat.ok{background:#e3f3e6;color:#1f6b33}.etat.ko{background:#fbe4e8;color:#a0113f}.etat.att{background:#fff3d6;color:#7a5200}
.jeton{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}
a.lien{color:var(--eu-800);text-decoration:none;border-bottom:1px dotted var(--eu-400)}
.panne{border:1px solid #a0113f;background:#fdf3f6;color:#a0113f;padding:10px 14px;border-radius:3px;font-size:12.5px;margin:10px 0}
.resultat{border:1px solid var(--eu-300);background:var(--eu-100);padding:8px 12px;font-size:12px;margin:8px 0}
.vide{padding:12px 8px;color:#777;font-size:12.5px}
table.liste td.cible{white-space:normal;max-width:360px;color:#444}
table.liste td.mesure{white-space:normal;max-width:420px}
table.liste td.src{color:#777;font-size:11px}
.etat.decision{background:#e8ecf7;color:#1f3573}.etat.nm{background:#eee;color:#555}.etat.def{background:#eef7fb;color:#0b5c7a}
.etat.partiel{background:#fff3d6;color:#7a5200}
.bilan{display:flex;gap:10px;flex-wrap:wrap;padding:8px 0}
.bilan .carte{border:1px solid var(--eu-300);background:#fff;padding:6px 12px;min-width:120px}
.bilan .carte b{display:block;font-size:18px;color:var(--eu-900)}
.bilan .carte span{font-size:11px;color:#555}
