:root{
  /* Palette unique ComeBackTo.me */
  --color-primary:#111827;
  --color-primary-hover:#172033;
  --color-primary-soft:#eff6ff;
  --color-accent-blue:#2563eb;
  --color-danger:#a51f2d;
  --color-danger-soft:#fbe8ea;
  --color-ink:#172033;
  --color-text:#1d2738;
  --color-soft:#596579;
  --color-muted:#7d8797;
  --color-bg:#f6f8fc;
  --color-surface:#ffffff;
  --color-surface-alt:#fafafa;
  --color-line:rgba(23,32,51,.12);
  --color-line-strong:rgba(23,32,51,.18);
  --color-success:#16a34a;
  --color-success-soft:#dcfce7;
  --color-warning:#f59e0b;
  --color-warning-text:#92400e;
  --color-warning-soft:#fef3c7;
  --color-dark:#111827;
  --color-dark-hover:#172033;
  --shadow:0 18px 54px rgba(23,32,51,.08);
  --shadow2:0 10px 28px rgba(23,32,51,.05);
  --radius:2px;

  /* Alias historiques : compatibilité, tous branchés sur la palette unique */
  --bg:var(--color-bg);
  --surface:var(--color-surface);
  --surface2:var(--color-surface-alt);
  --line:var(--color-line);
  --line2:var(--color-line);
  --text:var(--color-text);
  --muted:var(--color-muted);
  --soft:var(--color-soft);
  --blue:var(--color-primary);
  --blue2:var(--color-primary-hover);
  --green:var(--color-success);
  --amber:var(--color-warning);
  --red:var(--color-danger);
  --redBg:var(--color-danger-soft);
  --home-ink:var(--color-ink);
  --home-text:var(--color-text);
  --home-soft:var(--color-soft);
  --home-muted:var(--color-muted);
  --home-blue:var(--color-primary);
  --home-blue2:var(--color-primary-hover);
  --home-red:var(--color-danger);
  --home-red2:var(--color-danger);
  --home-redSoft:var(--color-danger-soft);
  --home-line:var(--color-line);
  --home-shadow:var(--shadow);
  --home-radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:"Segoe UI",Roboto,Arial,system-ui,-apple-system,sans-serif;min-height:100vh;font-size:15px;line-height:1.45}
.brandNameText{font-weight:inherit;color:#111827;white-space:nowrap}.brandNameText span{color:#A51F2D;font-weight:inherit}
.brandLogo{display:inline-flex;align-items:center;text-decoration:none;flex:0 0 auto}.brandLogo img{display:block;width:clamp(190px,18vw,250px);height:auto}.publicHeader .brandLogo img{width:clamp(170px,32vw,230px)}@media(max-width:620px){.brandLogo img{width:190px}.publicHeader .brandLogo img{width:170px}}
a{color:inherit}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}
.top{display:flex;align-items:center;gap:24px;padding:18px 0;border-bottom:1px solid var(--line2);margin-bottom:28px}.brandmark{width:28px;height:28px;display:grid;place-items:center;background:var(--color-text);color:#fff;font-weight:700;font-size:14px}.brand{font-weight:600;letter-spacing:0;font-size:20px;text-decoration:none;color:var(--text)}.brand b{color:var(--text);font-weight:700}
.mainNav{margin-left:auto;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.navLink{font-weight:500;text-decoration:none;color:var(--soft);padding:8px 10px;border-bottom:2px solid transparent}.navLink:hover{color:var(--text);border-bottom-color:var(--text);background:transparent}.navLink.is-active{color:var(--blue);border-bottom-color:var(--blue);font-weight:700}.btn.navLogin.is-active{box-shadow:inset 0 -3px 0 rgba(255,255,255,.75),0 0 0 2px rgba(37,99,235,.25)}.navUser{color:var(--muted);font-size:13px;font-weight:500;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 8px}
.card{background:var(--surface);border:1px solid var(--line2);border-radius:var(--radius);box-shadow:var(--shadow2)}.hero{display:grid;grid-template-columns:1.02fr .98fr;gap:24px;align-items:stretch;padding:8px 0 42px}.heroText{padding:48px}.eyebrow{color:var(--blue);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin:0 0 14px}.h1{font-size:clamp(38px,5.2vw,64px);line-height:1.04;margin:0 0 22px;letter-spacing:-.035em;color:var(--text);font-weight:650}.grad{background:none;color:var(--blue)}.lead{font-size:19px;line-height:1.55;color:var(--soft);max-width:720px;margin:0 0 24px}.price{display:flex;align-items:end;gap:14px;margin:28px 0}.price strong{font-size:58px;line-height:.9;color:var(--text);font-weight:650}.price span{color:var(--muted);padding-bottom:6px}.ctaRow{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.btn{border:1px solid transparent;border-radius:0;padding:11px 18px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.12s background,.12s border,.12s color;line-height:1.2;min-height:42px}.btn:hover{box-shadow:none;transform:none}.btnPrimary{background:var(--blue);color:#fff;border-color:var(--blue)}.btnPrimary:hover{background:var(--blue2);border-color:var(--blue2)}.btnGhost{background:#fff;border-color:var(--color-line-strong);color:var(--text)}.btnGhost:hover{background:var(--color-surface-alt);border-color:var(--color-muted)}.btnSmall{padding:8px 12px;min-height:34px;font-size:13px}.mini{color:var(--muted);font-size:13px;margin-top:14px;line-height:1.5}.muted{color:var(--muted)}
.visual{padding:30px;background:#fff;display:flex;align-items:center;justify-content:center}.phone{width:min(350px,100%);background:#fff;border:1px solid var(--line);padding:10px;box-shadow:var(--shadow)}.screen{background:var(--color-surface-alt);color:var(--text);padding:24px;min-height:500px;border:1px solid var(--line2)}.scanBadge{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-size:12px;font-weight:700;background:#fff;border:1px solid var(--line);padding:7px 10px}.qrBig{width:150px;height:150px;background:#fff;border:1px solid var(--line);margin:28px auto;padding:18px;display:grid;grid-template-columns:repeat(5,1fr);gap:5px;box-shadow:none}.qrBig i{background:var(--blue);border-radius:0}.profileMini{background:#fff;border:1px solid var(--line);padding:18px;box-shadow:none}.profileMini h3{font-size:26px;margin:0 0 6px;color:var(--text);font-weight:600}.profileMini p{margin:0 0 12px;color:var(--muted)}.alert{background:var(--redBg);color:var(--red);border-left:4px solid var(--red);padding:12px;font-weight:600}
.infoGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 54px}.tile{padding:24px}.tile h3{margin:0 0 10px;font-size:20px;color:var(--text);font-weight:600}.tile p{margin:0;color:var(--muted);line-height:1.55}.page{padding:24px 0 64px}.panel{padding:30px}.heroSmall{padding:12px 0 28px}.split{display:grid;grid-template-columns:1.08fr .92fr;gap:18px;align-items:start}.sectionTitle{font-size:22px;margin:28px 0 12px;color:var(--text);font-weight:600}.form{display:grid;gap:16px}.field label{display:block;font-weight:600;margin-bottom:6px;color:var(--text)}.field input,.field textarea{width:100%;border:1px solid var(--color-line-strong);background:#fff;color:var(--text);border-radius:0;padding:11px 12px;font:inherit;outline:none}.field input:focus,.field textarea:focus{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.field textarea{min-height:94px}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.formSection{background:#fff;border:1px solid var(--line2);padding:20px;margin-top:8px}.consentBox{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid var(--line);padding:14px;color:var(--soft)}.notice{padding:14px 16px;background:var(--color-success-soft);border-left:4px solid var(--green);color:var(--color-success);font-weight:600}.success{border-left:4px solid var(--green)}.footer{color:var(--muted);font-size:12px;text-align:center;padding:22px}.urlList{background:var(--color-surface-alt);border:1px solid var(--line2);padding:14px;word-break:break-all}
.public{background:var(--color-bg);color:var(--text);min-height:100vh}.public .wrap{max-width:780px}.publicHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.publicHeaderActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.publicBadge{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--line);background:#fff;color:var(--soft)}.pubCard{background:#fff;border:1px solid var(--line2);padding:24px;box-shadow:var(--shadow2);margin:18px 0}.pubTop{background:#fff!important;color:var(--text)!important;border-top:4px solid var(--blue)!important}.pubTop .eyebrow{color:var(--blue)!important}.pubTop h1{font-size:38px;margin:0;font-weight:650}.dangerBox{background:var(--redBg)!important;border:1px solid var(--color-danger-soft)!important;border-left:4px solid var(--red)!important;color:var(--red)!important;padding:14px}.call{display:block;background:var(--green);color:#fff;text-align:center;padding:13px;text-decoration:none;font-weight:700;margin-top:10px}.bagHero{background:#fff!important;color:var(--text)!important;border-top:4px solid var(--amber)!important}.bagHero .eyebrow{color:var(--amber)!important}.bagCall{display:block;background:var(--amber)!important;color:#fff!important;text-align:center;padding:13px;text-decoration:none;font-weight:700;margin-top:10px}.bagLine{font-size:18px;line-height:1.55}
.dataList{display:grid;gap:0}.dataRow{padding:12px 0;border-bottom:1px solid var(--line2)}.dataRow:last-child{border-bottom:0}.dataRow b{display:block;color:var(--text);margin-bottom:4px;font-weight:600}.contactItem{padding:14px 0;border-bottom:1px solid var(--line2)}.contactItem:last-child{border-bottom:0}.emptyState{color:var(--muted);background:var(--color-surface-alt);border:1px dashed var(--color-line-strong);padding:14px}.qrGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}.qrCard{background:#fff;border:1px solid var(--line2);padding:18px;box-shadow:none}.qrCard h3{margin:10px 0 4px;font-size:18px;font-weight:600}.qrActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}#qrbag,#qremergency,#qrbox{box-shadow:none}
body.editPage,body.adminPage{background:var(--color-bg)}.appShell{padding:0 0 64px}.adminLogin,.authBox{max-width:660px;margin:34px auto}body.loginPage{background:radial-gradient(circle at 50% 0,rgba(37,99,235,.10),transparent 42%),var(--color-bg)}.loginPage .appShell{min-height:calc(100vh - 1px);padding-bottom:72px}.loginPage .top{border-bottom:0}.loginPage .authBox{max-width:720px;margin:46px auto 72px;border-radius:32px;border:1px solid rgba(23,32,51,.10);box-shadow:0 24px 70px rgba(23,32,51,.10);padding:34px;overflow:hidden;position:relative}.loginPage .authBox::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,var(--home-blue),var(--home-red))}.loginPage .authBox .eyebrow{margin-top:4px}.loginPage .authBox .h1{font-size:clamp(34px,4.8vw,54px);line-height:1.02;margin-bottom:14px;letter-spacing:-.045em;font-weight:760;color:var(--home-ink)}.loginPage .authBox .lead{font-size:18px;line-height:1.55;max-width:620px;margin-bottom:26px;color:var(--home-soft)}.loginPage .form{gap:18px}.loginPage .field label{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--home-soft);font-weight:800}.loginPage .field input{border-radius:18px!important;border-color:rgba(23,32,51,.14)!important;padding:15px 16px!important;font-size:16px;background:#fff}.loginPage .field input:focus{border-color:var(--home-blue)!important;box-shadow:0 0 0 4px rgba(37,99,235,.12)!important}.loginPage .btn{border-radius:999px}.loginPage .form .btnPrimary{min-height:48px;font-size:16px}.loginPage .notice,.loginPage .dangerBox{border-radius:18px;border-left-width:0!important;margin:0 0 18px}.loginPage .authChoice{display:grid;gap:10px}.loginPage .authChoice b{font-size:18px;color:var(--home-ink)}.loginPage .authChoice span{font-weight:500;color:var(--color-success)}.authChoices{display:grid;gap:16px}.authProvider{width:100%;font-size:16px}.btn.disabled{opacity:.5;pointer-events:none}.adminHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.statsGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:18px}.stat{background:#fff;border:1px solid var(--line2);padding:16px}.stat b{display:block;font-size:32px;color:var(--text);font-weight:650}.stat span{color:var(--muted);font-weight:600}.adminList{display:grid;gap:14px;margin-top:18px}.adminProfile{padding:22px}.profileTitle{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.profileTitle h2{margin:0 0 6px;font-size:22px;color:var(--text);font-weight:600}.statusPill{display:inline-flex;padding:6px 9px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--line);background:#fff;color:var(--muted)}.status-active{background:var(--color-success-soft);border-color:var(--color-success-soft);color:var(--color-success)}.status-draft{background:var(--color-warning-soft);border-color:var(--color-warning);color:var(--color-warning-text)}.adminActions{margin-top:16px}.adminPlanForm{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:8px;align-items:center;min-width:260px}.adminPlanForm select{border:1px solid rgba(23,32,51,.16);border-radius:12px;padding:9px 10px;background:#fff;color:var(--home-ink);font-weight:700}.adminPlanForm .btnSmall{padding:9px 12px;min-height:36px}@media(max-width:760px){.adminPlanForm{grid-template-columns:1fr;min-width:220px}}
@media(max-width:860px){.wrap{width:min(100% - 28px,1180px)}.top{flex-wrap:wrap;gap:12px}.mainNav{order:3;width:100%;justify-content:flex-start;margin-left:0}.hero{grid-template-columns:1fr}.infoGrid{grid-template-columns:1fr}.two,.split,.qrGrid{grid-template-columns:1fr}.heroText,.panel{padding:22px}.screen{min-height:auto}.price strong{font-size:48px}.statsGrid{grid-template-columns:1fr 1fr}.profileTitle,.adminHead{display:block}.btn{width:100%}.navUser{max-width:100%}}
/* Admin table */
.adminTableCard{padding:0;overflow:hidden}.tableWrap{overflow-x:auto}.adminTable{width:100%;border-collapse:collapse;background:#fff}.adminTable th,.adminTable td{padding:12px 14px;border-bottom:1px solid var(--line2);text-align:left;vertical-align:middle;white-space:nowrap}.adminTable th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);background:var(--color-surface-alt);font-weight:700}.adminTable tr:hover td{background:var(--color-surface-alt)}.tableAction{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 10px;border:1px solid var(--color-line-strong);background:#fff;color:var(--color-text);text-decoration:none;font-weight:600;font-size:13px;cursor:pointer;font-family:inherit}.tableAction:hover{background:var(--color-surface-alt)}.tableAction.primary{background:var(--blue);border-color:var(--blue);color:#fff}.tableAction.primary:hover{background:var(--blue2)}.tableAction.danger{border-color:var(--color-danger);color:var(--color-danger);background:#fff}.tableAction.danger:hover{background:var(--color-danger-soft)}.adminTable form{margin:0}@media(max-width:860px){.adminTable th,.adminTable td{padding:10px 12px}.tableAction{width:auto}}
/* Admin table readability pass */
.adminTable{border:1px solid var(--color-line-strong)}.adminTable th,.adminTable td{border-right:1px solid var(--color-line);border-bottom:1px solid var(--color-line)}.adminTable th:last-child,.adminTable td:last-child{border-right:0}.adminTable th{background:var(--color-surface-alt);color:var(--color-text)}.adminTable tbody tr:nth-child(odd) td{background:var(--color-surface)}.adminTable tbody tr:nth-child(even) td{background:var(--color-surface-alt)}.adminTable tbody tr:hover td{background:var(--color-primary-soft)}.adminTable td:nth-child(5),.adminTable td:nth-child(6),.adminTable td:nth-child(7),.adminTable td:nth-child(8){text-align:center}.tableAction{min-width:112px;border:1px solid var(--color-muted);background:var(--color-surface);color:var(--color-text);text-align:center}.tableAction:hover{background:var(--color-surface-alt);border-color:var(--color-text)}.tableAction.primary,.tableAction.view{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.tableAction.primary:hover,.tableAction.view:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.tableAction.contact{background:var(--color-surface);border-color:var(--color-primary);color:var(--color-primary)}.tableAction.contact:hover{background:var(--color-primary-soft)}.tableAction.danger{background:var(--color-surface);border-color:var(--color-danger);color:var(--color-danger)}.tableAction.danger:hover{background:var(--color-danger-soft);border-color:var(--color-danger)}.adminTable form{display:inline-block;margin:0}.adminTableCard{border-color:var(--color-line-strong)}
/* Admin action color adjustment */
.tableAction.contact{background:var(--blue);border-color:var(--blue);color:#fff}.tableAction.contact:hover{background:var(--blue2);border-color:var(--blue2)}
/* Compact date cells */
.dtCell{min-width:82px;line-height:1.2}.dtDate,.dtTime{display:block}.dtDate{font-weight:600;color:var(--color-text)}.dtTime{font-size:12px;color:var(--color-muted);margin-top:2px}.adminTable td:first-child,.adminTable th:first-child{text-align:center;width:54px}.adminTable td:last-child,.adminTable th:last-child{text-align:center}.adminTable td:nth-child(6),.adminTable td:nth-child(7),.adminTable td:nth-child(8){white-space:normal;text-align:center}.adminTable th:nth-child(6),.adminTable th:nth-child(7),.adminTable th:nth-child(8){text-align:center}
/* Profile home */
.accountGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:18px}.accountGrid div{border:1px solid var(--line2);background:var(--color-surface-alt);padding:12px}.accountGrid b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);margin-bottom:4px}.accountGrid span{display:block;font-weight:600;color:var(--color-text)}.toggleLine{display:flex;align-items:center;gap:10px;border:1px solid var(--line2);background:var(--color-surface-alt);padding:13px;margin:10px 0;font-weight:600}.toggleLine input{width:18px;height:18px}@media(max-width:980px){.accountGrid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.accountGrid{grid-template-columns:1fr}}
/* Profile activation rows */
.activationRow{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin:10px 0}.activationRow .toggleLine{margin:0}.activationRow .btn{white-space:nowrap}@media(max-width:620px){.activationRow{grid-template-columns:1fr}.activationRow .btn{width:100%}}
/* Profile feature rows */
.featureRows{display:grid;gap:12px}.featureRow{display:grid;grid-template-columns:minmax(260px,1fr) auto auto auto;gap:12px;align-items:center;border:1px solid var(--line2);background:var(--color-surface-alt);padding:12px}.featureDesc b{display:block;font-size:16px;margin-bottom:3px}.featureDesc span{display:block;color:var(--muted);font-size:13px;line-height:1.35}.featureToggle{display:flex;align-items:center;gap:8px;font-weight:600;white-space:nowrap}.featureToggle input{width:18px;height:18px}.qrStandalone{max-width:720px;margin:auto;text-align:left}.qrStandalone #qrbox{width:max-content;margin:22px auto}@media(max-width:980px){.featureRow{grid-template-columns:1fr 1fr}.featureDesc{grid-column:1/-1}.featureRow .btn{width:100%}}@media(max-width:620px){.featureRow{grid-template-columns:1fr}.featureToggle{justify-content:flex-start}.featureRow .btn{width:100%}}
/* Phone country selector */
.phoneInput{display:grid;grid-template-columns:minmax(150px,210px) 1fr;gap:8px;align-items:start;margin-top:8px}.phoneInput select,.phoneInput input{width:100%}.phoneHint{grid-column:1/-1;color:var(--muted);font-size:12px}.phoneInput.phoneInvalid input.phoneLocal{border-color:var(--color-danger);box-shadow:0 0 0 1px var(--color-danger)}.phoneInput.phoneInvalid .phoneHint{color:var(--color-danger);font-weight:600}@media(max-width:620px){.phoneInput{grid-template-columns:1fr}}
/* intl-tel-input local vendor integration */
.iti{width:100%;margin-top:8px}.iti input.phoneIntl{width:100%;padding-left:88px!important}.iti--separate-dial-code input.phoneIntl{padding-left:104px!important}.iti__selected-country{min-width:86px;justify-content:flex-start}.iti__selected-country-primary{padding-left:12px}.iti__selected-dial-code{font-weight:600;color:var(--text);margin-left:7px}.iti__country-list{border-radius:0;box-shadow:0 8px 24px rgba(0,0,0,.14);z-index:20}.iti__search-input{border-radius:0}.phoneForm .iti + input,.phoneForm .iti + textarea{margin-top:8px}
/* International address form */
.addressGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.addressGrid .addressWide{grid-column:1/-1}@media(max-width:620px){.addressGrid{grid-template-columns:1fr}}
/* Country picker based on intl-tel-input country data */
.countryMenu{position:absolute;z-index:30;width:100%;max-height:260px;overflow:auto;background:#fff;border:1px solid var(--line2);box-shadow:0 8px 24px rgba(0,0,0,.14);margin-top:4px}.field:has(.countryPicker){position:relative}.countryOption{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;width:100%;border:0;background:#fff;padding:9px 10px;text-align:left;cursor:pointer}.countryOption:hover{background:var(--color-primary-soft)}.countryOption b{font-weight:600}.countryOption small{color:var(--muted)}.countryEmpty{padding:12px;color:var(--muted)}
/* Country picker flags use intl-tel-input sprite classes */
.countryOption .iti__flag{display:inline-block;align-self:center;justify-self:center;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
/* Selected country flag in address country input */
.countrySelected{display:grid;grid-template-columns:32px 1fr;align-items:center;border:1px solid var(--line2);background:#fff}.countrySelected:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.countrySelectedFlag{justify-self:center;display:inline-block}.countrySelected input{border:0!important;box-shadow:none!important;margin:0!important;padding-left:0!important}.countrySelected input:focus{outline:0}
/* Subsections inside a fiche block */
.subSection{margin-top:22px;padding-top:18px;border-top:1px solid var(--line2)}
/* Profile: make the two fiche blocks visually distinct */
.phoneForm > .card.panel:has(.formSection){background:transparent;border:0;box-shadow:none;padding:0;display:grid;gap:18px}.phoneForm .formSection{background:#fff;border:2px solid var(--color-line);box-shadow:0 6px 18px rgba(0,0,0,.05);padding:22px;margin:0;position:relative}.phoneForm .formSection::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--color-primary)}.phoneForm .formSection:nth-of-type(2)::before{background:var(--color-danger)}.phoneForm .formSection>.sectionTitle{font-size:24px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--line2)}.phoneForm .formSection:nth-of-type(1)>.sectionTitle::after{content:"Coordonnées publiques de contact";display:block;margin-top:4px;font-size:13px;font-weight:500;color:var(--muted)}.phoneForm .formSection:nth-of-type(2)>.sectionTitle::after{content:"Informations médicales et contacts d’urgence";display:block;margin-top:4px;font-size:13px;font-weight:500;color:var(--muted)}
/* Tighten fiche card titles */
.phoneForm .formSection>.sectionTitle{margin-top:0!important}.phoneForm .formSection{padding-top:16px}
/* Per-fiche save states */
.saveRow{display:flex;align-items:center;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line2)}.ficheSaveBtn:disabled{background:var(--color-surface-alt)!important;border-color:var(--color-line)!important;color:var(--color-muted)!important;cursor:not-allowed;box-shadow:none}.saveHint{font-size:13px;color:var(--muted)}.formSection.isDirty{border-color:var(--color-primary)}.formSection.isDirty .saveHint{color:var(--color-primary-hover);font-weight:600}.formSection:nth-of-type(2).isDirty{border-color:var(--color-danger)}.formSection:nth-of-type(2).isDirty .saveHint{color:var(--color-danger)}@media(max-width:620px){.saveRow{align-items:stretch;flex-direction:column}.saveRow .btn{width:100%}}
/* Modified field highlight */
input.fieldDirty,textarea.fieldDirty,select.fieldDirty,.iti.fieldDirty,.countrySelected.fieldDirty{background:#fff!important;box-shadow:none!important}.iti.fieldDirty input,.countrySelected.fieldDirty input{background:#fff!important}.featureToggle input.fieldDirty{outline:0}
/* Dirty save hint highlight */
.formSection.isDirty .saveHint{background:var(--color-warning-soft);border:1px solid var(--color-warning);color:var(--color-warning-text);padding:8px 10px;font-weight:600}
/* Fiche header: state + actions */
.ficheBlockHead{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--line2)}.ficheBlockHead>.sectionTitle{margin:0!important;padding:0!important;border:0!important}.ficheHeadActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ficheEnabledInput{position:absolute;opacity:0;pointer-events:none}.ficheStateBtn{border:1px solid var(--color-warning);background:var(--color-warning-soft);color:var(--color-warning-text);padding:9px 11px;font-weight:700;cursor:pointer}.ficheStateBtn.isEnabled{border-color:var(--color-success);background:var(--color-success-soft);color:var(--color-success)}.ficheStateBtn:disabled{opacity:.55;cursor:not-allowed}.phoneForm .formSection>.sectionTitle{display:none}.phoneForm .formSection:nth-of-type(1) .ficheBlockHead>.sectionTitle::after{content:"Coordonnées publiques de contact";display:block;margin-top:4px;font-size:13px;font-weight:500;color:var(--muted)}.phoneForm .formSection:nth-of-type(2) .ficheBlockHead>.sectionTitle::after{content:"Informations médicales et contacts d’urgence";display:block;margin-top:4px;font-size:13px;font-weight:500;color:var(--muted)}@media(max-width:900px){.ficheBlockHead{grid-template-columns:1fr}.ficheHeadActions{justify-content:flex-start}.ficheHeadActions .btn,.ficheStateBtn{width:100%}}
/* Disabled view buttons when fiche is inactive */
.ficheViewBtn.isDisabled{background:var(--color-surface-alt)!important;border-color:var(--color-line)!important;color:var(--color-muted)!important;cursor:not-allowed!important;pointer-events:none;box-shadow:none!important;opacity:.75}
/* Split fiche state pill and activation action */
.ficheStatePill{border:1px solid var(--color-warning);background:var(--color-warning-soft);color:var(--color-warning-text);padding:9px 11px;font-weight:700;white-space:nowrap}.ficheStatePill.isEnabled{border-color:var(--color-success);background:var(--color-success-soft);color:var(--color-success)}.ficheToggleBtn{border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;padding:9px 11px;font-weight:700;cursor:pointer}.ficheToggleBtn.isDeactivate{border-color:var(--color-muted);background:#fff;color:var(--color-soft)}.ficheToggleBtn:disabled{opacity:.55;cursor:not-allowed}.ficheStateBtn{display:none!important}
/* Put fiche state next to block title */
.ficheTitleGroup{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ficheTitleGroup>.sectionTitle{margin:0!important;padding:0!important;border:0!important}.ficheTitleGroup .ficheStatePill{align-self:center}.ficheHeadActions .ficheStatePill{display:none}@media(max-width:900px){.ficheTitleGroup{align-items:flex-start;flex-direction:column;gap:8px}}
/* Tighten emergency contacts subsection */
.subSection{margin-top:10px!important;padding-top:10px!important}.subSection>.sectionTitle{margin-top:0!important;margin-bottom:10px!important}
/* Emergency PIN protection */
.pinRow{display:grid;grid-template-columns:minmax(220px,auto) minmax(180px,280px);gap:12px;align-items:end;margin:10px 0 18px;padding:12px;background:var(--color-surface-alt);border:1px solid var(--line2)}.pinToggle{display:flex;align-items:center;gap:9px;font-weight:700}.pinToggle input{width:18px;height:18px}.pinField label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.pinField input{width:100%;margin-top:4px}.pinField small{display:block;margin-top:4px;color:var(--muted);font-size:12px}.pinGate{max-width:560px;margin:28px auto}.pinGate input{text-align:center;font-size:24px;letter-spacing:.35em}@media(max-width:620px){.pinRow{grid-template-columns:1fr}}
/* PIN validation/update UX */
.pinInputRow{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.pinRow.pinError{border-color:var(--color-danger);background:var(--color-danger-soft)}.pinRow.pinError input[name=emergency_pin]{border-color:var(--color-danger)!important;background:var(--color-danger-soft)!important;box-shadow:0 0 0 1px rgba(220,38,38,.35)!important}.pinRow.pinError .pinHelp{color:var(--color-danger);font-weight:700}@media(max-width:620px){.pinInputRow{grid-template-columns:1fr}.pinInputRow .btn{width:100%}}
/* Compact PIN input label */
.pinInputRow{grid-template-columns:auto minmax(90px,140px) auto!important}.pinInputRow label{align-self:center;margin:0;white-space:nowrap}.pinInputRow input[name=emergency_pin]{text-align:center;letter-spacing:.12em}@media(max-width:620px){.pinInputRow{grid-template-columns:1fr!important}.pinInputRow input[name=emergency_pin]{text-align:left;letter-spacing:normal}}
/* Harmonized emergency PIN row */
.pinRow{grid-template-columns:minmax(260px,1fr) auto!important;align-items:center;padding:12px 14px!important;margin:8px 0 16px!important}.pinToggleWrap{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pinHelp{color:var(--muted);font-size:12px;line-height:1.35}.pinField{justify-self:end}.pinInputRow{grid-template-columns:auto 112px auto!important;gap:8px!important}.pinInputRow .btnSmall{min-height:34px;padding:8px 12px;font-size:13px}.pinRow.pinError .pinHelp{color:var(--color-danger);font-weight:700}@media(max-width:760px){.pinRow{grid-template-columns:1fr!important}.pinField{justify-self:stretch}.pinInputRow{grid-template-columns:auto 1fr!important}.pinInputRow .btn{grid-column:1/-1;width:100%}}
/* PIN delete action */
.pinInputRow{grid-template-columns:auto 112px auto auto!important}.pinDeleteBtn{color:var(--color-danger);border-color:var(--color-danger)}.pinDeleteBtn:hover{background:var(--color-danger-soft);border-color:var(--color-danger)}@media(max-width:760px){.pinInputRow{grid-template-columns:auto 1fr!important}.pinInputRow .btn{grid-column:1/-1;width:100%}}
/* Disabled PIN delete button */
.pinDeleteBtn:disabled,.pinDeleteBtn[aria-disabled=true]{color:var(--color-muted)!important;border-color:var(--color-line)!important;background:var(--color-surface-alt)!important;cursor:not-allowed;opacity:.75}.pinDeleteBtn:disabled:hover,.pinDeleteBtn[aria-disabled=true]:hover{background:var(--color-surface-alt)!important;border-color:var(--color-line)!important}
/* PIN row final alignment */
.pinInputRow{grid-template-columns:112px auto auto!important;align-items:center}.pinInputRow input[name=emergency_pin]{height:34px;min-height:34px;padding:8px 10px;text-align:center;letter-spacing:.08em}.pinInputRow input[name=emergency_pin]::placeholder{color:var(--color-muted);opacity:1;letter-spacing:0}.pinUpdateBtn.btnPrimary{background:var(--blue);border-color:var(--blue);color:#fff}.pinUpdateBtn.btnPrimary:hover{background:var(--blue2);border-color:var(--blue2)}@media(max-width:760px){.pinInputRow{grid-template-columns:1fr!important}.pinInputRow input[name=emergency_pin]{width:100%}}
/* Unified active blue buttons */
.ficheToggleBtn:not(.isDeactivate){background:var(--blue)!important;border-color:var(--blue)!important;color:#fff!important}.ficheToggleBtn:not(.isDeactivate):hover{background:var(--blue2)!important;border-color:var(--blue2)!important}
/* Language selector */
.langSelect{display:inline-flex;align-items:center;margin-left:4px}.langSelect select{height:34px;min-height:34px;border:1px solid var(--color-line-strong);background:#fff;color:var(--text);border-radius:0;padding:0 30px 0 10px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.langSelect select:hover{background:var(--color-surface-alt);border-color:var(--color-muted)}.langSelect select:focus{outline:none;border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.srOnly{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:860px){.langSelect,.langSelect select{width:100%}}
/* Flag-based custom language menu */
.langSelect{display:none!important}.langMenu{position:relative;display:inline-flex;margin-left:4px}.langMenu summary{list-style:none;height:34px;min-height:34px;border:1px solid var(--color-line-strong);background:#fff;color:var(--text);padding:0 10px;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;cursor:pointer}.langMenu summary::-webkit-details-marker{display:none}.langMenu summary:hover{background:var(--color-surface-alt);border-color:var(--color-muted)}.langMenu summary::after{content:"";border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--color-muted);margin-left:2px}.langMenu[open] summary{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.langMenuList{position:absolute;right:0;top:calc(100% + 4px);z-index:80;min-width:170px;background:#fff;border:1px solid var(--line2);box-shadow:0 8px 24px rgba(0,0,0,.14);padding:4px 0}.langMenuList a{display:flex;align-items:center;gap:8px;padding:9px 10px;color:var(--text);text-decoration:none;font-size:13px;font-weight:600}.langMenuList a:hover,.langMenuList a[aria-current=true]{background:var(--color-primary-soft)}.langFlag{width:16px;height:12px;display:inline-block;flex:0 0 16px;border-radius:1px;box-shadow:0 0 1px 0 #888;background-image:url('/assets/vendor/img/flags.webp');background-repeat:no-repeat;background-size:3904px 12px}.langFlag-fr{background-position:-1168px 0}.langFlag-gb{background-position:-1200px 0}.langFlag-es{background-position:-1056px 0}.langFlag-de{background-position:-880px 0}@media (min-resolution:2x){.langFlag{background-image:url('/assets/vendor/img/flags@2x.webp')}}@media(max-width:860px){.langMenu{width:100%;margin-left:0}.langMenu summary{width:100%;justify-content:flex-start}.langMenuList{left:0;right:auto;width:100%}}

/* ComeBackTo.me homepage live concept */
body.homePage{background:var(--color-bg);color:var(--home-text)}
.homePage .wrap{width:min(1180px,calc(100% - 40px))}.homePage .top{border-bottom:0;margin-bottom:24px}.homePage .brand,.homePage .brand b{color:var(--home-ink)}
.homeIntro{text-align:center;margin:10px auto 14px;max-width:1080px}.homeIntro h2{margin:0;font-size:34px;line-height:1.16;letter-spacing:-.04em;color:var(--home-ink);font-weight:760}.homeHero{display:block;max-width:1040px;width:100%;margin:0 auto 22px;text-align:center}.homeHeroCopy{padding:30px 0 16px}.homeH1{font-size:68px;line-height:.94;letter-spacing:-.06em;margin:22px 0 20px;color:var(--home-ink);font-weight:760}.homeH1 span{color:var(--home-red)}.homeLead{font-size:21px;line-height:1.48;color:var(--home-soft);max-width:960px;margin:34px auto 24px}
.homeModeSwitch{position:relative;margin:18px auto 28px;max-width:920px;background:#e8edf6;border:1px solid rgba(37,99,235,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),var(--home-shadow);border-radius:34px;padding:8px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.homeModeSwitch:before{content:"";position:absolute;top:8px;bottom:8px;left:8px;width:calc(50% - 8px);border-radius:26px;background:#fff;box-shadow:0 14px 32px rgba(37,99,235,.18);transition:transform .28s ease;z-index:0}.mode-assets .homeModeSwitch:before{transform:translateX(calc(100% + 8px))}.homeModeSwitch:after{content:"Glissez ou touchez pour changer";position:absolute;left:50%;bottom:-22px;transform:translateX(-50%);font-size:12px;font-weight:750;color:var(--home-muted);letter-spacing:.01em}.homeModeBtn{position:relative;z-index:1;border:0;background:transparent;border-radius:26px;padding:22px;text-align:left;display:flex;gap:14px;align-items:center;cursor:pointer;color:var(--home-soft);transition:.25s;font:inherit}.homeModeBtn .emoji{font-size:34px}.homeModeBtn b{display:block;color:var(--home-ink);font-size:20px}.homeModeBtn small{display:block;font-size:14px}.mode-adventure [data-mode="adventure"] b,.mode-assets [data-mode="assets"] b{color:var(--home-blue)}.mode-adventure [data-mode="adventure"] .emoji,.mode-assets [data-mode="assets"] .emoji{transform:scale(1.08)}
.homeUsecases{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:stretch}.homeCaseHero,.homeCaseText,.homeProcess{background:rgba(255,255,255,.78);border:1px solid rgba(23,32,51,.1);box-shadow:var(--home-shadow);border-radius:32px;overflow:hidden}.homeCaseHero{min-height:430px;position:relative;background:#111}.homeCaseHero .image{position:absolute;inset:0;background:center/cover}.mode-adventure .homeCaseHero .image{background-image:url('/assets/home/aeronav-adventure-cyclist-paraglider.png')}.mode-assets .homeCaseHero .image{background-image:url('/assets/home/aeronav-assets-luggage-laptop-qr.png')}.homeCaseHero:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.44)}.homeCaseHero .inner{position:absolute;left:28px;bottom:28px;right:28px;color:#fff;z-index:2}.homeCaseHero h2{font-size:42px;line-height:1;margin:0 0 10px;letter-spacing:-.04em}.homeCaseHero p{font-size:18px;line-height:1.45;margin:0;max-width:560px;opacity:1;font-weight:650;text-shadow:0 3px 16px rgba(0,0,0,.72)}.mode-adventure .homeCaseHero .inner.adventureBlock h2{position:absolute;left:0;right:0;bottom:205px;margin:0;text-shadow:0 4px 22px rgba(0,0,0,.55)}@media(max-width:980px){.mode-adventure .homeCaseHero .inner.adventureBlock h2{bottom:180px;font-size:34px}}@media(max-width:720px){.mode-adventure .homeCaseHero .inner.adventureBlock h2{bottom:195px;font-size:29px}}.homeCaseText{padding:18px;display:grid}.caseTextBlock{display:none;background:#fff;border:1px solid rgba(23,32,51,.08);border-left:4px solid var(--home-red);border-radius:24px;padding:24px;align-self:stretch}.caseTextBlock p{margin:0;color:var(--home-soft);font-size:20px;line-height:1.52}.caseTextBlock p+p{margin-top:16px;color:var(--home-ink);font-weight:650}.assetsOnly,.adventureOnly{display:none}.mode-adventure .adventureOnly,.mode-assets .assetsOnly{display:block}.mode-adventure .adventureBlock,.mode-assets .assetsBlock{display:block}.mode-adventure .assetsBlock,.mode-assets .adventureBlock{display:none}
.homeOfferCta{margin:18px auto 24px;max-width:920px}.homeOfferBtn{width:100%;border:1px solid rgba(37,99,235,.16);background:var(--color-primary-soft);color:var(--home-ink);box-shadow:0 14px 32px rgba(37,99,235,.15);border-radius:26px;padding:24px 28px;display:flex;align-items:center;justify-content:center;gap:14px;text-decoration:none;font-weight:850;font-size:22px;text-align:center}.homeOfferBtn strong{color:var(--home-blue)}.homeOfferBtn .emoji{font-size:32px}
.homeProcess{margin:24px 0 40px;padding:24px}.homeProcessGrid{display:grid;grid-template-columns:1fr 300px;gap:28px;align-items:center}.homeProcess h2{font-size:32px;margin:0 0 18px;letter-spacing:-.035em}.homeSteps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.homeStep{background:#fff;border:1px solid rgba(23,32,51,.08);border-radius:24px;padding:18px;min-height:170px}.homeStep em{font-style:normal;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:14px;background:var(--color-primary-soft);color:var(--home-blue);font-weight:900;margin-bottom:16px}.mode-adventure .homeStep em{background:var(--home-redSoft);color:var(--home-red2)}.homeStep b{display:block;font-size:17px;margin-bottom:8px}.homeStep span{font-size:14px;color:var(--home-soft);line-height:1.4}.homePhone{display:flex;justify-content:center}.homePhoneShell{position:relative;width:270px;min-height:438px;background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.9);border-radius:36px;box-shadow:0 24px 80px rgba(23,32,51,.14);padding:16px;transform:rotate(2deg)}.homePhoneScreen{border-radius:27px;overflow:hidden;background:#fff;min-height:410px;border:1px solid rgba(23,32,51,.08)}.homePhonePhoto{height:170px;background:url('/assets/home/aeronav-adventure-cyclist-paraglider.png') center/cover,var(--color-primary-soft);position:relative}.mode-assets .homePhonePhoto{background-image:url('/assets/home/aeronav-assets-luggage-laptop-qr.png')}.homePhonePhoto:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.18)}.homeQrFloat{position:absolute;right:14px;bottom:-22px;width:80px;height:80px;background:#fff;border-radius:18px;padding:12px;box-shadow:0 16px 32px rgba(0,0,0,.2);z-index:2}.homeQrFloat:before{content:"";display:block;width:100%;height:100%;background:#111}.homePhoneProfile{padding:36px 15px 15px}.homeFileState{display:inline-flex;padding:7px 10px;border-radius:999px;background:var(--home-redSoft);color:var(--home-red2);font-weight:850;font-size:12px}.mode-assets .homeFileState{background:var(--color-primary-soft);color:var(--home-blue2)}.homePhoneProfile h3{font-size:22px;margin:14px 0 8px}.homePhoneProfile p{font-size:15px;color:var(--home-soft);line-height:1.45}.homePhoneActions{display:grid;gap:10px;margin-top:16px}.homePhoneActions div{padding:10px;border:1px solid var(--home-line);border-radius:18px;background:#fff;font-weight:750;font-size:14px}.mode-adventure .homePhoneActions .emergencyAction{border-color:var(--color-danger-soft);background:var(--color-danger-soft);color:var(--home-red2)}
.homeNotes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:44px}.homeNotes div{padding:22px;border-radius:28px;background:rgba(255,255,255,.7);border:1px solid rgba(23,32,51,.1)}.homeNotes b{display:block;font-size:18px;margin-bottom:8px}.homeNotes span{color:var(--home-soft);font-size:14px;line-height:1.45}
@media(max-width:980px){.homeUsecases,.homeSteps,.homeNotes,.homeProcessGrid{grid-template-columns:1fr}.homeH1{font-size:46px}.homePhone{margin:14px auto 0}.homePhoneShell{width:min(100%,300px)}.homeCaseHero{min-height:360px}.homePage .top{flex-wrap:wrap}.homePage .mainNav{width:100%;margin-left:0}.homeStep{min-height:auto}}
@media(max-width:720px){.homeIntro h2{font-size:25px;line-height:1.2}.homeH1{font-size:40px;line-height:1.02}.homeLead{font-size:18px}.homeOfferBtn{font-size:18px;padding:20px 18px}.homeModeSwitch{grid-template-columns:1fr;gap:8px}.homeModeSwitch:before{top:8px;left:8px;right:8px;width:auto;height:calc(50% - 8px)}.mode-assets .homeModeSwitch:before{transform:translateY(calc(100% + 8px))}.homeModeSwitch:after{bottom:-20px;white-space:nowrap}.homePage .wrap{width:min(100% - 28px,1180px)}}

/* Simplified premium profile fiches */
body.editPage{background:var(--color-bg)}.phoneForm > .card.panel:has(.formSection){gap:22px}.phoneForm .formSection{border:1px solid rgba(23,32,51,.10)!important;border-radius:28px!important;box-shadow:0 18px 54px rgba(23,32,51,.08)!important;padding:24px!important;overflow:hidden}.phoneForm .formSection::before{width:6px!important;background:var(--home-blue)!important}.phoneForm .formSection:nth-of-type(2)::before{background:var(--home-red)!important}.ficheBlockHead{border-bottom:1px solid rgba(23,32,51,.10)!important;margin-bottom:20px!important;padding-bottom:16px!important}.ficheTitleGroup>.sectionTitle{font-size:28px!important;letter-spacing:-.03em;font-weight:760!important}.ficheStatePill{border-radius:999px!important;padding:8px 12px!important;background:var(--color-warning-soft)!important;border-color:var(--color-warning-soft)!important;color:var(--color-warning-text)!important}.ficheStatePill.isEnabled{background:var(--color-success-soft)!important;border-color:var(--color-success-soft)!important;color:var(--color-success)!important}.ficheToggleBtn,.ficheHeadActions .btn{border-radius:999px!important;font-weight:800!important}.ficheTitleGroup .sectionTitle{cursor:pointer;display:inline-flex;align-items:center;gap:10px}.ficheTitleGroup .sectionTitle::after{content:'⌄';font-size:18px;color:var(--home-soft);transition:transform .18s ease}.ficheCollapsible.isCollapsed .ficheTitleGroup .sectionTitle::after{transform:rotate(-90deg)}.ficheCollapseHint{grid-column:1/-1;margin:8px 0 0;color:var(--home-soft);font-size:13px;font-weight:700}.ficheCollapsible.isCollapsed{padding-bottom:18px!important}.ficheCollapsible.isCollapsed .ficheBlockHead{margin-bottom:0!important;padding-bottom:0!important;border-bottom:0!important}.ficheCollapseBody[hidden]{display:none!important}.expiredPlanCard,.trialPlanCard{display:flex;gap:18px;align-items:flex-start;border-left:6px solid var(--home-red)!important;background:linear-gradient(135deg,#fff7f7,#fff)!important}.trialPlanCard{border-left-color:var(--color-warning)!important;background:linear-gradient(135deg,#fff7ed,#fff)!important}.expiredPlanIcon,.trialPlanIcon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--home-red);color:#fff;font-weight:900;font-size:24px;flex:0 0 auto}.trialPlanIcon{background:var(--color-warning);font-size:20px}.expiredPlanCard .sectionTitle{margin:0 0 8px;color:var(--home-red2)}.expiredPlanWarning{margin:10px 0 14px;padding:14px 16px;border-radius:18px;background:var(--color-danger-soft);border:1px solid rgba(220,38,38,.28);color:var(--home-red2);font-weight:900;line-height:1.35}.trialPlanCard .sectionTitle{margin:0 0 8px;color:var(--color-warning-text)}.expiredPlanCard p:not(.eyebrow),.trialPlanCard p:not(.eyebrow){margin:0 0 8px;color:var(--home-soft)}.profileSubscriptionIntro{background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border:1px solid rgba(22,163,74,.24);border-radius:24px;padding:18px;margin:0 0 20px;box-shadow:0 14px 30px rgba(22,163,74,.10)}.profileSubscriptionIntro p{color:#166534;max-width:900px;margin:0 0 14px}.profileSubscriptionBox{margin:22px auto;max-width:1180px;border-radius:28px!important;border:1px solid rgba(23,32,51,.10)!important;box-shadow:0 18px 54px rgba(23,32,51,.08)!important}.profileSubscriptionBox h2{font-size:30px;line-height:1.05;margin:0 0 10px;letter-spacing:-.035em;color:var(--home-ink)}.profileSubscriptionBox p{color:var(--home-soft);max-width:860px}.subscriptionRecap,.fakePaymentBox{border-radius:28px!important;box-shadow:0 18px 54px rgba(23,32,51,.08)!important}.fakePaymentBox{border-left:6px solid var(--home-blue)!important;background:linear-gradient(135deg,#f8fbff,#fff)!important}.fakePaymentBox .sectionTitle{margin:0 0 10px;color:var(--home-blue2)}.profilePlanOptions{margin-top:18px}.contactRequiredEmpty{background:var(--color-warning-soft)!important;border-color:var(--color-warning)!important;box-shadow:0 0 0 1px rgba(245,158,11,.25)!important}.field input.contactRequiredEmpty::placeholder{color:var(--color-warning-text)}.ficheToggleBtn:not(.isDeactivate),.pinUpdateBtn.btnPrimary{background:var(--home-blue)!important;border-color:var(--home-blue)!important}.ficheToggleBtn:not(.isDeactivate):hover,.pinUpdateBtn.btnPrimary:hover{background:var(--home-blue2)!important;border-color:var(--home-blue2)!important}.ficheToggleBtn.isDeactivate{background:#fff!important;border-color:rgba(23,32,51,.18)!important;color:var(--home-text)!important}.field input,.field textarea,.countrySelected,.pinRow{border-radius:14px!important;border-color:rgba(23,32,51,.16)!important}.field input,.field textarea{padding:12px 13px!important}.fieldHint{margin:6px 0 0;color:var(--home-soft);font-size:12px;font-weight:700}.pinRow{background:var(--color-surface-alt)!important}.phoneForm .formSection:nth-of-type(2) .pinRow.pinError{border-color:var(--home-red)!important;background:var(--color-danger-soft)!important}.saveRow{border-top:1px solid rgba(23,32,51,.10)!important}.ficheSaveBtn{border-radius:999px!important}.formSection.isDirty{border-color:var(--home-blue)!important}.formSection:nth-of-type(2).isDirty{border-color:var(--home-red)!important}.formSection.isDirty .saveHint{border-radius:999px!important;background:var(--color-primary-soft)!important;border-color:var(--color-primary-soft)!important;color:var(--home-blue2)!important}.formSection:nth-of-type(2).isDirty .saveHint{background:var(--color-danger-soft)!important;border-color:var(--color-danger-soft)!important;color:var(--home-red2)!important}

/* Offers page */
body.offersPage{background:var(--color-bg);color:var(--home-text)}.offersPage .top{border-bottom:0}.offersHero{text-align:center;max-width:920px;margin:24px auto 28px}.offersHero h1{font-size:clamp(42px,5vw,66px);line-height:1;letter-spacing:-.055em;margin:12px 0;color:var(--home-ink);font-weight:760}.offersHero p{font-size:20px;line-height:1.5;color:var(--home-soft);margin:0 auto;max-width:760px}.pricingGrid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:28px 0}.priceCard{background:#fff;border:1px solid rgba(23,32,51,.1);border-radius:32px;box-shadow:var(--home-shadow);padding:28px;display:flex;flex-direction:column;gap:20px;position:relative;overflow:hidden}.priceCard:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--home-blue)}.priceCard.isSoon:before{background:var(--home-red)}.priceTop span{display:inline-flex;border-radius:999px;padding:7px 10px;background:var(--color-primary-soft);color:var(--home-blue2);font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.priceCard.isSoon .priceTop span{background:var(--home-redSoft);color:var(--home-red2)}.priceTop h2{font-size:30px;line-height:1.05;margin:14px 0 8px;letter-spacing:-.035em}.priceTop p{color:var(--home-soft);line-height:1.5;margin:0}.priceAmount{display:flex;align-items:flex-end;gap:10px}.priceAmount strong{font-size:48px;line-height:.9;color:var(--home-ink);letter-spacing:-.04em}.priceAmount span{color:var(--home-muted);font-weight:700}.mutedPrice strong{font-size:38px;color:var(--home-red2)}.priceCardSubscription{gap:16px}.subscriptionOptions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:4px 0}.subscriptionOption{border:1px solid rgba(23,32,51,.1);background:#f8fbff;border-radius:20px;padding:14px 12px;display:flex;flex-direction:column;gap:4px;min-width:0;cursor:pointer;text-align:left;font:inherit;appearance:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.subscriptionOption:hover,.subscriptionOption:focus-visible{border-color:rgba(37,99,235,.38);box-shadow:0 10px 22px rgba(37,99,235,.11);outline:0}.subscriptionOption.isSelected{border-color:var(--home-blue);box-shadow:0 0 0 3px rgba(37,99,235,.14),0 12px 28px rgba(37,99,235,.12);transform:translateY(-1px)}.subscriptionOption.isDisabled,.subscriptionOption:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.2);box-shadow:none!important;transform:none!important}.subscriptionOption b{font-size:13px;font-weight:700;color:var(--home-soft);text-transform:uppercase;letter-spacing:.04em}.subscriptionOption strong{font-size:28px;line-height:1;color:var(--home-ink);letter-spacing:-.04em;font-weight:760}.subscriptionOption span{font-size:11px;line-height:1.25;color:var(--home-muted);font-weight:800}.subscriptionOption .subscriptionSaving{color:#15803d;font-weight:500}.subscriptionOption.isBest{background:var(--color-primary-soft);border-color:rgba(37,99,235,.3);position:relative}.subscriptionOption.isBest::after{content:'Meilleur prix';position:absolute;top:-9px;left:50%;transform:translateX(-50%);font-size:10px;font-weight:800;background:var(--home-blue);color:#fff;padding:2px 8px;border-radius:999px;white-space:nowrap}@media(max-width:560px){.subscriptionOptions{grid-template-columns:1fr}}.priceCard ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}.priceCard li{position:relative;padding-left:26px;color:var(--home-text);line-height:1.4}.priceCard li:before{content:"✓";position:absolute;left:0;top:0;color:var(--home-blue);font-weight:900}.priceCard.isSoon li:before{color:var(--home-red)}.offersNotes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0 44px}.offersNotes.offersSubscriptionInfo{grid-template-columns:1fr}.offersNotes div{padding:22px;border-radius:28px;background:rgba(255,255,255,.75);border:1px solid rgba(23,32,51,.1)}.offersSubscriptionInfo div{background:#f8fbff;border-color:rgba(37,99,235,.16)}.offersNotes b{display:block;font-size:18px;margin-bottom:8px}.offersNotes span{display:block;color:var(--home-soft);font-size:14px;line-height:1.45}.offersSubscriptionInfo span{max-width:920px}@media(max-width:860px){.pricingGrid,.offersNotes{grid-template-columns:1fr}.priceCard{padding:24px}.offersHero p{font-size:18px}}

/* Homepage informational CTAs + info pages */
.homeInfoCtas{max-width:920px;margin:22px auto 10px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.homeInfoCtas a{display:flex;align-items:center;justify-content:center;min-height:64px;border-radius:24px;background:#fff;border:1px solid rgba(37,99,235,.16);box-shadow:0 10px 28px rgba(23,32,51,.06);color:var(--home-ink);text-decoration:none;font-weight:850;font-size:18px;text-align:center;padding:16px 20px}.homeInfoCtas a:hover{background:var(--color-primary-soft);border-color:rgba(37,99,235,.32)}.homeInfoCtas a:nth-child(2){border-color:rgba(220,38,38,.18)}.homeInfoCtas a:nth-child(2):hover{background:var(--color-danger-soft);border-color:rgba(220,38,38,.32)}
body.infoPage{background:var(--color-bg);color:var(--home-text)}.infoPage .top{border-bottom:0}.infoHero{text-align:center;max-width:920px;margin:24px auto 30px}.infoHero h1{font-size:clamp(42px,5vw,66px);line-height:1;letter-spacing:-.055em;margin:12px 0;color:var(--home-ink);font-weight:760}.infoHero p{font-size:20px;line-height:1.5;color:var(--home-soft);margin:0 auto;max-width:780px}.infoSteps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:26px 0}.infoSteps article,.infoCards article{background:#fff;border:1px solid rgba(23,32,51,.1);border-radius:28px;box-shadow:var(--home-shadow);padding:24px}.infoSteps em{font-style:normal;display:inline-grid;place-items:center;width:38px;height:38px;border-radius:14px;background:var(--color-primary-soft);color:var(--home-blue);font-weight:900;margin-bottom:16px}.infoSteps h2,.infoCards h2,.infoCallout h2{font-size:22px;line-height:1.1;margin:0 0 10px;letter-spacing:-.03em}.infoSteps p,.infoCards p,.infoCallout p{margin:0;color:var(--home-soft);line-height:1.52}.infoCards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:26px 0}.infoCards article:nth-child(3),.infoCards article:nth-child(4){border-left:4px solid var(--home-red)}.infoCallout{background:#fff;border:1px solid rgba(37,99,235,.16);border-radius:32px;box-shadow:var(--home-shadow);padding:28px;margin:24px auto 44px;max-width:920px;text-align:center}.infoCallout p{max-width:720px;margin:0 auto 18px}.privacyWarn{border-color:rgba(220,38,38,.18)}@media(max-width:980px){.infoSteps{grid-template-columns:1fr 1fr}}@media(max-width:720px){.homeInfoCtas,.infoSteps,.infoCards{grid-template-columns:1fr}.homeInfoCtas a{min-height:58px;font-size:16px}.infoHero p{font-size:18px}}
/* FAQ page */
.homeInfoCtas:has(a:nth-child(3)){grid-template-columns:repeat(3,1fr)}.faqList{max-width:920px;margin:24px auto;display:grid;gap:12px}.faqList details{background:#fff;border:1px solid rgba(23,32,51,.1);border-radius:22px;box-shadow:0 10px 28px rgba(23,32,51,.05);overflow:hidden}.faqList summary{cursor:pointer;padding:20px 22px;font-weight:850;color:var(--home-ink);font-size:18px;list-style:none}.faqList summary::-webkit-details-marker{display:none}.faqList summary:after{content:"+";float:right;color:var(--home-blue);font-weight:900}.faqList details[open] summary:after{content:"–"}.faqList p{margin:0;padding:0 22px 22px;color:var(--home-soft);line-height:1.55}@media(max-width:860px){.homeInfoCtas:has(a:nth-child(3)){grid-template-columns:1fr}}
/* PIN hash/security status */
.pinStatus{display:inline-flex;align-items:center;min-height:24px;padding:4px 9px;border:1px solid var(--color-line);background:#fff;color:var(--color-muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.pinStatus.isConfigured{border-color:rgba(22,163,74,.22);background:var(--color-success-soft);color:var(--color-success)}.pinStatus.isMissing{border-color:rgba(165,31,45,.18);background:var(--color-danger-soft);color:var(--color-danger)}
.invoiceBox{margin-top:22px;background:#fff;border:1px solid rgba(23,32,51,.12);border-radius:28px;padding:26px;box-shadow:0 18px 54px rgba(23,32,51,.08)}.invoiceHead{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid rgba(23,32,51,.10);padding-bottom:18px;margin-bottom:18px}.invoiceHead h2{margin:4px 0 6px;font-size:32px;letter-spacing:-.04em;color:var(--home-ink)}.invoiceHead span,.invoiceParties span{display:block;color:var(--home-soft);line-height:1.5}.invoiceBrand{text-align:right;display:grid;gap:4px;justify-items:end}.invoiceBrand .brandLogo{justify-content:flex-end}.invoiceParties{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin:18px 0}.invoiceParties>div{background:#f8fbff;border:1px solid rgba(37,99,235,.12);border-radius:20px;padding:16px}.invoiceParties b{display:block;margin-bottom:8px;color:var(--home-ink)}.invoiceTable{border:1px solid rgba(23,32,51,.10);border-radius:20px;overflow:hidden;margin-top:18px}.invoiceRow{display:grid;grid-template-columns:1fr 160px 150px;gap:12px;align-items:center;padding:14px 16px;background:#fff}.invoiceRow:nth-child(even){background:#f8fbff}.invoiceHeader{background:var(--home-ink)!important;color:#fff;font-weight:850}.invoiceRow strong{text-align:right;font-size:20px;color:var(--home-ink)}.invoiceTotals{margin:18px 0 0 auto;max-width:340px;display:grid;gap:8px}.invoiceTotals div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(23,32,51,.10)}.invoiceTotalDue{font-size:22px;color:var(--home-ink);border-bottom:0!important}.invoiceTotalDue b{color:var(--home-blue2)}@media(max-width:700px){.invoiceHead,.invoiceParties{grid-template-columns:1fr;display:grid}.invoiceBrand{text-align:left;justify-items:start}.invoiceRow{grid-template-columns:1fr}.invoiceRow strong{text-align:left}.invoiceTotals{max-width:none}}
.footer{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap}.footerLinks{display:inline-flex;gap:12px;align-items:center;flex-wrap:wrap}.footerLinks:before{content:'·';color:var(--muted)}.footerLinks a{color:var(--home-blue);text-decoration:none;font-weight:800}.footerLinks a:hover{text-decoration:underline}.legalAcceptanceForm{display:grid;gap:16px}.legalAcceptance{display:grid;gap:10px;margin:16px 0 4px}.legalAcceptance h3{margin:0 0 4px;color:var(--home-ink);font-size:20px}.legalAcceptance .consentBox{border-radius:18px;border-color:rgba(23,32,51,.12);background:#fff;color:var(--home-text);line-height:1.45}.legalAcceptance .consentBox a{font-weight:850;color:var(--home-blue)}.legalCards{grid-template-columns:1fr}.legalCards article{border-left:4px solid var(--home-blue)}.legalCards article:nth-child(3),.legalCards article:nth-child(4){border-left-color:var(--home-red)}
.legalSubHero{margin-top:42px}.legalSubHero h2{font-size:clamp(34px,4vw,52px);line-height:1.04;letter-spacing:-.045em;margin:12px 0;color:var(--home-ink);font-weight:760}.privacyCards article{border-left:4px solid var(--home-red)}
.subscriptionAccessWarning{margin:16px 0;padding:16px 18px;border-radius:18px;background:var(--color-danger-soft);border:1px solid rgba(220,38,38,.34);color:var(--home-red2);font-weight:950;line-height:1.4;box-shadow:0 10px 26px rgba(220,38,38,.08)}.offersSubscriptionInfo div{border-left:6px solid var(--home-red);background:linear-gradient(135deg,#fff7f7,#fff)}.offersSubscriptionInfo span{color:var(--home-red2);font-weight:800}.profileSubscriptionIntro{border-left:6px solid var(--home-red)!important}.profileSubscriptionIntro p{color:var(--home-red2)!important;font-weight:800}.expiredPlanWarning{font-size:15px;text-transform:none}
.legalReadable{gap:22px}.legalReadable article{padding:26px 28px}.legalReadable article h2{margin-bottom:14px}.legalReadable article p{margin:0 0 12px;line-height:1.62}.legalReadable article p:last-child{margin-bottom:0}.legalReadable ul{margin:8px 0 14px;padding-left:22px;display:grid;gap:7px;color:var(--home-text);line-height:1.55}.legalReadable li b{color:var(--home-ink)}
.legalTodo{display:inline-block;color:#b91c1c;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;padding:1px 7px;font-weight:900}.legalTableWrap{overflow:auto;margin:10px 0 16px;border:1px solid rgba(23,32,51,.12);border-radius:16px}.legalTable{width:100%;border-collapse:collapse;background:#fff;font-size:14px;line-height:1.45}.legalTable th,.legalTable td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(23,32,51,.09)}.legalTable th{background:#f8fafc;color:var(--home-ink);font-weight:900}.legalTable tr:last-child td{border-bottom:0}.legalNoticeCards article:nth-child(3),.legalNoticeCards article:nth-child(4){border-left-color:var(--home-blue)}
