
:root{--brand:#0f766e;--brand2:#0b5a52;--ink:#10201f;--muted:#64748b;--b:#dbe5e4;--soft:#f0fdfa;--red:#b91c1c;--orange:#c2410c;--yellow:#a16207;--green:#15803d;--blue:#0369a1;--shadow:0 18px 45px rgba(15,118,110,.12)}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,#f8fffd,#fff);line-height:1.5}
.wrap{max-width:1080px;margin:auto;padding:20px}
.hero{border:1px solid var(--b);border-radius:28px;padding:28px;background:linear-gradient(135deg,#ecfdf5,#fff 55%,#f0f9ff);box-shadow:var(--shadow);margin:16px 0 22px}
.kicker{display:inline-flex;align-items:center;gap:8px;color:var(--brand2);font-weight:800;text-transform:uppercase;font-size:.82rem;letter-spacing:.04em}
h1{font-size:clamp(1.8rem,4vw,3rem);line-height:1.05;margin:.35rem 0 .65rem} h2{font-size:clamp(1.35rem,2.5vw,2rem);margin:1.4rem 0 .7rem} h3{margin:1rem 0 .35rem}
.lead{font-size:1.08rem;color:#334155;max-width:850px}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.card{grid-column:span 12;border:1px solid var(--b);border-radius:22px;background:#fff;padding:20px;box-shadow:0 8px 25px rgba(2,6,23,.05)}@media(min-width:800px){.half{grid-column:span 6}.third{grid-column:span 4}.two-thirds{grid-column:span 8}}
label{font-weight:700;display:block;margin:.65rem 0 .25rem}.hint{font-size:.88rem;color:var(--muted)} input,select{width:100%;padding:12px 13px;border:1px solid var(--b);border-radius:13px;font-size:1rem;background:#fff} input:focus,select:focus{outline:3px solid #99f6e4;border-color:var(--brand)}
button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;background:var(--brand);color:#fff;padding:12px 16px;font-weight:800;text-decoration:none;cursor:pointer}button:hover,.btn:hover{background:var(--brand2)}.btn.secondary{background:#fff;color:var(--brand2);border:1px solid var(--b)}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.result{border:1px solid var(--b);border-radius:22px;background:#f8fafc;padding:18px;margin-top:14px}.result.big{text-align:center}.score{font-size:clamp(2.4rem,6vw,4.5rem);font-weight:900;line-height:1;color:var(--brand)}.badge{display:inline-flex;border-radius:999px;padding:7px 11px;font-weight:800;font-size:.9rem;background:#e2e8f0}.badge.green{background:#dcfce7;color:#166534}.badge.yellow{background:#fef9c3;color:#854d0e}.badge.orange{background:#ffedd5;color:#9a3412}.badge.red{background:#fee2e2;color:#991b1b}.badge.blue{background:#e0f2fe;color:#075985}
.alert{border:2px solid #fecaca;background:#fff1f2;color:#7f1d1d;border-radius:20px;padding:16px;font-weight:800}.alert .phone{font-size:1.35rem;color:#b91c1c}.notice{border:1px solid #bae6fd;background:#f0f9ff;color:#075985;border-radius:18px;padding:14px}.warn{border:1px solid #fed7aa;background:#fff7ed;color:#9a3412;border-radius:18px;padding:14px}
.iconrow{display:flex;gap:10px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--b);border-radius:999px;padding:8px 11px;background:#fff;font-weight:700}.emoji{font-size:1.3rem}
.fab,.homefab{position:fixed;z-index:60;bottom:18px;border:1px solid var(--b);box-shadow:0 10px 26px rgba(0,0,0,.18)}.fab{right:18px}.homefab{left:18px}.fab[hidden]{opacity:0;pointer-events:none;transform:translateY(12px)}
.timeline{position:relative;display:grid;gap:14px;margin:18px 0;padding:12px 0}.timeline:before{content:"";position:absolute;left:22px;top:0;bottom:0;width:5px;background:linear-gradient(var(--brand),#60a5fa,#f59e0b,#ef4444);border-radius:99px}.tl{position:relative;margin-left:56px;border:1px solid var(--b);background:#fff;border-radius:18px;padding:14px}.tl:before{content:"";position:absolute;left:-43px;top:18px;width:20px;height:20px;border-radius:50%;background:var(--brand);border:4px solid #fff;box-shadow:0 0 0 2px var(--brand)}.tl .age{font-weight:900;color:var(--brand2);font-size:1.08rem}.tl.active{border:3px solid var(--brand);box-shadow:0 12px 30px rgba(15,118,110,.18)}
.scale{position:relative;height:58px;margin:18px 0 8px;border-radius:999px;background:linear-gradient(90deg,#60a5fa 0 19.7%,#22c55e 19.7% 39.4%,#f59e0b 39.4% 54.55%,#f97316 54.55% 69.7%,#ef4444 69.7% 100%);overflow:visible;border:1px solid #cbd5e1}.needle{position:absolute;top:-9px;width:4px;height:76px;background:#111;border-radius:4px;transform:translateX(-50%)}.needle:before{content:"";position:absolute;top:-9px;left:50%;transform:translateX(-50%);border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:10px solid #111}.ticks{position:relative;height:22px;font-size:.78rem;color:#475569}.ticks span{position:absolute;transform:translateX(-50%);white-space:nowrap}.legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:10px}
.meter{height:22px;background:#e2e8f0;border-radius:999px;overflow:hidden}.meter>span{display:block;height:100%;background:linear-gradient(90deg,#22c55e,#f59e0b,#ef4444);width:0%}
.checkgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.check{border:1px solid var(--b);border-radius:16px;padding:12px;background:#fff;display:flex;gap:10px;align-items:flex-start}.check input{width:auto;margin-top:4px}.faq details{border:1px solid var(--b);border-radius:16px;background:#fff;margin:10px 0;padding:12px}.faq summary{font-weight:850;cursor:pointer;display:flex;justify-content:space-between;gap:10px}.faq details[open] summary{color:var(--brand2)}.small{font-size:.9rem;color:var(--muted)}a{color:var(--brand2)}.footer{margin:28px 0 70px;color:var(--muted);font-size:.9rem}.source{font-size:.85rem;color:#475569;border-top:1px solid var(--b);margin-top:18px;padding-top:12px}

.age-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.age-row label{margin-top:0}.highlight{border:2px solid #fed7aa;background:#fff7ed;color:#7c2d12;border-radius:18px;padding:14px;margin:12px 0}.highlight h4{margin:.1rem 0 .5rem}.risk-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px;margin:10px 0;font-size:.82rem;color:#475569}.formula{display:inline-block;text-align:left;background:#fff;border:1px solid var(--b);border-radius:18px;padding:14px;margin-top:12px}.danger-bottom{margin-top:18px;border:3px solid #ef4444;background:#fff1f2;color:#7f1d1d;border-radius:22px;padding:18px;font-weight:850}.danger-icons{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:12px}.danger-icons span{background:#fff;border:1px solid #fecaca;border-radius:16px;padding:12px}.medical-note{margin-top:12px;border:2px solid #fed7aa;background:#fff7ed;color:#7c2d12;border-radius:18px;padding:14px;font-weight:800}

/* Ajouts : formulaires, fiches imprimables, cases à cocher */
.card label.check{font-weight:600;margin:0}.check input{accent-color:var(--brand)}
fieldset{border:1px solid var(--b);border-radius:18px;padding:12px 14px;margin:12px 0}legend{font-weight:800;padding:0 6px;color:var(--brand2)}
textarea{width:100%;padding:12px 13px;border:1px solid var(--b);border-radius:13px;font:inherit;min-height:70px}textarea:focus{outline:3px solid #99f6e4;border-color:var(--brand)}
button{margin-top:14px}button:focus-visible,.btn:focus-visible,a:focus-visible{outline:3px solid #99f6e4;outline-offset:2px}
.tool-section{grid-column:span 12;margin:10px 0 0}.tool-section h2{margin:.6rem 0 .2rem}
.plan-wrap{overflow-x:auto}.plan{width:100%;border-collapse:collapse;min-width:620px}.plan th{font-size:.85rem;text-align:left;color:var(--brand2);padding:6px}.plan td{padding:4px}.plan input{padding:9px 10px;border-radius:10px}
table.sheet{width:100%;border-collapse:collapse;margin:10px 0;background:#fff}table.sheet th,table.sheet td{border:1px solid #cbd5e1;padding:8px 10px;text-align:left;vertical-align:top}table.sheet th{width:38%;background:#f0fdfa}
table.grid-sheet th{width:auto}table.grid-sheet td{min-width:60px}
.tel-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.tel{border:1px solid var(--b);border-radius:18px;padding:14px;background:#fff}.tel .n{font-size:1.6rem;font-weight:900;color:var(--brand2);text-decoration:none;display:block}.tel.urgent{border:2px solid #fecaca;background:#fff1f2}.tel.urgent .n{color:#b91c1c}
#print-root{display:none}
@media print{
  body{background:#fff}
  body>*:not(#print-root){display:none!important}
  #print-root{display:block!important}
}
a.card{text-decoration:none;color:inherit}a.card h2{color:var(--brand2)}a.card:hover{border-color:var(--brand)}

/* ===== Lisibilité : tailles et graisses modérées ===== */
body{font-weight:400}
h1{font-size:clamp(1.5rem,3.2vw,2.2rem);font-weight:700;line-height:1.15;letter-spacing:-.01em}
h2{font-size:clamp(1.1rem,1.8vw,1.35rem);font-weight:650}
h3{font-size:1.05rem;font-weight:650}
a.card h2{font-size:1.04rem;margin:.2rem 0 .35rem}a.card p{margin:0;color:#475569;font-size:.95rem}
.kicker{font-weight:700;font-size:.74rem}
.lead{font-size:1rem}
button,.btn{font-weight:600;font-size:.94rem;padding:10px 15px}
.btn.secondary{font-weight:500}
.homefab,.fab{font-weight:500;font-size:.88rem;padding:9px 13px}
label{font-weight:600;font-size:.95rem}
.badge{font-weight:600}
.alert,.danger-bottom,.medical-note{font-weight:400}
.alert strong,.danger-bottom strong,.medical-note strong{font-weight:700}
.alert .phone,.danger-bottom .phone{font-weight:600}
.faq summary{font-weight:600}
.tl .age{font-weight:700}
.pill{font-weight:500}
.score{font-size:clamp(2rem,5vw,3rem);font-weight:750;line-height:1.15}
.score small{font-size:.42em;font-weight:500;color:var(--muted)}
.result{line-height:1.55}.result.big .badge{margin-top:6px}
#out{scroll-margin-top:12px}

/* Messages de résultat (texte long, lisible) */
.msg{border-radius:14px;padding:11px 13px;margin:12px 0 0;text-align:left;font-size:.96rem;border:1px solid transparent}
.msg.green{background:#f0fdf4;border-color:#bbf7d0;color:#14532d}.msg.yellow{background:#fefce8;border-color:#fde68a;color:#713f12}
.msg.orange{background:#fff7ed;border-color:#fed7aa;color:#7c2d12}.msg.red{background:#fef2f2;border-color:#fecaca;color:#7f1d1d}.msg.blue{background:#f0f9ff;border-color:#bae6fd;color:#0c4a6e}
ul.tips{padding-left:1.1rem}ul.tips li{margin:6px 0}

/* Glycémie : trois unités côte à côte */
.units{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.u{border:1px solid var(--b);border-radius:14px;padding:10px 6px;background:#fff;text-align:center}
.u b{display:block;font-size:clamp(1.25rem,4vw,1.7rem);font-weight:700;color:var(--brand2);line-height:1.25}
.u span{display:block;font-size:.82rem;color:var(--muted);margin-top:2px}
.u.main{border:2px solid var(--brand);background:var(--soft)}

/* Choix en pastilles (remplacent les listes déroulantes longues) */
fieldset.choices{border:0;padding:0;margin:.65rem 0 0}fieldset.choices legend{font-weight:600;font-size:.95rem;color:var(--ink);padding:0;margin-bottom:.35rem}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;margin:0;font-weight:400}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--b);border-radius:999px;padding:8px 13px;background:#fff;cursor:pointer;font-size:.93rem;line-height:1.3}
.chip input:checked+span{background:var(--soft);border-color:var(--brand);color:var(--brand2);font-weight:600;box-shadow:0 0 0 2px #ccfbf1}
.chip input:focus-visible+span{outline:3px solid #99f6e4;outline-offset:2px}
.chips.grid2{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.chips.grid2 .chip span{width:100%;border-radius:14px}

/* Saisie assistée */
.ac{position:relative}
.ac-list{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 4px);list-style:none;margin:0;padding:6px;background:#fff;border:1px solid var(--b);border-radius:14px;box-shadow:0 12px 30px rgba(15,23,42,.12);max-height:290px;overflow:auto}
.ac-list li{display:flex;gap:9px;align-items:flex-start;padding:8px 10px;border-radius:10px;cursor:pointer}
.ac-list li.on,.ac-list li:hover{background:var(--soft)}
.ac-i{font-size:1.05rem;line-height:1.3}.ac-t{display:flex;flex-direction:column;min-width:0}.ac-l{font-weight:500}.ac-s{font-size:.82rem;color:var(--muted)}

/* Formulaires en rubriques */
.fs{border:1px solid var(--b);border-radius:18px;padding:14px 16px 16px;margin:0 0 14px;background:#fff}
.fs>legend{display:flex;align-items:center;gap:8px;font-weight:650;font-size:1.02rem;color:var(--brand2);padding:0 6px}
.fs .ico{font-size:1.2rem}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}@media(max-width:560px){.row2{grid-template-columns:1fr}}
.inline-check{display:flex;align-items:center;gap:8px;font-weight:500;margin:.4rem 0}.inline-check input{width:auto;accent-color:var(--brand)}
.mini-btn{margin-top:8px;background:#fff;color:var(--brand2);border:1px solid var(--b);font-weight:500;font-size:.88rem;padding:7px 12px}
.tags .tag-list{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0 0 8px}
.tags .tag-list li{display:inline-flex;align-items:center;gap:6px;background:var(--soft);border:1px solid #99f6e4;color:var(--brand2);border-radius:999px;padding:5px 6px 5px 12px;font-size:.92rem}
.tags .tag-list li button{margin:0;padding:0;width:22px;height:22px;border-radius:50%;background:#fff;color:var(--brand2);border:1px solid #99f6e4;font-size:.8rem;line-height:1}
.tag-add{display:flex;gap:8px;align-items:flex-start}.tag-add .ac{flex:1}.tag-add button{margin-top:0;white-space:nowrap}
.tags.off{opacity:.45;pointer-events:none}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.tile{position:relative;margin:0;font-weight:400}
.tile input{position:absolute;opacity:0;width:1px;height:1px}
.tile .tbox{display:flex;align-items:center;gap:10px;border:1px solid var(--b);border-radius:14px;padding:10px 12px;background:#fff;cursor:pointer;height:100%;font-size:.92rem;line-height:1.3}
.tile .tic{font-size:1.35rem;flex:0 0 auto}
.tile input:checked+.tbox{border-color:var(--brand);background:var(--soft);color:var(--brand2);font-weight:600;box-shadow:0 0 0 2px #ccfbf1}
.tile input:focus-visible+.tbox{outline:3px solid #99f6e4;outline-offset:2px}

/* Prévention des chutes : cartes à cocher */
.room{margin:0 0 16px}.room h3{display:flex;align-items:center;gap:8px;margin:.2rem 0 .6rem;color:var(--brand2)}.room h3 .ico{font-size:1.35rem}
.ctiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.ctile{position:relative;margin:0;font-weight:400}
.ctile input{position:absolute;opacity:0;width:1px;height:1px}
.ctile .cbox{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border:1px solid var(--b);border-radius:16px;padding:12px 14px;background:#fff;cursor:pointer;height:100%;line-height:1.4;font-size:.94rem}
.ctile .cic{font-size:1.6rem}
.ctile .ck{width:26px;height:26px;border-radius:50%;border:2px solid #cbd5e1;display:grid;place-items:center;font-size:.85rem;color:transparent;background:#fff}
.ctile input:checked+.cbox{border-color:#86efac;background:#f0fdf4}
.ctile input:checked+.cbox .ck{background:#16a34a;border-color:#16a34a;color:#fff}
.ctile input:focus-visible+.cbox{outline:3px solid #99f6e4;outline-offset:2px}
.progress{position:sticky;top:0;z-index:30;background:#fff;border:1px solid var(--b);border-radius:16px;padding:10px 14px;margin:0 0 14px;display:flex;align-items:center;gap:12px;box-shadow:0 6px 18px rgba(2,6,23,.06)}
.progress .meter{flex:1;height:14px}.progress .meter>span{background:linear-gradient(90deg,#f59e0b,#22c55e)}
.progress strong{font-weight:650;white-space:nowrap}

/* Tableau de prise : une carte par médicament */
.med{border:1px solid var(--b);border-radius:16px;padding:12px 14px;margin:0 0 12px;background:#fff}
.med-head{display:flex;justify-content:space-between;align-items:center}.med-num{font-weight:650;color:var(--brand2)}
.med-del{margin:0;background:#fff;color:#64748b;border:1px solid var(--b);width:32px;height:32px;padding:0;border-radius:50%}
.moments{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.moment{display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid var(--b);border-radius:14px;padding:8px 6px;margin:0;background:#f8fafc;font-weight:500}
.moment .mi{font-size:1.35rem}.moment .ml{font-size:.82rem;color:#475569}.moment input{text-align:center;padding:8px 6px;margin-top:4px}

/* Fiches imprimables (écran et papier) */
.print-sheet{background:#fff;border:1px solid var(--b);border-radius:18px;padding:18px;margin-top:6px}
.fhead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:3px solid var(--brand);padding-bottom:10px;margin-bottom:12px}
.ftitle{font-size:1.25rem;font-weight:700;color:var(--brand2)}.fname{font-size:1.1rem;font-weight:600;margin-top:2px}.fdate{font-size:.82rem;color:var(--muted);text-align:right}
.femerg{display:flex;flex-wrap:wrap;gap:6px 16px;background:#fef2f2;border:1px solid #fecaca;color:#7f1d1d;border-radius:12px;padding:8px 12px;margin-bottom:12px;font-size:.9rem}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.fbox{border:1px solid var(--b);border-radius:14px;padding:10px 12px;break-inside:avoid;page-break-inside:avoid}
.fbox h3{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:.98rem;color:var(--brand2)}
.fbox.alert-box{border:2px solid #fca5a5;background:#fff5f5}.fbox.alert-box h3{color:#b91c1c}
.fbox.wide{grid-column:1/-1}
.fl{display:grid;grid-template-columns:90px 1fr;gap:6px;padding:3px 0;border-bottom:1px dashed #e2e8f0;font-size:.93rem}.fl:last-child{border-bottom:0}
.fk{color:var(--muted);font-size:.85rem}.fv{font-weight:500;margin:0}
.fchips{list-style:none;display:flex;flex-wrap:wrap;gap:5px;padding:0;margin:0}.fchips li{border:1px solid #99f6e4;background:var(--soft);border-radius:999px;padding:3px 10px;font-size:.88rem}
.fchips.red li{border-color:#fca5a5;background:#fff;color:#991b1b;font-weight:600}
.fnote{font-size:.8rem;color:var(--muted);margin:6px 0 0}.ffoot{font-size:.82rem;color:var(--muted);margin:12px 0 0}
.table-wrap{overflow-x:auto}
.ptable{width:100%;border-collapse:collapse;font-size:.95rem}
.ptable th{background:var(--soft);color:var(--brand2);font-weight:600;padding:8px 6px;border:1px solid #cbd5e1;text-align:center;font-size:.86rem}
.ptable td{border:1px solid #cbd5e1;padding:8px;vertical-align:middle}
.ptable .mcol{text-align:left;min-width:150px}
.ptable td.q{text-align:center;font-size:1.15rem;font-weight:700;color:var(--brand2)}.ptable td.q.empty{color:#cbd5e1;font-weight:400}
.ptable.week td.tick{text-align:center;font-size:1.1rem;color:#94a3b8}.wk{margin:16px 0 8px;font-size:1rem;color:var(--brand2)}

.only-print{display:none}
@media print{
  @page{size:A4;margin:10mm}
  .only-print{display:flex}
  body{font-size:10pt}
  .print-sheet{font-size:10pt}
  .fhead{padding-bottom:6px;margin-bottom:8px}.ftitle{font-size:15pt}.fname{font-size:12pt}
  .femerg{padding:5px 10px;margin-bottom:8px;font-size:9.5pt}
  .fgrid{gap:6px}.fbox{padding:6px 9px;border-radius:10px}.fbox h3{font-size:10.5pt;margin-bottom:3px}
  .fl{grid-template-columns:75px 1fr;font-size:9.5pt;padding:2px 0}.fk{font-size:8.5pt}
  .fchips li{font-size:9pt;padding:2px 8px}.ffoot,.fnote{font-size:8.5pt}
  .tel-list{grid-template-columns:repeat(3,1fr);gap:6px}.tel{padding:7px 9px;border-radius:10px;font-size:9pt}.tel .n{font-size:13pt}
  .print-sheet .card{box-shadow:none;padding:8px 10px;margin:0 0 8px;border-radius:12px}.print-sheet .card h2{font-size:12pt;margin:0 0 6px}
  .print-sheet .grid{display:block}
  .print-sheet{border:0;padding:0;margin:0}
  .fgrid{grid-template-columns:1fr 1fr}
  .plan-sheet .ptable{font-size:11pt}
  .msg,.ac-list{display:none}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* ===== Version 5 : formulaires en colonnes, résultat dessous ===== */
.field{min-width:0}
.form-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:4px 26px;align-items:start}
.form-cols>button,.form-cols>.hint,.form-cols>.span-all{grid-column:1/-1}.form-cols>button{justify-self:start}
.form-cols .row2{gap:0 12px}
.result-card{scroll-margin-top:12px}.res-title{font-size:1.05rem;font-weight:650;margin:0 0 8px;color:var(--brand2)}
.fs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:0 14px;align-items:start}
@media(max-width:420px){.fs-grid{grid-template-columns:1fr}}
.hub-h{font-size:1.05rem;font-weight:650;margin:1.2rem 0 .6rem;color:var(--ink)}
.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.hub-grid a.card{padding:13px 15px;border-radius:16px;box-shadow:0 4px 14px rgba(2,6,23,.04)}
.hub-grid a.card h2{font-size:.97rem;font-weight:600;margin:0 0 4px}.hub-grid a.card p{font-size:.87rem;line-height:1.4}
#plan-rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}#plan-rows .med{margin:0}
.tel{display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:2px;align-items:start}
.tel .ti{grid-row:span 2;font-size:1.7rem;line-height:1.15;width:2.2rem;text-align:center}
.tel .n{font-size:1.4rem}.tel .td{font-size:.9rem;color:#334155}
.tiles.sm{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin-bottom:8px}
.tiles.sm .tbox{padding:8px 10px;font-size:.88rem;gap:8px}.tiles.sm .tic{font-size:1.1rem}
.tiles.off{opacity:.45;pointer-events:none}
.inline-check span{line-height:1.35}

/* ===== Version 6 ===== */
[hidden]{display:none!important}
/* accueil des outils : grille compacte */
.hub-grid{grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:12px}
.hub-grid>.card{grid-column:auto}
.hub-card{display:flex;flex-direction:column;gap:4px;height:100%}
.hub-card .hc-i{font-size:1.7rem;line-height:1.1}
.hub-grid a.card h2{font-size:.96rem;line-height:1.3}
@media(max-width:560px){.hub-grid{grid-template-columns:1fr 1fr;gap:8px}.hub-grid a.card{padding:11px 12px}.hub-grid a.card p{font-size:.82rem}}
/* calendrier vaccinal */
.vx-now{border:2px solid var(--brand);background:var(--soft);border-radius:14px;padding:10px 14px;margin:8px 0 10px}
.vx-now.between{border-color:#f59e0b;background:#fffbeb}
.vx-lab{font-weight:700;color:var(--brand2);margin-bottom:2px}.vx-now.between .vx-lab{color:#92400e}
.vx-check{border:1px solid var(--b);border-radius:14px;padding:10px 14px;margin:10px 0;background:#fff}
.vx-check h4{margin:0 0 6px;font-size:.98rem;color:var(--brand2)}
.vx-check ul{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.vx-check li{display:grid;grid-template-columns:auto 1fr;gap:8px;font-size:.92rem;line-height:1.4}
.vx-box{font-size:1.05rem;color:#64748b}
.timeline .tl.done{opacity:.75}.timeline .tl.done .age{color:#15803d}
.timeline .tl.next{border-color:#f59e0b;background:#fffbeb;box-shadow:0 0 0 2px #fde68a inset}
/* fiche santé */
.fs.span2{grid-column:1/-1}
.med-rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin-bottom:8px}.med-rows .med{margin:0}
.chips.grid4{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px}
.row3{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 12px}
.dur{display:flex;gap:6px}.dur input{flex:1;min-width:0}.dur select{width:auto;flex:0 0 auto}
/* sélecteurs à flèches matin, midi, soir, coucher */
.moment{opacity:.6;transition:opacity .15s,background .15s,border-color .15s}
.moment.on{opacity:1;background:#ecfdf5;border-color:#34d399;box-shadow:inset 0 0 0 1px #34d399}
.moment.on .ml{color:#065f46;font-weight:700}
.stp{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:4px}
.stp input{width:3rem;text-align:center;font-weight:700;font-size:1.05rem;padding:6px 2px;margin:0}
.moment.on .stp input{color:#065f46;border-color:#34d399}
.stp-b{margin:0;width:32px;height:32px;min-width:32px;padding:0;border-radius:50%;background:#fff;color:var(--brand2);border:1px solid var(--b);font-size:1.15rem;font-weight:700;line-height:1;box-shadow:none}
.stp-b:hover{border-color:var(--brand);background:var(--soft)}
@media(max-width:420px){.moments{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pm-ds{margin-bottom:2px}
/* fiches imprimées */
.fsub{font-size:.9rem;color:var(--muted)}
.renew{border:2px solid #f59e0b;background:#fffbeb;color:#78350f;border-radius:12px;padding:8px 12px;margin:0 0 10px;font-size:.95rem}
.renew.late{border-color:#ef4444;background:#fef2f2;color:#7f1d1d}
.ftable{width:100%;border-collapse:collapse;font-size:.9rem}
.ftable th{background:var(--soft);color:var(--brand2);font-weight:600;padding:4px 5px;border:1px solid #cbd5e1;font-size:.8rem;text-align:center}
.ftable th:first-child{text-align:left}
.ftable td{border:1px solid #cbd5e1;padding:4px 6px;vertical-align:middle}
.ftable td.q{text-align:center;font-weight:700;color:var(--brand2);width:13%}.ftable td.q.empty{color:#cbd5e1;font-weight:400}
.actions button.secondary{background:#fff;color:var(--brand2);border:1px solid var(--brand)}
@media print{
  @page{size:A4;margin:14mm}
  .renew{font-size:9.5pt;padding:5px 9px;margin-bottom:6px}
  .ftable{font-size:9pt}.ftable th{font-size:8pt}
}
/* PDF (même mise en page que l'impression) */
.pdf-mode{font-size:10pt;color:var(--ink);font-family:inherit}
.pdf-mode .print-sheet{border:0;padding:0;margin:0;font-size:10pt;border-radius:0}
.pdf-mode .fhead{padding-bottom:6px;margin-bottom:8px}.pdf-mode .ftitle{font-size:15pt}.pdf-mode .fname{font-size:12pt}
.pdf-mode .femerg{padding:5px 10px;margin-bottom:8px;font-size:9.5pt}
.pdf-mode .fgrid{gap:6px;grid-template-columns:1fr 1fr}.pdf-mode .fbox{padding:6px 9px;border-radius:10px}.pdf-mode .fbox h3{font-size:10.5pt;margin-bottom:3px}
.pdf-mode .fl{grid-template-columns:75px 1fr;font-size:9.5pt;padding:2px 0}.pdf-mode .fk{font-size:8.5pt}
.pdf-mode .fchips li{font-size:9pt;padding:2px 8px}.pdf-mode .ffoot,.pdf-mode .fnote{font-size:8.5pt}
.pdf-mode .renew{font-size:9.5pt;padding:5px 9px;margin-bottom:6px}
.pdf-mode .ftable{font-size:9pt}.pdf-mode .table-wrap{overflow:visible}
.pdf-mode .plan-sheet .ptable{font-size:11pt}
/* numéros utiles : libellés clairs et icônes vectorielles */
.svgi{width:24px;height:24px}.svgh{width:20px;height:20px;vertical-align:-3px}
.tool-section h2{display:flex;align-items:center;gap:8px}
.tel{grid-template-columns:44px 1fr;column-gap:12px;align-items:center}
.tel .ti{grid-row:span 2;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:inherit}
.tel .tnum{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.tel .lab{font-weight:800;text-transform:uppercase;letter-spacing:.02em;font-size:.95rem;line-height:1.2}
.tel .td{font-size:.86rem}
.num-urg h2,.tel.urg .lab,.tel.urg .n{color:#b91c1c}.tel.urg{border:2px solid #fecaca;background:#fff1f2}.tel.urg .ti{background:#fee2e2;color:#b91c1c}
.num-sante h2,.tel.sante .lab,.tel.sante .n{color:#0b5a52}.tel.sante .ti{background:#ccfbf1;color:#0f766e}
.num-prot h2,.tel.prot .lab,.tel.prot .n{color:#6d28d9}.tel.prot{border-color:#e9d5ff;background:#faf5ff}.tel.prot .ti{background:#ede9fe;color:#6d28d9}
.num-cab h2,.tel.cab .lab,.tel.cab .n{color:#0b5a52}.tel.cab{border:2px solid #99f6e4;background:#f0fdfa}.tel.cab .ti{background:#ccfbf1;color:#0f766e}
.tel-list{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
.tel .n{white-space:nowrap;font-size:1.45rem;line-height:1.15}
@media(max-width:400px){.tel-list{grid-template-columns:1fr}.tel .n{font-size:1.3rem}}
.stp{gap:2px}.stp-b{width:28px;height:28px;min-width:28px;font-size:1.05rem}.stp input{width:2.4rem;padding:5px 1px}
.moment{padding:8px 4px}
.chips.grid4 label:last-child{grid-column:span 3}

/* ===== Version 7 ===== */
/* IMC : légende alignée */
.legend .badge{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;border-radius:14px;line-height:1.25;padding:8px 12px}
.legend .badge br{display:none}
.legend .badge small{font-size:.8rem;font-weight:600;opacity:.85;vertical-align:baseline}
/* vaccins voyage : le type de séjour est mis en évidence après le choix du pays */
fieldset.choices.pulse{animation:pulse 1.6s ease}
@keyframes pulse{0%,100%{box-shadow:none}30%{box-shadow:0 0 0 4px #99f6e4;border-radius:14px}}
@media (prefers-reduced-motion:reduce){fieldset.choices.pulse{animation:none;outline:3px solid #99f6e4;border-radius:14px}}
/* prévenir les chutes */
.room-h{margin:12px 0 4px;font-size:.98rem;color:var(--brand2)}
.tips li{display:flex;gap:8px;align-items:flex-start}
/* numéros utiles : mes numéros */
.mes-form{margin-top:14px;border-top:1px dashed var(--b);padding-top:12px}
.mes-form .row2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 12px}
.mes-form button{margin-top:6px}
.tel.mine{border-style:dashed}.tel.mine.filled{border-style:solid}
.tel.mine:not(.filled) .n{color:#94a3b8;font-size:1.1rem}

/* ===== Version 8 ===== */
.svgb{width:18px;height:18px;vertical-align:-3px;margin-right:2px}
.homefab{display:inline-flex;align-items:center;gap:6px}
.svgr{width:22px;height:22px;vertical-align:-4px;color:var(--brand)}
.ctile .cic{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--soft);color:var(--brand);font-size:inherit}
.svgc{width:28px;height:28px}
.ctile input:checked+.cbox .cic{background:#dcfce7;color:#15803d}
.tip-ic{display:inline-grid;place-items:center;width:30px;height:30px;min-width:30px;border-radius:9px;background:var(--soft);color:var(--brand)}
.tip-ic svg{width:20px;height:20px}
.room-h{display:flex;align-items:center;gap:8px}.room-h svg{width:20px;height:20px;color:var(--brand)}
.hub-card .hc-i{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:var(--soft);color:var(--brand)}
.svgk{width:26px;height:26px}
.msg .advice{display:block;margin-top:6px;font-weight:700}
.tel .td{line-height:1.4}


/* ===== Version 9 ===== */
/* icônes au trait matin, midi, soir, coucher (formulaire et feuilles) */
.mic{width:22px;height:22px;color:var(--brand)}
.moment .mi{display:grid;place-items:center;height:26px}
.moment.on .mic{color:#047857}
.ptable th .mic,.ftable th .mic{width:16px;height:16px;vertical-align:-3px}
.ptable.week td .mic{width:15px;height:15px;vertical-align:-3px;margin-right:2px}
/* flèches haut et bas empilées */
.stp{flex-direction:column-reverse;align-items:center;gap:3px}
.stp input{width:3rem}
.stp-b{width:30px;height:22px;min-width:30px;border-radius:8px;display:grid;place-items:center;padding:0}
.stp-b .chev{width:18px;height:18px}
/* prévenir les chutes */
.notice.danger{margin-top:18px;border:2px solid #dc2626;background:#fef2f2;color:#7f1d1d;border-radius:14px;padding:12px 16px}
.notice.danger .dg-t{margin:0 0 6px;font-weight:800;font-size:1.05rem;color:#b91c1c}
.notice.danger ul{margin:0;padding-left:1.2rem;display:grid;gap:4px}
.msg.blue.strong{border:2px solid #2563eb;background:#eff6ff;color:#1e3a8a;font-weight:600}
.med-num{display:inline-flex;align-items:center;gap:6px}.med-num .mic{width:20px;height:20px}


/* ===== Version 10 ===== */
/* boutons clairs : le texte reste lisible au survol */
.mini-btn:hover,.btn.secondary:hover,.actions button.secondary:hover,.tags .tag-list li button:hover{background:var(--soft);color:var(--brand2);border-color:var(--brand)}
/* boutons du bandeau : même hauteur et même alignement */
.hero .actions{align-items:center}
.hero .actions>.btn{margin-top:0;min-height:46px;padding:10px 18px;font-size:.94rem;font-weight:600;line-height:1.2;box-sizing:border-box}
/* icône du titre des feuilles */
.ftitle{display:flex;align-items:center;gap:8px}.ftitle .fti{width:24px;height:24px;flex:0 0 24px;color:var(--brand)}
/* un peu d’air au-dessus des questions fréquentes */
.faq{margin-top:24px}


/* ===== Version 11 ===== */
/* Ma fiche santé : deux colonnes qui se resserrent (plus de grands vides) */
.fs-masonry{display:block}
.fs-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;align-items:start}
.fs-col{display:flex;flex-direction:column;min-width:0}
.fs-col>.fs{margin:0 0 14px}
@media(max-width:820px){.fs-cols{display:flex;flex-direction:column}.fs-col{display:contents}}
/* Bas de page : outils en lien + tous les outils */
.suite{display:flex;align-items:center;justify-content:space-between;gap:12px 18px;flex-wrap:wrap;margin-top:18px}
.suite-rel{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;min-width:0}
.suite-t{font-weight:700;color:var(--brand2);font-size:.92rem}
.suite-chips{display:flex;gap:8px;flex-wrap:wrap}
.chip-out{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border:1px solid var(--b);border-radius:999px;background:#fff;color:var(--brand2);text-decoration:none;font-weight:500;font-size:.9rem}
.chip-out:hover,.chip-out:focus-visible{border-color:var(--brand);background:var(--soft)}
.chip-out .svgo{width:17px;height:17px;flex:0 0 17px;color:var(--brand)}
.suite-all{flex:0 0 auto;margin-top:0}


/* ===== Version 12 ===== */
/* Fil d'Ariane */
.crumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.9rem;color:var(--muted);margin:4px 2px 10px}
.crumbs a{color:var(--brand2);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.crumbs .sep{opacity:.6}
/* Survols : fond vert clair sur les cartes de l'accueil des outils */
a.card.hub-card:hover,a.card.hub-card:focus-visible{background:var(--soft)}
/* combiné dans les boutons : l'espacement du bouton suffit */
.btn .tel-ic,button .tel-ic{margin-right:0 !important}
/* Cases et pastilles de choix : survol visible */
.tile,.chip{cursor:pointer}
.tile:hover .tbox,.chip:hover span{border-color:var(--brand);background:#f0fdfa}
.moment:hover{border-color:var(--brand)}
