/* ==========================================================================
   Aidely — feuille de style
   Principe directeur : rien en dessous de 16px, jamais.
   La base est à 20px. Le bouton « A+ Texte » monte à 24px, il ne répare rien.
   ========================================================================== */

:root{
  /* Couleurs de parcours (reprises de ton prototype, assombries pour le contraste) */
  --purple:#6F3CC3;      --purple-dark:#54269C;  --purple-soft:#F2EBFF;
  --green:#0F7A4D;       --green-dark:#0A5D3A;   --green-soft:#E4F5EC;
  --blue:#17559C;        --blue-dark:#10406F;    --blue-soft:#DEEAFA;
  --danger:#B3261E;      --danger-soft:#FDEAE7;

  --ink:#182135;
  --muted:#4E5668;       /* 7.1:1 sur blanc — l'ancien #667085 était à 4.4 */
  --line:#DEDCE8;
  --paper:#FFFFFF;
  --soft:#F7F5FB;

  --shadow:0 14px 34px rgba(42,27,72,.10);
  --radius:20px;
  --container:1180px;

  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Atkinson Hyperlegible",Verdana,system-ui,-apple-system,"Segoe UI",sans-serif;

  --base:20px;
}

/* Agrandissement du texte : agit sur la racine, tout suit */
html.large-text{ --base:24px; }

/* Contraste renforcé */
html.high-contrast{
  --muted:#1A1A1A;
  --line:#1A1A1A;
  --soft:#FFFFFF;
  --purple:#4A1E92; --green:#0A5636; --blue:#0E3F76; --danger:#8E1710;
}
html.high-contrast body{ background:#fff; color:#000; }
html.high-contrast .door,
html.high-contrast .price-card,
html.high-contrast .ticket-card,
html.high-contrast .faq details{ border-width:3px; border-color:#1A1A1A; }

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

body{
  margin:0;
  font-family:var(--sans);
  font-size:var(--base);
  line-height:1.6;
  color:var(--ink);
  background:var(--paper);
}

button,input,textarea,select{ font:inherit; color:inherit; }
button{ cursor:pointer; }
a{ color:inherit; }
img,svg{ max-width:100%; }

h1,h2,h3{ font-family:var(--serif); font-weight:600; line-height:1.15; letter-spacing:-.015em; margin:0 0 .5rem; }

:focus-visible{ outline:4px solid var(--ink); outline-offset:3px; border-radius:6px; }

.container{ width:min(var(--container), calc(100% - 40px)); margin-inline:auto; }
.container.narrow{ max-width:820px; }

.skip-link{ position:fixed; left:12px; top:-80px; z-index:9999; background:#fff; padding:14px 20px; border:3px solid var(--purple); border-radius:10px; font-weight:700; }
.skip-link:focus{ top:12px; }

/* ============================ EN-TÊTE ============================ */

.site-header{
  position:sticky; top:0; z-index:100;
  background:var(--paper);
  border-bottom:1px solid var(--line);
}
.header-inner{ display:flex; align-items:center; gap:24px; padding:14px 0; flex-wrap:wrap; }

.brand{ display:flex; align-items:center; gap:12px; text-decoration:none; margin-right:auto; }
.brand-mark{ width:46px; height:46px; display:grid; place-items:center; flex:none; }
.brand-mark svg{ width:100%; height:100%; fill:var(--purple); }
.brand-mark svg circle{ fill:#fff; }
.brand-text{ display:flex; flex-direction:column; line-height:1.1; }
.brand-text strong{ font-family:var(--serif); font-size:1.7rem; letter-spacing:-.02em; color:var(--purple-dark); }
.brand-text small{ font-size:.8rem; color:var(--muted); margin-top:2px; }

.header-phone{
  display:flex; align-items:center; gap:12px;
  background:var(--ink); color:#fff; text-decoration:none;
  padding:12px 22px; border-radius:999px; white-space:nowrap;
}
.header-phone svg{ width:26px; height:26px; flex:none; }
.header-phone span{ display:flex; flex-direction:column; line-height:1.2; }
.header-phone strong{ font-size:1.25rem; }
.header-phone small{ font-size:.8rem; opacity:.85; }
.header-phone:hover{ background:#000; }

.header-tools{ display:flex; gap:8px; }
.small-btn{
  border:2px solid var(--line); background:#fff; color:var(--muted);
  font-size:.9rem; font-weight:700; padding:8px 12px; border-radius:10px;
}
.small-btn:hover{ border-color:var(--purple); color:var(--purple-dark); }
.small-btn[aria-pressed="true"]{ background:var(--purple); border-color:var(--purple); color:#fff; }

/* ============================ BOUTONS ============================ */

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  border:3px solid transparent; border-radius:999px;
  padding:16px 28px; font-weight:700; font-size:1.05rem;
  text-decoration:none; transition:transform .15s ease, background .15s ease;
}
.btn:hover{ transform:translateY(-2px); }
.btn.full{ width:100%; }
.btn-purple{ background:var(--purple); color:#fff; }
.btn-purple:hover{ background:var(--purple-dark); }
.btn-green{ background:var(--green); color:#fff; }
.btn-green:hover{ background:var(--green-dark); }
.btn-blue{ background:var(--blue); color:#fff; }
.btn-blue:hover{ background:var(--blue-dark); }
.btn-danger{ background:var(--danger); color:#fff; }
.btn-outline{ background:#fff; color:var(--ink); border-color:var(--line); }
.btn-outline:hover{ border-color:var(--ink); }
.btn-white{ background:#fff; color:var(--blue-dark); }
.btn-ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,.45); font-size:1rem; padding:12px 24px; }
.btn-ghost:hover{ border-color:#fff; background:rgba(255,255,255,.1); }

.button-row{ display:flex; gap:14px; flex-wrap:wrap; margin-top:20px; }

/* ============================ LES TROIS PORTES ============================ */

.doors{ padding:clamp(40px,6vw,72px) 0 clamp(28px,4vw,44px); background:linear-gradient(180deg,var(--soft) 0%, #fff 90%); }
.doors h1{ font-size:clamp(2.3rem,5.6vw,3.9rem); font-weight:500; max-width:16ch; margin-bottom:12px; }
.doors-note{ font-size:1.15rem; color:var(--muted); margin:0 0 clamp(28px,4vw,44px); }

.door-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }

.door{
  --c:var(--purple); --f:var(--purple-soft);
  display:flex; flex-direction:column;
  background:#fff; border:3px solid var(--line); border-radius:var(--radius);
  overflow:hidden; transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.door-green{ --c:var(--green); --f:var(--green-soft); }
.door-blue{ --c:var(--blue); --f:var(--blue-soft); }
.door:hover{ transform:translateY(-5px); border-color:var(--c); box-shadow:var(--shadow); }

.door-visual{ background:var(--f); color:var(--c); padding:26px 24px 4px; display:flex; justify-content:center; }
.door-visual svg{ width:100%; max-width:210px; height:auto; display:block; border-radius:140px 140px 8px 8px; }

.door-body{ padding:24px 26px 28px; display:flex; flex-direction:column; flex:1; }
.door-body h2{ font-size:clamp(1.7rem,2.8vw,2.1rem); color:var(--c); margin-bottom:8px; }
.door-body p{ margin:0 0 22px; color:var(--muted); font-size:1.05rem; flex:1; }
.door-body .btn{ align-self:flex-start; }

/* ============================ MESSAGE SUSPECT ============================ */

.scam-banner{
  width:100%; text-align:left;
  display:flex; align-items:center; gap:20px; flex-wrap:wrap;
  background:var(--danger-soft); border:3px solid var(--danger);
  border-radius:var(--radius); padding:24px 28px;
  margin-bottom:clamp(36px,5vw,56px);
}
.scam-banner:hover{ background:#FBDDD8; }
.scam-icon{
  width:52px; height:52px; flex:none; border-radius:50%;
  background:var(--danger); color:#fff;
  display:grid; place-items:center; font-size:1.9rem; font-weight:700;
}
.scam-text{ display:flex; flex-direction:column; flex:1; min-width:260px; }
.scam-text strong{ font-size:1.2rem; color:var(--danger); }
.scam-text small{ font-size:1rem; color:var(--muted); }
.scam-cta{ font-weight:700; color:var(--danger); white-space:nowrap; }

/* ============================ PLAQUE TÉLÉPHONE ============================ */

.phone-plate{
  background:var(--ink); color:#fff; border-radius:26px;
  padding:clamp(32px,5vw,52px); text-align:center;
  margin-bottom:clamp(36px,5vw,56px);
}
.plate-eyebrow{ margin:0 0 8px; font-size:1.05rem; opacity:.85; }
.plate-number{
  display:inline-block; color:#fff; text-decoration:none;
  font-family:var(--serif); font-weight:600;
  font-size:clamp(2.4rem,7vw,4.2rem); letter-spacing:.02em; line-height:1.1;
  border-bottom:4px solid rgba(255,255,255,.35); padding-bottom:4px;
}
.plate-number:hover{ border-bottom-color:#fff; }
.plate-hours{ margin:16px 0 22px; opacity:.85; font-size:1rem; }

/* ============================ SECTIONS ============================ */

.section{ padding:clamp(40px,6vw,72px) 0; }
.section.soft{ background:var(--soft); }
.section-title{ font-size:clamp(1.9rem,4vw,2.7rem); font-weight:500; margin-bottom:12px; }
.section-lead{ font-size:1.1rem; color:var(--muted); margin:0 0 32px; max-width:62ch; }

.eyebrow-light{ display:block; font-size:.9rem; letter-spacing:.1em; font-weight:700; opacity:.85; margin-bottom:10px; }

/* Étapes : une vraie séquence, donc numérotées */
.steps{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; counter-reset:s; }
.steps li{ background:#fff; border:2px solid var(--line); border-radius:var(--radius); padding:26px; counter-increment:s; }
.steps li::before{
  content:counter(s);
  display:grid; place-items:center; width:56px; height:56px; border-radius:50%;
  background:var(--purple-soft); color:var(--purple-dark);
  font-family:var(--serif); font-size:1.7rem; font-weight:600; margin-bottom:16px;
}
.steps h3{ font-size:1.3rem; margin-bottom:8px; }
.steps p{ margin:0; color:var(--muted); font-size:1rem; }

/* Ce que nous réglons */
.help-list{ list-style:none; margin:0 0 20px; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:14px 32px; }
.help-list li{ position:relative; padding-left:38px; font-size:1.05rem; }
.help-list li::before{
  content:"✓"; position:absolute; left:0; top:0;
  width:26px; height:26px; border-radius:50%;
  background:var(--green); color:#fff;
  display:grid; place-items:center; font-size:.9rem; font-weight:700;
}
.help-note{ font-size:1.1rem; font-weight:700; color:var(--purple-dark); margin:0; }

/* ============================ ESPACE FAMILLE ============================ */

.split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,56px); align-items:start; }

.check-list{ list-style:none; margin:0 0 24px; padding:0; }
.check-list li{ position:relative; padding-left:38px; margin-bottom:12px; font-size:1.05rem; }
.check-list li::before{
  content:"✓"; position:absolute; left:0; top:0;
  width:26px; height:26px; border-radius:50%;
  background:var(--green-soft); color:var(--green-dark);
  display:grid; place-items:center; font-size:.9rem; font-weight:700;
}

.privacy-note{
  background:var(--green-soft); border-left:6px solid var(--green);
  border-radius:12px; padding:18px 20px; font-size:1rem; color:var(--ink);
}
.privacy-note strong{ display:block; margin-bottom:4px; }

.dash-preview{ background:#fff; border:3px solid var(--line); border-radius:var(--radius); padding:22px; box-shadow:var(--shadow); }
.dash-top{ display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:18px; flex-wrap:wrap; }
.dash-top strong{ display:block; font-size:1.1rem; }
.dash-top small{ color:var(--muted); font-size:.95rem; }
.status-live{ color:var(--green-dark); font-weight:700; font-size:.95rem; white-space:nowrap; }

.ticket-card{ border:2px solid var(--line); border-radius:14px; padding:18px; margin-bottom:14px; }
.ticket-card.compact{ display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; }
.ticket-card strong{ display:block; font-size:1.05rem; }
.ticket-card small{ color:var(--muted); font-size:.95rem; }
.ticket-card p{ color:var(--muted); font-size:.95rem; margin:6px 0 12px; }
.ticket-head{ display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:8px; flex-wrap:wrap; }
.ticket-tag{ background:var(--soft); border-radius:8px; padding:4px 10px; font-size:.9rem; font-weight:700; color:var(--muted); }

.status{ border-radius:999px; padding:6px 14px; font-size:.9rem; font-weight:700; white-space:nowrap; }
.status.in-progress{ background:#FFF1DB; color:#8A4B00; }
.status.resolved{ background:var(--green-soft); color:var(--green-dark); }

.timeline{ display:flex; gap:6px; margin-bottom:8px; }
.timeline i{ flex:1; height:8px; border-radius:4px; background:var(--line); }
.timeline i.done{ background:var(--green); }
.timeline i.active{ background:var(--purple); }

/* ============================ TARIFS ============================ */

.price-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; max-width:900px; }
.price-card{ background:#fff; border:3px solid var(--line); border-radius:var(--radius); padding:30px; display:flex; flex-direction:column; position:relative; }
.price-card.featured{ border-color:var(--green); box-shadow:var(--shadow); }
.popular{
  position:absolute; top:-16px; left:30px;
  background:var(--green); color:#fff; font-size:.9rem; font-weight:700;
  padding:6px 16px; border-radius:999px;
}
.price-kicker{ font-size:.95rem; font-weight:700; color:var(--muted); letter-spacing:.05em; text-transform:uppercase; }
.price{ display:flex; align-items:baseline; gap:8px; margin:8px 0 12px; }
.price strong{ font-family:var(--serif); font-size:3rem; font-weight:600; line-height:1; }
.price small{ font-size:1rem; color:var(--muted); }
.price-card > p{ color:var(--muted); font-size:1.02rem; margin:0 0 18px; }
.price-card ul{ list-style:none; margin:0 0 24px; padding:0; flex:1; }
.price-card li{ position:relative; padding-left:30px; margin-bottom:10px; font-size:1rem; }
.price-card li::before{ content:"✓"; position:absolute; left:0; color:var(--green-dark); font-weight:700; }
.price-note{ margin:26px 0 0; font-size:1rem; color:var(--muted); max-width:80ch; }
.price-note strong{ color:var(--ink); }

/* ============================ STRUCTURES ============================ */

.partner-band{
  background:var(--blue); color:#fff; border-radius:26px;
  padding:clamp(30px,4vw,52px);
  display:grid; grid-template-columns:1.3fr 1fr; gap:36px; align-items:center;
}
.partner-band h2{ font-size:clamp(1.7rem,3.4vw,2.4rem); }
.partner-band p{ font-size:1.05rem; opacity:.92; margin:0 0 24px; max-width:52ch; }
.partner-stats{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.partner-stats li{ background:rgba(255,255,255,.12); border-radius:14px; padding:16px; }
.partner-stats strong{ display:block; font-size:1.05rem; }
.partner-stats small{ font-size:.92rem; opacity:.88; }

/* ============================ FAQ ============================ */

.faq details{ background:#fff; border:2px solid var(--line); border-radius:14px; margin-bottom:12px; }
.faq summary{ padding:20px 24px; font-weight:700; font-size:1.08rem; cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:16px; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; font-size:1.6rem; line-height:1; color:var(--purple); }
.faq details[open] summary::after{ content:"–"; }
.faq p{ margin:0; padding:0 24px 22px; color:var(--muted); font-size:1.02rem; }

/* ============================ PIED DE PAGE ============================ */

footer{ background:var(--ink); color:#fff; padding:48px 0 100px; }
.footer-grid{ display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:32px; }
.footer-grid > div{ display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
.footer-grid strong{ font-size:1.05rem; margin-bottom:4px; }
.footer-grid a, .footer-grid button{ color:#fff; background:none; border:0; padding:0; text-align:left; font-size:1rem; opacity:.85; text-decoration:none; }
.footer-grid a:hover, .footer-grid button:hover{ opacity:1; text-decoration:underline; }
.footer-brand-col p{ font-size:.98rem; opacity:.8; margin:0; }
.footer-brand-col .brand-text strong{ color:#fff; }
.footer-brand-col .brand-text small{ color:rgba(255,255,255,.75); }
.footer-phone{ font-family:var(--serif); font-size:1.6rem; font-weight:600; opacity:1 !important; text-decoration:none; }
.footer-bottom{ display:flex; flex-wrap:wrap; gap:16px; justify-content:space-between; margin-top:36px; padding-top:22px; border-top:1px solid rgba(255,255,255,.2); font-size:.92rem; opacity:.75; }
.proto-note{ flex-basis:100%; font-style:italic; }

/* ============================ APPEL PERMANENT (MOBILE) ============================ */

.sticky-call{
  position:fixed; left:0; right:0; bottom:0; z-index:120;
  display:none; align-items:center; justify-content:center; gap:12px;
  background:var(--ink); color:#fff; text-decoration:none;
  width:100%; border:0; padding:18px; font-family:inherit; font-size:1.25rem; font-weight:700; cursor:pointer;
  box-shadow:0 -6px 24px rgba(24,33,53,.25);
}
.sticky-call svg{ width:28px; height:28px; }

/* ============================ MODALES ============================ */

dialog{
  border:0; padding:0; background:transparent;
  width:min(640px, calc(100% - 32px)); max-height:92vh;
}
dialog::backdrop{ background:rgba(24,33,53,.6); }
.modal-shell{
  background:#fff; border-radius:22px; padding:32px;
  max-height:92vh; overflow-y:auto; position:relative;
}
.modal-close{
  position:absolute; top:14px; right:14px;
  width:48px; height:48px; border-radius:50%;
  border:2px solid var(--line); background:#fff;
  font-size:1.8rem; line-height:1; display:grid; place-items:center;
}
.modal-close:hover{ border-color:var(--ink); }

.modal-kicker{ display:block; font-size:.92rem; font-weight:700; letter-spacing:.1em; color:var(--purple); margin-bottom:8px; }
.modal-kicker.green-text{ color:var(--green-dark); }
.modal-kicker.orange-text{ color:var(--danger); }
.modal-kicker.blue-text{ color:var(--blue-dark); }
.wizard h2, .family-modal h2{ font-size:1.9rem; margin-bottom:10px; padding-right:48px; }
.wizard h3{ font-size:1.25rem; margin:22px 0 12px; }
.modal-intro{ color:var(--muted); font-size:1.02rem; margin:0 0 20px; }
.modal-note{ display:block; margin-top:14px; font-size:.95rem; color:var(--muted); }
.callback-alt{ background:var(--soft); border-radius:12px; padding:14px 18px; font-size:1rem; margin:0 0 20px; }

.progress{ display:flex; gap:8px; margin-bottom:24px; }
.progress i{ flex:1; height:8px; border-radius:4px; background:var(--line); }
.progress i.active{ background:var(--purple); }

.wizard-step{ display:none; }
.wizard-step.active{ display:block; }

.option-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.option-grid button{
  display:flex; flex-direction:column; align-items:flex-start; gap:8px;
  background:#fff; border:3px solid var(--line); border-radius:14px;
  padding:18px; text-align:left; font-size:1.05rem;
}
.option-grid button span{ font-size:1.7rem; line-height:1; }
.option-grid button:hover{ border-color:var(--purple); background:var(--purple-soft); }
.option-grid button.selected{ border-color:var(--purple); background:var(--purple-soft); }
.protect-options button:hover, .protect-options button.selected{ border-color:var(--danger); background:var(--danger-soft); }

.field{ display:block; margin-bottom:18px; }
.field > span{ display:block; font-weight:700; margin-bottom:8px; font-size:1.02rem; }
.field input, .field textarea{
  width:100%; padding:14px 16px;
  border:3px solid var(--line); border-radius:12px; background:#fff;
}
.field input:focus, .field textarea:focus{ border-color:var(--purple); outline:none; }
.two-fields{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }

.field.invalid input, .field.invalid textarea{ border-color:var(--danger); background:var(--danger-soft); }
.field-error{ display:block; margin-top:8px; color:var(--danger); font-weight:700; font-size:.98rem; }

fieldset.urgency{ border:0; margin:0 0 18px; padding:0; }
.urgency legend{ font-weight:700; padding:0; margin-bottom:10px; }
.urgency label{ display:flex; gap:12px; align-items:flex-start; margin-bottom:10px; font-size:1.02rem; }
.urgency input{ width:24px; height:24px; margin:2px 0 0; flex:none; accent-color:var(--purple); }

.check{ display:flex; gap:14px; align-items:flex-start; margin:18px 0; font-size:1.02rem; }
.check input{ width:26px; height:26px; margin:2px 0 0; flex:none; accent-color:var(--purple); }
.check.invalid span{ color:var(--danger); font-weight:700; }

.consent-box, .danger-box{ border-radius:14px; padding:20px; margin-bottom:22px; }
.consent-box{ background:var(--green-soft); border-left:6px solid var(--green); }
.consent-box strong{ display:block; margin-bottom:6px; }
.consent-box p{ margin:0; font-size:1rem; color:var(--muted); }
.danger-box{ background:var(--danger-soft); border-left:6px solid var(--danger); }
.danger-box strong{ display:block; margin-bottom:10px; color:var(--danger); }
.danger-box ul{ margin:0; padding-left:22px; }
.danger-box li{ margin-bottom:6px; font-size:1.02rem; }

.hidden{ display:none; }
.protect-follow{ margin-top:24px; padding-top:22px; border-top:2px solid var(--line); }
.protect-follow h3{ margin-top:0; }

.family-top{ display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:18px; }
.family-top strong{ display:block; font-size:1.15rem; }
.family-top small{ color:var(--muted); font-size:.95rem; }
.family-metrics{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:20px; }
.family-metrics div{ background:var(--soft); border-radius:12px; padding:14px; text-align:center; }
.family-metrics small{ display:block; color:var(--muted); font-size:.92rem; }
.family-metrics strong{ font-family:var(--serif); font-size:1.8rem; }

.success-state{ text-align:center; padding:12px 0; }
.success-icon{
  width:76px; height:76px; margin:0 auto 20px; border-radius:50%;
  background:var(--green-soft); color:var(--green-dark);
  display:grid; place-items:center; font-size:2.4rem; font-weight:700;
}
.success-state h2{ padding-right:0; }
.success-state p{ color:var(--muted); font-size:1.05rem; max-width:46ch; margin:0 auto; }
.reference{ display:inline-block; margin-top:16px; background:var(--soft); border-radius:10px; padding:10px 18px; font-weight:700; }

/* ============================ RESPONSIVE ============================ */

@media (max-width:1000px){
  .door-grid{ grid-template-columns:1fr; }
  .steps{ grid-template-columns:1fr; }
  .split{ grid-template-columns:1fr; }
  .partner-band{ grid-template-columns:1fr; }
  .price-grid{ grid-template-columns:1fr; max-width:560px; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
}

@media (max-width:820px){
  .header-phone{ display:none; }      /* remplacé par la barre fixe en bas */
  .sticky-call{ display:flex; }
  body{ padding-bottom:78px; }
  .header-inner{ padding:12px 0; }
  .help-list{ grid-template-columns:1fr; }
}

@media (max-width:640px){
  .container{ width:calc(100% - 32px); }
  .brand-text small{ display:none; }
  .option-grid{ grid-template-columns:1fr; }
  .two-fields{ grid-template-columns:1fr; }
  .family-metrics{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; }
  .modal-shell{ padding:24px 20px; }
  .scam-cta{ display:none; }
  .button-row .btn{ flex:1 1 100%; }
}

/* ============================ MOUVEMENT RÉDUIT ============================ */

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *{ transition:none !important; animation:none !important; }
  .btn:hover, .door:hover{ transform:none; }
}

/* ==========================================================================
   PAGES INTÉRIEURES
   ========================================================================== */

/* Navigation principale (ajoutée sur toutes les pages) */
.main-nav{ display:flex; gap:22px; flex-wrap:wrap; }
.main-nav a{ font-weight:700; font-size:1rem; color:var(--muted); text-decoration:none; padding:6px 0; border-bottom:3px solid transparent; }
.main-nav a:hover{ color:var(--ink); border-bottom-color:var(--line); }
.main-nav a[aria-current="page"]{ color:var(--purple-dark); border-bottom-color:var(--purple); }

/* Fil d'Ariane */
.crumbs{ padding:18px 0 0; font-size:.98rem; color:var(--muted); }
.crumbs a{ color:var(--muted); }

/* En-tête de page intérieure */
.page-hero{ padding:clamp(36px,5vw,64px) 0; }
.page-hero.tint-green{ background:linear-gradient(180deg,var(--green-soft) 0%,#fff 92%); }
.page-hero.tint-purple{ background:linear-gradient(180deg,var(--purple-soft) 0%,#fff 92%); }
.page-hero.tint-blue{ background:linear-gradient(180deg,var(--blue-soft) 0%,#fff 92%); }
.page-hero.tint-danger{ background:linear-gradient(180deg,var(--danger-soft) 0%,#fff 92%); }
.page-hero .split{ align-items:center; }
.page-hero h1{ font-size:clamp(2.1rem,4.8vw,3.4rem); font-weight:500; margin-bottom:16px; }
.page-hero .lead{ font-size:1.15rem; color:var(--muted); margin:0 0 26px; max-width:52ch; }
.kicker{ display:block; font-size:.95rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin-bottom:12px; color:var(--purple-dark); }
.kicker.green{ color:var(--green-dark); }
.kicker.blue{ color:var(--blue-dark); }
.kicker.danger{ color:var(--danger); }

/* Emplacement photo : reste présentable même sans image */
.photo{
  position:relative; border-radius:var(--radius); overflow:hidden;
  background:var(--soft); border:2px solid var(--line);
  aspect-ratio:4/3; display:grid; place-items:center;
}
.photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.photo .photo-brief{
  position:absolute; inset:0; display:grid; place-items:center; text-align:center;
  padding:24px; color:var(--muted); font-size:.98rem; pointer-events:none;
}
.photo img[src]:not([src=""]) + .photo-brief{ display:none; }

/* Signes de reconnaissance */
.signs{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.signs li{ background:#fff; border:2px solid var(--line); border-left:6px solid var(--green); border-radius:14px; padding:22px 24px; font-size:1.05rem; }

/* Tableau vu / pas vu */
.see-grid{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.see-col{ border-radius:var(--radius); padding:26px; border:3px solid var(--line); }
.see-col.yes{ background:var(--green-soft); border-color:var(--green); }
.see-col.no{ background:var(--danger-soft); border-color:var(--danger); }
.see-col h3{ font-size:1.3rem; margin-bottom:14px; }
.see-col.yes h3{ color:var(--green-dark); }
.see-col.no h3{ color:var(--danger); }
.see-col ul{ list-style:none; margin:0; padding:0; }
.see-col li{ position:relative; padding-left:34px; margin-bottom:12px; font-size:1.02rem; }
.see-col.yes li::before{ content:"✓"; position:absolute; left:0; color:var(--green-dark); font-weight:700; font-size:1.2rem; }
.see-col.no li::before{ content:"✕"; position:absolute; left:0; color:var(--danger); font-weight:700; font-size:1.2rem; }

/* Encadré « comment reconnaître un vrai appel Aidely » */
.callsign{
  background:var(--ink); color:#fff; border-radius:var(--radius);
  padding:clamp(26px,4vw,40px);
}
.callsign h2{ color:#fff; font-size:clamp(1.6rem,3.2vw,2.2rem); }
.callsign p{ opacity:.9; max-width:60ch; }
.callsign ol{ margin:20px 0 0; padding-left:24px; }
.callsign li{ margin-bottom:14px; font-size:1.05rem; }
.callsign strong{ color:#fff; }
.callsign .word{ display:inline-block; background:rgba(255,255,255,.15); border:2px dashed rgba(255,255,255,.5); border-radius:10px; padding:4px 14px; font-weight:700; letter-spacing:.05em; }

/* Bandeau d'appel à l'action de fin de page */
.end-cta{ background:var(--soft); border-radius:26px; padding:clamp(30px,4vw,52px); text-align:center; }
.end-cta h2{ font-size:clamp(1.8rem,3.6vw,2.6rem); font-weight:500; max-width:24ch; margin:0 auto 14px; }
.end-cta p{ color:var(--muted); max-width:56ch; margin:0 auto 26px; font-size:1.08rem; }
.end-cta .button-row{ justify-content:center; }

/* Étapes numérotées, variante verte */
.steps.green li::before{ background:var(--green-soft); color:var(--green-dark); }
.steps.blue li::before{ background:var(--blue-soft); color:var(--blue-dark); }
.steps.danger li::before{ background:var(--danger-soft); color:var(--danger); }
.steps.two{ grid-template-columns:repeat(2,1fr); }
.steps.four{ grid-template-columns:repeat(4,1fr); }

/* Grille de cartes simples */
.card-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.card-grid article{ background:#fff; border:2px solid var(--line); border-radius:var(--radius); padding:26px; }
.card-grid h3{ font-size:1.25rem; margin-bottom:8px; }
.card-grid p{ margin:0; color:var(--muted); font-size:1rem; }

/* Ce qu'il ne faut jamais faire (page arnaques) */
.never{ background:var(--danger-soft); border:3px solid var(--danger); border-radius:var(--radius); padding:clamp(24px,3vw,36px); }
.never h2{ color:var(--danger); }
.never ul{ list-style:none; margin:16px 0 0; padding:0; }
.never li{ position:relative; padding-left:38px; margin-bottom:14px; font-size:1.08rem; font-weight:700; }
.never li::before{ content:"✕"; position:absolute; left:0; top:-2px; width:26px; height:26px; border-radius:50%; background:var(--danger); color:#fff; display:grid; place-items:center; font-size:.9rem; }

/* Exemples de messages frauduleux */
.fake-msg{ background:#fff; border:2px solid var(--line); border-radius:16px; padding:20px 22px; margin-bottom:14px; }
.fake-msg .from{ font-size:.95rem; color:var(--muted); margin-bottom:8px; }
.fake-msg .body{ background:var(--soft); border-radius:12px; padding:14px 16px; font-size:1.02rem; }
.fake-msg .tell{ margin:14px 0 0; font-size:1rem; color:var(--danger); font-weight:700; }

@media (max-width:1000px){
  .signs, .see-grid, .card-grid, .steps.four, .steps.two{ grid-template-columns:1fr; }
}
@media (max-width:820px){
  .main-nav{ display:none; }
}

/* ========================================================================== 
   Aidely V1.1 — espace connecté / dashboards
   ========================================================================== */
.brand-logo{display:block;width:230px;max-width:40vw;height:auto}.brand-logo-small{width:190px;height:auto}
.door-photo{width:100%;height:100%;min-height:210px;object-fit:cover;display:block}.door-visual.has-photo{padding:0;overflow:hidden;background:#eee}
.auth-shell{min-height:70vh;display:grid;place-items:center;padding:60px 20px;background:linear-gradient(180deg,#fbf9ff,#fff)}
.auth-card{width:min(620px,100%);background:white;border:1px solid #e8e1f5;border-radius:24px;padding:34px;box-shadow:0 18px 60px rgba(43,29,81,.09)}
.auth-card h1{margin-top:0}.auth-tabs{display:flex;gap:8px;margin:20px 0}.auth-tabs button{flex:1;border:1px solid #d8ccee;background:#fff;border-radius:12px;padding:12px;font:inherit;font-weight:700;cursor:pointer}.auth-tabs button.active{background:#f1ebff;border-color:#7442ca;color:#5424a6}
.form-stack{display:grid;gap:16px}.form-stack .field{display:grid;gap:7px}.form-stack label{font-weight:700}.form-stack input,.form-stack select,.form-stack textarea{width:100%;font:inherit;font-size:1rem;border:1.5px solid #cfc8da;border-radius:12px;padding:13px 14px;background:#fff;color:#15213e}.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus{outline:3px solid rgba(111,61,194,.16);border-color:#6f3dc2}.auth-note{font-size:.93rem;color:#5d6575}.demo-logins{border-top:1px solid #eee;margin-top:24px;padding-top:20px}.demo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.demo-grid button{border:1px solid #ddd;background:#fafafa;padding:12px;border-radius:10px;cursor:pointer;font:inherit}
.app-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #ebe8f0}.app-header-inner{min-height:76px;display:flex;align-items:center;gap:20px;justify-content:space-between}.app-nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.app-nav a,.app-nav button{font:inherit;font-weight:700;color:#26314b;background:none;border:0;padding:9px 11px;border-radius:9px;text-decoration:none;cursor:pointer}.app-nav a:hover,.app-nav button:hover{background:#f4f0fb}.role-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eee8fb;color:#5c2bb2;font-size:.82rem;font-weight:700}
.dashboard{padding:34px 0 80px;background:#faf9fc;min-height:calc(100vh - 76px)}.dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.dashboard-head h1{margin:0}.dashboard-head p{margin:.4rem 0 0;color:#626b7d}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0 28px}.kpi{background:#fff;border:1px solid #ece8f2;border-radius:18px;padding:20px}.kpi strong{display:block;font-size:2rem;color:#24144a}.kpi span{color:#687185}
.panel-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:20px}.panel{background:#fff;border:1px solid #ece8f2;border-radius:20px;padding:22px}.panel h2{margin-top:0}.ticket-list{display:grid;gap:12px}.ticket{border:1px solid #e8e4ec;border-radius:14px;padding:15px;display:grid;gap:8px}.ticket-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.ticket-ref{font-weight:800;color:#39205f}.status{display:inline-flex;border-radius:999px;padding:5px 9px;background:#edf3ff;color:#2455a5;font-size:.8rem;font-weight:800;text-transform:capitalize}.status.resolu{background:#e8f7ef;color:#12713d}.status.p0{background:#ffe8e3;color:#b2351d}.status.en_cours{background:#fff1d6;color:#8a5900}.ticket p{margin:0;color:#596174}.ticket-meta{font-size:.86rem;color:#7a8291}.ticket-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.ticket-actions button,.ticket-actions select,.ticket-actions input{font:inherit;border:1px solid #d9d3e1;border-radius:9px;padding:8px 10px;background:#fff}.ticket-actions button{cursor:pointer;font-weight:700}.ticket-actions .primary{background:#6433bb;color:#fff;border-color:#6433bb}
.notification-list{display:grid;gap:9px}.notification{border-left:4px solid #7240ca;background:#faf7ff;border-radius:8px;padding:11px 12px}.notification.unread{background:#f3edff}.notification strong{display:block}.notification small{color:#747c8e}.invite-card{background:#eefaf2;border:1px solid #cfe9d8;border-radius:16px;padding:18px}.invite-code{font-size:1.6rem;letter-spacing:.08em;font-weight:800;color:#157a43;margin:8px 0}.empty-state{padding:28px;text-align:center;color:#687185;border:1px dashed #d8d2df;border-radius:14px}.table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:840px}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid #eee;padding:11px 9px;vertical-align:top}.admin-table th{font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:#6d7584}.admin-table select,.admin-table input,.admin-table textarea{font:inherit;border:1px solid #d7d0df;border-radius:8px;padding:7px}.admin-table textarea{min-width:220px}.notice-bar{padding:11px 15px;border-radius:12px;background:#fff7e5;border:1px solid #f3dca7;margin-bottom:18px;color:#5f4915}.success-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:24px}.payment-state{text-align:center;padding:60px 20px}.payment-state .big-icon{font-size:4rem}.pricing-final-note{background:#f9f7fd;border:1px solid #e6def3;padding:14px 16px;border-radius:12px;margin-top:18px;color:#555f70}.photo img{width:100%;height:100%;object-fit:cover;border-radius:22px}.photo .photo-brief{display:none}

@media(max-width:900px){.panel-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.app-header-inner{align-items:flex-start;padding:12px 0}.brand-logo{max-width:55vw}.app-nav{justify-content:flex-end}}
@media(max-width:600px){.kpi-grid{grid-template-columns:1fr 1fr}.dashboard-head{display:block}.auth-card{padding:24px 18px;border-radius:18px}.demo-grid{grid-template-columns:1fr}.app-header-inner{display:block}.app-nav{margin-top:10px;justify-content:flex-start}.brand-logo{max-width:70vw}.ticket-top{align-items:flex-start}.door-photo{min-height:180px}}

/* ======================= Aidely V1.4 CORE ASSIST ======================= */
.ai-review-card{display:flex;gap:14px;align-items:flex-start;padding:18px;border:1px solid #dfd3f4;background:#f8f4ff;border-radius:18px;margin:14px 0}.ai-review-card strong{display:block;font-size:1.05rem;line-height:1.45}.ai-review-card span[data-ai-category]{display:block;margin-top:7px;color:#6b5b7d;font-size:.92rem}.ai-review-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#6f3dc2;color:#fff;font-size:1.2rem;flex:0 0 38px}.ai-reassurance{font-size:.92rem;color:#62566f;background:#f7f7f8;border-radius:12px;padding:11px 13px}.protect-contact{margin:16px 0}.assist-container{padding-bottom:48px}.assist-live-badge{display:inline-flex;align-items:center;padding:9px 13px;border-radius:999px;background:#f0ecf8;color:#5b3a8c;font-weight:800}.assist-live-badge[data-state="en direct"],.assist-live-badge[data-state="partage actif"]{background:#e7f8ee;color:#187743}.assist-live-badge[data-state="erreur"],.assist-live-badge[data-state="interrompu"]{background:#fff0f0;color:#b42318}.assist-ticket-panel{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:18px;align-items:start;margin-bottom:20px}.assist-ticket-panel h2{margin:8px 0 7px}.ai-mini-card{display:flex;gap:11px;padding:14px;border-radius:15px;background:#f8f4ff}.ai-mini-card>span{color:#6f3dc2;font-size:1.3rem}.ai-mini-card p{margin:5px 0 0}.assist-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px}.assist-stage{min-width:0}.assist-stage-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.assist-stage-head h2{margin-top:0}.video-shell{position:relative;width:100%;aspect-ratio:16/9;background:#111827;border-radius:20px;overflow:hidden;margin:14px 0}.video-shell video{width:100%;height:100%;object-fit:contain;display:block;background:#111827}.video-shell canvas{position:absolute;inset:0;z-index:3;pointer-events:none}.video-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:25px;background:linear-gradient(145deg,#171c2b,#242b40);z-index:2}.video-placeholder[hidden]{display:none}.video-placeholder span{font-size:2.3rem}.video-placeholder strong{font-size:1.15rem;margin-top:8px}.video-placeholder p{max-width:460px;color:#d8dce6}.assist-actions{display:flex;gap:10px;flex-wrap:wrap}.guide-message{display:flex;gap:10px;align-items:center;padding:12px 14px;margin:-2px 0 14px;border-radius:13px;background:#fff6db;color:#6c5200}.guide-message[hidden]{display:none}.active-guide{box-shadow:0 0 0 4px rgba(40,167,101,.16)}.assist-side h2{margin-top:0}.assist-safety{padding:14px;border-radius:14px;background:#eef8f3}.assist-safety p{margin:6px 0 0}.assist-steps{padding-left:22px;display:grid;gap:10px;color:#8a8291}.assist-steps li.active{color:#38244e;font-weight:700}.assist-log{border-top:1px solid #eee5f6;margin-top:18px;padding-top:15px}.assist-log p{margin-bottom:0}.full{width:100%}@media(max-width:850px){.assist-layout,.assist-ticket-panel{grid-template-columns:1fr}.assist-side{order:-1}.video-shell{border-radius:14px}.assist-stage-head{flex-direction:column}}
.ticket-ai{margin:12px 0;padding:12px 14px;border-radius:13px;background:#f8f4ff}.ticket-ai span{font-weight:800;color:#6f3dc2}.ticket-ai p{margin:5px 0 0}.ticket-ai.tech{background:#eef8f3}.ticket-ai.tech span{color:#187743}.assist-link{text-decoration:none;display:inline-flex;align-items:center}.pending-link{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid #eee}.pending-link:last-child{border-bottom:0}.pending-link span{display:block;color:#6f6577;margin-top:3px}@media(max-width:650px){.pending-link{align-items:flex-start;flex-direction:column}}


/* ======================= Aidely V1.5 DEVICE INTELLIGENCE ======================= */
.device-list{display:grid;gap:14px}.device-card{border:1px solid #e7e1ed;border-radius:18px;padding:18px;background:#fff}.device-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.device-card-head>div{display:grid;grid-template-columns:auto 1fr;column-gap:10px}.device-icon{font-size:1.8rem;grid-row:1/3}.device-card-head strong{font-size:1.08rem}.device-card-head small{color:#6c7484;margin-top:3px}.health-score{font-weight:900;color:#5a2ca7;background:#f3edff;border-radius:999px;padding:7px 10px}.device-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.device-metrics span{display:grid;gap:3px;background:#faf9fc;border-radius:12px;padding:10px;color:#616a79;font-size:.92rem}.device-metrics b{color:#2e3542}.findings{margin:0 0 12px;padding-left:22px}.finding.warning{color:#7a5600}.finding.critical{color:#a72a1a}.pair-code-card{margin-top:14px;padding:18px;border-radius:16px;background:#eef8f3;text-align:center}.pair-code-card span,.pair-code-card small{display:block;color:#5e6b64}.pair-code-card strong{display:block;font-size:2rem;letter-spacing:.12em;color:#176a3f;margin:6px}.device-steps{padding-left:22px;display:grid;gap:8px}.privacy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.privacy-grid div{padding:12px;border-radius:12px;background:#faf9fc}.device-selected{margin:0 0 14px;padding:13px 15px;border-radius:14px;background:#eef8f3;border:1px solid #d4ecde}.device-selected strong,.device-selected span{display:block}.device-selected span{margin-top:4px;color:#65716a}.ticket-device{margin:8px 0;padding:11px 13px;border-radius:12px;background:#eef8f3}.ticket-device span{font-weight:800;color:#187743}.ticket-device p{margin:5px 0 0}@media(max-width:760px){.device-metrics,.privacy-grid{grid-template-columns:1fr}.device-card-head{flex-direction:column}.health-score{align-self:flex-start}}

/* V1.6 — Aidely Guide natif */
.native-guide-card{margin-top:16px;padding:14px;border:1px solid #eadff7;border-radius:14px;background:#fbf8ff}.native-guide-card[hidden]{display:none}.native-guide-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.native-guide-head span{font-size:.78rem;font-weight:800;padding:5px 8px;border-radius:999px;background:#f1edf6;color:#6b5b7d}.native-guide-head span.online{background:#e7f8ee;color:#187743}.native-guide-head span.offline{background:#fff3e6;color:#98540c}.native-guide-card p{margin:8px 0 0;font-size:.9rem;color:#61566d}.native-guide-warning{padding:9px 10px;border-radius:10px;background:#fff6db!important;color:#6c5200!important}.native-guide-card code{font-size:.8rem}

/* ======================= Aidely V1.7 ASSIST COPILOT ======================= */
.pre-ticket-device ul{margin:9px 0 0;padding-left:20px;color:#5c695f}.pre-ticket-device li+li{margin-top:4px}
.device-diagnostic-page{padding-bottom:52px}.device-health-hero{display:flex;justify-content:space-between;gap:22px;align-items:center}.device-health-hero>div:first-child{display:flex;gap:15px;align-items:center}.device-health-hero h2{margin:0}.device-health-hero p{margin:4px 0 0;color:#6d7482}.health-gauge{width:112px;height:112px;border-radius:50%;display:grid;place-content:center;text-align:center;background:#eef8f3;border:8px solid #cfead9;color:#176a3f}.health-gauge strong{font-size:2rem;line-height:1}.health-gauge span{font-size:.85rem}.health-gauge small{display:block;max-width:86px;margin-top:5px;font-size:.7rem}.health-gauge[data-state="watch"]{background:#f6f1ff;border-color:#e2d6f5;color:#6335a8}.health-gauge[data-state="warning"]{background:#fff7df;border-color:#f1dfaa;color:#815d00}.health-gauge[data-state="critical"]{background:#fff0ec;border-color:#f5cfc5;color:#a72a1a}
.diagnostic-findings{list-style:none;padding:0;margin:18px 0;display:grid;gap:10px}.diagnostic-finding{display:flex;gap:10px;padding:12px 13px;border-radius:12px;background:#faf9fc}.diagnostic-finding>span{font-weight:900}.diagnostic-finding strong,.diagnostic-finding p{display:block;margin:0}.diagnostic-finding p{margin-top:3px;color:#626a77}.diagnostic-finding.warning{background:#fff8e8;color:#7b5904}.diagnostic-finding.critical{background:#fff0ed;color:#a52d1b}.diagnostic-ok{padding:13px;border-radius:12px;background:#eaf8f0;color:#176a3f;font-weight:700}.diagnostic-reassurance{margin-top:18px;padding:14px;border-radius:14px;background:#f7f7f9}.diagnostic-reassurance p{margin:4px 0 0;color:#626a77}
.history-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.history-head h2{margin:0}.history-head p{margin:5px 0 0;color:#6c7484}.support-history{display:grid;gap:10px;margin-top:14px}.history-item{border:1px solid #e8e3ed;border-radius:13px;padding:13px;background:#fff}.history-item>div:first-child{display:flex;justify-content:space-between;gap:12px}.history-item span{font-size:.82rem;color:#7b8290}.history-item p{margin:8px 0 0;color:#596174}.history-resolution{margin-top:9px;padding:10px;border-radius:10px;background:#eef8f3;color:#315c45}.history-item.mini{padding:10px}.history-item.mini p{font-size:.88rem}.empty-state.compact{padding:14px}
.copilot-button{border-color:#6f3dc2!important;color:#5b2fa4!important;background:#f7f1ff!important}.support-context-panel{margin-top:14px;padding:15px;border:1px solid #e5dcf0;border-radius:15px;background:#fcfaff}.support-context-head{display:grid;gap:3px;margin-bottom:10px}.support-context-head small{color:#727987}.copilot-loading{padding:13px;border-radius:11px;background:#f7f3fc;color:#655674}.copilot-error{padding:13px;border-radius:11px;background:#fff0ed;color:#9b2e20}.copilot-error p{margin:5px 0 0}.copilot-result{display:grid;gap:13px}.copilot-title{display:flex;gap:10px}.copilot-title>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#6f3dc2;color:#fff;flex:0 0 34px}.copilot-title p{margin:4px 0 0;color:#5f6674}.copilot-causes{display:grid;gap:8px}.copilot-causes>div{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border-radius:10px;background:#f7f5fa}.copilot-causes>div>span{font-weight:900;color:#6f3dc2;min-width:38px}.copilot-causes p,.copilot-causes small{margin:0;display:block}.copilot-causes small{color:#727987;margin-top:2px}.copilot-history-reuse{padding:11px 12px;border-radius:11px;background:#eef8f3}.copilot-history-reuse p{margin:4px 0 0}.copilot-checks{display:grid;gap:10px;padding-left:22px;margin:0}.copilot-checks li{padding:10px 11px;border-radius:11px;background:#fff;border:1px solid #e9e4ee}.copilot-checks li[data-risk="medium"]{border-color:#ecd99d;background:#fffbef}.copilot-checks li[data-risk="high"]{border-color:#efc2b9;background:#fff5f2}.copilot-checks li>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.copilot-checks p{margin:5px 0;color:#555e6b}.copilot-checks small{color:#737a87}.guide-chip{font-size:.72rem;font-weight:800;border-radius:999px;padding:3px 7px;background:#e8f7ef;color:#177442}.copilot-warning{padding:11px 12px;border-radius:11px;background:#fff3e9;color:#8c461b}.copilot-warning ul{margin:7px 0 0;padding-left:20px}.copilot-say{padding:11px 12px;border-radius:11px;background:#f6f1ff}.copilot-say p{margin:4px 0 0}.copilot-escalation{color:#6f7784}.copilot-panel{margin-top:16px;padding:14px;border:1px solid #ddd0ef;border-radius:15px;background:#fbf8ff;display:grid;gap:11px}.copilot-panel[hidden]{display:none}.copilot-panel-head{display:flex;justify-content:space-between;gap:10px}.copilot-panel-head>div{display:grid;gap:2px}.copilot-panel-head small{color:#766e80}.copilot-history-mini{display:grid;gap:8px;max-height:210px;overflow:auto}.assist-copilot-output{max-height:440px;overflow:auto;padding-right:2px}.copilot-question{display:grid;gap:5px}.copilot-question span{font-size:.85rem;font-weight:800}.copilot-question textarea{width:100%;resize:vertical;border:1px solid #d9d1e3;border-radius:10px;padding:9px;font:inherit}.copilot-disclaimer{font-size:.78rem;color:#7b7283;margin:0}
@media(max-width:700px){.device-health-hero{align-items:flex-start;flex-direction:column}.health-gauge{width:98px;height:98px}.history-item>div:first-child{flex-direction:column;gap:2px}}

.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-title-row h2{margin:0}.btn-small{padding:8px 12px;font-size:.9rem}.pair-code-card .btn-small{margin-top:8px}

/* ==============================
   V1.8 GUIDE FIRST
   ============================== */
.narrow-dashboard{max-width:980px}
.assist-trust-box{margin:14px 0;padding:16px 18px;border:1px solid rgba(111,61,194,.18);border-radius:16px;background:rgba(111,61,194,.06)}
.assist-trust-box strong{display:block;margin-bottom:5px;color:#422178}.assist-trust-box p{margin:0;line-height:1.55}
.assist-trust-box.large{margin:0 0 20px}
.guide-first-success{max-width:680px}.guide-first-success .post-ticket-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.guide-first-success .btn-ghost{background:transparent;border:0;text-decoration:underline;color:#5f6470;cursor:pointer}
.guide-first-panel .auth-note{display:block;margin-top:10px}
.prepare-steps{display:grid;gap:16px;margin:18px 0}.prepare-step{display:grid;grid-template-columns:54px 1fr;gap:15px;align-items:start}.prepare-step-number{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#6f3dc2;color:#fff;font-weight:800;font-size:1.1rem}.prepare-step-number.optional{background:#eef0f4;color:#4b5563}.prepare-step-body h2{margin:2px 0 8px}.prepare-step-body p{line-height:1.6}.optional-pill{font-size:.72rem;padding:4px 8px;border-radius:999px;background:#eef0f4;color:#5f6470;vertical-align:middle}
.session-code-box{margin-top:16px;padding:16px;border:1px dashed #a99ac7;border-radius:14px;background:#fbfaff;display:grid;grid-template-columns:1fr auto;gap:4px 14px;align-items:center}.session-code-box span{font-size:.88rem;color:#6b7280}.session-code-box strong{grid-row:2;font-size:1.5rem;letter-spacing:.12em;color:#3f246b}.session-code-box small{grid-row:3;color:#6b7280}.session-code-box button{grid-column:2;grid-row:1 / span 3}
.assist-live-status{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;margin:12px 0;background:#f3f4f6}.assist-live-status .status-dot{width:10px;height:10px;border-radius:50%;background:#9ca3af;box-shadow:0 0 0 4px rgba(156,163,175,.15)}.assist-live-status.connected{background:#fff8e8}.assist-live-status.connected .status-dot{background:#f59e0b}.assist-live-status.ready{background:#edf9f0}.assist-live-status.ready .status-dot{background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.15)}
.next-session-panel{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.next-session-panel h2,.next-session-panel p{width:100%;margin-bottom:0}.aidely-prepare-actions{margin-top:12px}
@media(max-width:720px){.prepare-step{grid-template-columns:1fr}.prepare-step-number{width:38px;height:38px}.session-code-box{grid-template-columns:1fr}.session-code-box button{grid-column:1;grid-row:auto;margin-top:8px}.guide-first-success .post-ticket-actions{flex-direction:column}.guide-first-success .post-ticket-actions>*{width:100%}}

/* V1.22.10 — préparation senior simplifiée. */
.assist-simple-page{background:#fbfafc;color:#251d33}
.assist-simple-header{justify-content:space-between}
.assist-simple-back{color:#5c5268;font-weight:700;text-decoration:none}
.assist-simple-main{padding:54px 0 70px}
.assist-simple-shell{max-width:680px}
.assist-simple-ticket{display:flex;justify-content:center;align-items:center;gap:8px;margin-bottom:16px;color:#716879;font-size:.9rem}
.assist-simple-ticket strong{padding:5px 10px;border-radius:999px;background:#f1edf5;color:#33263f;letter-spacing:.03em}
.assist-simple-card{padding:42px 46px;border:1px solid #e8e1ed;border-radius:28px;background:#fff;box-shadow:0 18px 50px rgba(39,24,55,.08);text-align:center}
.assist-simple-icon{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 18px;border-radius:50%;background:#fff4df;border:8px solid #ffdfad;color:#e88816;font-size:2rem;font-weight:800}
.assist-simple-card .modal-kicker{margin:0 0 8px;color:#6f3dc2;font-size:.75rem;font-weight:800;letter-spacing:.12em}
.assist-simple-card h1{margin:0;font-family:"Bricolage Grotesque",sans-serif;font-size:clamp(2rem,6vw,3.15rem);line-height:1.05;color:#241832}
.assist-simple-lead{max-width:500px;margin:16px auto 28px;color:#5d5467;font-size:1.12rem;line-height:1.55}
.assist-simple-primary{display:flex;align-items:center;justify-content:center;min-height:58px;width:100%;padding:12px 20px;border-radius:18px;background:#6336c4;color:#fff;font-size:1.08rem;font-weight:800;text-decoration:none;box-shadow:0 10px 24px rgba(99,54,196,.2)}
.assist-simple-primary:hover{background:#5428b4;transform:translateY(-1px)}
.assist-simple-primary.is-disabled{background:#a6a0ae;box-shadow:none;pointer-events:none}
.assist-simple-installed{display:inline-block;margin-top:16px;color:#5c35a5;font-weight:700;text-underline-offset:3px}
.assist-simple-hint{margin:12px 0 0;color:#736a7b;font-size:.9rem}
.assist-simple-card .assist-live-status{justify-content:center;margin:26px 0 0;padding:14px 16px}
.assist-simple-safety{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid #eee8f1;text-align:left;color:#5f5667}
.assist-simple-safety>span{display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:50%;background:#e5f6eb;color:#167342;font-weight:900}
.assist-simple-safety p{margin:0;line-height:1.5}
.assist-simple-details{margin-top:14px;border:1px solid #e7e1eb;border-radius:16px;background:#fff;overflow:hidden}
.assist-simple-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 19px;cursor:pointer;color:#44384f;font-weight:800;list-style:none}
.assist-simple-details>summary::-webkit-details-marker{display:none}
.assist-simple-details>summary::after{content:"+";font-size:1.35rem;color:#6f3dc2}
.assist-simple-details[open]>summary::after{content:"−"}
.assist-simple-details>summary span{margin-left:auto;padding:4px 8px;border-radius:999px;background:#f0edf3;color:#6d6475;font-size:.72rem}
.assist-simple-details-body{padding:0 19px 19px;color:#625969;line-height:1.55}
.assist-simple-details-body ol{margin:0 0 12px;padding-left:24px}
.assist-simple-details-body li+li{margin-top:6px}
.assist-simple-details-body p{margin:8px 0}
.assist-simple-details-body .auth-note{margin-top:10px}
.assist-simple-footer{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:22px}
.assist-simple-footer>a:not(.btn){color:#62586c;font-weight:700;text-underline-offset:3px}
@media(max-width:600px){.assist-simple-main{padding:28px 0 48px}.assist-simple-card{padding:30px 20px;border-radius:22px}.assist-simple-card h1{font-size:2.15rem}.assist-simple-lead{font-size:1rem}.assist-simple-primary{font-size:1rem}.assist-simple-header .brand-logo-small{max-width:112px}.assist-simple-footer{flex-direction:column}.assist-simple-footer .btn{width:100%;justify-content:center}}

/* V1.24 — installation guidée, une action à la fois. */
.alpha-install-page .assist-simple-shell{max-width:760px}.alpha-install-page .assist-simple-card{text-align:left}.alpha-install-page .modal-kicker,.alpha-install-page .assist-simple-card>h1,.alpha-install-page .assist-simple-lead{text-align:center}
.assist-install-steps{display:grid;gap:12px;list-style:none;margin:30px 0 22px;padding:0}.assist-install-step{display:grid;grid-template-columns:42px 1fr;gap:15px;padding:18px;border:1px solid #e8e1ed;border-radius:18px;background:#fbfafc;opacity:.58;transition:.2s}.assist-install-step.is-active,.assist-install-step.is-done{opacity:1;background:#fff}.assist-install-step.is-active{border-color:#bda8e8;box-shadow:0 10px 30px -24px rgba(70,35,130,.55)}.assist-install-step.is-done{border-color:#b9ddca;background:#f4fbf7}.assist-step-number{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#eee8f7;color:#6537bd;font-weight:900}.assist-install-step.is-done .assist-step-number{background:#dff3e8;color:#117a4b}.assist-install-step h2{margin:4px 0 6px;font-family:"Bricolage Grotesque",sans-serif;font-size:1.18rem}.assist-install-step p{margin:0 0 12px;color:#655c6d;line-height:1.5}.assist-install-step .assist-simple-primary{margin-top:14px}.assist-windows-note{display:grid;gap:3px;margin-top:10px;padding:12px 14px;border-radius:12px;background:#fff7e8;color:#675336;font-size:.82rem;line-height:1.45}.assist-install-step .assist-live-status{justify-content:flex-start;margin:12px 0 0}.alpha-install-page .assist-simple-safety{margin-top:22px}
@media(max-width:600px){.assist-install-step{grid-template-columns:34px 1fr;padding:15px 13px;gap:10px}.assist-step-number{width:32px;height:32px}.assist-install-step h2{font-size:1.05rem}}

/* V1.26 — lancement compact : un état et une action, sans longue checklist. */
.assist-launch-card{padding-bottom:30px}
.assist-launch-state{display:grid;justify-items:center;gap:10px;padding:25px;margin-top:24px;border:1px solid #e7dff0;border-radius:22px;background:linear-gradient(155deg,#fdfcff,#f7f2ff)}
.assist-launch-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:#ede5fb;color:#5d31b4;font-size:1.55rem;font-weight:900}
.assist-launch-copy h2{margin:4px 0 6px;font-family:"Bricolage Grotesque",sans-serif;font-size:1.35rem;color:#281b36}
.assist-launch-copy p{margin:0;color:#655c6d;line-height:1.5}
.assist-launch-state .assist-simple-primary{max-width:460px;margin-top:8px}
.assist-launch-state .assist-simple-installed{margin:2px 0 0}
.assist-launch-state .assist-live-status{width:100%;justify-content:center;margin:8px 0 0}
.assist-launch-state[data-stage="download"] .assist-live-status{display:none}
.assist-launch-state[data-stage="ready"]{border-color:#b9ddca;background:#f2fbf6}
.assist-launch-state[data-stage="ready"] .assist-launch-icon{background:#dff3e8;color:#117a4b}
.assist-launch-card .assist-simple-safety{margin-top:20px}
.alpha-install-page .assist-simple-details{max-width:680px;margin-left:auto;margin-right:auto}
.alpha-install-page .assist-simple-footer{margin-top:18px}
@media(max-width:600px){.assist-launch-card{padding:28px 18px}.assist-launch-state{padding:21px 15px;margin-top:20px}.assist-launch-copy h2{font-size:1.2rem}}

/* V1.26 — voix web et clôture de session. */
.assist-voice-card{display:grid;grid-template-columns:auto 1fr;gap:2px 11px;align-items:center;padding:14px;margin:0 0 14px;border:1px solid #e5deeb;border-radius:15px;background:#fbfafc}
.assist-voice-icon{grid-row:1 / span 2;width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#eee9f4;color:#84798f;font-size:.62rem}
.assist-voice-card strong{font-size:.95rem}.assist-voice-card p{margin:3px 0 0;color:#6d6575;font-size:.84rem;line-height:1.35}
.assist-voice-card .btn{grid-column:1 / -1;margin-top:9px;width:100%}
.assist-voice-card[data-state="ready"],.assist-voice-card[data-state="connected"]{border-color:#b9ddca;background:#f2fbf6}
.assist-voice-card[data-state="ready"] .assist-voice-icon,.assist-voice-card[data-state="connected"] .assist-voice-icon{background:#dff3e8;color:#117a4b;box-shadow:0 0 0 4px rgba(34,197,94,.11)}
.assist-voice-card[data-state="muted"]{border-color:#eadcae;background:#fffaf0}.assist-voice-card[data-state="muted"] .assist-voice-icon{background:#f7eac4;color:#8a6200}
.assist-voice-card[data-state="error"]{border-color:#efcbc5;background:#fff6f4}.assist-voice-card[data-state="error"] .assist-voice-icon{background:#f5dcd7;color:#9b3529}
#remoteVoice{position:absolute;width:1px;height:1px;opacity:.01;pointer-events:none}
.assist-completion{max-width:680px;margin:24px auto 0;padding:42px;border:1px solid #d9cfdf;border-radius:26px;background:#fff;text-align:center;box-shadow:0 18px 48px rgba(39,24,55,.09)}
.assist-completion-mark{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 17px;border-radius:50%;background:#dff3e8;color:#117a4b;font-size:1.9rem;font-weight:900}
.assist-completion h2{margin:5px 0 9px;font-family:"Bricolage Grotesque",sans-serif;font-size:clamp(2rem,5vw,3rem);color:#241832}.assist-completion>p:not(.modal-kicker){color:#62596b;font-size:1.05rem}
.assist-completion-summary{margin:22px 0;padding:17px 19px;border-radius:15px;background:#f7f4fa;text-align:left}.assist-completion-summary p{margin:7px 0 0;line-height:1.55}
.assist-completion-feedback{display:grid;gap:12px;margin:22px 0}.assist-completion-feedback>div{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.assist-completion-feedback button{min-height:46px;border:1px solid #d7cbe8;border-radius:14px;background:#fff;color:#472675;font-weight:800;cursor:pointer}.assist-completion-feedback button:hover{background:#f3edfb;border-color:#9f85cc}.assist-completion-feedback small{color:#6d6575}
.assist-finish-dialog{width:min(590px,calc(100% - 28px));max-height:calc(100vh - 30px);padding:0;border:0;border-radius:25px;background:#fff;color:#281d36;box-shadow:0 28px 80px rgba(24,15,34,.3)}.assist-finish-dialog::backdrop{background:rgba(31,22,43,.58);backdrop-filter:blur(4px)}
.assist-finish-dialog form{position:relative;display:grid;gap:18px;padding:34px}.assist-finish-dialog h2{margin:0;font-family:"Bricolage Grotesque",sans-serif;font-size:clamp(1.65rem,4vw,2.3rem)}.assist-finish-dialog .modal-kicker{margin:0 0 -12px}
.assist-dialog-close{position:absolute;right:18px;top:17px;width:36px;height:36px;border:0;border-radius:50%;background:#f2eef5;color:#4a4054;font-size:1.4rem;cursor:pointer}
.assist-outcome-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0;border:0}.assist-outcome-picker legend{grid-column:1/-1;margin-bottom:7px;font-weight:800}.assist-outcome-picker label{cursor:pointer}.assist-outcome-picker input{position:absolute;opacity:0;pointer-events:none}.assist-outcome-picker span{display:grid;place-items:center;min-height:50px;padding:8px;border:1px solid #ddd3e7;border-radius:14px;text-align:center;font-weight:800}.assist-outcome-picker input:checked+span{border-color:#6336c4;background:#f0eafa;color:#50269a;box-shadow:0 0 0 2px rgba(99,54,196,.11)}
.assist-report-field,.assist-finish-details label{display:grid;gap:7px;font-weight:800}.assist-report-field textarea,.assist-finish-details select{width:100%;border:1px solid #d9d1e3;border-radius:13px;padding:12px;font:inherit;background:#fff}.assist-report-field textarea{resize:vertical;line-height:1.5}
.assist-finish-details{border:1px solid #e8e1ed;border-radius:13px;padding:12px 14px}.assist-finish-details summary{cursor:pointer;font-weight:800;color:#5f526b}.assist-finish-details label{margin-top:12px}.assist-leave-link{border:0;background:transparent;color:#665d70;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit}
@media(max-width:600px){.assist-completion{padding:30px 19px}.assist-completion-feedback>div,.assist-outcome-picker{grid-template-columns:1fr}.assist-finish-dialog form{padding:28px 20px}.assist-outcome-picker span{min-height:44px}}

/* V1.27 — écran d'intervention compact et fin toujours accessible. */
.assist-page .dashboard{padding:20px 0 42px}
.assist-page .dashboard-head{align-items:center;margin-bottom:14px}
.assist-page .dashboard-head h1{font-size:clamp(1.9rem,3.3vw,2.8rem);line-height:1.02}
.assist-page .dashboard-head p{max-width:760px;font-size:.95rem}
.assist-session-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.assist-session-actions .btn{min-height:42px;padding:9px 15px;white-space:nowrap}
.assist-page .assist-ticket-panel{grid-template-columns:minmax(0,1.5fr) minmax(220px,.7fr);gap:13px;margin-bottom:14px;padding:15px 17px}
.assist-page .assist-ticket-panel h2{margin:5px 0 4px;font-size:1.2rem}
.assist-page .assist-ticket-panel p{margin:.25rem 0;font-size:.9rem}
.assist-page .ai-mini-card{padding:11px 12px}
.assist-page .assist-layout{grid-template-columns:minmax(0,1fr) 292px;gap:14px;align-items:start}
.assist-page .assist-stage,.assist-page .assist-side{padding:17px}
.assist-page .assist-stage-head h2,.assist-page .assist-side>h2{font-size:1.3rem;margin-bottom:5px}
.assist-page .assist-stage-head p{margin:0;font-size:.9rem}
.assist-page .video-shell{margin:11px 0;border-radius:15px}
.assist-page .assist-side{position:sticky;top:88px;max-height:calc(100vh - 104px);overflow:auto}
.assist-page .assist-safety{padding:11px 12px;font-size:.88rem}
.assist-page .assist-steps{gap:5px;margin:12px 0;padding-left:20px;font-size:.84rem}
.assist-page .native-guide-card,.assist-page .copilot-panel{margin-top:11px;padding:11px}
.assist-page .assist-log{margin-top:11px;padding-top:10px;font-size:.88rem}
@media(max-width:850px){.assist-page .assist-layout,.assist-page .assist-ticket-panel{grid-template-columns:1fr}.assist-page .assist-side{position:static;max-height:none;order:0}.assist-session-actions{justify-content:flex-start}}
@media(max-width:600px){.assist-page .dashboard-head{display:grid;gap:12px}.assist-session-actions{display:grid;grid-template-columns:1fr}.assist-session-actions .assist-live-badge{justify-self:start}.assist-session-actions .btn{width:100%}}

/* V1.8.3 - Respecte toujours l'attribut HTML hidden, y compris sur les blocs flex. */
[hidden]{display:none!important;}


/* ================================================================
   AIDELY V1.9 — PRODUCT UX / MODERN SENIOR TICKET FLOW
   ================================================================ */

:root{
  --ux-bg:#f7f8fc;
  --ux-card:#ffffff;
  --ux-ink:#172033;
  --ux-muted:#687087;
  --ux-purple:#6d42d8;
  --ux-purple-dark:#5630be;
  --ux-purple-soft:#f2edff;
  --ux-green:#15915f;
  --ux-line:#e7e8ef;
  --ux-shadow:0 30px 80px rgba(34,25,66,.14),0 4px 18px rgba(34,25,66,.06);
}

/* Ticket modal: product-like, not form-like */
dialog#appModal{padding:0;background:transparent;border:0;max-width:none;max-height:none;width:100%;height:100%;}
dialog#appModal::backdrop{background:rgba(14,18,30,.54);backdrop-filter:blur(9px);}
#appModal .modal-shell{
  width:min(820px,calc(100vw - 40px));
  max-height:calc(100vh - 44px);
  margin:22px auto;
  padding:0;
  border:1px solid rgba(255,255,255,.65);
  border-radius:28px;
  background:rgba(255,255,255,.985);
  box-shadow:var(--ux-shadow);
  overflow:auto;
}
#appModal .modal-close{
  position:sticky;float:right;top:18px;right:18px;z-index:8;
  width:44px;height:44px;border-radius:50%;
  border:1px solid var(--ux-line);background:#fff;color:#242a3a;
  box-shadow:0 5px 18px rgba(30,24,48,.08);font-size:1.55rem;
}
.ticket-wizard{padding:32px 44px 40px;color:var(--ux-ink);}
.ticket-wizard-head{display:flex;align-items:center;justify-content:space-between;margin:2px 58px 24px 0;}
.ticket-wizard-brand{font-weight:800;font-size:1rem;display:flex;align-items:center;gap:8px;}
.ticket-wizard-spark{display:grid;place-items:center;width:29px;height:29px;border-radius:10px;background:var(--ux-purple);color:#fff;}
.ticket-wizard-help{font-size:.88rem;color:var(--ux-muted);background:#f7f7fa;padding:7px 11px;border-radius:999px;}
.ticket-progress{height:5px;display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:0 0 32px;}
.ticket-progress i{height:5px;border:0;border-radius:999px;background:#e8e8ef;}
.ticket-progress i.active{background:linear-gradient(90deg,#7750df,#6240cf);}
.ticket-step-label{margin:0 0 8px;color:var(--ux-purple);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;}
.ticket-wizard h2{font-family:var(--sans,Arial,sans-serif);font-size:clamp(1.8rem,3vw,2.35rem);line-height:1.08;letter-spacing:-.035em;margin:0 0 10px;padding:0 52px 0 0;color:var(--ux-ink);}
.ticket-wizard .modal-intro{font-size:1.05rem;line-height:1.55;color:var(--ux-muted);max-width:610px;margin:0 0 28px;}
.ticket-wizard .wizard-step h3{display:none;}

.modern-options{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:6px;}
.modern-options button{
  min-height:112px;text-align:left;padding:18px;border-radius:18px;border:1.5px solid var(--ux-line);
  background:#fff;color:var(--ux-ink);display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;
  column-gap:14px;align-items:center;transition:.18s ease;box-shadow:0 2px 5px rgba(28,24,47,.025);
}
.modern-options button:hover,.modern-options button:focus-visible{transform:translateY(-2px);border-color:#bba8ef;box-shadow:0 12px 26px rgba(70,46,130,.10);outline:none;}
.modern-options button.selected{border-color:var(--ux-purple);background:var(--ux-purple-soft);box-shadow:0 0 0 3px rgba(109,66,216,.09);}
.modern-options .option-icon{grid-row:1/3;width:48px;height:48px;border-radius:14px;background:#f5f3fa;display:grid;place-items:center;font-size:1.45rem;}
.modern-options strong{font-size:1.03rem;align-self:end;}
.modern-options small{display:block;color:var(--ux-muted);font-size:.86rem;align-self:start;margin-top:3px;}

.ticket-problem-field{margin-top:8px;}
.ticket-problem-field>span{font-size:.9rem;color:#4b5264;}
.ticket-problem-field textarea{min-height:155px;resize:vertical;border:1.5px solid #dfe1ea!important;border-radius:18px!important;padding:18px 20px!important;font-size:1.1rem!important;line-height:1.5;background:#fbfbfd!important;transition:.18s ease;}
.ticket-problem-field textarea:focus{background:#fff!important;border-color:#9e83e6!important;box-shadow:0 0 0 4px rgba(109,66,216,.08);}
.ticket-problem-field small{display:block;margin-top:7px;color:#858b9b;font-size:.84rem;}
.modern-urgency{display:grid!important;grid-template-columns:repeat(2,1fr);gap:10px!important;margin:24px 0 18px!important;}
.modern-urgency legend{grid-column:1/-1;font-size:.93rem!important;color:#444b5d;margin-bottom:4px!important;}
.modern-urgency label{margin:0!important;padding:14px!important;border:1.5px solid var(--ux-line)!important;border-radius:15px;background:#fff;display:flex!important;align-items:center;gap:11px;cursor:pointer;}
.modern-urgency label:has(input:checked){border-color:#a38be7!important;background:#f8f5ff;}
.modern-urgency input{accent-color:var(--ux-purple);width:19px;height:19px;}
.modern-urgency label span{display:grid;gap:1px;}
.modern-urgency label small{color:var(--ux-muted);font-size:.82rem;}
.ticket-privacy-note,.ticket-final-reassurance{display:flex;gap:10px;align-items:flex-start;background:#f7f8fb;border-radius:14px;padding:12px 14px;color:#62697a;font-size:.87rem;margin:14px 0 24px;}
.ticket-privacy-note p,.ticket-final-reassurance p{margin:0;line-height:1.45;}

.ticket-actions-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:26px;}
.ticket-actions-row .btn{min-height:50px;border-radius:15px;padding:0 21px;font-size:1rem;}
.btn.btn-subtle{background:transparent;border:0;color:#5c6374;font-weight:750;}
.btn.btn-subtle:hover{background:#f3f3f7;}
.ticket-primary{min-width:190px;box-shadow:0 9px 22px rgba(100,62,207,.22);}

.modern-ai-review{border:1px solid #ded4f7!important;background:linear-gradient(145deg,#faf8ff,#f5f1ff)!important;border-radius:20px!important;padding:22px!important;align-items:flex-start!important;}
.modern-ai-review .ai-review-icon{width:44px;height:44px;min-width:44px;border-radius:14px;background:var(--ux-purple);color:#fff;display:grid;place-items:center;font-size:1.2rem;}
.ai-review-label{display:block;color:var(--ux-purple);font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;font-weight:850;margin-bottom:6px;}
.modern-ai-review strong{font-size:1.08rem;line-height:1.5;color:#262c3c;display:block;}
.modern-ai-review [data-ai-category]{display:inline-flex;margin-top:12px;padding:5px 9px;background:#fff;border:1px solid #e7e0f8;border-radius:999px;color:#6b607d;font-size:.79rem;}
.quiet-note{font-size:.8rem!important;color:#8a8f9e!important;margin:9px 3px 18px!important;}
.modern-follow-up{background:#fff;border:1px solid var(--ux-line);border-radius:17px;padding:15px;margin-top:15px;}
.modern-follow-up input{margin-top:3px;}
.modern-reassurance{display:flex;align-items:center;gap:8px;background:#f3fbf7!important;color:#36644f!important;border-radius:13px!important;padding:11px 13px!important;font-size:.86rem!important;}

.modern-contact-fields{gap:12px;}
.modern-contact-fields .field input{height:55px;border:1.5px solid var(--ux-line);border-radius:15px;padding:0 16px;background:#fbfbfd;}
.modern-check{padding:14px 15px!important;border:1px solid var(--ux-line);border-radius:15px;background:#fbfbfd;margin:5px 0 0!important;}
.modern-check input{accent-color:var(--ux-purple);width:20px;height:20px;}
.ticket-final-reassurance{background:#f3fbf7;border:1px solid #dcefe5;color:#456454;margin-top:16px;}

/* Senior dashboard: action first, metrics second */
.senior-dashboard{background:var(--ux-bg);min-height:100vh;padding-bottom:60px;}
.senior-dashboard>.container{padding-top:26px;}
.senior-help-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:center;background:linear-gradient(135deg,#ffffff 0%,#f9f7ff 60%,#f0ebff 100%);border:1px solid #e8e3f5;border-radius:28px;padding:clamp(28px,4vw,48px);box-shadow:0 14px 45px rgba(52,38,87,.07);}
.senior-help-copy{position:relative;z-index:2;}
.senior-eyebrow{display:inline-flex;background:#eee8ff;color:#6140be;border-radius:999px;padding:7px 11px;font-size:.82rem;font-weight:800;margin-bottom:13px;}
.senior-help-hero h1{font-size:clamp(2rem,4vw,3.15rem);letter-spacing:-.045em;margin:0 0 9px;color:var(--ux-ink);}
.senior-help-hero p{font-size:1.1rem;line-height:1.55;color:var(--ux-muted);max-width:560px;margin:0 0 23px;}
.senior-main-cta{min-height:56px;border-radius:16px;padding:0 24px;font-size:1.05rem;box-shadow:0 10px 25px rgba(98,61,201,.22);}
.senior-main-cta span{font-size:1.35rem;margin-right:5px;}
.senior-help-copy>small{display:block;color:#8a8f9d;margin-top:10px;font-size:.84rem;}
.senior-help-visual{position:relative;min-height:230px;}
.help-orb{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:112px;height:112px;border-radius:35px;background:linear-gradient(145deg,#7953df,#5f35c6);display:grid;place-items:center;color:#fff;font-size:2.2rem;box-shadow:0 25px 50px rgba(94,54,190,.25);}
.help-bubble{position:absolute;background:rgba(255,255,255,.94);border:1px solid #e8e3f2;border-radius:14px;padding:10px 13px;font-weight:750;font-size:.86rem;box-shadow:0 10px 28px rgba(36,29,57,.10);white-space:nowrap;}
.bubble-one{left:0;top:30px}.bubble-two{right:0;top:91px}.bubble-three{left:18px;bottom:23px;color:#18704d}
.senior-section-heading{display:flex;justify-content:space-between;align-items:end;gap:22px;margin:34px 2px 16px;}
.senior-section-heading span{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#7b6a9c;}
.senior-section-heading h2{font-size:1.5rem;margin:3px 0 0;color:var(--ux-ink);}
.senior-section-heading p{font-size:.9rem;color:var(--ux-muted);margin:0;max-width:390px;text-align:right;}
.senior-kpis{grid-template-columns:repeat(3,1fr)!important;gap:12px!important;margin-bottom:14px!important;}
.senior-kpis .kpi:nth-child(4){display:none;}
.senior-kpis .kpi{border:1px solid var(--ux-line);border-radius:17px;background:#fff;box-shadow:none;padding:17px 19px;}
.senior-kpis .kpi strong{font-size:1.55rem;}
.senior-kpis .kpi span{font-size:.84rem;color:var(--ux-muted);}
.senior-panel-grid{grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr)!important;gap:16px!important;}
.senior-dashboard .panel{border:1px solid var(--ux-line);border-radius:20px;box-shadow:none;background:#fff;}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}

@media (max-width:760px){
  #appModal .modal-shell{width:calc(100vw - 16px);max-height:calc(100vh - 16px);margin:8px auto;border-radius:22px;}
  .ticket-wizard{padding:25px 20px 28px;}
  .ticket-wizard-head{margin-right:50px;}
  .ticket-wizard h2{padding-right:0;font-size:1.7rem;}
  .modern-options{grid-template-columns:1fr;}
  .modern-options button{min-height:88px;grid-template-columns:44px 1fr;}
  .modern-options .option-icon{width:44px;height:44px;}
  .modern-urgency{grid-template-columns:1fr;}
  .ticket-actions-row{position:sticky;bottom:-1px;background:rgba(255,255,255,.97);padding-top:12px;margin-bottom:-10px;}
  .ticket-primary{min-width:0;flex:1;}
  .senior-help-hero{grid-template-columns:1fr;padding:25px 22px;}
  .senior-help-visual{display:none;}
  .senior-section-heading{display:block;}
  .senior-section-heading p{text-align:left;margin-top:6px;}
  .senior-kpis{grid-template-columns:repeat(3,1fr)!important;}
  .senior-panel-grid{grid-template-columns:1fr!important;}
}

/* V1.20.1 — ne jamais présenter un téléchargement cassé comme une action disponible. */
a[aria-disabled="true"].is-disabled{opacity:.48;cursor:not-allowed;pointer-events:none;filter:grayscale(.15)}

/* Aidely Guide : orange reserve aux actions de reperage. */
.btn-guide{background:var(--guide,#E9942A);color:#241B33}.btn-guide:hover{filter:brightness(.94)}.btn-guide:disabled{opacity:.48;cursor:not-allowed}

/* V1.23 — attente, rendez-vous et file conseiller */
.workflow-status{margin:18px 0;padding:16px 18px;border-radius:16px;background:#f5f0ff;border:1px solid #dfd0f8}
.workflow-status.is-assigned{background:#edf9f3;border-color:#bfe7d1}
.workflow-status strong{display:block;color:#2b1f3b;font-size:1.05rem}
.workflow-status p{margin:5px 0}
.workflow-status small{display:block;color:#625a6d}
.tech-dashboard .panel{margin-top:22px}
.tech-availability-panel,.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:24px}
.tech-availability-panel h2,.panel-title-row h2{margin-bottom:4px}
.tech-availability-panel p,.panel-title-row p{margin:0;color:#625a6d}
.availability-control{display:flex;align-items:center;gap:12px;min-width:max-content;font-weight:700;cursor:pointer}
.availability-control input{width:48px;height:26px;accent-color:#5f32b5;cursor:pointer}
.available-ticket h3{text-transform:capitalize;margin:8px 0 14px}
.queue-problem-summary{margin:14px 0;padding:15px 16px;border-radius:14px;background:#fff;border:1px solid #e3dceb}
.queue-problem-summary b{display:block;color:#5f32b5;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}
.queue-problem-summary p{margin:0;color:#2f263c;font-size:.96rem;line-height:1.5}
.queue-ticket-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.queue-ticket-facts span{display:flex;flex-direction:column;padding:12px;border-radius:12px;background:#f7f5fa}
.queue-ticket-facts b{font-size:.78rem;color:#6a6075;text-transform:uppercase;letter-spacing:.03em}
.queue-privacy-note{font-size:.9rem;color:#625a6d}
.claim-feedback{min-height:1.4em;margin:8px 0 0;color:#a52822;font-weight:700}
.tech-auto-status{display:inline-flex!important;align-items:center;gap:8px;margin:10px 0 0!important;padding:8px 12px;border-radius:999px;background:#eef9f3;color:#176b47!important;font-size:.82rem!important;font-weight:700}
.tech-auto-status::before{content:"";width:8px;height:8px;border-radius:50%;background:#20a36a;box-shadow:0 0 0 4px rgba(32,163,106,.13)}
.tech-queue-panel .empty-state span{display:block;margin-top:5px}
@media(max-width:760px){.tech-availability-panel,.panel-title-row{align-items:flex-start;flex-direction:column}.queue-ticket-facts{grid-template-columns:1fr 1fr}.availability-control{min-width:0}.panel-title-row .btn{width:100%}}
@media(max-width:480px){.queue-ticket-facts{grid-template-columns:1fr}}
