/* PriceLive Health — app mobile v2. Couleurs de marque : bleu #12324A, vert #0A8F6A (vert foncé #087556 pour le texte blanc, contraste AA).
   Polices et rythme repris de css/site.css (Poppins titres, Inter texte, boutons 52 px, rayons 16/24). */
@font-face{font-family:"Poppins";src:url("../fonts/Poppins-SemiBold.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Poppins";src:url("../fonts/Poppins-Bold.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/Inter-Variable.woff2") format("woff2");font-weight:100 900;font-display:swap}
:root{--navy:#12324A;--navy-2:#1B4562;--green:#0A8F6A;--green-ink:#087556;--green-50:#E8F6F1;--blue-50:#EDF3F7;
  --ink:#12233A;--slate:#4A5A6C;--line:#DCE4EB;--bg:#F5F8FA;--white:#fff;--error:#B42318;--error-bg:#FDECEA;--warn-bg:#FFF6DD;--warn:#7A4A00;
  --head:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --r:16px;--r-lg:24px;--sh:0 1px 2px rgba(18,50,74,.06),0 8px 24px -14px rgba(18,50,74,.28);--focus:0 0 0 3px #fff,0 0 0 5.5px var(--green)}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;height:100%;-webkit-text-size-adjust:100%}
body{font:400 1rem/1.55 var(--body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;overflow:hidden}
img,svg{display:block;max-width:100%}
a{color:var(--green-ink);text-underline-offset:3px}
button{font:inherit;color:inherit}
:focus-visible{outline:none;box-shadow:var(--focus);border-radius:10px}
.hidden{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.shell{display:flex;flex-direction:column;height:100vh;height:100dvh;max-width:560px;margin:0 auto;background:var(--white);position:relative}
@media(min-width:600px){.shell{box-shadow:0 0 0 1px var(--line)}}
.topnotice{font-size:.8125rem;line-height:1.4;color:var(--slate);background:var(--blue-50);padding:6px 16px;text-align:center}
.topnotice a{display:inline-block;padding:2px 0}
/* en-tête */
.apphead{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 14px;min-height:60px;border-bottom:1px solid var(--line);background:#fff}
.brand{display:flex;align-items:center;min-height:48px;border-radius:10px}
.brand img{height:48px;width:auto}
.tag{font:600 .75rem/1 var(--head);letter-spacing:.04em;text-transform:uppercase;color:var(--green-ink);background:var(--green-50);padding:5px 8px;border-radius:999px}
.hright{margin-left:auto;display:flex;align-items:center;gap:6px}
.iconbtn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--navy);text-decoration:none;font:600 .875rem/1 var(--head);cursor:pointer}
.mutebtn .i-off{display:none}.mutebtn.muted .i-on{display:none}.mutebtn.muted .i-off{display:block}.mutebtn.muted{background:var(--blue-50)}
.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:0;cursor:pointer;color:#fff;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 55%,var(--green) 140%);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--green)}
.avatar .pdot{display:none;position:absolute;right:-1px;top:-1px;width:13px;height:13px;border-radius:50%;background:var(--green);border:2px solid #fff}
.avatar.has .pdot{display:block}
.avatar[aria-expanded="true"]{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--navy)}
.avatar.big{width:64px;height:64px;flex:none;cursor:default}
/* bandeau de prix */
.pricebar{background:var(--navy);color:#fff;position:relative;z-index:3}
.pricetoggle{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:8px 16px;border:0;background:transparent;color:#fff;text-align:left;font-size:.9375rem;line-height:1.35;cursor:pointer}
.pricetoggle strong{font:700 1.0625rem/1.2 var(--head);color:#7FE0C0}
.pricetoggle .chev{margin-left:auto;flex:none;transition:transform .2s}.pricetoggle[aria-expanded="true"] .chev{transform:rotate(180deg)}
.pulse{flex:none;width:10px;height:10px;border-radius:50%;background:#3DDC97;box-shadow:0 0 0 0 rgba(61,220,151,.6);animation:pl 2s infinite}
.pricetoggle.loading .pulse{background:#F5C451;animation-duration:.8s}
@keyframes pl{0%{box-shadow:0 0 0 0 rgba(61,220,151,.6)}70%{box-shadow:0 0 0 10px rgba(61,220,151,0)}100%{box-shadow:0 0 0 0 rgba(61,220,151,0)}}
.pricebar.flash{animation:fl 1.2s ease-out}@keyframes fl{0%{background:var(--green)}100%{background:var(--navy)}}
.pricepanel{padding:4px 16px 14px;font-size:.9375rem}.pricepanel .ptitle{font-size:.8125rem;opacity:.85;margin:0 0 4px}
.pricepanel .top{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid rgba(255,255,255,.15)}
.pricepanel .btn{margin-top:8px;color:#fff;border-color:rgba(255,255,255,.5);background:transparent}
/* progression */
.progress{padding:10px 16px 8px;border-bottom:1px solid var(--line);background:#fff}
.ptext{font:600 .8125rem/1.2 var(--head);color:var(--slate);margin-bottom:6px}
.pbar{display:flex;gap:4px}.pbar i{flex:1;height:6px;border-radius:3px;background:var(--line);transition:background .3s}.pbar i.on{background:var(--green)}.pbar i.cur{background:var(--navy)}
/* vues */
.view{flex:1;min-height:0}.scroll{overflow-y:auto;-webkit-overflow-scrolling:touch}
.pad{padding:20px 18px 28px}
h1{font:700 1.75rem/1.2 var(--head);color:var(--navy);margin:6px 0 12px;letter-spacing:-.01em}
h2{font:700 1.375rem/1.25 var(--head);color:var(--navy);margin:0 0 10px}
.lead{color:var(--slate);font-size:1.0625rem;margin:0 0 20px}
.small{font-size:.875rem;color:var(--slate);margin:4px 0 0}
.note{font-size:.9375rem;color:var(--warn);background:var(--warn-bg);padding:10px 12px;border-radius:12px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;box-shadow:var(--sh)}
/* boutons (52 px comme sur le site) */
.btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;padding:12px 20px;border-radius:999px;border:2px solid transparent;font:600 1rem/1.25 var(--head);text-decoration:none;cursor:pointer;text-align:center}
.btn+.btn{margin-top:10px}
.btn-primary{background:var(--green-ink);color:#fff}.btn-primary:active{background:#06654a}
.btn-ghost{background:#fff;color:var(--navy);border-color:var(--navy)}
.btn-danger{background:#fff;color:var(--error);border-color:#E7B4AE}.btn-danger.armed{background:var(--error);color:#fff;border-color:var(--error)}
.btn-link{background:transparent;color:var(--navy);text-decoration:underline;border:0}
.btn.sm{min-height:44px;padding:8px 16px;font-size:.9375rem;width:auto}
.btn-voice,.btn-steps{justify-content:flex-start;text-align:left;border-radius:var(--r-lg);padding:14px 16px;gap:14px;min-height:84px}
.btn-voice{background:var(--navy);color:#fff;box-shadow:0 10px 28px -12px rgba(18,50,74,.6)}
.btn-voice b,.btn-steps b{display:block;font:700 1.125rem/1.25 var(--head)}
.btn-voice small,.btn-steps small{display:block;font:400 .875rem/1.35 var(--body);opacity:.9;margin-top:2px}
.btn-steps{background:#fff;color:var(--navy);border-color:var(--line);margin-top:12px}
.micdisc{flex:none;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--green);color:#fff;animation:pl 2s infinite}
.stepico{flex:none;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--green-50);color:var(--green-ink)}
.trust{list-style:none;padding:0;margin:22px 0 8px}
.trust li{position:relative;padding:8px 0 8px 32px;font-size:.9375rem;color:var(--ink)}
.trust li::before{content:"";position:absolute;left:4px;top:12px;width:18px;height:18px;border-radius:50%;background:var(--green-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23087556' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.about{margin-top:10px;border-top:1px solid var(--line)}
.about summary{min-height:48px;display:flex;align-items:center;font:600 .9375rem/1.3 var(--head);color:var(--navy);cursor:pointer}
.about p{font-size:.9375rem;color:var(--slate);margin:0 0 12px}
.saved{margin:0 0 20px;background:var(--green-50);border-color:#BFE6D7}
.saved .kicker{font:600 .8125rem/1.2 var(--head);text-transform:uppercase;letter-spacing:.05em;color:var(--green-ink);margin:0 0 4px}
.saved .ssum{margin:0 0 12px;font-weight:600}
.legal{padding:16px 18px 28px;font-size:.8125rem;line-height:1.5;color:var(--slate);border-top:1px solid var(--line);background:var(--bg)}
.legal p{margin:0 0 8px}.legal a{display:inline-block;padding:4px 0}
/* questionnaire écran par écran */
.steptop{margin:-6px 0 14px}
.backbtn{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 14px 0 6px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--navy);font:600 .9375rem/1 var(--head);cursor:pointer}
.qtitle{font-size:1.5rem;line-height:1.25;margin:0 0 8px}
.qhint{color:var(--slate);margin:0 0 16px;font-size:.9375rem}
.opts{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.opt{min-height:60px;padding:14px 18px;border-radius:var(--r);border:2px solid var(--line);background:#fff;text-align:left;font:600 1.0625rem/1.3 var(--head);color:var(--navy);cursor:pointer}
.opt[aria-pressed="true"]{border-color:var(--green);background:var(--green-50);box-shadow:inset 0 0 0 1px var(--green)}
.field{display:block;margin:16px 0 4px}
.field>span:first-child{display:block;font:600 .9375rem/1.3 var(--head);color:var(--navy);margin-bottom:6px}
.field input{width:100%;height:56px;padding:0 16px;font:500 1.25rem/1 var(--body);border:2px solid var(--line);border-radius:var(--r);background:#fff;color:var(--ink)}
.field input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(10,143,106,.18)}
.inwrap{position:relative;display:block}.inwrap b{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:1.25rem;color:var(--slate)}.inwrap input{padding-left:34px}
.err{min-height:1.4em;color:var(--error);font-size:.9375rem;margin:6px 0 10px}
form .btn-primary{margin-top:6px}
/* mode voix */
.chatview{overflow-y:auto;background:var(--bg)}
.thread{display:flex;flex-direction:column;gap:10px;padding:16px 14px 24px}
.b{max-width:86%;padding:12px 14px;border-radius:20px;font-size:1.0625rem;line-height:1.45;position:relative;word-wrap:break-word}
.b.bot{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:6px;color:var(--ink);padding-left:52px;min-height:52px}
.b.bot .who{position:absolute;left:10px;top:10px;width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;font:700 .625rem/32px var(--head);text-align:center;letter-spacing:.02em}
.b.bot.current{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy)}
.b .badge{display:none;align-items:center;gap:6px;font:600 .75rem/1 var(--head);color:var(--green-ink);margin-bottom:4px}
.b.reading .badge{display:flex}
.eq{display:inline-flex;gap:2px;align-items:flex-end;height:12px}.eq i{width:3px;background:var(--green);animation:eq .8s infinite ease-in-out}.eq i:nth-child(2){animation-delay:.15s}.eq i:nth-child(3){animation-delay:.3s}
@keyframes eq{0%,100%{height:3px}50%{height:12px}}
.b .hint{display:block;font-size:.875rem;color:var(--slate);margin-top:6px}
.b .txt{display:block}
.b.user{align-self:flex-end;background:var(--navy);color:#fff;border-bottom-right-radius:6px}
.b.user.interim{opacity:.7;font-style:italic}
.b.user .heard{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;margin-top:6px;font-size:.8125rem;color:#BFEBDD}
.b.user .heard button{min-height:44px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.45);background:transparent;color:#fff;font:600 .8125rem/1 var(--head);cursor:pointer}
.b.note{align-self:stretch;max-width:100%;font-size:.9375rem;color:var(--warn);background:var(--warn-bg);border-radius:14px}
.confirm{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.confirm button{min-height:44px;padding:0 18px;border-radius:999px;border:0;background:var(--green-ink);color:#fff;font:600 .9375rem/1 var(--head);cursor:pointer}
.confirm button.secondary{background:#fff;color:var(--navy);border:2px solid var(--navy)}
.confirm.used{opacity:.5;pointer-events:none}
.seeall{display:block;width:100%;min-height:48px;margin-top:10px;border-radius:999px;border:0;background:var(--green-ink);color:#fff;font:600 1rem/1 var(--head);cursor:pointer}
.dock{border-top:1px solid var(--line);background:#fff;padding:8px 14px calc(10px + env(safe-area-inset-bottom))}
.status{text-align:center;font:600 .9375rem/1.3 var(--head);color:var(--slate);min-height:1.3em}.status.listening{color:var(--green-ink)}
.dockrow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 0 4px}
.side{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:72px;min-height:56px;border-radius:16px;border:0;background:transparent;color:var(--navy);font:600 .8125rem/1.1 var(--head);cursor:pointer}
.side[aria-pressed="true"]{background:var(--blue-50)}
.mic{position:relative;width:76px;height:76px;border-radius:50%;border:0;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 22px -8px rgba(18,50,74,.6)}
.mic .wave{display:none;position:absolute;bottom:12px;gap:3px}.mic .wave i{width:4px;height:6px;background:#fff;border-radius:2px;animation:eq .7s infinite}.mic .wave i:nth-child(2){animation-delay:.1s}.mic .wave i:nth-child(3){animation-delay:.2s}.mic .wave i:nth-child(4){animation-delay:.3s}
.mic.listening{background:var(--green);animation:micp 1.4s infinite}
.mic.listening .i-mic{transform:translateY(-8px)}.mic.listening .wave{display:flex}
@keyframes micp{0%{box-shadow:0 0 0 0 rgba(10,143,106,.55)}70%{box-shadow:0 0 0 20px rgba(10,143,106,0)}100%{box-shadow:0 0 0 0 rgba(10,143,106,0)}}
.mic.speaking{background:var(--navy-2)}
.mic.off{background:#9AA7B4}
.dockprivacy{text-align:center;font-size:.75rem;color:var(--slate);line-height:1.35}
.kbsheet{border-top:1px solid var(--line);background:#fff;padding:12px 14px;box-shadow:0 -10px 24px -16px rgba(18,50,74,.35)}
.kbtitle{font:600 .875rem/1.3 var(--head);color:var(--slate);margin-bottom:8px}
.kboptions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.kboptions button{min-height:44px;padding:8px 14px;border-radius:999px;border:2px solid var(--line);background:#fff;color:var(--navy);font:600 .9375rem/1.2 var(--head);cursor:pointer;text-align:left}
.kbform{display:flex;gap:8px}.kbform input{flex:1;min-width:0;height:48px;padding:0 14px;font-size:1rem;border:2px solid var(--line);border-radius:999px}
.kbform input:focus{outline:none;border-color:var(--green)}
/* résultats */
.reshead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.reshead h2{margin:0}
.state{text-align:center;margin:8px 0 16px}.state p{margin:0 0 12px}
.state.error{border-color:#F2C1BB;background:var(--error-bg)}.state.error .btn{margin:0 auto}
.spinner{display:block;width:34px;height:34px;margin:4px auto 10px;border-radius:50%;border:4px solid var(--line);border-top-color:var(--green);animation:sp 0.9s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}
.skel{height:150px;border-radius:var(--r-lg);margin-bottom:12px;background:linear-gradient(90deg,#EEF2F5 0%,#F7F9FB 50%,#EEF2F5 100%);background-size:200% 100%;animation:sk 1.2s infinite}@keyframes sk{to{background-position:-200% 0}}
.banner{background:var(--warn-bg);color:var(--warn);border-radius:14px;padding:12px 14px;font-size:.9375rem;margin-bottom:12px}
.summary{font-size:.9375rem;color:var(--slate);margin-bottom:6px}.summary .big{font:700 1.125rem/1.3 var(--head);color:var(--navy)}
.sortnote{font-size:.8125rem;color:var(--slate);margin-bottom:12px}
.plans{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
.plan{border-radius:var(--r-lg)}
.planbtn{display:block;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:16px;box-shadow:var(--sh);cursor:pointer;transition:transform .15s,box-shadow .15s}
.plan.tapped .planbtn{border-color:var(--green);box-shadow:0 0 0 3px rgba(10,143,106,.35);transform:scale(.985)}
.ptop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.metal{display:inline-block;font:700 .75rem/1 var(--head);letter-spacing:.04em;text-transform:uppercase;padding:6px 9px;border-radius:999px;background:#EEF1F4;color:var(--navy)}
.m-Bronze{background:#F6E7DA;color:#6E3B12}.m-Silver{background:#E9EDF1;color:#334155}.m-Gold{background:#FBF0C9;color:#6B4E00}.m-Platinum{background:#E6ECF5;color:#1E3A5F}.m-Catastrophic{background:#FDE7E7;color:#8A1C1C}.m-Expanded{background:#F6E7DA;color:#6E3B12}
.price{font:700 1.5rem/1.1 var(--head);color:var(--navy);text-align:right;white-space:nowrap}.price small{font:500 .8125rem/1 var(--body);color:var(--slate);margin-left:2px}
.planbtn .issuer{display:block;font:700 1.0625rem/1.3 var(--head);color:var(--navy);margin-top:10px}
.planbtn .name{display:block;font-size:.875rem;color:var(--slate);margin-top:2px}
.kv{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px;font-size:.9375rem}.kv b{display:block;font:600 .75rem/1.2 var(--head);color:var(--slate);text-transform:uppercase;letter-spacing:.03em}
.why{display:block;margin-top:12px;padding:10px 12px;border-radius:12px;background:var(--green-50);color:#0B3D2E;font-size:.9375rem;line-height:1.45;border-left:4px solid var(--green)}
.more-link{display:block;margin-top:10px;font:600 .9375rem/1.2 var(--head);color:var(--green-ink)}
.more{font-size:.875rem;color:var(--slate);margin:14px 0 6px}.hclink{display:inline-flex;align-items:center;min-height:44px}
.finalmention{font-size:.8125rem;color:var(--slate);margin-top:8px}
/* fiche plan */
.detail .dlabel{margin:14px 0 0;font:600 .75rem/1 var(--head);color:var(--slate);text-transform:uppercase;letter-spacing:.05em}
.dissuer{font-size:1.625rem;margin:4px 0 2px}.dname{margin:0;color:var(--slate);font-size:.9375rem}
.dprice{font:700 2rem/1.1 var(--head);color:var(--navy);margin:14px 0 4px}.dprice small{display:block;font:500 .875rem/1.3 var(--body);color:var(--slate);margin-top:2px}
.dkv{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin:14px 0}.dkv div{background:var(--bg);border-radius:12px;padding:10px 12px}.dkv dt{font:600 .75rem/1.2 var(--head);color:var(--slate)}.dkv dd{margin:2px 0 0;font-weight:600}
.dactions{margin-top:16px}.dnote{font-size:.8125rem;color:var(--slate);margin:14px 0 0}
/* profil */
.proftop{display:flex;gap:14px;align-items:center;margin-bottom:14px}.proftop h2{margin:0}
.prows{margin:0 0 16px;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.prow{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;padding:10px 12px 10px 16px;border-top:1px solid var(--line)}.prow:first-child{border-top:0}
.prow dt{grid-column:1;font:600 .75rem/1.2 var(--head);color:var(--slate);text-transform:uppercase;letter-spacing:.03em}
.prow dd{grid-column:1;margin:0;font-weight:600;font-size:1rem}.prow .muted{color:#8796A5;font-weight:400}
.chg{grid-column:2;grid-row:1/span 2;min-height:44px;min-width:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--green-ink);font:600 .875rem/1 var(--head);cursor:pointer}
.pmsg{min-height:1.4em;text-align:center;color:var(--green-ink);font-weight:600}
@media(max-width:370px){h1{font-size:1.5rem}.qtitle{font-size:1.3125rem}.apphead{padding:6px 8px 6px 10px;gap:6px}.brand img{height:44px}.tag{display:none}.side{min-width:64px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* QA : lien de la bande d'avertissement — zone tactile ≥44px sans changer la mise en page */
.topnotice a{display:inline-block;padding:13px 2px;margin:-13px 0;min-width:44px}
.b.bot .who{font-size:.75rem}
