:root{--ink:#16202e;--muted:#5d6b7c;--line:#dfe4ea;--bg:#f4f6f9;--card:#fff;
/* charte Bel'Assurances : indigo et orange du logo */
--navy:#0d014d;--teal:#0d014d;--teal-soft:#ecebf6;--orange:#f99d2f;--orange-soft:#fef1e0;--orange-ink:#8a4b00;
--f-title:"Montserrat","Century Gothic","Avenir Next","Futura","Segoe UI",system-ui,sans-serif;
--red:#b42318;--red-soft:#fdecea;--amber:#9a5b00;--amber-soft:#fff4e0;--green:#1c7c3c;--green-soft:#e6f4ea;--blue-soft:#e8f0fa}
*{box-sizing:border-box}html{font-size:14px}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.45}
a{color:var(--navy)}h1{font-size:1.6rem;margin:.2rem 0;color:var(--navy)}h1,h2,.brand{font-family:var(--f-title)}h2{font-size:1.08rem;margin:0 0 .7rem}h3{font-size:.95rem;margin:1rem 0 .4rem}
.top{display:flex;align-items:center;gap:1.4rem;background:#fff;color:var(--navy);padding:.5rem 1.4rem;position:sticky;top:0;z-index:5;border-bottom:3px solid var(--orange)}
.top a{color:var(--navy);text-decoration:none}.brand{font-weight:700;color:var(--navy)!important;display:flex;align-items:center;gap:.6rem;white-space:nowrap}
.brand small{font-weight:600;color:var(--orange-ink);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.brand img{height:30px;display:block}
.brand.big{justify-content:center}.brand.big img{height:110px}
.logo-mark{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:7px;background:var(--teal);color:#fff;font-weight:800}
.top nav{display:flex;gap:.2rem}.top nav a{padding:.45rem .75rem;border-radius:6px 6px 0 0;font-weight:600}.top nav a:hover{background:var(--teal-soft)}.top nav a.on{background:var(--orange-soft);box-shadow:inset 0 -3px 0 var(--orange)}
.search{flex:1}.search input{width:100%;max-width:440px;border:1px solid var(--line);border-radius:6px;padding:.45rem .7rem;background:var(--bg);color:var(--ink)}.search input::placeholder{color:var(--muted)}
.me{display:flex;align-items:center;gap:.5rem;white-space:nowrap;font-size:.9rem}.me .tag{background:var(--orange-soft);color:var(--orange-ink);border-radius:10px;padding:0 .5rem;font-size:.75rem;font-weight:600}.me form{display:inline}.me .link{color:var(--navy)}
main{max-width:1320px;margin:0 auto;padding:1.2rem 1.4rem 3rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem 1.1rem;margin-bottom:1rem}
.head-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem}.head-row h2{margin:0}
.muted{color:var(--muted)}.empty{color:var(--muted);font-style:italic}.crumbs{margin:0;color:var(--muted);font-size:.85rem}.crumbs a{color:var(--muted)}
.count{display:inline-block;background:var(--bg);border-radius:10px;padding:0 .5rem;font-size:.8rem;color:var(--muted);font-weight:600;vertical-align:middle}
.btn{display:inline-flex;align-items:center;gap:.3rem;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:7px;padding:.45rem .85rem;font:inherit;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{border-color:#b8c2cd}.btn.primary{background:var(--teal);border-color:var(--teal);color:#fff}.btn.primary:hover{background:#0b6664}
.btn.danger{color:var(--red);border-color:#f0c4bf}.btn.small{padding:.2rem .55rem;font-size:.85rem}.btn.wide{width:100%;justify-content:center}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.link{background:none;border:0;color:var(--navy);cursor:pointer;padding:0;font:inherit;text-decoration:underline}.link.danger,.danger{color:var(--red)}
input,select,textarea{font:inherit;border:1px solid var(--line);border-radius:6px;padding:.4rem .55rem;background:#fff;color:var(--ink);max-width:100%}
textarea{width:100%}label{font-size:.88rem;color:var(--muted)}
.flash{padding:.65rem .9rem;border-radius:8px;margin-bottom:.8rem;background:var(--blue-soft)}.flash.success{background:var(--green-soft);color:var(--green)}
.flash.error{background:var(--red-soft);color:var(--red)}.flash.warning{background:var(--amber-soft);color:var(--amber)}
form.inline{display:inline}.row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.grow{flex:1}.stack{display:flex;flex-direction:column;gap:.5rem}.stack p{margin:0}
.stack input,.stack select,.stack textarea{width:100%}.stack input[type=checkbox],.check input{width:auto}
ul.todo .muted.block{flex-basis:100%;order:5}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.2rem}.form-grid .field{display:flex;flex-direction:column;gap:.25rem}
.form-grid .full,.form-grid .actions{grid-column:1/-1}.form-grid small{color:var(--muted)}.errorlist{color:var(--red);margin:0;padding-left:1rem}
.check{display:flex;gap:.4rem;align-items:center;color:var(--ink)}
.grid-2{display:grid;grid-template-columns:3fr 2fr;gap:1rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.cols{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:1rem;align-items:start}
.pill{display:inline-block;border-radius:999px;padding:.1rem .6rem;font-size:.78rem;font-weight:600;background:var(--blue-soft);color:var(--navy);white-space:nowrap}
.pill.small{font-size:.72rem;padding:0 .45rem}.pill.grey{background:#eef0f3;color:var(--muted)}.pill.ok{background:var(--green-soft);color:var(--green)}
.pill.sans_reponse{background:var(--red-soft);color:var(--red)}.pill.inactif{background:var(--amber-soft);color:var(--amber)}.pill.bloque{background:var(--amber-soft);color:var(--amber)}
.pill.tache{background:var(--teal-soft);color:var(--teal)}.pill.retard{background:var(--red-soft);color:var(--red)}.pill.etape{background:var(--teal-soft);color:var(--teal)}.pill.clos{background:#eef0f3;color:var(--muted)}
ul.todo{list-style:none;margin:0;padding:0}ul.todo li{display:flex;align-items:center;gap:.6rem;padding:.55rem 0;border-top:1px solid var(--line);flex-wrap:wrap}ul.todo li:first-child{border-top:0}
ul.todo li a:not(.btn){text-decoration:none;color:var(--ink)}ul.todo .muted{flex:1;font-size:.9rem}
ul.plain{list-style:none;margin:0;padding:0}ul.plain li{padding:.3rem 0}ul.plain li.done{color:var(--muted);text-decoration:line-through}
table.stats{width:100%;border-collapse:collapse}table.stats td,table.stats th{padding:.3rem 0;border-bottom:1px solid var(--line);text-align:left}table.stats th{font-size:.8rem;color:var(--muted);padding-top:.7rem;text-transform:uppercase;letter-spacing:.03em}
table.stats .n{text-align:right;font-weight:700}
table.list{width:100%;border-collapse:collapse}table.list th{text-align:left;font-size:.8rem;color:var(--muted);font-weight:600;padding:.5rem .6rem;border-bottom:1px solid var(--line)}
table.list td{padding:.55rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}table.list tbody tr[onclick]{cursor:pointer}table.list tbody tr[onclick]:hover{background:#f8fafb}
table.list.card{padding:0;overflow:hidden}.r{text-align:right}
.filters{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.filters input[name=q]{min-width:240px}label.inline{display:flex;gap:.3rem;align-items:center}
/* étapes */
.stepper{display:flex;list-style:none;padding:0;margin:.4rem 0 1rem;counter-reset:s;gap:0;background:#fff;border:1px solid var(--line);border-radius:10px;overflow-x:auto}
.stepper li{flex:1;min-width:120px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:.8rem .4rem;position:relative;color:var(--muted)}
.stepper li:not(:last-child)::after{content:"";position:absolute;top:calc(.8rem + 13px);left:50%;width:100%;height:2px;background:var(--line);z-index:0}
.stepper .dot{position:relative;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid var(--line);font-weight:700;z-index:1;font-size:.85rem}
.stepper .lbl{font-size:.82rem;margin-top:.35rem;font-weight:600}.stepper .sub{font-size:.72rem}
.stepper li.done{color:var(--teal)}.stepper li.done .dot{background:var(--teal);border-color:var(--teal);color:#fff}.stepper li.done::after{background:var(--teal)}
.stepper li.current{color:var(--navy)}.stepper li.current .dot{border-color:var(--navy);background:var(--navy);color:#fff;box-shadow:0 0 0 4px var(--blue-soft)}
.stepper li.optional .dot{border-style:dashed}
.step-card{border-left:4px solid var(--navy)}.step-card.clos{border-left-color:var(--muted)}.step-head{display:flex;justify-content:space-between}.step-head h2{font-size:1.3rem;margin:0}
.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600}
ul.pieces{list-style:none;padding:0;margin:.8rem 0}ul.pieces li{display:flex;align-items:center;gap:.7rem;padding:.6rem .7rem;border:1px solid var(--line);border-radius:8px;margin-bottom:.45rem}
ul.pieces .ico{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:.85rem;flex:none}
ul.pieces .nom{font-weight:600;flex:1}ul.pieces li.ok{background:var(--green-soft);border-color:#c6e6d0}ul.pieces li.ok .ico{background:var(--green);color:#fff}
ul.pieces li.missing{background:var(--red-soft);border-color:#f3c9c4}ul.pieces li.missing .ico{background:var(--red);color:#fff}ul.pieces li.opt .ico{border:1px dashed var(--muted)}
ul.pieces li.over{outline:2px dashed var(--teal)}ul.pieces .upload-piece{margin:0}
.step-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-top:.6rem}.blocked{width:100%;color:var(--red);font-size:.92rem;margin-bottom:.2rem}
details.more{margin-top:.8rem;font-size:.92rem}details.more summary{cursor:pointer;color:var(--muted)}details.more form{margin-top:.5rem}
.dropzone{border:2px dashed var(--line);border-radius:10px;padding:.7rem 1rem;margin-bottom:.7rem;background:#fafbfc}.dropzone p{margin:.1rem 0 .5rem}.dropzone.mail p{margin:0}
.dropzone.over{border-color:var(--teal);background:var(--teal-soft)}.linklike{color:var(--navy);text-decoration:underline;cursor:pointer}
.note-form{display:flex;gap:.5rem;align-items:flex-start;margin-bottom:.7rem}.note-form textarea{flex:1;min-height:38px}
ul.timeline{list-style:none;padding:0;margin:0;border-left:2px solid var(--line);padding-left:1rem}ul.timeline li{padding:.4rem 0;position:relative}
ul.timeline li::before{content:"";position:absolute;left:-1.37rem;top:.75rem;width:9px;height:9px;border-radius:50%;background:var(--line)}
ul.timeline li.ev-etape::before{background:var(--navy)}ul.timeline li.ev-courrier::before{background:var(--teal)}ul.timeline .when{color:var(--muted);font-size:.82rem;margin-right:.4rem}
dl.kv{display:grid;grid-template-columns:110px 1fr;gap:.35rem .5rem;margin:0}dl.kv dt{color:var(--muted);font-size:.85rem}dl.kv dd{margin:0}
.danger-zone{border-color:#f3c9c4}
.viewer iframe{width:100%;height:78vh;border:0}.viewer img{max-width:100%}pre.ocr{white-space:pre-wrap;font-size:.85rem;max-height:60vh;overflow:auto;background:#fafbfc;padding:.6rem;border-radius:6px}
.choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem}.choices.list{grid-template-columns:1fr}
.choice{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:8px;padding:.6rem .8rem;cursor:pointer;color:var(--ink)}.choice.row{flex-direction:row;gap:.5rem;align-items:center}
.choice:has(input:checked){border-color:var(--teal);background:var(--teal-soft)}.choice input[type=radio]{display:none}
.letter .toolbar{display:flex;gap:.3rem;align-items:center;border-bottom:1px solid var(--line);padding-bottom:.5rem;margin-bottom:.6rem}.letter .toolbar button{border:1px solid var(--line);background:#fff;border-radius:5px;padding:.2rem .5rem;cursor:pointer}
.letter .field input{width:100%;font-weight:600}.editor{min-height:440px;padding:1.4rem 1.6rem;border:1px solid var(--line);border-radius:6px;margin-top:.6rem;font-family:Georgia,serif;font-size:1.02rem;line-height:1.6;background:#fffefc}
.results li{list-style:none;padding:.6rem 0;border-top:1px solid var(--line)}.results{padding:0}.extrait{margin:.3rem 0 0;color:var(--muted);font-size:.92rem}mark{background:#ffe58a;color:inherit;padding:0 2px}
main.login{display:grid;place-items:center;min-height:100vh;padding:0}.login-card{background:#fff;padding:2.2rem;border-radius:14px;border:1px solid var(--line);width:360px}
.login-card form{display:flex;flex-direction:column;gap:.8rem;margin-top:1rem}.login-card input{width:100%;margin-top:.2rem}.brand.big{font-size:1.4rem;color:var(--navy)!important}
@media (max-width:1100px){.cols,.grid-2{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr 1fr}.search{display:none}}
.tiers-block{border-top:1px solid var(--line);padding-top:.6rem;margin-top:.6rem}.tiers-block:first-of-type{border-top:0;margin-top:0}.tiers-block h3{margin:.2rem 0 .5rem}
.requete{border:1px solid var(--line);border-radius:8px;padding:.6rem .7rem;margin-bottom:.6rem;background:#fbfcfd}.requete.rejetee{opacity:.55}
.requete select{padding:.15rem .4rem;font-size:.85rem}ul.pieces.compact{margin:.5rem 0 0}ul.pieces.compact li{padding:.4rem .6rem;margin-bottom:.3rem}
.form-grid.compact{margin-top:.6rem;grid-template-columns:repeat(3,minmax(0,1fr))}
ol.mini-circuit{display:flex;list-style:none;padding:0;margin:.5rem 0;gap:0;font-size:.78rem}
ol.mini-circuit li{flex:1;text-align:center;padding:.25rem .3rem;background:#eef0f3;color:var(--muted);clip-path:polygon(0 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,0 100%,8px 50%)}
ol.mini-circuit li:first-child{clip-path:polygon(0 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,0 100%)}
ol.mini-circuit li.done{background:var(--teal-soft);color:var(--teal)}ol.mini-circuit li.current{background:var(--navy);color:#fff;font-weight:600}
.phase{margin-top:.4rem}.phase .eyebrow{font-size:.7rem}.req-actions{margin-top:.5rem}.requete.reglee{border-color:#c6e6d0}
details.inline-details{display:inline-block}details.inline-details summary{cursor:pointer;font-size:.85rem}
.courriers-etape{margin-top:.7rem;padding-top:.6rem;border-top:1px dashed var(--line)}
/* envoi d'une requête à l'assureur */
.flux{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:0 0 .8rem}
.flux li{padding:.3rem .7rem;border-radius:999px;background:#eef0f3;color:var(--muted);font-size:.9rem}
.flux li.cur{background:var(--teal);color:#fff;font-weight:600}.flux li.done{background:var(--teal-soft);color:var(--teal)}
.mail .kv{display:grid;grid-template-columns:auto 1fr;gap:.3rem .8rem}
.mail-corps{white-space:pre-wrap;font:inherit;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:.8rem;margin:0}
dialog.pret{border:0;border-radius:12px;padding:1.3rem 1.4rem;max-width:520px;width:calc(100% - 32px);box-shadow:0 20px 60px rgba(15,35,60,.3)}
dialog.pret::backdrop{background:rgba(15,35,60,.45)}
dialog.pret ol{padding-left:1.2rem}.pret-banner{background:var(--teal-soft);color:var(--teal);border-radius:8px;padding:.5rem .7rem;margin:.4rem 0}
.btn.disabled{opacity:.45;pointer-events:none}

/* charte : accents orange */
.btn.primary{font-weight:600}.btn.primary:hover{background:#1c0f6b;box-shadow:inset 0 -3px 0 var(--orange)}
.eyebrow{color:var(--orange-ink)!important;font-weight:700}
.login-card{border-top:4px solid var(--orange)}

.btn.wa{background:#e7f8ee;border-color:#9fdcb6;color:#0b6b32;font-weight:600}.btn.wa::before{content:"💬"}
.pill.non_transmis{background:var(--orange-soft);color:var(--orange-ink)}
