
/* Layout: one narrow column for the field form (phone first), a wider canvas for the synthesis; tabs in a sticky top bar. */
:root{
  --bg:#f3f6f7; --surface:#ffffff; --sunk:#eaf0f2; --ink:#13212b; --muted:#5a6b76; --line:#d8e1e5;
  --accent:#0d6c88; --accent-ink:#ffffff; --accent-soft:#dcedf2;
  --past:#a8721f; --past-soft:#f5ead7; --past-ink:#ffffff; --seg:#f7fafb;
  --ok:#2d7a4c; --ok-soft:#e1f1e7; --warn:#a9620f; --warn-soft:#fbecd9; --bad:#ad3434; --bad-soft:#f8e1e1;
  --f-display:"Bricolage Grotesque", "Avenir Next", system-ui, sans-serif;
  --f-body:"Instrument Sans", "Segoe UI", system-ui, sans-serif;
  --f-num:"IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;
  --r:12px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0d151a; --surface:#142027; --sunk:#0f1a20; --ink:#e4ecf0; --muted:#93a5b0; --line:#253640;
  --accent:#4cb2cf; --accent-ink:#06222c; --accent-soft:#163541;
  --past:#dba55a; --past-soft:#3a2c17; --past-ink:#241703; --seg:#1b2a33;
  --ok:#5fbf85; --ok-soft:#173326; --warn:#e3a050; --warn-soft:#3b2a15; --bad:#e57b7b; --bad-soft:#3c1c1c;
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0d151a; --surface:#142027; --sunk:#0f1a20; --ink:#e4ecf0; --muted:#93a5b0; --line:#253640;
  --accent:#4cb2cf; --accent-ink:#06222c; --accent-soft:#163541;
  --past:#dba55a; --past-soft:#3a2c17; --past-ink:#241703; --seg:#1b2a33;
  --ok:#5fbf85; --ok-soft:#173326; --warn:#e3a050; --warn-soft:#3b2a15; --bad:#e57b7b; --bad-soft:#3c1c1c;
  color-scheme:dark}

*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--surface)}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.num{font-family:var(--f-num);font-variant-numeric:tabular-nums}

header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--surface);border-bottom:1px solid var(--line);
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.top-in{max-width:1080px;margin:0 auto;display:flex;align-items:center;gap:16px;min-height:60px;flex-wrap:wrap;padding-block:8px}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto;min-width:0}
.brand svg{flex:none}
.brand h1{font-family:var(--f-display);font-size:19px;font-weight:700;margin:0;letter-spacing:-.01em;line-height:1.1}
.brand small{display:block;color:var(--muted);font-size:12px;font-weight:500}
nav.tabs{display:flex;gap:4px;background:var(--sunk);padding:4px;border-radius:999px}
nav.tabs a{padding:6px 14px;border-radius:999px;text-decoration:none;color:var(--muted);font-weight:600;font-size:14px}
nav.tabs a[aria-current="page"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgb(0 0 0/.08)}

main{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:24px 64px}
.wrap{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:20px}
.wrap.wide{max-width:1080px}
h2{font-family:var(--f-display);font-size:26px;font-weight:700;letter-spacing:-.015em;margin:0;text-wrap:balance;line-height:1.15}
h3{font-family:var(--f-display);font-size:18px;font-weight:600;margin:0}
.lead{color:var(--muted);margin:6px 0 0;max-width:60ch}
.eyebrow{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:600}

.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.stack{display:flex;flex-direction:column;gap:14px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

.btn{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:10px 16px;font-weight:600}
.btn:hover{border-color:var(--muted)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.primary:disabled{opacity:.45;cursor:not-allowed}
.btn.ghost{border-color:transparent;background:transparent;color:var(--muted);padding-inline:8px}
.btn.danger{color:var(--bad)}
.btn.small{padding:6px 10px;font-size:13px}

.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 14px;font-weight:500;font-size:14px}
.chip[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent);color:var(--ink);font-weight:600}

/* Rep picker */
.reps{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.rep{display:flex;justify-content:space-between;align-items:center;gap:8px;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:var(--r);padding:14px 16px;font-weight:600}
.rep:hover{border-color:var(--accent)}
.rep span{color:var(--muted);font-weight:500;font-size:13px}

/* Progress */
.progress{display:flex;align-items:center;gap:12px}
.bar{flex:1;height:8px;background:var(--sunk);border-radius:99px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--accent);border-radius:99px;transition:width .4s}

/* Centre list */
.clist{display:flex;flex-direction:column;gap:8px}
.citem{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;text-align:left;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.citem:hover{border-color:var(--accent)}
.citem b{font-weight:600;font-size:16px;min-width:0}
.citem .meta{color:var(--muted);font-size:13px;grid-column:1}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 10px;border-radius:99px;white-space:nowrap}
.pill.todo{background:var(--sunk);color:var(--muted)}
.pill.done{background:var(--ok-soft);color:var(--ok)}
.pill.warn{background:var(--warn-soft);color:var(--warn)}
.pill.bad{background:var(--bad-soft);color:var(--bad)}
.pill.ex{background:var(--past-soft);color:var(--past)}

/* Editor */
.quarters{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:620px){.quarters{grid-template-columns:1fr}}
.q{border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0;background:var(--surface)}
.q.past{--qc:var(--past);--qs:var(--past-soft)}
.q.now{--qc:var(--accent);--qs:var(--accent-soft)}
.qhead{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.qhead .tag{font-family:var(--f-display);font-weight:700;font-size:17px;color:var(--qc)}
.own{display:flex;align-items:baseline;gap:6px;color:var(--muted);font-size:13px}
.own strong{font-family:var(--f-num);font-size:22px;color:var(--ink)}
.qq{font-size:14px;font-weight:600;margin:0}
.meter{display:flex;align-items:flex-end;gap:3px;height:96px}
.meter button{flex:1;min-width:0;border:0;background:none;padding:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:5px}
.meter button i{display:block;border-radius:4px 4px 2px 2px;background:var(--sunk);border:1px solid var(--line);transition:background .15s}
.meter button span{font-family:var(--f-num);font-size:12px;color:var(--muted);text-align:center}
.meter button.on i{background:var(--qc);border-color:var(--qc)}
.meter button.sel span{color:var(--ink);font-weight:600}
.meter button:hover i{border-color:var(--qc)}
.readout{display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--qs);border-radius:10px;padding:10px 12px;font-size:13px;min-height:44px}
.readout b{font-family:var(--f-num);font-size:15px}
.idk{align-self:flex-start;font-size:13px}
.field{display:flex;flex-direction:column;gap:6px}
.field label,.flabel{font-weight:600;font-size:14px}
.field .hint{color:var(--muted);font-size:13px}
input[type=number],input[type=text],input[type=email],input[type=password],textarea,select{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
textarea{min-height:80px;resize:vertical}
.notice{border-radius:10px;padding:12px 14px;font-size:14px;display:flex;gap:10px;align-items:flex-start}
.notice.warn{background:var(--warn-soft);color:var(--ink)}
.notice.warn::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--warn);margin-top:7px}
.notice.info{background:var(--sunk);color:var(--muted)}
.savebar{position:sticky;bottom:0;background:linear-gradient(to top,var(--bg) 70%,transparent);padding-top:16px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));display:flex;gap:10px;align-items:center}
.savebar .btn.primary{flex:1;padding-block:14px;font-size:16px}

/* Synthesis */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width:860px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:6px;min-width:0}
.kpi .v{font-family:var(--f-num);font-size:26px;font-weight:600;line-height:1.1}
.kpi .s{font-size:13px;color:var(--muted)}
.delta.up{color:var(--ok)} .delta.down{color:var(--bad)}
.legend{display:flex;gap:16px;font-size:13px;color:var(--muted);flex-wrap:wrap}
.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.dumb{display:grid;grid-template-columns:minmax(90px,200px) 1fr 64px;gap:8px 14px;align-items:center}
.dumb .name{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.track{position:relative;height:22px}
.track::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px dashed var(--line)}
.track .seg{position:absolute;top:50%;height:3px;margin-top:-1.5px;background:var(--muted);opacity:.45;border-radius:2px}
.track .dot{position:absolute;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;border:2px solid var(--surface)}
.dot.p{background:var(--past)} .dot.n{background:var(--accent)}
.axis{display:flex;justify-content:space-between;font-family:var(--f-num);font-size:11px;color:var(--muted)}
.dumb .d{font-family:var(--f-num);font-size:13px;text-align:right}
@media (max-width:520px){.dumb{grid-template-columns:1fr 52px}.dumb .name{grid-column:1/-1;margin-bottom:-6px}.dumb .axis-spacer{display:none}}
.tablebox{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
table{border-collapse:collapse;width:100%;font-size:14px;min-width:820px}
th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600;background:var(--sunk);white-space:nowrap}
td.r,th.r{text-align:right}
tbody tr:last-child td{border-bottom:0}
td .why{font-size:12px;color:var(--muted);margin-top:4px;max-width:30ch}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.toolbar select{width:auto}

/* Centres admin */
.ctable td input{padding:6px 8px;min-width:0}
.ctable{min-width:640px}
code{font-family:var(--f-num);font-size:13px;background:var(--sunk);padding:2px 6px;border-radius:6px}

.empty{text-align:center;padding:40px 20px;color:var(--muted);display:flex;flex-direction:column;gap:12px;align-items:center}
.empty h3{color:var(--ink)}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:99px;font-weight:600;font-size:14px;z-index:20;box-shadow:0 6px 20px rgb(0 0 0/.2)}
.status{font-size:13px;color:var(--muted)}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* --- Ajouts version MySQL --- */
.login{max-width:400px;margin:6vh auto 0}
.login .card{padding:28px}
.userbox{display:flex;align-items:center;gap:8px}
.userbox .who{font-size:13px;color:var(--muted);text-align:right;line-height:1.2}
.userbox .who b{display:block;color:var(--ink);font-weight:600}
.err{background:var(--bad-soft);color:var(--bad);border-radius:10px;padding:10px 12px;font-size:14px}
.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;align-items:end}
.camps{display:flex;flex-direction:column;gap:8px}
.camp{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px}
.pwgen{display:flex;gap:8px}.pwgen input{flex:1;min-width:0}
a.btn{text-decoration:none;color:var(--ink);display:inline-flex;align-items:center}
@media (max-width:620px){
  header.top{position:static}
  .userbox{width:100%;justify-content:flex-end}
  .userbox .who{display:none}
  nav.tabs{width:100%;overflow-x:auto}
  nav.tabs a{flex:1;text-align:center;padding-inline:10px;white-space:nowrap}
}

/* --- Éditeur v2 --- */
.editor{padding-bottom:8px}
.enav{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:-8px}
.enav .btn.ghost{margin-left:-8px}
.pager{display:flex;align-items:center;gap:6px}
.iconbtn{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-size:20px;line-height:1;color:var(--ink)}
.iconbtn:disabled{opacity:.35;cursor:default}
.prow{--qc:var(--accent);--qs:var(--accent-soft);--qi:var(--accent-ink);display:flex;flex-direction:column;gap:10px;padding-top:14px;border-top:1px solid var(--line)}
.prow.past{--qc:var(--past);--qs:var(--past-soft);--qi:var(--past-ink)}
.phead{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}
.phead .tag{font-family:var(--f-display);font-weight:700;font-size:17px;color:var(--qc)}
.phead .own{color:var(--muted);font-size:13px}
.phead .own strong{font-size:18px;color:var(--ink);margin-left:2px}
.phead .delta{font-family:var(--f-num);font-size:13px;margin-left:4px}
.seg11{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:4px}
.seg11 button{height:46px;padding:0;border:1px solid var(--line);background:var(--seg);border-radius:8px;font-family:var(--f-num);font-size:15px;font-weight:600;color:var(--ink);transition:background .12s,border-color .12s}
.seg11 button:hover{border-color:var(--qc)}
.seg11 button.fill{background:var(--qs);border-color:transparent}
.seg11 button.sel{background:var(--qc);border-color:var(--qc);color:var(--qi);transform:translateY(-1px);box-shadow:0 2px 6px rgb(0 0 0/.18)}
@media (max-width:440px){.seg11{gap:3px}.seg11 button{height:42px;font-size:13px;border-radius:6px}}
.pfoot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-height:24px;font-size:14px}
.pfoot .calc{color:var(--muted);margin-right:auto}
.pfoot .calc b{color:var(--ink)}
.linkbtn{border:0;background:none;padding:2px 0;color:var(--accent);font-weight:600;font-size:14px;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prow.past .linkbtn{color:var(--muted)}
.idkbox{background:var(--sunk);border-radius:10px;padding:12px 14px;color:var(--muted);font-size:14px}
.totrow{display:flex;flex-direction:column;gap:6px}
.totrow label{font-size:14px;color:var(--muted)}
.totrow input{max-width:160px}
.result{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:var(--sunk);border-radius:10px;padding:14px 16px}
.result>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.result .big{font-size:20px;font-weight:600}
.result .delta{font-size:13px}
.seg3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--seg)}
.seg3 button{border:0;border-right:1px solid var(--line);background:none;padding:12px 6px;font-weight:600;color:var(--muted)}
.seg3 button:last-child{border-right:0}
.seg3 button[aria-checked="true"]{background:var(--accent);color:var(--accent-ink)}
.editbar{position:sticky;bottom:0;z-index:4;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 12px 12px 16px;margin-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -6px 24px rgb(0 0 0/.08)}
.estat{flex:1;min-width:180px;font-size:14px;color:var(--muted)}
.estat .ready{color:var(--ok);font-weight:600}
.ebtns{display:flex;gap:8px;flex-wrap:wrap}
.ebtns .btn{padding-block:12px}
.btn:disabled{opacity:.45;cursor:not-allowed}
@media (max-width:520px){.ebtns .btn{white-space:nowrap}.ebtns .btn:not(.primary){flex:0 0 auto}.editbar{border-radius:0;margin-inline:calc(-1*max(16px,env(safe-area-inset-left,0px)));padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));margin-bottom:-64px}.ebtns{width:100%}.ebtns .btn{flex:1}}
.hero{padding:16px 20px}

/* --- Adultes / pédiatrie --- */
.pill.pop{font-weight:600;vertical-align:2px;margin-left:4px}
.pill.pop-adulte{background:var(--sunk);color:var(--muted)}
.pill.pop-pediatrique{background:var(--ok-soft);color:var(--ok)}
.pill.pop-mixte{background:var(--accent-soft);color:var(--accent)}
.segcard{position:relative}
.segtag{align-self:flex-start;font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;padding:3px 10px;border-radius:99px}
.seg-A .segtag{background:var(--sunk);color:var(--ink)}
.seg-P .segtag{background:var(--ok-soft);color:var(--ok)}
.segf{width:auto;min-width:300px}
@media (max-width:520px){.segf{min-width:0;width:100%}}
.ctable{min-width:980px}
.ctable th.grp{text-align:center;border-bottom:1px solid var(--line)}
.ctable th[rowspan]{vertical-align:bottom}
.volin{width:72px;text-align:right}
.ctable .na{color:var(--muted);display:inline-block;width:72px;text-align:center}
.ctable select{min-width:150px}
.ctable{min-width:1120px}
.ctable td:first-child input{min-width:230px}
.ctable td:nth-child(2) input{min-width:120px}
.splitlink{align-self:flex-start;margin-top:-8px}
.splitbox{align-items:center;justify-content:space-between;flex-wrap:wrap;color:var(--ink)}
.splitbox>div{flex:1;min-width:220px}
.seg-T .segtag{background:var(--accent-soft);color:var(--accent)}

/* --- Baromètre trimestriel --- */
:root{--n1:#c8483f;--n2:#e08a4a;--n3:#9aa6ad;--n4:#4f9f86;--n5:#23784f;--n-ink:#ffffff;
  --c0:#0d6c88;--c1:#c07a1c;--c2:#6b4fa0;--c3:#2d7a4c;--c4:#b8455e;--c5:#5a6b76}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--n1:#e0675e;--n2:#e9a066;--n3:#7d8b93;--n4:#5fbf9f;--n5:#3fae74;--n-ink:#0b1418;
  --c0:#4cb2cf;--c1:#e3a050;--c2:#a58ad6;--c3:#5fbf85;--c4:#e57b95;--c5:#93a5b0}}
:root[data-theme="dark"]{--n1:#e0675e;--n2:#e9a066;--n3:#7d8b93;--n4:#5fbf9f;--n5:#3fae74;--n-ink:#0b1418;
  --c0:#4cb2cf;--c1:#e3a050;--c2:#a58ad6;--c3:#5fbf85;--c4:#e57b95;--c5:#93a5b0}

.sghead{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.sghead .own{color:var(--muted);font-size:13px}
.sghead .own strong{font-size:17px;color:var(--ink);margin-left:2px}
.crit{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid var(--line)}
.chead{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}
.cname{font-weight:600;font-size:15px}
.prevn{font-size:12px;color:var(--muted)}
.prevn b{font-family:var(--f-num);color:var(--ink)}
.seg5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) minmax(0,1.6fr);gap:6px}
.seg5 button{height:46px;border:1px solid var(--line);background:var(--seg);border-radius:10px;font-family:var(--f-num);font-size:16px;font-weight:600;color:var(--ink);padding:0;transition:background .12s,border-color .12s}
.seg5 button:hover{border-color:var(--accent)}
.seg5 button.sel{color:var(--n-ink);border-color:transparent;box-shadow:0 2px 6px rgb(0 0 0/.18)}
.seg5 button.n1{background:var(--n1)}.seg5 button.n2{background:var(--n2)}.seg5 button.n3{background:var(--n3)}.seg5 button.n4{background:var(--n4)}.seg5 button.n5{background:var(--n5)}
.seg5 .nspbtn{font-family:var(--f-body);font-size:13px;color:var(--muted)}
.seg5 .nspbtn.sel{background:var(--ink);color:var(--bg)}
.scale{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted);padding-right:calc(1.6/6.6*100% + 6px)}
@media (max-width:440px){.seg5{grid-template-columns:repeat(5,minmax(0,1fr));}.seg5 .nspbtn{grid-column:1/-1;height:38px}.scale{padding-right:0}}

.nchip{display:inline-flex;align-items:center;gap:3px;min-width:30px;justify-content:center;padding:3px 8px;border-radius:7px;font-family:var(--f-num);font-weight:600;font-size:13px;color:var(--n-ink)}
.nchip i{font-style:normal;font-family:var(--f-body);font-size:10px;opacity:.85}
.nchip.n1{background:var(--n1)}.nchip.n2{background:var(--n2)}.nchip.n3{background:var(--n3)}.nchip.n4{background:var(--n4)}.nchip.n5{background:var(--n5)}
.nchip.nsp{background:var(--sunk);color:var(--muted);font-family:var(--f-body);font-size:11px}
.arr{font-size:10px;margin-left:2px;vertical-align:1px}
.arr.up{color:var(--ok)}.arr.down{color:var(--bad)}
table.heat td.c,table.heat th.c{text-align:center;white-space:nowrap}
table.heat{min-width:900px}
tr.off td{opacity:.55}

.critkpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.crk .v{font-size:30px}
.distbar{display:flex;height:10px;border-radius:99px;overflow:hidden;gap:2px;background:var(--sunk)}
.distbar i{display:block;min-width:4px}
.distbar i.n1{background:var(--n1)}.distbar i.n2{background:var(--n2)}.distbar i.n3{background:var(--n3)}.distbar i.n4{background:var(--n4)}.distbar i.n5{background:var(--n5)}
.distbar i.empty{flex:1;background:transparent}
.chartbox{overflow-x:auto}
.chartbox svg{width:100%;min-width:480px;height:auto;display:block}
.chartbox .grid{stroke:var(--line);stroke-width:1}
.chartbox .ax{fill:var(--muted);font-family:var(--f-num);font-size:11px}
.chartbox .ln{fill:none;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
.chartbox .pt{stroke:var(--surface);stroke-width:2}
.ln.c0{stroke:var(--c0)}.ln.c1{stroke:var(--c1)}.ln.c2{stroke:var(--c2)}.ln.c3{stroke:var(--c3)}.ln.c4{stroke:var(--c4)}.ln.c5{stroke:var(--c5)}
.pt.c0{fill:var(--c0)}.pt.c1{fill:var(--c1)}.pt.c2{fill:var(--c2)}.pt.c3{fill:var(--c3)}.pt.c4{fill:var(--c4)}.pt.c5{fill:var(--c5)}
.legend i.c0{background:var(--c0)}.legend i.c1{background:var(--c1)}.legend i.c2{background:var(--c2)}.legend i.c3{background:var(--c3)}.legend i.c4{background:var(--c4)}.legend i.c5{background:var(--c5)}
.iconbtn.sm{width:30px;height:30px;font-size:14px}
.ctable{min-width:900px}
.kpis{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.chartbox svg{max-width:860px}
table.heat td:first-child{min-width:220px}
table.heat td:nth-child(3){white-space:nowrap}
@media (max-width:520px){.toast{bottom:calc(100px + env(safe-area-inset-bottom,0px))}}

/* --- Échelle 1 à 6 (pas de note neutre) --- */
:root{--n1:#c23b33;--n2:#de6a3f;--n3:#d9a03a;--n4:#8fb35a;--n5:#3f9a69;--n6:#1f6f48}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--n1:#e0675e;--n2:#ec8a5c;--n3:#e6b65c;--n4:#a9c977;--n5:#5fbf8a;--n6:#36a066}}
:root[data-theme="dark"]{--n1:#e0675e;--n2:#ec8a5c;--n3:#e6b65c;--n4:#a9c977;--n5:#5fbf8a;--n6:#36a066}
.seg5{grid-template-columns:repeat(6,minmax(0,1fr)) minmax(0,1.6fr)}
.scale{padding-right:calc(1.6/7.6*100% + 6px)}
@media (max-width:440px){.seg5{grid-template-columns:repeat(6,minmax(0,1fr))}.seg5 button{height:42px;font-size:15px}.scale{padding-right:0}}
.seg5 button.n6,.nchip.n6,.distbar i.n6{background:var(--n6)}

/* --- Enquêtes qualitatives --- */
.ecards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.ecard{display:flex;flex-direction:column;gap:8px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;min-width:0}
.ecard:hover{border-color:var(--accent)}
.ecard b{font-size:16px;font-weight:600}
.ecard .meta{color:var(--muted);font-size:13px}
.subtabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto}
.subtabs button{border:0;background:none;padding:10px 14px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.subtabs button[aria-current="page"]{color:var(--ink);border-bottom-color:var(--accent)}
.eint{display:flex;align-items:center;gap:8px}
.eint .citem{flex:1;min-width:0}
.seg4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--seg)}
.seg4 button{border:0;border-right:1px solid var(--line);background:none;padding:12px 6px;font-weight:600;color:var(--muted)}
.seg4 button:last-child{border-right:0}
.seg4 button[aria-checked="true"]{background:var(--accent);color:var(--accent-ink)}
@media (max-width:480px){.seg4{grid-template-columns:repeat(2,minmax(0,1fr))}.seg4 button:nth-child(2){border-right:0}.seg4 button:nth-child(-n+2){border-bottom:1px solid var(--line)}}
.eq label{display:flex;gap:10px;align-items:baseline;font-weight:600;font-size:15px;line-height:1.4}
.qn{flex:none;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-family:var(--f-num);font-size:12px;font-weight:600;margin-right:8px;vertical-align:1px}
.eq label .qn{margin-right:0}
.eq textarea{min-height:84px;overflow:hidden;line-height:1.5}
.efilters{display:flex;gap:8px;flex-wrap:wrap;flex:1;min-width:0}
.efilters select,.efilters input{width:auto;min-width:160px;flex:1 1 160px}
.fnbar{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.pill.fnp{font-weight:600;vertical-align:2px}
.pill.fnp b{margin-left:4px}
.fn-chirurgien{background:var(--accent-soft);color:var(--accent)}
.fn-regleur{background:var(--ok-soft);color:var(--ok)}
.fn-coordinatrice{background:var(--past-soft);color:var(--past)}
.fn-autre{background:var(--sunk);color:var(--muted)}
.qblock h3{font-size:17px;line-height:1.35;text-wrap:balance}
.words{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.words .eyebrow{margin-right:4px}
.word{border:1px solid var(--line);background:var(--seg);border-radius:99px;padding:4px 10px;font-size:13px;color:var(--ink)}
.word:hover{border-color:var(--accent)}
.word b{color:var(--accent);margin-left:2px}
.answers{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
.answers li{padding:12px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.answers p,.qa p{margin:0;white-space:pre-wrap;max-width:75ch}
.ewho{font-size:13px;color:var(--muted)}
.ewho b{color:var(--ink);font-weight:600}
.einterview h3{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.qa{display:flex;flex-direction:column;gap:4px;padding-top:12px;border-top:1px solid var(--line)}
.qlab{font-weight:600;font-size:14px}
mark{background:var(--past-soft);color:var(--ink);border-radius:3px;padding:0 2px}
input[type=date]{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--ink);font:inherit;min-height:44px}
@media (max-width:520px){.ebtns{flex-wrap:nowrap}.ebtns .btn,.ebtns .btn:not(.primary){flex:1 1 0;white-space:normal;line-height:1.2;font-size:14px;padding-inline:10px}}
input[type=search]{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--ink);font:inherit}
