/* Identité fournie par Jacques : blanc, bleu nuit, traits fins. Chargée après l’ancien thème vert. */
:root{--bg:#f5f7fa;--surface:#fff;--surface2:#f8fafc;--border:#dce4ec;--text:#102235;--muted:#5a6b7c;--accent:#173650;--accent2:#102438;--navy:#102438;--ok:#25765b;--warn:#98691c;--danger:#ad3941}
body{background:#f5f7fa;color:var(--text)}.wrap{max-width:1600px}
#vue-dashboard:not(.hidden){grid-template-columns:244px minmax(0,1fr);gap:0 28px}
.topbar{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 28px #1024380d;padding:10px 18px}
.topbar .brand-lockup{gap:2px}.topbar .logo-top{width:100px;height:60px;object-fit:contain;mix-blend-mode:normal;margin:0 -7px 0 -18px}.brand-lockup strong{font-size:18px;letter-spacing:.08em}
.logo-login{width:210px;height:125px;object-fit:contain;mix-blend-mode:normal}
.tabs{background:linear-gradient(180deg,#142b42,#0b1b2b);border:1px solid #1d3850;border-radius:17px;box-shadow:0 14px 34px #10243821;padding:12px 9px;gap:2px}
.tabs .nav-label{color:#a4b8ca;padding:17px 12px 6px}.tabs .nav-label:first-child{padding-top:7px}
.tabs .tab{appearance:none;display:flex;align-items:center;width:100%;min-height:46px;text-align:left;border:0;background:transparent;color:#e6edf4;font-family:inherit;font-size:14px;font-weight:650;line-height:1.3;padding:12px;border-radius:10px;cursor:pointer;text-decoration:none}
.tabs .tab:hover,.tabs .nav-sub .tab:hover{background:#29445e;color:#fff}.tabs .tab.active{background:#e7f0f8;color:#142b42;box-shadow:none}
.tabs .nav-more{border-top-color:#35516c}.tabs .nav-more>summary{color:#d5e0ea}.tabs .nav-more[open]>summary{background:#29445e;color:#fff}.tabs .nav-sub{padding-left:0}.tabs .nav-sub .tab{min-height:42px;font-size:13px}
.btn,.btn:hover{background:#173650;color:#fff;box-shadow:none}.btn-secondary,.btn-secondary:hover{background:#fff;color:#173650;border:1px solid #bfcdda}.btn-danger{background:#ad3941}
.tab:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #6395bb;outline-offset:3px}
.brand,.dashboard-heading .brand{color:#294e70}.card,.dashboard-heading,.stat,.agent-card,.dashboard-guide{background:#fff;border-color:var(--border);box-shadow:none}.notice{background:#f4f7fb;border-color:#dce4ec}
.dashboard-heading{padding:23px 27px}.dashboard-heading h1{font-size:30px}
.quick-launch button,.quick-launch button:first-child{background:#fff;color:#173650;border:1px solid var(--border);box-shadow:none}.quick-launch button:first-child{background:#173650;color:#fff}.quick-launch button:first-child span{color:#d6e4ef}.quick-launch button:hover{border-color:#8aa7bf;box-shadow:0 8px 18px #10243812}.quick-number,.quick-launch button:first-child .quick-number{background:#e8f0f7;color:#173650!important}
.stat{background:#fff;border:1px solid var(--border)}.stat .n{color:#173650}.queue-card:first-child{border-color:#8aa7bf;box-shadow:0 0 0 3px #1736500d}.queue-card .next-action{background:#eef4f9;color:#173650}.mini-progress span,.progress-line>span{background:#3e7298}
#panneau-agents>.ops-head,#panneau-fournisseurs>.ops-head{background:#fff;border:1px solid var(--border);border-radius:16px;padding:22px 26px;margin-bottom:16px}
.agent-grid,.v2-agent-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.agent-card,.v2-agent{background:#fff;border-color:var(--border);border-radius:14px;padding:20px}.agent-card:hover,.v2-agent:hover{border-color:#a6baca;box-shadow:0 7px 20px #1024380a}
.v2-agent h3{font-size:20px;letter-spacing:-.02em;margin:10px 0}.v2-agent p{font-size:14px;line-height:1.55;color:var(--muted);margin:0 0 13px}.v2-agent small{display:block;color:#546b80;font-size:12px}.v2-agent-type{display:inline-block;background:#e9f0f6;color:#173650;border-radius:100px;padding:5px 9px;font-size:11px;font-weight:800;margin:0 0 9px}.v2-agent details{border-top:1px solid var(--border);padding-top:8px}.v2-agent details summary{color:#214e70}.v2-agent .supplier{background:#e9f0f6;color:#173650;border:1px solid #dce4ec}
.provider-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.provider-flow>div{border-left:3px solid #37668c;background:#f5f8fb;padding:14px;border-radius:9px}.provider-flow strong,.provider-flow span{display:block}.provider-flow strong{margin-bottom:8px}.provider-flow span{font-size:13px;color:var(--muted);line-height:1.55}
.v2-test-dossiers>summary,.backlink,.offer-details summary{color:#214e70}.v2-case.optional{color:#677d90}.nav-more summary{cursor:pointer}
@media(max-width:1120px){.agent-grid,.v2-agent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.provider-flow{grid-template-columns:1fr}}
@media(max-width:850px){#vue-dashboard:not(.hidden){display:block}.tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));position:static;gap:5px;margin-bottom:16px}.tabs>.nav-label{display:none}.tabs>.nav-more{grid-column:1/-1}.tabs .tab{font-size:12.5px;min-height:44px}.agent-grid,.v2-agent-grid{grid-template-columns:1fr}.topbar .logo-top{width:75px;height:50px}.provider-flow{grid-template-columns:1fr}}
@media(max-width:520px){.tabs{grid-template-columns:1fr 1fr}.topbar .who{display:none}.topbar .brand-lockup strong{font-size:15px}}

/* Lisibilité renforcée : actions clairement nommées, sans gros boutons vides. */
#panneau-agents>.ops-head .ops-actions{flex-direction:row;flex-wrap:wrap;min-width:0;gap:8px}
#panneau-agents>.ops-head .ops-actions .btn{min-width:0;min-height:42px;white-space:normal}
#panneau-agents .visible-action-label{display:inline-block!important;visibility:visible!important;opacity:1!important;color:#173650!important;-webkit-text-fill-color:#173650!important;font-family:inherit!important;font-size:14px!important;font-weight:650!important;line-height:1.35!important;letter-spacing:normal!important;text-indent:0!important}
#engine-console #engine-reload{min-width:190px;width:auto;min-height:44px;height:auto;align-self:end}
#engine-console #engine-certif{min-width:190px;width:auto;min-height:44px;height:auto;padding:10px 16px;color:#fff!important;-webkit-text-fill-color:#fff!important}
#engine-console #engine-certif:disabled{color:#526779!important;-webkit-text-fill-color:#526779!important}
#engine-console .engine-howto-plain{margin:0 0 16px;padding:10px 12px;background:#f4f7fa;border-left:3px solid #467cab;color:#425466;font-size:13px;line-height:1.5}
#engine-console .engine-howto-plain strong{color:#173650}
@media(max-width:850px){#panneau-agents>.ops-head .ops-actions{flex-direction:column;align-items:stretch}#engine-console #engine-reload,#engine-console #engine-certif{width:100%}}

/* Finition direction : hiérarchie calme, sans effets décoratifs. */
body{background:#f4f6f8;color:#172b3d}
.wrap{max-width:1640px;padding:18px 28px 64px}
.topbar{min-height:76px;gap:18px;border-radius:10px;box-shadow:0 1px 2px #1024380a;padding:10px 18px}
.topbar .who{display:flex;align-items:center;gap:10px;color:#425466!important;font-size:13px}
.who-avatar{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#e8eef4;color:#173650;font-size:13px;font-weight:750}
.who-copy{display:grid;gap:2px;min-width:120px}
.who-copy strong{font-size:13px;color:#172b3d;font-weight:700}
.who-copy small{font-size:11px;color:#667789}
#btn-deconnexion{margin-left:8px;color:#425466!important;text-decoration:none;font-size:12px}
#btn-deconnexion:hover{color:#173650!important;text-decoration:underline}
.tabs{background:#fff;border:1px solid #dce4ec;border-radius:10px;box-shadow:none;padding:10px;gap:3px}
.tabs .nav-label{color:#718092;font-size:10px;letter-spacing:.08em;padding:16px 11px 5px}
.tabs .tab,.tabs .nav-sub .tab{min-height:42px;color:#425466;border-radius:7px;font-weight:600}
.tabs .tab:before{display:none}
.tabs .tab:hover,.tabs .nav-sub .tab:hover{background:#f1f4f7;color:#173650}
.tabs .tab.active{background:#eaf0f5;color:#173650;box-shadow:inset 3px 0 #315d7b}
.tabs .nav-more{border-top-color:#e3e9ee}
.tabs .nav-more>summary{color:#425466}
.card,.dashboard-heading,.stat,.agent-card,.dashboard-guide,.action-item,.plain-guide .offer,.purpose{border-radius:10px;box-shadow:none}
.hero-main{background:#173650;color:#fff;border-radius:10px}
.hero-main:after{content:none}
.btn,.btn:hover{background:#173650;border-radius:7px;transition:none;transform:none}
.btn-secondary,.btn-secondary:hover{background:#fff;color:#173650;border:1px solid #bfcdda}
#panneau-agents>.ops-head{display:flex;align-items:center;gap:24px}
#panneau-agents .ops-title{flex:1;min-width:0}
#panneau-agents .ops-title h1{margin:5px 0 7px}
#panneau-agents .ops-title .sub{margin:0;max-width:760px}
#panneau-agents>.ops-head .ops-actions{flex:0 0 auto;display:flex;flex-direction:column;align-items:stretch;min-width:190px}
#panneau-agents>.ops-head .ops-actions .btn{white-space:nowrap}
#engine-console .row2{align-items:end;grid-template-columns:minmax(0,1fr) auto;gap:12px}
#engine-console .row2 .btn{min-height:43px}
#engine-certif{min-height:42px}
#panneau-agents>.ops-head .ops-actions .btn-secondary,
#engine-console #engine-reload,
#engine-console #engine-certif{
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;
  padding:10px 16px;font-family:inherit;font-size:14px;font-weight:600;line-height:1.35;letter-spacing:normal;
  color:#173650!important;-webkit-text-fill-color:#173650!important;
  text-indent:0;white-space:normal;opacity:1
}
#panneau-agents>.ops-head .ops-actions .btn-secondary,
#engine-console #engine-reload{background:#fff!important;border:1px solid #bfcdda!important}
#engine-console #engine-certif{background:#173650!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
#engine-console #engine-certif:disabled{background:#e7edf2!important;color:#526779!important;-webkit-text-fill-color:#526779!important;border:1px solid #cbd6df!important}
/* Les commandes doivent rester lisibles même si le thème global du navigateur change. */
#panneau-agents .ops-head .ops-actions button,
#engine-console button,
#panneau-agents button.btn{
  font-family:inherit!important;font-size:14px!important;font-weight:650!important;
  line-height:1.4!important;letter-spacing:normal!important;text-indent:0!important;
  text-shadow:none!important;opacity:1!important;visibility:visible!important;
  -webkit-text-fill-color:currentColor
}
#panneau-agents .ops-head .ops-actions .btn-secondary,
#engine-console #engine-reload{color:#173650!important;-webkit-text-fill-color:#173650!important}
#engine-console #engine-certif:not(:disabled){color:#fff!important;-webkit-text-fill-color:#fff!important}
#engine-console #engine-reload,#engine-console #engine-certif{min-width:220px;min-height:48px;white-space:normal}
#engine-console .field select{min-height:48px}
/* Keep real button labels visible. Pseudo-label fallbacks hid text in some
   browsers and produced empty dark blocks in the cockpit. */
#panneau-agents>.ops-head .ops-actions .btn,
#engine-console #engine-reload,
#engine-console #engine-certif{font-size:14px!important;justify-self:start;width:auto;max-width:100%;min-width:180px;min-height:44px}
#panneau-agents>.ops-head .ops-actions .btn .visible-action-label,
#engine-console #engine-reload .visible-action-label{display:inline!important;visibility:visible!important;opacity:1!important}
#panneau-agents>.ops-head .ops-actions .btn::after,
#engine-console #engine-reload::after,
#engine-console #engine-certif::after{content:none!important;display:none!important}
#engine-console .engine-test-controls{grid-template-columns:minmax(220px,1fr) auto!important}
#engine-console .engine-test-actions{display:flex;justify-content:flex-start}
#engine-console #engine-message{display:block;min-height:24px;padding:10px 12px;background:#f4f7fa;border:1px solid #dce4ec;border-radius:7px;color:#425466;font-size:14px;font-weight:550}
#agents-resume:empty{display:none}
#agents-tbody:empty:after{content:"Aucun dossier à afficher pour l’instant. Les dossiers de test se trouvent dans la section ci-dessus.";display:block;padding:16px;color:#526779}
.v2-agent-grid:empty:after{content:"Les fiches des agents sont en cours de chargement. Si ce message reste affiché, utilisez Actualiser.";display:block;padding:14px;background:#f4f7fa;border:1px solid #dce4ec;border-radius:8px;color:#526779}
#engine-console .engine-howto{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0 0 16px;padding:0;list-style:none;counter-reset:step;color:#526779;font-size:13px;line-height:1.5}
#engine-console .engine-howto li{counter-increment:step;max-width:260px}
#engine-console .engine-howto li::before{content:counter(step);display:inline-grid;place-items:center;width:22px;height:22px;margin-right:7px;border-radius:50%;background:#e8f0f7;color:#173650;font-weight:700}
.btn:hover,.quick-launch button:hover{transform:none;box-shadow:none}
.agent-card:hover,.v2-agent:hover{transform:none;box-shadow:none}
.stat .n{font-size:24px;letter-spacing:-.02em}
@media(max-width:850px){.wrap{padding:12px}.topbar{flex-wrap:wrap}.topbar .who{display:flex;flex:1 1 100%;padding-top:8px;border-top:1px solid #e8edf1}.tabs{background:#fff}.tabs .tab:before{display:none}}
@media(max-width:520px){.topbar .who{display:flex}.who-copy{min-width:0}.topbar .brand-lockup{flex:1}}
@media(max-width:850px){#panneau-agents>.ops-head{display:flex;flex-direction:column;align-items:stretch;gap:14px}#panneau-agents>.ops-head .ops-actions{min-width:0;flex-direction:row}#panneau-agents>.ops-head .ops-actions .btn{white-space:normal}}
@media(max-width:560px){#engine-console .row2{grid-template-columns:1fr}#engine-console .row2 .btn{width:100%}#panneau-agents>.ops-head .ops-actions{flex-direction:column}}
