﻿/* ── Variables Em Athlete Nutrition ── */
:root{--vert:#99c89c;--vf:#7aae7d;--bg1:#f4f1e9;--bg2:#eee5de;--txt:#6c6854;--tit:#3d3b2f;--brd:#e2ddd4;--wht:#fff;--red:#c0392b;--org:#e67e22;--blu:#2e86ab;--rose:#e91e63}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Poppins',sans-serif;font-size:14px;color:var(--txt);background:var(--bg1);min-height:100vh}

/* ── Login Overlay ── */
#login-overlay{position:fixed;inset:0;z-index:9999;background:var(--bg1);align-items:center;justify-content:center}
.login-card{background:var(--wht);border:1px solid var(--brd);border-radius:14px;padding:48px 40px 36px;max-width:400px;width:100%;text-align:center;box-shadow:0 8px 32px rgba(0,0,0,.08)}
.login-brand{font-family:'Playfair Display',serif;font-size:26px;color:var(--tit);margin-bottom:4px}
.login-sub{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--vert);margin-bottom:32px}
.login-input{width:100%;padding:12px 16px;border:1px solid var(--brd);border-radius:8px;font-family:'Poppins',sans-serif;font-size:13px;color:var(--tit);background:var(--bg1);margin-bottom:12px;transition:border-color .15s}
.login-input:focus{outline:none;border-color:var(--vert)}
.login-btn{width:100%;padding:13px;background:var(--vert);color:#fff;border:none;border-radius:8px;font-family:'Poppins',sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s;margin-top:4px}
.login-btn:hover{background:var(--vf)}
.login-btn:disabled{opacity:.6;cursor:not-allowed}
.login-error{color:var(--red);font-size:12px;margin-top:12px;min-height:18px}
.login-footer{font-size:10px;color:var(--txt);opacity:.5;margin-top:24px}
.page{display:none}.page.active{display:block}

/* NAV */
.nb{background:var(--tit);height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:200;box-shadow:0 2px 12px rgba(0,0,0,.15)}
.nl{font-family:'Playfair Display',serif;font-size:18px;color:#fff;cursor:pointer}
.nbg{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--vert);background:rgba(153,200,156,.15);border:1px solid rgba(153,200,156,.3);padding:3px 9px;border-radius:20px;margin-left:10px}
.nav-links{display:flex;align-items:center;gap:8px}
.btn-nav{background:var(--vert);color:#fff;padding:8px 18px;border-radius:8px;font-size:12px;font-weight:500;border:none;cursor:pointer;transition:background .15s}
.btn-nav:hover{background:var(--vf)}
.btn-back{display:none;align-items:center;gap:6px;font-size:12px;color:rgba(255,255,255,.6);cursor:pointer;padding:6px 12px;border-radius:6px;border:none;background:transparent}
.btn-back:hover{color:#fff}
.btn-txt{font-size:12px;color:rgba(255,255,255,.5);padding:6px 10px;border:none;background:none;cursor:pointer;border-radius:6px}
.btn-txt:hover{color:rgba(255,255,255,.9)}

/* ═══ DASHBOARD ═══ */
.main{max-width:1100px;margin:0 auto;padding:36px 24px}
.ph{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px}
.pt{font-family:'Playfair Display',serif;font-size:30px;font-weight:400;color:var(--tit);margin-bottom:4px}
.pd{font-size:12px;opacity:.6}
.sg{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}
.sc{background:var(--wht);border:1px solid var(--brd);border-radius:14px;padding:20px 22px;position:relative;overflow:hidden;transition:transform .15s,box-shadow .15s}
.sc:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.07)}
.sc::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--vert);opacity:0;transition:opacity .15s}
.sc:hover::before{opacity:1}
.sv{font-family:'Playfair Display',serif;font-size:38px;font-weight:400;color:var(--tit);line-height:1;margin-bottom:6px;display:block}
.sl{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;opacity:.65}
.sc.acc{background:var(--tit);border-color:var(--tit);cursor:pointer}
.sc.acc .sv{color:var(--vert)}.sc.acc .sl{color:rgba(255,255,255,.55)}
.cg{display:grid;grid-template-columns:1fr 340px;gap:20px}
.sec{background:var(--wht);border:1px solid var(--brd);border-radius:14px;overflow:hidden}
.sh{padding:15px 22px;border-bottom:1px solid var(--brd);display:flex;align-items:center;justify-content:space-between}
.st{font-size:12px;font-weight:500;color:var(--tit);text-transform:uppercase;letter-spacing:.07em}
.sl2{font-size:11px;color:var(--vf);font-weight:500;border:none;background:none;cursor:pointer}
.pr{display:flex;align-items:center;gap:12px;padding:11px 22px;border-bottom:1px solid var(--bg1);transition:background .12s;cursor:pointer;width:100%;box-sizing:border-box}
#patient-list-container{display:flex;flex-direction:column;width:100%}
.pr:last-child{border-bottom:none}.pr:hover{background:var(--bg1)}
.av{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:15px;flex-shrink:0}
.avf{background:#fce4ec;color:var(--rose)}.avh{background:#e3f2fd;color:#1565c0}
.pi{flex:1;min-width:0}.pn{font-size:13px;font-weight:500;color:var(--tit);margin-bottom:2px}.pm{font-size:11px;opacity:.65}
.pbs{display:flex;gap:5px;align-items:center;flex-shrink:0}
.badge{display:inline-block;font-size:10px;font-weight:500;padding:2px 8px;border-radius:4px}
.bu{background:#e8f5e9;color:#2e7d32}.bc{background:#fff3e0;color:#e65100}.bg{background:#e8f4fd;color:#1565c0}.bp{background:#f3e5f5;color:#6a1b9a}.bl{background:#fdecea;color:var(--red)}.br{background:#fff3e0;color:var(--org)}
.bs{font-size:11px;font-weight:500;border:1px solid var(--vert);background:transparent;color:var(--vf);padding:5px 11px;border-radius:7px;cursor:pointer;white-space:nowrap;transition:all .15s}
.bs:hover{background:var(--vert);color:#fff}.bs.so{background:var(--vert);color:#fff}.bs.so:hover{background:var(--vf)}
.sp{display:flex;flex-direction:column;gap:16px}
.qg{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:14px}
.qc{background:var(--bg1);border-radius:10px;padding:14px 12px;text-align:center;cursor:pointer;border:1px solid transparent;transition:all .15s}
.qc:hover{background:var(--wht);border-color:var(--vert)}
.qi{font-size:22px;display:block;margin-bottom:5px}
.ql{font-size:11px;font-weight:500;color:var(--tit);text-transform:uppercase;letter-spacing:.06em}
.fl{padding:12px 16px}.fr{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:8px;margin-bottom:6px}
.fr:last-child{margin-bottom:0}.fr.lea{background:#fdecea}.fr.reds{background:#fff3e0}
.flag-inner{display:flex;align-items:center;gap:8px}.fd{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.dl{background:var(--red)}.dr{background:var(--org)}.fn{font-size:12px;font-weight:500;color:var(--tit)}.fp{font-size:11px;opacity:.65;margin-top:1px}
.fc{font-size:11px;font-weight:500;color:var(--red);background:rgba(192,57,43,.1);padding:2px 8px;border-radius:4px}
.cl{padding:12px 16px}.cr{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:8px;margin-bottom:6px;background:var(--bg1);transition:background .12s}
.cr:last-child{margin-bottom:0}.cr:hover{background:var(--bg2)}
.cd{background:var(--tit);color:#fff;border-radius:8px;padding:6px 8px;text-align:center;min-width:44px;flex-shrink:0}
.cdy{font-size:18px;font-family:'Playfair Display',serif;line-height:1}.cm{font-size:9px;text-transform:uppercase;letter-spacing:.08em;opacity:.65;margin-top:2px}
.ci{flex:1}.cn{font-size:12px;font-weight:500;color:var(--tit)}.ca{font-size:11px;opacity:.65}
.dg{font-size:11px;font-weight:500;color:var(--vf);white-space:nowrap}.dg.urg{color:var(--org)}

/* ═══ ULTRA DOSSIER ═══ */
.uw{max-width:1100px;margin:0 auto;padding:28px 24px}
.uh{background:linear-gradient(135deg,var(--tit) 0%,#5a5840 100%);border-radius:16px;padding:28px 36px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:flex-start}
.utit{font-family:'Playfair Display',serif;font-size:26px;font-weight:400;color:#fff;margin-bottom:4px}
.usub{font-size:11px;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.07em}
.usrc{font-size:10px;color:rgba(255,255,255,.3);margin-top:10px;font-style:italic;line-height:1.6}
.pbu{background:rgba(153,200,156,.2);border:1px solid rgba(153,200,156,.35);border-radius:10px;padding:12px 18px;text-align:right}
.pbn{font-size:15px;font-weight:500;color:var(--vert);margin-bottom:3px}
.pbm{font-size:11px;color:rgba(255,255,255,.5)}
.mr{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:20px}
.mc{background:var(--wht);border:1px solid var(--brd);border-radius:10px;padding:11px 8px;text-align:center}
.mv{font-size:17px;font-weight:300;color:var(--tit);display:block;line-height:1.2}
.mk{font-size:9px;text-transform:uppercase;letter-spacing:.06em;opacity:.6;margin-top:3px}
.tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:2px solid var(--brd);overflow-x:auto}
.tab{padding:11px 20px;font-size:12px;font-weight:500;cursor:pointer;color:var(--txt);border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap;background:none;border-top:none;border-left:none;border-right:none;transition:all .15s}
.tab.active{color:var(--tit);border-bottom-color:var(--vert)}
.tp{display:none}.tp.active{display:block}
.ts{background:var(--wht);border:1px solid var(--brd);border-radius:12px;margin-bottom:12px;overflow:hidden}
.th{background:var(--tit);color:#fff;padding:13px 20px;font-size:13px;font-weight:500;cursor:pointer;display:flex;justify-content:space-between;align-items:center;user-select:none}
.th:hover{background:#4a4835}.th .cv{font-size:10px;opacity:.5;transition:transform .2s}.th.op .cv{transform:rotate(-180deg)}
.tb{padding:20px;display:none}.tb.op{display:block}
.tt{width:100%;border-collapse:collapse;font-size:12px;margin:10px 0}
.tt th{background:var(--tit);color:#fff;padding:8px 11px;font-weight:500;text-align:left;font-size:11px}
.tt td{padding:8px 11px;border-bottom:1px solid #f0ede5;vertical-align:top;line-height:1.5}
.tt tr:nth-child(even) td{background:#fafaf8}
.tt tr.fem td{background:#fce4ec20}
.box{border-radius:0 9px 9px 0;padding:12px 15px;margin:10px 0;font-size:12px;line-height:1.65}
.box .bt{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.07em;margin-bottom:5px}
.box.gr{background:#e8f5e9;border-left:3px solid var(--vf)}.box.gr .bt{color:#2e7d32}
.box.bl{background:#e8f4fd;border-left:3px solid var(--blu)}.box.bl .bt{color:var(--blu)}
.box.rd{background:#fdecea;border-left:3px solid var(--red)}.box.rd .bt{color:var(--red)}
.box.or{background:#fff8e1;border-left:3px solid var(--org)}.box.or .bt{color:#8c4a00}
.box.ro{background:#fce4ec;border-left:3px solid var(--rose)}.box.ro .bt{color:var(--rose)}
.box.dk{background:var(--tit);color:#fff;border-left:none;border-radius:10px}.box.dk .bt{color:var(--vert)}
.ss{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;opacity:.6;margin:16px 0 8px;padding-bottom:5px;border-bottom:1px solid var(--brd)}
.sn{font-size:10px;color:#b0ad9e;font-style:italic;margin-top:6px;line-height:1.5}
.pw{background:var(--wht);border:2px solid var(--vert);border-radius:12px;margin-bottom:14px;overflow:hidden}
.pwhd{background:var(--vert);color:#fff;padding:12px 20px;font-size:12px;font-weight:500;display:flex;justify-content:space-between;align-items:center}
.pwb{padding:18px}
.pf4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.pf3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pf2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pf label{display:block;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--txt);margin-bottom:4px}
.pf label span{color:#b0ad9e;font-size:9px;margin-left:4px;text-transform:none;letter-spacing:0}
.pf input,.pf select,.pf textarea{width:100%;padding:8px 10px;border:1px solid var(--brd);border-radius:8px;font-family:'Poppins',sans-serif;font-size:13px;color:var(--tit);background:var(--bg1)}
.pf input:focus,.pf select:focus{outline:none;border-color:var(--vert)}
.pf textarea{min-height:60px;resize:vertical}
.cw{background:var(--bg1);border-radius:12px;padding:18px;margin-bottom:16px}
.ctit{font-family:'Playfair Display',serif;font-size:16px;font-weight:400;color:var(--tit);margin-bottom:14px}
.cg4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:10px}
.cc{background:var(--wht);border-radius:10px;padding:14px 12px;text-align:center;border:1px solid var(--brd)}
.ccv{font-size:22px;font-weight:300;display:block;color:var(--tit);line-height:1.2}
.ccu{font-size:10px;text-transform:uppercase;letter-spacing:.04em;margin-top:3px}
.ccs{font-size:10px;opacity:.6;margin-top:3px}
.rt{width:100%;border-collapse:collapse;font-size:12px}
.rt th{background:var(--tit);color:#fff;padding:7px 10px;text-align:left;font-weight:500;font-size:11px}
.rt td{padding:7px 10px;border-bottom:1px solid #f0ede5}
.rt tr.ni td{background:#f0ede5}.rt tr.ca td{background:#fff8e1}
.jt{width:100%;border-collapse:collapse;font-size:12px}
.jt th{background:var(--tit);color:#fff;padding:7px 10px;font-weight:500;font-size:11px}
.jt td{padding:6px 8px;border-bottom:1px solid #f0ede5}
.jt input,.jt select{width:100%;padding:3px 6px;border:1px solid var(--brd);border-radius:4px;font-size:11px;font-family:'Poppins',sans-serif}
.bm{padding:10px 24px;background:var(--vert);color:#fff;border:none;border-radius:10px;font-family:'Poppins',sans-serif;font-size:13px;font-weight:500;cursor:pointer}
.bm:hover{background:var(--vf)}
.bs2{padding:10px 20px;background:transparent;color:var(--tit);border:1px solid var(--brd);border-radius:10px;font-family:'Poppins',sans-serif;font-size:13px;cursor:pointer}
.btns{display:flex;gap:10px;margin-top:16px}
p.body{font-size:12px;line-height:1.75;margin-bottom:10px}


/* ══════════════════════════════════════
   FORMULAIRE PATIENT — CSS intégré depuis main.css
   ══════════════════════════════════════ */
/* NAV v3 (non utilisée — on garde .nb du dashboard) */
.main-wrap{max-width:1100px;margin:0 auto;padding:32px 24px}
.page-header{margin-bottom:28px}
.page-title-v3{font-family:'Playfair Display',serif;font-size:26px;font-weight:400;color:var(--tit);margin-bottom:4px}
.page-sub{font-size:12px;color:#8a8672}
/* FORMS */
.form-wrap{background:var(--wht);border-radius:14px;border:1px solid var(--brd);margin-bottom:16px;overflow:hidden}
.form-head{background:var(--tit);color:#fff;padding:13px 22px;font-size:13px;font-weight:500;letter-spacing:.03em;display:flex;align-items:center;gap:8px}
.form-head small{font-size:11px;opacity:.5;font-weight:400}
.form-body{padding:20px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.row4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:12px}
.fg{margin-bottom:14px}
.fg:last-child{margin-bottom:0}
label.fl{display:block;font-size:11px;font-weight:500;color:#8a8672;text-transform:uppercase;letter-spacing:.07em;margin-bottom:5px}
.fi{width:100%;padding:9px 13px;border:1px solid var(--brd);border-radius:9px;font-family:'Poppins',sans-serif;font-size:13px;color:var(--tit);background:var(--bg1)}
.fi:focus{outline:none;border-color:var(--vert);background:var(--wht)}
input[type="date"].fi{min-width:130px;color-scheme:light}
textarea.fi{resize:vertical;min-height:72px}
.hint{font-size:11px;color:#8a8672;margin-top:3px}
.req{color:var(--red)}
.stitle{font-size:12px;font-weight:500;color:var(--tit);margin:16px 0 8px;padding-bottom:5px;border-bottom:1px solid var(--brd);text-transform:uppercase;letter-spacing:.05em}
.alert-info{background:#e8f4fd;border-left:3px solid var(--blu);border-radius:0 9px 9px 0;padding:11px 15px;margin-bottom:12px;font-size:12px;color:#1a5276}
.alert-warn-form{background:#fdecea;border-left:3px solid var(--red);border-radius:0 9px 9px 0;padding:11px 15px;margin-bottom:12px;font-size:12px;color:#922b21}
.alert-ok{background:#e8f5e9;border-left:3px solid #27ae60;border-radius:0 9px 9px 0;padding:11px 15px;margin-bottom:12px;font-size:12px;color:#1e8449}
.alert-note{background:#f9f3d7;border-left:3px solid #d4a017;border-radius:0 9px 9px 0;padding:11px 15px;margin-bottom:12px;font-size:12px;color:#5c4a00}
.alert-title{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.hidden{display:none!important}
.comp-item{background:var(--bg1);border-radius:9px;padding:11px 16px;margin-bottom:8px;display:flex;align-items:center;gap:12px}
.comp-info{flex:1}.comp-name{font-size:13px;font-weight:500}.comp-meta{font-size:11px;color:#8a8672;margin-top:2px}
.comp-del{background:none;border:none;cursor:pointer;color:var(--red);font-size:16px;padding:0 4px;line-height:1}
.add-comp-grid{display:grid;grid-template-columns:1fr 130px 110px auto;gap:10px;align-items:end;padding:14px;border:1px dashed var(--brd);border-radius:10px;margin-top:10px}
.plan-wrap{overflow-x:auto;margin-top:12px;max-width:100%}
.plan-table{width:100%;border-collapse:collapse;font-size:12px}
.plan-table th{background:var(--tit);color:#fff;padding:7px 6px;text-align:center;font-weight:500;font-size:11px;white-space:nowrap}
.plan-table th.act{text-align:left;min-width:200px;padding-left:12px}
.plan-table th.met-h{width:42px}.plan-table th.dur-h{width:56px}.plan-table th.day-h{width:36px}
.plan-table td{padding:4px 5px;border-bottom:1px solid #f0ede5;vertical-align:middle}
.plan-table td.act-name{font-size:12px;padding-left:12px}
.plan-table tr.cat-row td{background:var(--bg1);font-size:10px;font-weight:500;color:#8a8672;text-transform:uppercase;letter-spacing:.05em;padding:6px 12px}
.plan-input-dur{width:46px;padding:3px;text-align:center;font-size:12px;border:1px solid var(--brd);border-radius:5px;font-family:'Poppins',sans-serif}
.plan-input-dur:focus{outline:none;border-color:var(--vert)}
.plan-chk{width:15px;height:15px;accent-color:var(--vert);cursor:pointer;display:block;margin:0 auto}
.plan-met-sel{width:44px;padding:3px;font-size:11px;border:1px solid var(--brd);border-radius:4px}
.day-total{text-align:center;font-size:11px;font-weight:500;padding:5px 3px}
.h24-ok{background:#e8f5e9;color:#27ae60}.h24-miss{background:#fff8e1;color:#f39c12}.h24-over{background:#fdecea;color:var(--red)}
.dej-val{text-align:center;font-size:12px;font-weight:500;color:var(--tit)}
.dej-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:12px}
.dej-day{background:var(--bg1);border-radius:9px;padding:10px 5px;text-align:center}
.dej-day-name{font-size:10px;color:#8a8672;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
.cut-canvas-wrap{background:var(--bg1);border-radius:10px;padding:14px;margin-top:12px}
.cut-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.cycle-bar{display:flex;height:28px;border-radius:6px;overflow:hidden;margin:8px 0}
.phase-seg{display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:500;color:#fff}
.phase-m{background:#e57373}.phase-f{background:#81c784}.phase-o{background:#ffb74d}.phase-l{background:#9575cd}
.cycle-legend{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:6px}
.leg-item{display:flex;align-items:center;gap:5px;font-size:11px;color:#8a8672}
.leg-dot{width:9px;height:9px;border-radius:50%}
.symp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}
.symp-item{display:flex;align-items:center;gap:7px;font-size:12px;padding:6px 10px;border-radius:7px;border:1px solid var(--brd);cursor:pointer;transition:all .15s}
.symp-item:hover,.symp-item.active{background:#e8f5e9;border-color:var(--vert)}
.symp-item input{width:14px;height:14px;accent-color:var(--vert);flex-shrink:0}
.btns-form{display:flex;gap:12px;padding:8px 0;flex-wrap:wrap}
.suppl-item{background:var(--bg1);border-radius:9px;padding:8px 12px;margin-bottom:6px;border:1px solid transparent;transition:all .15s}
.suppl-item.active{background:#e8f5e9;border-color:var(--vert)}
.suppl-item-header{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;font-weight:500;color:var(--tit)}
.suppl-item-detail{display:none;margin-top:8px;padding-top:8px;border-top:1px solid var(--brd)}
.suppl-item.active .suppl-item-detail{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.suppl-mini-label{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:#8a8672;display:block;margin-bottom:3px}
.suppl-mini-input{width:100%;padding:5px 8px;border:1px solid var(--brd);border-radius:6px;font-family:'Poppins',sans-serif;font-size:11px;background:#fff}
.btn-main{padding:11px 26px;background:var(--vert);color:#fff;border:none;border-radius:10px;font-family:'Poppins',sans-serif;font-size:13px;font-weight:500;cursor:pointer}
.btn-main:hover{background:var(--vf)}
.btn-sec{padding:11px 22px;background:transparent;color:var(--tit);border:1px solid var(--brd);border-radius:10px;font-family:'Poppins',sans-serif;font-size:13px;cursor:pointer}
.add-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;background:transparent;border:1px solid var(--brd);border-radius:8px;font-size:12px;cursor:pointer;color:var(--tit);font-family:'Poppins',sans-serif;margin-top:8px}
.add-btn:hover{border-color:var(--vert);color:var(--vf)}
.bf-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.bf-card{background:var(--bg1);border-left:3px solid var(--vert);border-radius:0 9px 9px 0;padding:11px 14px}
.bf-label{font-size:10px;color:#8a8672;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.bf-tag{display:inline-block;background:var(--vert);color:#fff;font-size:13px;font-weight:500;padding:3px 12px;border-radius:6px}
.source-note{font-size:10px;color:#b0ad9e;font-style:italic;margin-top:6px;line-height:1.5}
.neuro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.neuro-card{border:1px solid var(--brd);border-radius:9px;padding:11px 13px;cursor:pointer}
.neuro-card.active{border-color:var(--vert);background:#e8f5e9}
.neuro-card label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;cursor:pointer;margin:0;text-transform:none;letter-spacing:0;color:var(--tit)}
.neuro-card .nd{font-size:11px;color:#8a8672;margin-top:3px;padding-left:22px;line-height:1.4}
.neuro-card input[type=radio]{width:14px;height:14px;accent-color:var(--vert);flex-shrink:0}
.flags-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.flag-item{display:flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--brd);border-radius:9px;cursor:pointer;font-size:12px;font-weight:500}
.flag-item.active{background:#fdecea;border-color:var(--red);color:var(--red)}
.flag-item input{width:14px;height:14px;cursor:pointer}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}
.metric-card{background:var(--bg1);border-radius:10px;padding:13px 12px;text-align:center}
.metric-val{font-size:22px;font-weight:300;display:block;line-height:1.2}
.metric-lbl{font-size:10px;color:#8a8672;text-transform:uppercase;letter-spacing:.05em;margin-top:3px}
.ace-table{width:100%;border-collapse:collapse;font-size:11px;margin-top:10px}
.ace-table th{background:var(--tit);color:#fff;padding:7px 9px;font-weight:500;text-align:left}
.ace-table td{padding:6px 9px;border-bottom:1px solid #f0ede5}
.ace-table tr.hl td{background:#e8f5e9;font-weight:500}
/* ── Numérotation automatique des blocs visibles ── */
.form-wrap:not(.hidden) { counter-increment: section; }
.form-wrap:not(.hidden) .form-head::before {
  content: counter(section) " — ";
  font-weight: 600;
}
#pg-patient { counter-reset: section; }
/* Catégorie IMC / IMG */
.metric-tag{display:inline-block;font-size:10px;font-weight:500;padding:2px 8px;border-radius:4px;margin-top:3px}
/* Alerte rythme agressif */
.alert-warn{background:#fdecea;border-left:3px solid var(--red);border-radius:0 9px 9px 0;padding:11px 15px;margin-bottom:12px;font-size:12px;color:#922b21}
.alert-warn .alert-title{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}

/* ── TOGGLE MÉNOPAUSE dans tableau — masquer colonne lutéale ──*/
.col-luteale{transition:opacity .2s}
.meno-active .col-luteale{display:none!important}
.meno-active .row-fem-table{display:none!important}


/* ── BOUTONS NAV MODULES ── */
.btn-nav{font-size:12px;font-weight:500;color:var(--txt);background:transparent;border:1px solid var(--brd);border-radius:6px;padding:5px 12px;cursor:pointer;font-family:'Poppins',sans-serif;transition:all .15s}
.btn-nav:hover{border-color:var(--vert);color:var(--vf)}
.fiche-cat-btn{font-size:12px;font-weight:500;color:var(--txt);background:var(--bg1);border:1px solid var(--brd);border-radius:20px;padding:5px 14px;cursor:pointer;font-family:'Poppins',sans-serif;transition:all .15s}
.fiche-cat-btn.active{background:var(--vert);color:#fff;border-color:var(--vert)}
.fiche-cat-btn:hover{border-color:var(--vert)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}

/* ── TOGGLE PRO / PATIENT ── */
.dossier-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.view-toggle{display:flex;gap:0;border:1px solid rgba(255,255,255,.3);border-radius:8px;overflow:hidden}
.view-btn{padding:7px 16px;font-size:12px;font-weight:500;border:none;cursor:pointer;font-family:'Poppins',sans-serif;transition:all .15s;background:transparent;color:rgba(255,255,255,.6)}
.view-btn.active{background:rgba(255,255,255,.2);color:#fff}
.view-btn:hover{color:#fff}

/* Éléments PRO-only et Patient-only */
.view-pro .pro-only{display:block}
.view-pro .patient-only{display:none}
.view-patient .pro-only{display:none}
.view-patient .patient-only{display:block}

/* Métriques PRO calculées */
.pro-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}
.pro-metric-card{padding:14px;border-radius:10px;border:1px solid}
.pro-metric-label{font-size:11px;margin-bottom:4px}
.pro-metric-value{font-size:20px;font-weight:600;margin-bottom:2px}
.pro-metric-detail{font-size:10px;opacity:.8}

/* Accueil patient bienveillant */
.patient-welcome{margin:16px 0;text-align:center;padding:28px 24px;background:linear-gradient(135deg,#E1F5EE 0%,#E6F1FB 100%);border-radius:14px}
.pw-title{font-family:'Playfair Display',serif;font-size:22px;font-weight:400;color:var(--tit);margin-bottom:6px}
.pw-subtitle{font-size:14px;color:var(--txt);margin-bottom:0}
.pw-intro{margin-top:16px;text-align:left;font-size:14px;line-height:1.6;color:var(--txt);max-width:700px;margin-left:auto;margin-right:auto}
.pw-intro p{margin-bottom:10px}

/* Notes cliniques PRO (dossier) */
.pro-notes-section{margin-top:20px;padding:16px 20px;background:var(--wht);border:1px solid var(--brd);border-radius:12px}
.pro-notes-header{font-size:12px;font-weight:500;color:var(--tit);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--brd)}
.dossier-note-item{font-size:12px;color:var(--txt);padding:8px 0;border-bottom:1px solid var(--bg1);line-height:1.5}
.dossier-note-date{font-weight:600;color:var(--tit);margin-right:8px}

@media(max-width:768px){
  .pro-metrics{grid-template-columns:repeat(2,1fr)}
}

/* ── VERSIONING + NOTES CONSULTATION ── */
.card{background:var(--wht);border:1px solid var(--brd);border-radius:12px;padding:20px 24px}
.version-item{padding:10px 14px;border:1px solid var(--brd);border-radius:8px;margin-bottom:8px;transition:border-color .15s}
.version-item.active{border-color:var(--vert);background:#f0f8f0}
.version-header{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.version-num{font-weight:600;color:var(--tit);font-size:13px}
.version-date{font-size:12px;color:var(--txt)}
.version-badge{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;background:var(--vert);color:#fff;padding:2px 8px;border-radius:4px}
.version-restore{font-size:11px;color:var(--blu);background:none;border:1px solid var(--blu);border-radius:4px;padding:2px 8px;cursor:pointer;font-family:'Poppins',sans-serif}
.version-restore:hover{background:var(--blu);color:#fff}
.version-summary{font-size:12px;color:var(--txt)}
.btn-sm{font-size:11px;font-weight:500;color:var(--vert);background:none;border:1px solid var(--vert);border-radius:6px;padding:4px 12px;cursor:pointer;font-family:'Poppins',sans-serif}
.btn-sm:hover{background:var(--vert);color:#fff}
.note-item{padding:12px 14px;border-left:3px solid var(--vert);background:var(--bg1);border-radius:0 8px 8px 0;margin-bottom:8px}
.note-date{font-size:11px;font-weight:500;color:var(--tit);margin-bottom:4px;text-transform:uppercase;letter-spacing:.03em}
.note-content{font-size:13px;color:var(--txt);line-height:1.5}

/* ── IMPRESSION PDF PATIENT ── */
.print-btn{background:var(--bg1);border:1px solid var(--brd);color:var(--tit);padding:8px 16px;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;font-family:'Poppins',sans-serif;transition:all .15s}
.print-btn:hover{border-color:var(--vert);color:var(--vf)}
@media print {
  /* Masquer toutes les pages — n'afficher que la page active (pg-print) */
  .page{display:none!important}
  .page.active{display:block!important}
  /* Masquer nav, onglets, formulaires pro, éléments interface */
  .nb,.tabs,.pw,.calc-ph,.calc-ct,.btn-back,.btn-nav,.btn-txt,.print-actions,.gen-pro-only{display:none!important}
  .tp{display:block!important}
  .uw{padding:0}
  .uh{border-radius:0;margin-bottom:16px;padding:20px 28px}
  .ts{break-inside:avoid}
  .tb{display:block!important}
  body{background:#fff}
  .tt th{background:#3d3b2f!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .box{break-inside:avoid}
}