:root{
  --a-navy:#071b2a;
  --a-navy-2:#0c3046;
  --a-cyan:#1dc4de;
  --a-cyan-soft:#e7f9fc;
  --a-text:#0f2c3f;
  --a-muted:#5c7584;
  --a-line:#d8e4ea;
  --a-bg:#eef4f7;
  --a-shadow:0 22px 64px rgba(8,31,49,.10);
  --a-shadow-soft:0 14px 40px rgba(8,31,49,.08);
}

/* ---------- APP / ESPACE ELEVE ---------- */
body{background:radial-gradient(circle at top left,rgba(29,196,222,.08),transparent 30%),linear-gradient(180deg,#eff5f8 0%,#f7fafb 45%,#edf3f6 100%)}
.auth-screen{background:linear-gradient(120deg,#081a28 0 39%, #eef4f7 39% 100%)}
.auth-shell-clean{grid-template-columns:1.08fr .92fr!important;border:0!important;box-shadow:0 32px 90px rgba(7,27,42,.16)!important;border-radius:28px!important;overflow:hidden!important;background:#fff}
.auth-intro-clean{background:linear-gradient(160deg,#071b2a 0%,#0d334a 52%,#14516d 100%)!important;color:#fff!important;position:relative;overflow:hidden}
.auth-intro-clean::before{content:"";position:absolute;inset:-20% auto auto -10%;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(29,196,222,.28),rgba(29,196,222,0) 70%)}
.auth-intro-clean::after{content:"";position:absolute;right:-90px;bottom:-90px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.14),rgba(255,255,255,0) 70%)}
.auth-logo-large{width:min(320px,100%);height:auto!important;object-fit:contain!important;margin-bottom:20px!important;filter:drop-shadow(0 12px 30px rgba(0,0,0,.16))}
.auth-intro-clean h1,.auth-intro-clean p,.auth-intro-clean .auth-feature-row,.auth-intro-clean .registration-main-link{position:relative;z-index:1}
.auth-intro-clean h1{font-size:44px!important;line-height:1.06!important;letter-spacing:-.05em;color:#fff!important}
.auth-intro-clean p{color:rgba(255,255,255,.82)!important}
.auth-feature-row span{background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.12);color:#fff!important}
.registration-main-link{background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.12)!important;color:#fff!important;text-decoration:none}
.auth-card-clean{background:#fff}
.auth-card-clean .primary{background:linear-gradient(135deg,#0b2c40,#10435f)!important}
.auth-card-clean .primary:hover{background:linear-gradient(135deg,#072235,#0c3851)!important}

.sidebar{background:linear-gradient(180deg,#071b2a 0%,#0b3046 46%,#0d3b53 100%)!important;box-shadow:inset -1px 0 0 rgba(255,255,255,.05)}
.brand{padding:4px 4px 18px;border-bottom:1px solid rgba(255,255,255,.09)!important;gap:14px!important}
.brand img{width:72px!important;height:72px!important;border-radius:18px!important;background:transparent!important;padding:0!important;object-fit:contain!important;box-shadow:0 14px 28px rgba(0,0,0,.22)}
.brand strong{font-size:22px;letter-spacing:-.03em}
.brand span{font-size:12px!important;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.72)!important}
.side-card,.alphatango-side{backdrop-filter:blur(6px)}
.nav-btn,.side-quick-btn{transition:all .18s ease!important}
.nav-btn:hover,.nav-btn.done,.side-quick-btn:hover{background:rgba(255,255,255,.10)!important;color:#fff!important;border-color:rgba(255,255,255,.1)!important;transform:translateY(-1px)}
.nav-btn.active{background:linear-gradient(135deg,rgba(29,196,222,.22),rgba(255,255,255,.08))!important;color:#fff!important;border-color:rgba(29,196,222,.22)!important}
.num{background:rgba(255,255,255,.14)!important}
.sidebar .ghost{background:rgba(255,255,255,.05)!important}
.main{padding:30px 36px!important}
.topbar{background:rgba(255,255,255,.84);backdrop-filter:blur(12px);border:1px solid rgba(216,228,234,.9);border-radius:22px;padding:24px 26px!important;box-shadow:var(--a-shadow-soft);margin-bottom:22px!important}
.topbar h1{font-size:32px!important;color:var(--a-text)!important}
.topbar p{font-size:14px!important}
.top-actions .tab{background:#f6fafb;border-color:#d8e4ea;border-radius:12px!important;font-weight:700}
.top-actions .tab.active{background:linear-gradient(135deg,#0c3046,#134761)!important;border-color:#0c3046!important;color:#fff!important}

.card{background:rgba(255,255,255,.96)!important;border:1px solid rgba(216,228,234,.94)!important;border-radius:24px!important;box-shadow:var(--a-shadow)!important}
.clean-home{background:linear-gradient(135deg,#071b2a 0%,#0d3046 50%,#14506a 100%)!important;border:0!important;position:relative;overflow:hidden!important;padding:34px!important}
.clean-home::before{content:"";position:absolute;inset:auto -80px -120px auto;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(29,196,222,.18),rgba(29,196,222,0) 70%)}
.clean-home .eyebrow,.clean-home h2,.clean-home p,.clean-home strong,.clean-home .continue-meta,.clean-home span{color:#fff!important;position:relative;z-index:1}
.clean-home h2{font-size:42px!important;margin:10px 0 8px!important}
.clean-home p{opacity:.9!important;max-width:760px}
.clean-home .primary{background:#fff!important;color:#082033!important}
.clean-home .primary:hover{background:#eef5f8!important}
.clean-progress{background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:22px;padding:24px!important;backdrop-filter:blur(8px)}
.clean-progress strong{font-size:54px!important}
.clean-progress span{font-size:14px!important;color:rgba(255,255,255,.8)!important}
.clean-action-grid{gap:16px!important}
.clean-action-card{background:#fff!important;border:1px solid #d8e4ea!important;border-radius:20px!important;box-shadow:var(--a-shadow-soft)!important;padding:22px!important}
.clean-action-card::before{width:6px!important;background:linear-gradient(180deg,#1dc4de,#0e3850)!important;border-radius:8px}
.clean-action-card strong{font-size:21px!important;color:#102f42!important}
.clean-action-card small{font-size:13px!important;line-height:1.6!important}
.clean-action-num{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:#eaf8fc;color:#0d3348;font-weight:900;margin-bottom:14px}
.clean-reminder{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px 26px!important;background:linear-gradient(180deg,#ffffff,#f9fcfd)!important}
.clean-reminder strong{font-size:18px;color:#0f2c3f}
.clean-reminder p{margin:6px 0 0;color:var(--a-muted);line-height:1.65}
.clean-reminder .actions .secondary{background:#eef9fc!important;border-color:#c6e9f0!important}
.program-block .section-head h3,.formation-header h2,.lesson h2,.trainer-head h2,.mission-hub h2{font-size:30px!important;letter-spacing:-.04em;color:#102f42!important}
.formation-header,.mission-hub{background:linear-gradient(180deg,#fff,#f9fcfd)!important}
.formation-summary{display:grid;place-items:center;min-width:170px;padding:22px;border-radius:20px;background:#f3fbfd;border:1px solid #d2edf3}
.formation-summary strong{font-size:38px;color:#0e3750}
.module-grid{gap:14px!important}
.module-card{background:#fff!important;border-radius:18px!important;border:1px solid #d9e5ea!important;padding:14px!important;box-shadow:0 8px 26px rgba(8,31,49,.05)!important}
.module-card .icon{width:64px!important;height:64px!important;border-radius:14px!important;background:#f1f8fb!important;border:1px solid #deebef}
.module-card:hover{transform:translateY(-2px)}
.module-card h4{font-size:17px;color:#0f2c3f}
.module-card p{font-size:13px!important;line-height:1.55!important}
.lesson-top{padding-bottom:10px;border-bottom:1px solid #e4edf1}
.summary-box,.memo-box,.trainer-question-box,.trainer-debrief,.trainer-reason-review,.result,.skill,.condition,.locked-box,.admin-create,.practice-form,.registration-admin-card,.student-row,.trainer-facts>div{border-radius:18px!important}
.summary-box,.memo-box{background:#f8fbfc!important}
.lesson-illu img,.wide-illu img{border-radius:18px!important;box-shadow:0 12px 34px rgba(8,31,49,.08)}
.mini-guide-card{background:#fff!important;border-radius:20px!important;border:1px solid #d9e5ea!important;box-shadow:var(--a-shadow-soft)!important;padding:18px!important}
.mini-guide-card img{border-radius:16px!important;box-shadow:0 8px 24px rgba(8,31,49,.08)}
.mini-guide-card h4{font-size:21px!important}
.mini-guide-card a{background:linear-gradient(135deg,#0c3046,#12445f)!important;border-radius:12px!important}
.mini-guide-card a:hover{filter:brightness(.98)}
.mission-hub{padding:28px!important}
.mission-subnav{gap:10px!important}
.mission-subtab{border-radius:12px!important;border:1px solid #d8e4ea!important;background:#f7fbfc!important;font-weight:700!important}
.mission-subtab.active{background:linear-gradient(135deg,#0c3046,#134761)!important;color:#fff!important;border-color:#0c3046!important}
.trainer-score,.trainer-eval{background:#f3fbfd!important;border:1px solid #d2edf3!important;border-radius:20px!important}
.trainer-score strong,.trainer-eval strong{color:#0e3750!important}
.trainer-scenario-card{border-radius:18px!important;box-shadow:var(--a-shadow-soft)!important}
.go-btn,.nogo-btn{border-radius:12px!important;padding:12px 16px!important}
.certificate-sheet{border:1px solid #d7e4ea!important;border-radius:28px!important;box-shadow:0 24px 70px rgba(8,31,49,.10);padding:32px!important}
.cert-top{border-bottom:1px solid #e4edf1!important}
.cert-top img{width:86px!important;height:86px!important;object-fit:contain!important}
.cert-kicker{color:#167f99!important}
.qr-zone{background:#f8fbfc!important;border:1px solid #e2ebef}
.student-row,.registration-admin-card{box-shadow:0 10px 24px rgba(8,31,49,.05)!important}

.registration-top{background:rgba(7,27,42,.88)!important;border-bottom:1px solid rgba(255,255,255,.06)!important}
.registration-brand{color:#fff!important}
.registration-brand img{height:58px!important;width:auto!important;object-fit:contain!important}
.registration-hero{padding:68px 0 36px!important}
.registration-hero h1{font-size:52px!important;max-width:850px}
.registration-hero p{max-width:800px}
.registration-summary-grid article{background:#fff!important;box-shadow:var(--a-shadow-soft)!important}
.registration-form-card{border-radius:26px!important;box-shadow:var(--a-shadow)!important}
.simple-public-logo{width:240px!important;height:auto!important}
.legal-card,.setup-card,.auth-card{border-radius:24px!important;box-shadow:var(--a-shadow)!important}

/* ---------- PUBLIC / SEO PAGES ---------- */
.seo-page{background:linear-gradient(180deg,#eef4f7 0%,#f7fafb 30%,#f3f8fa 100%)!important;color:var(--a-text)}
.seo-top{position:sticky;top:0;z-index:40;background:rgba(7,27,42,.88);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)}
.seo-nav{max-width:1220px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.seo-brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.seo-brand img{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.22))}
.seo-brand span{font-size:18px;font-weight:850;letter-spacing:-.03em;color:#fff}
.seo-navlinks{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.seo-navlinks a{color:rgba(255,255,255,.78);text-decoration:none;font-size:14px;font-weight:700;padding:10px 12px;border-radius:12px;transition:all .18s ease}
.seo-navlinks a:hover{background:rgba(255,255,255,.08);color:#fff}
.seo-navlinks .cta{background:#fff;color:#071b2a!important}
.seo-navlinks .cta:hover{background:#eef5f8!important}
.seo-breadcrumb{max-width:1220px;margin:0 auto;padding:18px 24px 0;color:#6b8190;font-size:13px}
.seo-breadcrumb a{color:#31556a;text-decoration:none}
.seo-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 15% 20%,rgba(29,196,222,.24),rgba(29,196,222,0) 30%),radial-gradient(circle at 85% 18%,rgba(255,255,255,.10),rgba(255,255,255,0) 22%),linear-gradient(135deg,#071b2a 0%,#0b3046 50%,#134761 100%);padding:86px 0 76px}
.seo-hero::after{content:"";position:absolute;right:-110px;bottom:-130px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(29,196,222,.16),rgba(29,196,222,0) 70%)}
.seo-wrap{max-width:1220px;margin:0 auto;padding:0 24px}
.seo-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:28px;align-items:center;position:relative;z-index:1}
.seo-kicker{display:inline-block;font-size:12px;font-weight:900;letter-spacing:.18em;color:#88e1ed;text-transform:uppercase}
.seo-hero h1{margin:14px 0 16px;font-size:58px;line-height:1.02;letter-spacing:-.055em;color:#fff;max-width:840px}
.seo-hero p,.seo-lead{font-size:18px;line-height:1.75;color:#d7e8ef;max-width:860px}
.seo-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.seo-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:13px 18px;border-radius:14px;font-weight:800}
.seo-btn.primary{background:#fff;color:#071b2a}
.seo-btn.secondary{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.14)}
.seo-statcard,.seo-callout{background:rgba(255,255,255,.10);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.14);border-radius:28px;padding:28px;color:#fff;box-shadow:0 20px 56px rgba(0,0,0,.16)}
.seo-statcard strong,.seo-callout h2{display:block;font-size:34px;line-height:1.08;letter-spacing:-.04em;color:#fff;margin:10px 0 10px}
.seo-statcard span,.seo-callout p{color:rgba(255,255,255,.84);line-height:1.7}
.seo-section{padding:64px 0}
.seo-section.alt{background:linear-gradient(180deg,#f4f8fa 0%,#edf4f7 100%)}
.seo-section h2{font-size:42px;line-height:1.08;letter-spacing:-.05em;color:#0d2a3d;margin:12px 0 14px}
.seo-grid,.seo-feature{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.seo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.seo-card,.seo-article,.academy-content-narrow,.seo-faq,.seo-feature>div,.seo-callout,details{background:#fff;border:1px solid var(--a-line);border-radius:24px;box-shadow:var(--a-shadow-soft)}
.seo-card{padding:24px}
.seo-card h3{font-size:22px;line-height:1.16;letter-spacing:-.03em;color:#102f42;margin:12px 0 10px}
.seo-card p{color:var(--a-muted);line-height:1.7;margin:0}
.seo-number{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#eaf8fc;color:#0d3348;font-weight:900}
.seo-feature>div,.seo-callout{padding:28px}
.seo-list{display:grid;gap:10px;padding-left:20px;color:#173446}
.seo-list li{line-height:1.7}
.seo-article{max-width:1080px;margin:0 auto;padding:34px 38px}
.seo-article h2{font-size:34px;margin-top:26px}
.seo-article p{color:var(--a-muted);line-height:1.75}
.seo-pills{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 8px}
.seo-pill{display:inline-block;padding:10px 14px;border-radius:999px;background:#edf9fc;border:1px solid #caedf3;color:#0d3348;font-size:13px;font-weight:800}
.seo-note{margin:20px 0 0;padding:16px 18px;border-left:4px solid var(--a-cyan);background:#edf8fb;border-radius:16px;color:#23485a;line-height:1.7}
.academy-content-narrow{max-width:1080px;padding:34px 38px}
.academy-content-narrow h2{font-size:36px;line-height:1.1;letter-spacing:-.045em;color:#0d2a3d;margin:30px 0 12px;padding-left:18px;position:relative}
.academy-content-narrow h2::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:6px;border-radius:999px;background:linear-gradient(180deg,#1dc4de,#0d3348)}
.academy-content-narrow p{color:var(--a-muted);line-height:1.8;font-size:16px}
.academy-figure{margin:20px 0 26px!important;padding:18px!important;background:#fff!important;border-radius:24px!important;border:1px solid var(--a-line)!important;box-shadow:var(--a-shadow-soft)!important}
.academy-figure img{border-radius:18px!important;border:1px solid #d9e5ea!important;box-shadow:0 12px 32px rgba(8,31,49,.08)!important}
.academy-figure figcaption{font-size:14px!important;color:#506977!important;line-height:1.7!important;padding:12px 2px 2px}
.academy-figure-grid{gap:18px!important}
.seo-faq{padding:28px}
.seo-faq details{box-shadow:none;border-radius:18px;padding:18px 20px}
.seo-faq summary{cursor:pointer;font-weight:800;color:#102f42}
.seo-faq p{margin:12px 0 0;color:var(--a-muted);line-height:1.7}
.seo-footer{background:linear-gradient(180deg,#071b2a 0%,#061521 100%);color:#fff;padding:34px 24px}
.seo-footer-grid{max-width:1220px;margin:0 auto;display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.seo-footer strong{font-size:20px;letter-spacing:-.03em}
.seo-footer span,.seo-footer a{color:rgba(255,255,255,.75)}
.seo-footer a{text-decoration:none}
.seo-footer a:hover{color:#fff}

@media(max-width:1100px){
  .seo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .seo-hero h1{font-size:48px}
  .seo-section h2{font-size:36px}
}
@media(max-width:900px){
  .auth-screen{background:#eef4f7!important}
  .auth-shell-clean{grid-template-columns:1fr!important}
  .main{padding:22px 16px!important}
  .clean-home{grid-template-columns:1fr!important}
  .clean-progress{margin-top:16px}
  .seo-nav{padding:14px 16px}
  .seo-brand img{width:48px;height:48px}
  .seo-navlinks{gap:8px}
  .seo-hero{padding:74px 0 62px}
  .seo-hero-grid,.seo-feature,.academy-figure-grid{grid-template-columns:1fr!important}
  .seo-grid{grid-template-columns:1fr!important}
  .seo-hero h1{font-size:38px}
  .seo-hero p,.seo-lead{font-size:16px}
  .seo-statcard strong{font-size:28px}
  .seo-section{padding:44px 0}
  .seo-section h2,.academy-content-narrow h2,.seo-article h2{font-size:30px}
  .academy-content-narrow,.seo-article,.seo-faq{padding:24px 20px!important}
}
@media(max-width:640px){
  .brand img{width:58px!important;height:58px!important}
  .topbar{padding:20px 18px!important;border-radius:18px!important}
  .clean-home h2{font-size:34px!important}
  .clean-progress strong{font-size:42px!important}
  .registration-hero h1{font-size:38px!important}
  .seo-navlinks a{font-size:13px;padding:9px 10px}
  .seo-footer-grid{flex-direction:column}
}
