:root{--alertis-ink:#101820;--alertis-panel:#18212a;--alertis-line:#d8dee3;--alertis-paper:#f2f4f5;--alertis-red:#d52332;--alertis-red-dark:#aa1623;--alertis-green:#39d27d;--alertis-amber:#ffc34d;--alertis-shadow:0 18px 50px rgba(16,24,32,.1)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:132px}
body{background:var(--alertis-paper);color:var(--alertis-ink);font-family:Inter,"Segoe UI",Arial,sans-serif}
body.shell-ready{min-height:100vh;display:flex;flex-direction:column}
body.shell-ready main{width:100%;flex:1}
.site-header{position:sticky;top:0;z-index:1000;background:linear-gradient(180deg,#202b35,#111820);border-bottom:1px solid #34414d;box-shadow:0 8px 28px rgba(0,0,0,.22)}
.nav{width:100%;max-width:1240px;min-height:76px;margin:auto;padding:0 28px;display:flex;align-items:center;gap:26px}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;flex:0 0 auto}
.brand-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid #66727d;border-radius:8px;background:linear-gradient(145deg,#f9fafb,#aeb6bd);box-shadow:inset 0 0 0 3px #d8dde1,0 3px 8px rgba(0,0,0,.3)}
.brand-mark img{width:30px;height:30px;object-fit:contain}.brand>span:last-child{display:flex;flex-direction:column;line-height:1}.brand strong{font-size:1.12rem;letter-spacing:.16em}.brand small{font-size:.63rem;letter-spacing:.19em;color:#aeb9c3;margin-top:6px}
.nav-links{margin-left:auto;display:flex;align-items:center;gap:5px}.nav-links>a,.nav-more>summary{min-height:40px;padding:0 11px;display:flex;align-items:center;border-radius:7px;color:#dbe2e7;font-size:.9rem;font-weight:650;text-decoration:none;cursor:pointer;list-style:none;white-space:nowrap}
.nav-links>a:hover,.nav-links>a[aria-current="page"],.nav-more>summary:hover,.nav-more[open]>summary{background:#34414d;color:#fff}.nav-links .nav-pill,.nav-links .nav-account{margin-left:7px;border:1px solid #63707b;background:transparent}.nav-links .nav-cta{margin-left:3px;background:var(--alertis-red);border:1px solid #ed4e5a;color:#fff;box-shadow:inset 0 -2px 0 rgba(0,0,0,.25)}
.nav-more{position:relative}.nav-more>summary::-webkit-details-marker{display:none}.nav-more>summary::after{content:"⌄";margin-left:7px;color:#9eabb6}.nav-submenu{position:absolute;right:0;top:48px;width:230px;padding:8px;background:#17212a;border:1px solid #3f4d58;border-radius:10px;box-shadow:0 18px 45px rgba(0,0,0,.35)}.nav-submenu a{display:block;padding:11px 12px;color:#dbe2e7;border-radius:6px;text-decoration:none;font-size:.88rem}.nav-submenu a:hover{background:#34414d;color:#fff}
.nav-toggle{display:none;margin-left:auto;width:44px;height:42px;border:1px solid #5b6873;border-radius:7px;background:#27343e;color:#fff;font-size:1.4rem}.ssi-statusbar{min-height:30px;display:flex;justify-content:center;align-items:center;gap:26px;padding:5px 20px;background:#0b1015;border-top:1px solid #2f3b45;color:#c9d0d6;font:700 .68rem/1.2 Consolas,"Courier New",monospace;letter-spacing:.075em}.ssi-statusbar span{display:flex;align-items:center;gap:7px}.status-led{display:inline-block;width:8px;height:8px;border-radius:50%;box-shadow:0 0 8px currentColor}.status-led.green{color:var(--alertis-green);background:currentColor}.status-led.amber{color:var(--alertis-amber);background:currentColor}.status-warning{color:#ffadb4}
.page-hero,.client-hero{position:relative;overflow:hidden;background:linear-gradient(125deg,#111920 0%,#1f2b35 68%,#3b1720 100%);color:#fff;border-bottom:5px solid var(--alertis-red)}.page-hero::after,.client-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0,transparent 79px,rgba(255,255,255,.025) 80px)}.page-hero>*,.client-hero>*{position:relative;z-index:1}.page-hero h1,.client-hero h1{color:#fff;max-width:920px}.page-hero p,.client-hero p{color:#cbd4db}.eyebrow{color:var(--alertis-red)!important;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.section{max-width:1180px}
.client-card,.config-card,.subscription-summary,.auth-card,.pricing-card,.support-grid article,.faq details{border:1px solid var(--alertis-line);border-top:4px solid #34414d;border-radius:9px;background:#fff;box-shadow:0 10px 32px rgba(16,24,32,.07)}.client-card h2,.config-card h2,.subscription-summary h2{letter-spacing:-.025em}.client-card h2::before,.config-card h2::before{content:"";display:inline-block;width:8px;height:8px;margin:0 10px 2px 0;border-radius:50%;background:var(--alertis-green);box-shadow:0 0 0 3px #dff8ea}.danger-zone{border-top-color:var(--alertis-red)}.danger-zone h2::before{background:var(--alertis-red);box-shadow:0 0 0 3px #ffe0e3}
.btn{border-radius:7px;font-weight:750;letter-spacing:.01em;box-shadow:none}.btn.primary{background:linear-gradient(180deg,#ed3543,var(--alertis-red-dark));border:1px solid #8f101a;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 3px 8px rgba(174,21,34,.18)}.btn.primary:hover{background:#b71926;transform:translateY(-1px)}.btn.secondary{background:#fff;border:1px solid #aeb8c0;color:#26333d}.btn.secondary:hover{background:#edf1f3;border-color:#7e8c97}
input,select,textarea{border:1px solid #aeb8c0!important;border-radius:7px!important;background:#fff!important;color:#17212a!important;box-shadow:inset 0 1px 2px rgba(0,0,0,.05)}input:focus,select:focus,textarea:focus{outline:3px solid rgba(213,35,50,.14)!important;border-color:var(--alertis-red)!important}label{font-weight:650;color:#34414d}pre,.status-slot{white-space:pre-wrap;overflow-wrap:anywhere}.notice,.legal-pending,.site-legal-notice{border-radius:8px}.notice.warning,.legal-pending,.site-legal-notice{border-color:#e0b656;border-left:5px solid var(--alertis-amber);background:#fff8e5}.notice.success{border-left:5px solid var(--alertis-green)}
.dashboard-tabs{background:#0c1217;border:1px solid #3a4650;border-radius:8px;padding:6px}.dashboard-tabs a{border-radius:5px;color:#d5dde3}.dashboard-tabs a:hover{background:#34414d;color:#fff}.license-item,.notification-list article,.download-card{border-radius:8px;border-color:#d5dce1;background:#f8fafb}.license-status{font-family:Consolas,monospace;text-transform:uppercase;letter-spacing:.06em}.faq details{padding:0;border-top-width:1px;box-shadow:none}.faq summary{padding:20px 22px;font-weight:750}.faq details p{padding:0 22px 20px}
.legal-page{margin-top:36px;margin-bottom:70px;padding:36px 44px;background:#fff;border:1px solid var(--alertis-line);border-radius:9px;box-shadow:var(--alertis-shadow)}.legal-page .legal-pending{margin:0 0 28px}
.legal-page p,.legal-page li{line-height:1.72}.legal-page h2{margin-top:34px}.legal-version{margin-top:0;color:#65717c;font-size:.88rem;font-weight:700}.legal-table-wrap{overflow-x:auto}.legal-table{width:100%;border-collapse:collapse;margin:20px 0}.legal-table th,.legal-table td{padding:14px;border:1px solid #d8dee3;text-align:left;vertical-align:top;line-height:1.55}.legal-table th{background:#eef2f4}.withdrawal-form{margin:20px 0;padding:26px}.legal-guarantee-box{margin:26px 0 16px;padding:24px 26px;border:2px solid #26333d;border-left:7px solid var(--alertis-red);border-radius:9px;background:#f8fafb;color:#17212a;overflow-wrap:anywhere}.legal-guarantee-box p{margin:0 0 14px}.legal-guarantee-box p:last-child{margin-bottom:0}.legal-guarantee-title{padding-bottom:12px;border-bottom:1px solid #cbd3d9;font-weight:800}.legal-guarantee-item{padding-left:18px}.legal-source{font-size:.88rem;color:#596873}
.auth-page{display:flex!important;min-height:100vh!important;place-items:unset!important;background:linear-gradient(135deg,#e9edef,#f8f9fa)!important}.auth-page .auth-card{width:min(520px,calc(100% - 32px));margin:48px auto;padding:36px;border-top-color:var(--alertis-red)}.auth-brand{display:none}.auth-card form{display:grid;gap:10px}.auth-card .btn{width:100%;justify-content:center;margin-top:8px}.auth-card pre{border-radius:7px;background:#101820;color:#bdeece;font-family:Consolas,monospace}
.site-footer{margin-top:auto;background:#111920;color:#c9d2d9;border-top:5px solid var(--alertis-red)}.footer-main{max-width:1180px;margin:auto;padding:48px 28px 36px;display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:42px}.footer-main>div{display:flex;flex-direction:column;gap:10px}.footer-main strong{color:#fff;margin-bottom:5px}.footer-main a{color:#b7c2ca;text-decoration:none;font-size:.88rem}.footer-main a:hover{color:#fff}.footer-brand strong{font-size:1.15rem;letter-spacing:.16em}.footer-brand span{max-width:280px;line-height:1.6;color:#9caab5}.footer-bottom{max-width:1180px;margin:auto;padding:18px 28px;border-top:1px solid #33404a;display:flex;justify-content:space-between;gap:20px;color:#8797a3;font-size:.78rem}
@media(max-width:1060px){.nav{padding:0 18px}.nav-toggle{display:block}.nav-links{display:none;position:absolute;left:14px;right:14px;top:72px;padding:12px;flex-direction:column;align-items:stretch;background:#17212a;border:1px solid #46535e;border-radius:9px;box-shadow:0 22px 50px rgba(0,0,0,.4)}.nav-links.open{display:flex}.nav-links>a,.nav-more>summary{justify-content:flex-start;padding:11px 13px}.nav-links .nav-pill,.nav-links .nav-account,.nav-links .nav-cta{margin-left:0}.nav-submenu{position:static;width:auto;margin:4px 0 6px;box-shadow:none}.ssi-statusbar{justify-content:flex-start;overflow-x:auto;white-space:nowrap}.status-warning{margin-left:auto}}
@media(max-width:760px){html{scroll-padding-top:112px}.brand small{display:none}.ssi-statusbar{gap:16px}.ssi-statusbar span:nth-child(2){display:none}.status-warning{font-size:.61rem}.footer-main{grid-template-columns:1fr 1fr;gap:30px 24px}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column}.legal-page{margin:22px 14px 48px;padding:26px 22px}.legal-guarantee-box{margin-left:-6px;margin-right:-6px;padding:20px 18px}.legal-guarantee-item{padding-left:8px}.auth-page .auth-card{margin:28px auto;padding:26px 22px}}
@media(max-width:1060px){.nav-toggle{flex:0 0 44px}}
.sales-benefits{display:grid;grid-template-columns:.8fr 1.2fr;gap:46px;align-items:center}.sales-benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.sales-benefit-grid article{padding:26px 22px;background:#fff;border:1px solid var(--alertis-line);border-top:4px solid var(--alertis-red);border-radius:9px;box-shadow:0 14px 34px rgba(16,24,32,.07)}.sales-benefit-grid article>span{display:block;color:var(--alertis-red);font:800 .74rem Consolas,monospace;letter-spacing:.12em}.sales-benefit-grid h3{margin:18px 0 9px;font-size:1.2rem}.sales-benefit-grid p{margin:0;color:#65717c;line-height:1.62}.final-sales-cta{max-width:1180px;margin:30px auto 80px;padding:45px 48px;display:grid;grid-template-columns:1.25fr .75fr;gap:42px;align-items:center;background:linear-gradient(125deg,#111920,#25323d 70%,#48151d);border:1px solid #46535d;border-bottom:5px solid var(--alertis-red);border-radius:12px;color:#fff;box-shadow:0 25px 60px rgba(16,24,32,.2)}.final-sales-cta h2{margin:10px 0 12px;font-size:clamp(2rem,3vw,3.1rem);line-height:1.08}.final-sales-cta p:not(.eyebrow){color:#cbd4db;line-height:1.65}.final-sales-actions{display:flex;flex-direction:column;align-items:stretch;gap:11px}.final-sales-actions .btn{justify-content:center}.final-sales-actions small{text-align:center;color:#aeb9c3}
@media(max-width:900px){.sales-benefits,.final-sales-cta{grid-template-columns:1fr}.sales-benefit-grid{grid-template-columns:1fr}.final-sales-cta{margin:20px 18px 60px;padding:34px 26px}}
@media(max-width:480px){.footer-main{grid-template-columns:1fr}.footer-brand{grid-column:auto}.status-warning{display:none!important}}

/* Contrastes finaux : ces règles restent en dernier pour éviter qu'un ancien
   bloc de style ne rétablisse du texte sombre sur fond sombre (ou blanc sur
   la carte d'administration claire). */
.pro-hero .eyebrow,
.page-hero .eyebrow,
.client-hero .eyebrow,
.dark-section .eyebrow,
.final-sales-cta .eyebrow{
  color:#ffb4b9!important;
}
.dark-section .section-lead,
.dark-section>p:not(.eyebrow){
  color:#dbe4eb!important;
}
.admin-access-card{
  color:#7a271a!important;
}
.admin-access-card h2{
  color:#7a271a!important;
}
.admin-access-card p:not(.eyebrow){
  color:#7a271a!important;
}
.admin-access-card .eyebrow{
  color:#a31522!important;
}

/* Présentation des fonctions d'immersion du simulateur. */
.immersion-section{
  padding:82px 22px;
  color:#f5f8fb;
  background:
    radial-gradient(circle at 12% 18%,rgba(213,35,50,.2),transparent 28%),
    radial-gradient(circle at 88% 82%,rgba(57,210,125,.1),transparent 24%),
    linear-gradient(135deg,#0b1117,#18242f 58%,#101820);
  border-block:1px solid #34414d;
}
.immersion-inner{
  max-width:1240px;
  margin:0 auto;
}
.immersion-heading{
  max-width:900px;
  margin-bottom:34px;
}
.immersion-heading h2{
  margin:10px 0 16px;
  color:#fff;
  font-size:clamp(2rem,3.7vw,3.5rem);
  line-height:1.08;
}
.immersion-heading>p:not(.eyebrow){
  color:#cbd5df;
  font-size:1.08rem;
  line-height:1.7;
}
.immersion-section .eyebrow{
  color:#ffb4b9!important;
}
.immersion-layout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(480px,.95fr);
  gap:28px;
  align-items:start;
}
.immersion-visual{
  position:sticky;
  top:120px;
  margin:0;
  padding:12px;
  overflow:hidden;
  border:1px solid #53616c;
  border-radius:14px;
  background:#0a1015;
  box-shadow:0 28px 70px rgba(0,0,0,.38);
}
.immersion-visual img{
  display:block;
  width:100%;
  height:auto;
  border-radius:8px;
}
.immersion-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:13px 4px 4px;
}
.immersion-badges span{
  padding:7px 10px;
  border:1px solid #52616d;
  border-radius:999px;
  color:#dfe8ee;
  background:#18242e;
  font:750 .76rem Consolas,monospace;
  letter-spacing:.04em;
}
.immersion-visual figcaption{
  padding:13px 4px 5px;
  color:#aebbc5;
  font-size:.86rem;
  line-height:1.55;
}
.immersion-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.immersion-grid article{
  min-height:0;
  padding:22px;
  border:1px solid #3e4d59;
  border-top:3px solid #d52332;
  border-radius:10px;
  background:linear-gradient(180deg,rgba(36,51,64,.92),rgba(20,30,39,.96));
  box-shadow:0 14px 34px rgba(0,0,0,.2);
}
.immersion-grid article>span{
  color:#ff9da5;
  font:800 .72rem Consolas,monospace;
  letter-spacing:.14em;
}
.immersion-grid h3{
  margin:13px 0 9px;
  color:#fff;
  font-size:1.08rem;
}
.immersion-grid p{
  margin:0;
  color:#c8d2da;
  line-height:1.58;
}
.function-grid-detailed{
  margin-top:28px;
}
.function-grid-detailed article{
  border-top:4px solid #34414d;
}
.function-grid-detailed article:nth-child(2),
.function-grid-detailed article:nth-child(3),
.function-grid-detailed article:nth-child(4){
  border-top-color:#d52332;
}
@media(max-width:1050px){
  .immersion-layout{grid-template-columns:1fr;}
  .immersion-visual{position:static;}
}
@media(max-width:680px){
  .immersion-section{padding:62px 16px;}
  .immersion-grid{grid-template-columns:1fr;}
  .immersion-grid article{min-height:0;}
}

/* Lecture rapide de la solution. */
.overview-section>h2{
  max-width:760px;
}
.overview-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:30px;
}
.overview-grid article{
  padding:24px;
  border:1px solid var(--alertis-line);
  border-top:4px solid #34414d;
  border-radius:10px;
  background:#fff;
  box-shadow:0 12px 30px rgba(16,24,32,.07);
}
.overview-grid article>span{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  color:#fff;
  background:#d52332;
  font-weight:850;
}
.overview-grid h3{
  margin:18px 0 9px;
}
.overview-grid p{
  margin:0;
  color:#65717c;
  line-height:1.6;
}

/* Explication unique des connexions et des modes de travail. */
.connected-training-section{
  padding:82px 22px;
  background:#e9eef2;
  border-block:1px solid #cbd4dc;
}
.connected-training-inner{
  max-width:1180px;
  margin:0 auto;
}
.connected-training-heading{
  max-width:840px;
  margin-bottom:30px;
}
.connected-training-heading h2{
  margin:10px 0 14px;
  font-size:clamp(2rem,3.5vw,3.3rem);
  line-height:1.08;
}
.connected-training-heading>p:not(.eyebrow){
  color:#52606c;
  font-size:1.08rem;
  line-height:1.65;
}
.training-mode-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.training-mode-grid article{
  padding:30px;
  border:1px solid #c7d0d8;
  border-radius:12px;
  background:#fff;
  box-shadow:0 14px 34px rgba(16,24,32,.08);
}
.training-mode-grid h3{
  margin:16px 0 10px;
  font-size:1.45rem;
}
.training-mode-grid p{
  color:#52606c;
  line-height:1.65;
}
.mode-label{
  display:inline-flex;
  padding:7px 11px;
  border-radius:999px;
  color:#fff;
  background:#b71c2a;
  font:800 .76rem Consolas,monospace;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.mode-label.individual{
  color:#173f2b;
  background:#bcebd1;
}
.trainer-console{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  margin-bottom:18px;
  padding:18px 22px;
  border:1px solid #35434e;
  border-radius:12px;
  color:#fff;
  background:linear-gradient(120deg,#111920,#25333e);
  box-shadow:0 14px 34px rgba(16,24,32,.13);
}
.trainer-console>div:first-child{
  display:flex;
  align-items:center;
  gap:13px;
  min-width:220px;
}
.trainer-console p,
.trainer-console small{
  display:block;
  margin:0;
}
.trainer-console small{
  margin-top:4px;
  color:#bdc8d0;
}
.trainer-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  color:#fff;
  background:#d52332;
  font-weight:900;
}
.trainer-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
.trainer-actions span{
  padding:7px 10px;
  border:1px solid #52616c;
  border-radius:999px;
  color:#dce4ea;
  background:#1a2630;
  font-size:.8rem;
  font-weight:700;
}
.connection-diagram{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:108px;
  margin:20px 0;
  padding:16px;
  border:1px solid #d9e0e5;
  border-radius:10px;
  background:#f4f7f9;
}
.diagram-node,
.student-nodes span{
  display:grid;
  place-items:center;
  min-height:42px;
  padding:8px 11px;
  border:1px solid #b9c4cc;
  border-radius:8px;
  color:#26333d;
  background:#fff;
  font-size:.78rem;
  font-weight:800;
  text-align:center;
}
.instructor-node{
  border-color:#ec9ba2;
  color:#9f1722;
  background:#fff1f2;
}
.shared-node{
  border-color:#7cc59c;
  color:#135b32;
  background:#eaf9f0;
}
.diagram-arrow{
  flex:0 0 auto;
  color:#7b8892;
  font-size:1.25rem;
  font-weight:900;
}
.student-nodes{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
  flex:1;
}
.student-nodes.isolated span{
  border-color:#7cc59c;
  color:#135b32;
  background:#eaf9f0;
}
.scenario-mode-panel{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:28px;
  align-items:center;
  margin-top:20px;
  padding:28px 30px;
  border:1px solid #43515d;
  border-radius:12px;
  color:#fff;
  background:linear-gradient(125deg,#111920,#273541);
}
.scenario-mode-panel h3{
  margin:10px 0 0;
  font-size:1.45rem;
}
.scenario-mode-panel .eyebrow{
  color:#ffb4b9!important;
}
.scenario-mode-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.scenario-mode-options p{
  margin:0;
  padding:17px;
  border:1px solid #52616c;
  border-radius:8px;
  background:#1a2630;
}
.scenario-mode-options strong,
.scenario-mode-options span{
  display:block;
}
.scenario-mode-options span{
  margin-top:7px;
  color:#c6d0d8;
  line-height:1.5;
}
/* Le bandeau d'abonnement garde son thème sombre et reste compact. */
.subscription-pro-page .subscription-hero-card{
  padding:36px;
  border-radius:24px;
  border-top:1px solid rgba(255,255,255,.08);
}
.subscription-pro-page .subscription-hero-panel{
  min-height:210px;
}
@media(max-width:980px){
  .overview-grid{grid-template-columns:1fr 1fr;}
  .training-mode-grid,.scenario-mode-panel{grid-template-columns:1fr;}
  .trainer-console{align-items:flex-start;flex-direction:column;}
  .trainer-actions{justify-content:flex-start;}
}
@media(max-width:620px){
  .overview-grid,.scenario-mode-options{grid-template-columns:1fr;}
  .connected-training-section{padding:62px 16px;}
  .training-mode-grid article,.scenario-mode-panel{padding:23px;}
  .connection-diagram{align-items:stretch;flex-direction:column;}
  .diagram-arrow{align-self:center;transform:rotate(90deg);}
  .student-nodes{grid-template-columns:1fr;width:100%;}
  .subscription-pro-page .subscription-hero-card{padding:26px;}
  .subscription-pro-page .subscription-hero-panel{min-height:0;}
}
