:root{
  --bg:#f5f7f6; --surface:#ffffff; --text:#111111; --muted:#6b7280; --border:#dde2e1;
  --primary:#2e8b57; --primary-h:#1f6f45;
  --accent:#00c2a8; --accent-h:#00a894;
  --success:#16a34a; --warning:#f59e0b; --danger:#ef4444;
  --shadow: 0 14px 40px rgba(0,0,0,0.10);
  --shadow-sm: 0 6px 18px rgba(0,0,0,0.06);
  --r: 18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:
    radial-gradient(1200px 700px at 18% 12%, rgba(0,194,168,.14), transparent 58%),
    radial-gradient(1000px 600px at 88% 18%, rgba(46,139,87,.12), transparent 55%),
    radial-gradient(900px 520px at 40% 92%, rgba(0,194,168,.08), transparent 60%),
    var(--bg);
  color:var(--text);
}
a{color:inherit}
.container{max-width:1120px;margin:0 auto;padding:0 18px}
.nav{
  position:sticky; top:0; z-index:50;
  backdrop-filter: blur(10px);
  background: rgba(245,247,246,0.78);
  border-bottom:1px solid rgba(221,226,225,0.7);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:12px}
.brand{display:flex;align-items:center;gap:10px;min-width:0}
.logo{
  width:60px;height:60px;display:grid;place-items:center;
  flex:0 0 auto;
}
.logo svg{width:22px;height:22px;color:#0f766e}
.brand-text{display:flex;flex-direction:column;line-height:1.1;min-width:0}
.brand-text strong{font-size:14px;letter-spacing:.5px}
.brand-text span{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.nav-links{display:flex;gap:14px;align-items:center}
.nav-links a{
  text-decoration:none;
  font-weight:600;
  font-size:13px;
  color:var(--muted);
  padding:8px 10px;border-radius:999px;
  border:1px solid transparent;
}
.nav-links a:hover{color:var(--text);background:rgba(0,194,168,.08);border-color:rgba(0,194,168,.18)}
.nav-cta{display:flex;gap:10px;align-items:center}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border-radius:12px;
  padding:10px 12px;
  font-weight:800;
  border:1px solid rgba(0,0,0,.06);
  cursor:pointer;
  text-decoration:none;
  transition:transform .15s ease, background .15s ease, box-shadow .15s ease;
  white-space:nowrap;
  font-size:13px;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-h)}
.btn-ghost{background:rgba(255,255,255,.65);color:var(--text);border:1px solid var(--border)}
.btn-ghost:hover{box-shadow:var(--shadow-sm)}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 10px;border-radius:999px;
  background:rgba(0,194,168,.10);
  border:1px solid rgba(0,194,168,.20);
  color:#0f766e;
  font-weight:800;
  font-size:12px;
}
.dot{width:8px;height:8px;border-radius:50%;background:var(--accent);display:inline-block}

/* HERO */
.hero{padding:42px 0 18px}
.hero-grid{
  display:grid;grid-template-columns: 1.15fr .85fr;gap:18px;align-items:stretch;
  margin-top:18px;
}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}}
h1{margin:12px 0 10px;font-size:44px;letter-spacing:-.8px;line-height:1.05}
@media(max-width:520px){h1{font-size:34px}}
.lead{margin:0;color:var(--muted);font-size:15px;line-height:1.6;max-width:60ch}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.hero-actions .btn{padding:12px 14px;border-radius:14px}
.hero-card{
  border-radius:var(--r);
  background: rgba(255,255,255,.78);
  border:1px solid rgba(221,226,225,.85);
  box-shadow:var(--shadow);
  overflow:hidden;
  backdrop-filter: blur(10px);
}
.hero-card-inner{padding:16px}
.kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.kpi{
  border:1px solid var(--border);border-radius:14px;background:var(--surface);
  padding:12px;box-shadow:var(--shadow-sm);
}
.kpi strong{display:block;font-size:12px;color:var(--muted);font-weight:800}
.kpi span{display:block;font-size:18px;font-weight:900;margin-top:4px}
.kpi small{display:block;color:var(--muted);margin-top:4px;font-size:12px}

/* FORM */
form{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:12px}
@media(max-width:520px){form{grid-template-columns:1fr}}
input[type="email"]{
  width:100%;
  padding:12px 12px;border-radius:14px;
  border:1px solid var(--border);
  outline:none;background:#fff;font-size:14px;
}
input[type="email"]:focus{
  border-color:rgba(0,194,168,.60);
  box-shadow:0 0 0 4px rgba(0,194,168,.12);
}

/* SECTIONS */
section{padding:34px 0}
.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}
.section-title h2{margin:0;font-size:22px;letter-spacing:-.2px}
.section-title p{margin:0;color:var(--muted);font-size:13px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:900px){.grid-3{grid-template-columns:1fr}}
.tile{
  border:1px solid var(--border);
  background:rgba(255,255,255,.85);
  border-radius:16px;
  padding:14px;
  box-shadow:var(--shadow-sm);
  transition:transform .2s ease, box-shadow .2s ease;
  width: 100%;
}
.tile:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.tile-top{display:flex;gap:10px;align-items:flex-start}
.ic{
  width:40px;height:40px;border-radius:14px;display:grid;place-items:center;
  background:rgba(0,194,168,.10);border:1px solid rgba(0,194,168,.18);
  flex:0 0 auto;
}
.ic svg{width:18px;height:18px;color:#0f766e}
.ic i{color:#0f766e;font-size:18px}
.tile h3{margin:0;font-size:14px}
.tile p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.55}

/* HOW IT WORKS */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media(max-width:1000px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.steps{grid-template-columns:1fr}}
.step{
  border:1px solid var(--border);
  background:rgba(255,255,255,.85);
  border-radius:16px;
  padding:14px;
}
.step .n{
  width:32px;height:32px;border-radius:12px;display:grid;place-items:center;
  background:rgba(46,139,87,.10);border:1px solid rgba(46,139,87,.18);
  color:#14532d;font-weight:900;
  margin-bottom:10px;
}
.step strong{display:block;font-size:14px}
.step span{display:block;margin-top:6px;color:var(--muted);font-size:13px;line-height:1.55}

/* FAQ */
.faq{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:900px){.faq{grid-template-columns:1fr}}
details{
  border:1px solid var(--border);
  background:rgba(255,255,255,.85);
  border-radius:16px;
  padding:12px 14px;
  box-shadow:var(--shadow-sm);
}
summary{
  cursor:pointer;
  font-weight:900;
  font-size:13px;
  list-style:none;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
summary::-webkit-details-marker{display:none}
details p{margin:10px 0 0;color:var(--muted);font-size:13px;line-height:1.6}
.chev{color:var(--accent);font-weight:900}

/* FOOTER */
.footer{
  padding:20px 0 34px;
  border-top:1px solid rgba(221,226,225,.9);
  color:var(--muted);
  font-size:12px;
}
.footer-grid{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.mini-links{display:flex;gap:12px;flex-wrap:wrap}
.mini-links a{text-decoration:none;color:var(--muted);font-weight:700}
.mini-links a:hover{color:var(--text)}

/* MOBILE NAV (simple) */
.hamb{display:none}
@media(max-width:860px){
  .nav-links{display:none}
  .hamb{display:inline-flex}
}

.learning-hero{
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(320px, .92fr);
  gap:22px;
  align-items:center;
  padding:42px 0 24px;
}
.learning-hero-copy h1{
  max-width:760px;
}
.learning-board{
  border:1px solid rgba(221,226,225,.9);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.76));
  box-shadow:var(--shadow);
  padding:18px;
}
.learning-board-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.learning-board-top strong,
.learning-progress-panel strong{
  display:block;
  font-size:15px;
  font-weight:900;
}
.learning-board-top span,
.learning-progress-panel span{
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  margin-top:4px;
}
.course-strip{
  height:10px;
  background:rgba(221,226,225,.9);
  border-radius:999px;
  overflow:hidden;
  margin:16px 0;
}
.course-strip span{
  display:block;
  height:100%;
  background:linear-gradient(90deg, #2e8b57, #00a6a6, #4f46e5);
  border-radius:999px;
}
.learning-stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}
.learning-stats div{
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
  padding:12px;
  box-shadow:var(--shadow-sm);
}
.learning-stats strong{
  display:block;
  font-size:18px;
  font-weight:900;
}
.learning-stats span{
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  margin-top:2px;
}
.mini-course-list{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.mini-course-list div{
  display:flex;
  gap:8px;
  align-items:center;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  padding:10px 12px;
  font-size:13px;
  font-weight:800;
}
.mini-course-list i{color:var(--primary)}
.kids-zone{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(300px, .85fr);
  gap:18px;
  align-items:center;
  padding:26px;
  border-radius:18px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,248,220,.78)),
    linear-gradient(90deg, #ffe08a, #7dd3fc);
  border:2px solid rgba(255,184,77,.55);
  box-shadow:var(--shadow);
}
.kids-copy h2{
  margin:12px 0 10px;
  font-size:28px;
  line-height:1.1;
}
.kids-copy p{
  color:#334155;
  line-height:1.65;
  margin:0;
  max-width:64ch;
}
.kids-badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:8px 12px;
  background:#fff;
  color:#be185d;
  border:2px solid rgba(244,114,182,.45);
  font-weight:900;
  font-size:12px;
}
.kids-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:16px;
}
.kids-actions span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#fff;
  border:1px solid rgba(15,23,42,.12);
  border-radius:999px;
  padding:9px 12px;
  font-weight:900;
  font-size:13px;
}
.kids-panel{
  display:grid;
  gap:10px;
  align-content:center;
}
.kids-avatar{
  width:74px;
  height:74px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#22c55e;
  color:#fff;
  font-size:34px;
  font-weight:900;
  box-shadow:0 14px 30px rgba(34,197,94,.28);
  justify-self:center;
}
.kids-card{
  border-radius:16px;
  padding:13px 14px;
  color:#111827;
  font-weight:900;
  box-shadow:var(--shadow-sm);
  border:2px solid rgba(255,255,255,.8);
}
.kids-card.blue{background:#bae6fd}
.kids-card.pink{background:#fbcfe8}
.kids-card.yellow{background:#fde68a}
.dashboard-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
}
.metric{
  font-size:28px;
  font-weight:900;
  color:var(--text);
}
.learning-progress-panel{
  border:1px solid var(--border);
  border-radius:16px;
  background:#fff;
  padding:14px;
  box-shadow:var(--shadow-sm);
}
.kids-dashboard-callout{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:12px;
  border-radius:16px;
  padding:14px;
  background:linear-gradient(135deg, #fff7ed, #eff6ff);
  border:1px solid rgba(251,146,60,.25);
}
.kids-dashboard-callout strong{
  display:block;
  margin-top:8px;
  font-weight:900;
}
.kids-dashboard-callout p{
  margin:4px 0 0;
  color:#475569;
  font-size:13px;
  line-height:1.55;
}
.kids-dashboard-callout > i{
  font-size:38px;
  color:#f59e0b;
}
@media(max-width:1000px){
  .learning-hero,
  .kids-zone{
    grid-template-columns:1fr;
  }
  .dashboard-kpi-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media(max-width:620px){
  .dashboard-kpi-grid,
  .learning-stats{
    grid-template-columns:1fr;
  }
  .kids-zone{
    padding:18px;
  }
}


@media(max-width:600px){
.countdown-box{
grid-template-columns:repeat(2,1fr);
}
}

/* Countdown (déjà présent si tu l’as ajouté) */
.countdown-wrapper{margin-top:18px;display:flex;justify-content:left}
.countdown-box{
display:grid;grid-template-columns:repeat(4, 1fr);gap:12px;
background:rgba(255,255,255,0.75);
border:1px solid var(--border);
border-radius:16px;
padding:14px 18px;
box-shadow:var(--shadow-sm);
backdrop-filter:blur(6px);
}
.cd-item{text-align:center}
.cd-item span{display:block;font-size:22px;font-weight:900;color:var(--primary)}
.cd-item small{display:block;font-size:11px;font-weight:700;color:var(--muted);margin-top:4px}
@media(max-width:600px){.countdown-box{grid-template-columns:repeat(2,1fr)}}

/* HOW - plus illustratif */
.how-grid{
display:grid;
grid-template-columns:repeat(2, 1fr);
gap:14px;
}
@media(max-width:900px){.how-grid{grid-template-columns:1fr}}

.how-step{
display:flex;
gap:12px;
padding:14px;
border:1px solid var(--border);
background:rgba(255,255,255,.85);
border-radius:16px;
box-shadow:var(--shadow-sm);
transition:transform .2s ease, box-shadow .2s ease;
}
.how-step:hover{transform:translateY(-3px);box-shadow:var(--shadow)}

.how-icon{
width:48px;height:48px;
border-radius:16px;
display:grid;place-items:center;
background:rgba(0,194,168,.10);
border:1px solid rgba(0,194,168,.18);
flex:0 0 auto;
}
.how-icon svg{width:22px;height:22px;color:#0f766e}

.how-content h3{margin:0;font-size:15px}
.how-content p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.55}

.how-number{
display:inline-flex;
align-items:center;
justify-content:center;
width:28px;height:28px;
border-radius:12px;
background:rgba(46,139,87,.10);
border:1px solid rgba(46,139,87,.18);
color:#14532d;
font-weight:900;
margin-bottom:8px;
}

.how-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.how-tags span{
font-size:11px;
font-weight:700;
color:var(--muted);
padding:6px 10px;
border:1px solid var(--border);
background:rgba(255,255,255,.75);
border-radius:999px;
}

/* BETA */
.beta-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}
@media(max-width:900px){.beta-grid{grid-template-columns:1fr}}

.beta-card{
border:1px solid var(--border);
background:rgba(255,255,255,.85);
border-radius:16px;
padding:16px;
box-shadow:var(--shadow-sm);
}
.beta-card h3{margin:0;font-size:15px}
.beta-card p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.6}

.beta-form{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:12px}
@media(max-width:520px){.beta-form{grid-template-columns:1fr}}

.beta-form input{
width:100%;
padding:12px 12px;
border-radius:14px;
border:1px solid var(--border);
outline:none;
background:#fff;
font-size:14px;
}
.beta-form input:focus{
border-color:rgba(0,194,168,.60);
box-shadow:0 0 0 4px rgba(0,194,168,.12);
}

.beta-perks{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.perk{
font-size:12px;
font-weight:800;
padding:8px 10px;
border-radius:999px;
background:rgba(0,194,168,.10);
border:1px solid rgba(0,194,168,.18);
color:#0f766e;
}

.perk-1{
  font-size:12px;
  font-weight:800;
  padding:8px 10px;
  border-radius:999px;
  color:#0f766e;
  margin-bottom: 5px;
  }

.beta-card-accent{
background:linear-gradient(135deg, rgba(0,194,168,.10), rgba(46,139,87,.08));
}
.beta-list{margin:10px 0 0;padding-left:18px;color:var(--muted);font-size:13px;line-height:1.7}
.beta-list li{margin:6px 0}

/* WHY SECTION COMPACT */

.why-grid{
  grid-template-columns:1fr 0.9fr;
  gap:18px;
  align-items:center;
}
@media(max-width:900px){
  .why-grid{grid-template-columns:1fr;}
}

.why-card{
  padding:20px;
}

.why-list{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:14px;
}

.why-list li{
  display:flex;
  gap:12px;
  align-items:flex-start;
}

.why-icon{
  width:36px;
  height:36px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,194,168,.12);
  font-size:16px;
  flex-shrink:0;
}

.why-image{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
}

.why-image img{
  max-width:50%;
  height:auto;
  border-radius:16px;
  box-shadow:var(--shadow-sm);
  transition:transform .3s ease;
}

.why-image:hover img{
  transform:scale(1.04);
}

/* LOGIN SIGNUP */

.auth-page{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px 18px;
  background:
    linear-gradient(180deg, rgba(17,17,17,.35), rgba(17,17,17,.62)),
    url('../img/IMG2.png');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

/* Card glass */
.auth-card{
  width:min(520px, 100%);
  border-radius:var(--r);
  background: rgba(255,255,255,.78);
  border:1px solid rgba(221,226,225,.85);
  box-shadow: var(--shadow);
  backdrop-filter: blur(10px);
  overflow:hidden;
}
.auth-inner{padding:18px;}

.auth-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.auth-brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.auth-brand img{
  width:54px;height:54px;
  object-fit:contain;
  border-radius:16px;
  background:#fff;
  border:1px solid var(--border);
  box-shadow: var(--shadow-sm);
}
.auth-brand .t{
  display:flex;flex-direction:column;line-height:1.1;min-width:0;
}
.auth-brand strong{font-size:14px;letter-spacing:.5px}
.auth-brand span{
  font-size:12px;
  color:var(--muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:320px;
}

.auth-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(0,194,168,.10);
  border:1px solid rgba(0,194,168,.20);
  color:#0f766e;
  font-weight:900;
  font-size:12px;
  flex:0 0 auto;
}
.auth-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);display:inline-block}

.auth-title{
  margin:30px 0 26px;
  font-size:22px;
  letter-spacing:-.3px;
  color:#0f766e;
}
.auth-sub{
  margin:0 0 14px;
  color:var(--muted);
  font-size:13px;
  line-height:1.6;
}

.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;}
.label{font-size:12px;font-weight:900;color:var(--text);}
.input{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid var(--border);
  outline:none;
  background:#fff;
  font-size:14px;
}
.input:focus{
  border-color:rgba(0,194,168,.60);
  box-shadow:0 0 0 4px rgba(0,194,168,.12);
}

.remember{
  display:flex;
  align-items:center;
  gap:10px;
  margin:10px 0 14px;
  color:var(--muted);
  font-size:13px;
  font-weight:800;
}

.btn-full{
  width:100%;
  padding:12px 14px;
  border-radius:14px;
}

.auth-links{
  margin-top:12px;
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  font-size:13px;
  color:var(--muted);
  font-weight:800;
}
.auth-links a{
  color:var(--text);
  text-decoration:none;
  border-bottom:1px dashed rgba(0,0,0,.25);
}
.auth-links a:hover{
  border-bottom-color: rgba(0,194,168,.65);
}

/* Footer mini */
.auth-foot{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(221,226,225,.9);
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}

/* Bootstrap alert adouci */
.alert{border-radius:14px;margin-bottom:12px;}

/* Sentinelle - form system */
.s-form { margin-top: 0; }

.s-grid-2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
}
@media(max-width:900px){
  .s-grid-2{ grid-template-columns:1fr; }
}

.s-field{ display:flex; flex-direction:column; gap:6px; }
.s-field label{
  font-size:12px;
  font-weight:900;
  color:var(--text);
}

.s-input{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid var(--border);
  outline:none;
  background:#fff;
  font-size:14px;
}
.s-input:focus{
  border-color:rgba(0,194,168,.60);
  box-shadow:0 0 0 4px rgba(0,194,168,.12);
}

/* Alerts */
.s-alert{
  border-radius:16px;
  padding:12px 14px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.85);
  box-shadow:var(--shadow-sm);
  margin-bottom:10px;
  color:var(--text);
}
.s-alert-success{ border-color: rgba(22,163,74,.28); background: rgba(22,163,74,.08); }
.s-alert-error{ border-color: rgba(239,68,68,.28); background: rgba(239,68,68,.08); }
.s-alert-warning{ border-color: rgba(245,158,11,.28); background: rgba(245,158,11,.10); }
.s-alert-info, .s-alert-primary{ border-color: rgba(0,194,168,.25); background: rgba(0,194,168,.08); }

/* Make beta-grid responsive here too */
@media(max-width:900px){
  .beta-grid{ grid-template-columns:1fr !important; }
}

/* */
/* Table Sentinelle */
.s-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  font-size:13px;
}
.s-table thead th{
  text-align:left;
  padding:12px 12px;
  color:var(--muted);
  font-weight:900;
  border-bottom:1px solid rgba(221,226,225,.9);
  background: rgba(255,255,255,.6);
  position:sticky;
  top:0;
  z-index:1;
}
.s-table tbody td{
  padding:12px 12px;
  border-bottom:1px solid rgba(221,226,225,.7);
  vertical-align:middle;
}
.s-table tbody tr:hover{
  background: rgba(0,194,168,.06);
}

/* Pills */
.s-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  color:var(--muted);
  border:1px solid var(--border);
  background: rgba(255,255,255,.75);
  white-space:nowrap;
}
.s-pill-success{
  color:#14532d;
  border-color: rgba(22,163,74,.25);
  background: rgba(22,163,74,.10);
}
.s-pill-danger{
  color:#7f1d1d;
  border-color: rgba(239,68,68,.25);
  background: rgba(239,68,68,.10);
}

/* Icon buttons */
.s-icbtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:12px;
  border:1px solid var(--border);
  background: rgba(255,255,255,.75);
  box-shadow: var(--shadow-sm);
  cursor:pointer;
  color: var(--text);
  text-decoration:none;
  margin-left:6px;
  transition: transform .15s ease, box-shadow .15s ease;
}
.s-icbtn:hover{transform: translateY(-1px); box-shadow: var(--shadow);}
.s-icbtn-danger{
  border-color: rgba(239,68,68,.25);
  background: rgba(239,68,68,.10);
}

/* Pills variants (si pas déjà) */
.s-pill{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:900;
  padding:7px 10px;border-radius:999px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.75);
  color:var(--muted);
}
.s-pill-success{background:rgba(22,163,74,.10); border-color:rgba(22,163,74,.20); color:#166534;}
.s-pill-warning{background:rgba(245,158,11,.12); border-color:rgba(245,158,11,.22); color:#92400e;}
.s-pill-danger{background:rgba(239,68,68,.10); border-color:rgba(239,68,68,.20); color:#991b1b;}

/* Color pill */
.s-color-pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 10px;border-radius:999px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.75);
}
.s-color-dot{
  width:10px;height:10px;border-radius:50%;
  box-shadow:0 0 0 3px rgba(0,0,0,.04);
}

/* Description tronquée */
.s-desc{
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
  display:inline-block;
  cursor:pointer;
  transition:color .2s ease;
}

.s-desc:hover{
  color:var(--text);
}

/* Layout global : 2 colonnes égales (form / examples) */
.builder-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:18px;
  align-items:stretch;
}
@media (max-width: 992px){
  .builder-grid{ grid-template-columns:1fr; }
}

/* Card = même hauteur */
.builder-grid > .card{
  height:100%;
}
.builder-grid > .card .card-body{
  height:100%;
  display:flex;
  flex-direction:column;
}

/* Zone JSON : textarea + actions */
.builder-json{
  display:grid;
  grid-template-columns: 1fr 240px;  /* textarea large + colonne boutons */
  gap:14px;
  align-items:stretch;
  margin-top:12px;
}
@media (max-width: 768px){
  .builder-json{ grid-template-columns:1fr; }
}

.builder-json-editor textarea{
  width:100%;
  min-height:420px;          /* important : évite textarea mini */
  resize:vertical;
}

.builder-json-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  justify-content:flex-start;
}

.builder-json-actions .btn{
  padding:12px 14px;
  border-radius:14px;
}

/* MODAL*/
/* ===== MODALS (Sentinelle style) ===== */
.modal-backdrop.show{
  opacity:.55;
  backdrop-filter: blur(4px);
}

.modal-content{
  border:1px solid rgba(221,226,225,.85);
  border-radius:18px;
  box-shadow: 0 20px 60px rgba(0,0,0,.18);
  overflow:hidden;
  background: rgba(255,255,255,.92);
}

.modal-header{
  border-bottom:1px solid rgba(221,226,225,.85);
  background: linear-gradient(135deg, rgba(0,194,168,.10), rgba(46,139,87,.08));
  padding:14px 16px;
}

.modal-title{
  font-weight:900;
  font-size:15px;
  letter-spacing:-.2px;
}

.modal-body{
  padding:16px;
  background: rgba(255,255,255,.90);
}

.modal-footer{
  border-top:1px solid rgba(221,226,225,.85);
  padding:12px 16px;
  background: rgba(255,255,255,.85);
}

/* Bouton close plus joli */
.modal-header .btn-close{
  border-radius:12px;
  opacity:.7;
}
.modal-header .btn-close:hover{ opacity:1; }

/* Loader */
.modal-loading{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:26px 16px;
  gap:10px;
  color: var(--muted);
}

.modal-spinner{
  width:34px;height:34px;border-radius:50%;
  border:3px solid rgba(0,0,0,.08);
  border-top-color: rgba(46,139,87,.85);
  animation: spin .7s linear infinite;
}

@keyframes spin { to { transform: rotate(360deg); } }

/* Form inside modal */
.modal-body .form-control,
.modal-body .form-select{
  border-radius:14px;
}
.modal-body .btn{
  border-radius:14px;
}

/* campagnes */
.badge-live{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 10px;border-radius:999px;
  background:rgba(22,163,74,.10);
  border:1px solid rgba(22,163,74,.20);
  color:#166534;font-weight:900;font-size:12px;
  white-space:nowrap;
}
.badge-warn{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 10px;border-radius:999px;
  background:rgba(245,158,11,.12);
  border:1px solid rgba(245,158,11,.22);
  color:#92400e;font-weight:900;font-size:12px;
  white-space:nowrap;
}
.badge-muted{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 10px;border-radius:999px;
  background:rgba(107,114,128,.12);
  border:1px solid rgba(107,114,128,.22);
  color:#374151;font-weight:900;font-size:12px;
  white-space:nowrap;
}
.badge-soft{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 10px;border-radius:999px;
  background:rgba(0,194,168,.10);
  border:1px solid rgba(0,194,168,.20);
  color:#0f766e;font-weight:900;font-size:12px;
  white-space:nowrap;
}

.bar-live{ background:linear-gradient(90deg, rgba(22,163,74,.95), rgba(0,194,168,.85)); }
.bar-warn{ background:linear-gradient(90deg, rgba(245,158,11,.95), rgba(245,158,11,.55)); }
.bar-muted{ background:linear-gradient(90deg, rgba(107,114,128,.75), rgba(107,114,128,.45)); }
.bar-soft{ background:linear-gradient(90deg, rgba(46, 139, 87, 0.949), rgba(0, 194, 168, 0.749)); }

@media(max-width:900px){
  .grid-3{grid-template-columns:1fr;}
}

.stepper{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
      .stepper-item{
        display:inline-flex;align-items:center;gap:8px;
        padding:8px 10px;border-radius:999px;
        border:1px solid rgba(221,226,225,.9);
        background:rgba(255,255,255,.65);
        color:var(--muted);
        font-weight:900;font-size:12px;
      }
      .stepper-item .n{
        width:24px;height:24px;border-radius:10px;display:grid;place-items:center;
        background:rgba(107,114,128,.12);
        border:1px solid rgba(107,114,128,.18);
        color:#374151;
      }
      .stepper-item.is-active{color:var(--text);border-color:rgba(0,194,168,.22);background:rgba(0,194,168,.08)}
      .stepper-item.is-active .n{background:rgba(0,194,168,.14);border-color:rgba(0,194,168,.22);color:#0f766e}

      .pill{
        display:inline-flex;align-items:center;gap:8px;
        padding:8px 10px;border-radius:999px;
        background:rgba(0,194,168,.10);
        border:1px solid rgba(0,194,168,.20);
        color:#0f766e;
        font-weight:900;font-size:12px;
        white-space:nowrap;
      }

      /* pick cards */
      .pick-card{
        position:relative;
        border:1px solid var(--border);
        background:rgba(255,255,255,.85);
        border-radius:16px;
        padding:14px;
        box-shadow:var(--shadow-sm);
        cursor:pointer;
        transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
        display:block;
        min-height:140px;
      }
      .pick-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
      .pick-input{position:absolute;inset:14px 14px auto auto; width:18px;height:18px}
      .pick-top{display:flex;gap:10px;align-items:flex-start}
      .pick-meta{min-width:0}
      .pick-title{font-weight:900;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
      .pick-sub{font-size:12px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52ch}

      /* selected effect (pure CSS) */
      .pick-card:has(.pick-input:checked){
        border-color:rgba(0,194,168,.35);
        box-shadow:0 14px 40px rgba(0,0,0,0.12);
        background:rgba(255,255,255,.92);
      }

      .badge-soft{
        display:inline-flex;align-items:center;gap:8px;
        padding:6px 10px;border-radius:999px;
        background:rgba(0,194,168,.10);
        border:1px solid rgba(0,194,168,.20);
        color:#0f766e;font-weight:900;font-size:12px;
      }

      /* avatar */
      .avatar{
        width:40px;height:40px;border-radius:999px;
        background:rgba(0,194,168,.12);
        border:1px solid rgba(0,194,168,.18);
        color:#0f766e;
        display:grid;place-items:center;
        margin-right:12px;
        flex:0 0 auto;
      }

      /* course cards */
      .pick-course{
        color:#fff;border-color:rgba(255,255,255,.18);
        overflow:hidden;
      }
      .pick-course .pick-course-bg{
        position:absolute;inset:0;
        background:linear-gradient(135deg, rgba(0,0,0,.18), rgba(0,0,0,.05)), var(--course-bg);
        filter:saturate(1.1);
        z-index:0;
      }
      .pick-course > *{position:relative;z-index:1}
      .pick-course:has(.pick-input:checked){
        border-color:rgba(255,255,255,.45);
        box-shadow:0 18px 48px rgba(0,0,0,.18);
      }
      .chip{
        display:inline-flex;align-items:center;
        padding:6px 10px;border-radius:999px;
        background:rgba(255,255,255,.18);
        border:1px solid rgba(255,255,255,.22);
        font-weight:900;font-size:12px;
      }

      @media(max-width:900px){
        .stepper{justify-content:flex-start}
      }

/* ===== STEP CARD (design uniforme pour toutes les étapes) ===== */
.step-card{
  border:1px solid rgba(221,226,225,.90);
  background:rgba(255,255,255,.86);
  border-radius:18px;
  box-shadow:var(--shadow);
  overflow:hidden;
}

.step-card-head{
  padding:16px 16px 10px;
  border-bottom:1px solid rgba(221,226,225,.80);
  background:rgba(255,255,255,.65);
}

.step-card-body{ padding:14px 16px 16px; }

.step-card-foot{
  padding:12px 16px;
  border-top:1px solid rgba(221,226,225,.85);
  background:rgba(255,255,255,.65);
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

/* "badge étape" */
.pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 10px;border-radius:999px;
  background:rgba(0,194,168,.10);
  border:1px solid rgba(0,194,168,.20);
  color:#0f766e;
  font-weight:800;
  font-size:12px;
}

/* Cartes de sélection (scénarios / formations) */
.pick-card{
  display:block;
  cursor:pointer;
  border:1px solid rgba(221,226,225,.90);
  background:rgba(255,255,255,.90);
  border-radius:16px;
  padding:14px;
  box-shadow:var(--shadow-sm);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.pick-card:hover{ transform:translateY(-2px); box-shadow:var(--shadow); }
.pick-input{ position:absolute; opacity:0; pointer-events:none; }
.pick-top{ display:flex; gap:12px; align-items:flex-start; }
.pick-title{ font-weight:900; font-size:14px; margin:0; }
.pick-sub{ font-size:12px; line-height:1.35; }
.pick-meta{ min-width:0; }
.pick-meta .pick-sub{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }

.pick-card:has(.pick-input:checked){
  border-color:rgba(0,194,168,.55);
  box-shadow:0 0 0 4px rgba(0,194,168,.12), var(--shadow);
}

/* icône bloc */
.ic{
  width:44px;height:44px;border-radius:16px;
  display:grid;place-items:center;
  background:rgba(0,194,168,.10);
  border:1px solid rgba(0,194,168,.18);
  flex:0 0 auto;
}
.ic svg{ width:20px;height:20px;color:#0f766e }

/* Badge difficulté (alt faible/moyen/eleve) */
.badge-soft{
  display:inline-flex;align-items:center;
  padding:8px 10px;border-radius:999px;
  font-weight:900;font-size:11px;
  border:1px solid rgba(221,226,225,.9);
  background:rgba(255,255,255,.75);
}

/* Grid */
.grid-3{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; }
@media(max-width: 992px){ .grid-3{ grid-template-columns:1fr; } }

/* Form layout (propre sur mobile) */
.form-row-2{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media(max-width: 900px){ .form-row-2{ grid-template-columns:1fr; } }

.pack-card{
  border-radius:20px;
  transition:all .25s ease;
}

.pack-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 40px rgba(0,0,0,0.1);
}

.pack-card ul li{
  font-size:14px;
  color:#444;
}

.field ul{
list-style-type: none;
font-size: 11px;
color: #ef4444;
padding: 0;
margin: 0;
}

/* game */

.sent-game-card{
  border:0;
  border-radius:28px;
  overflow:hidden;
  background:
    radial-gradient(circle at top left, rgba(37,99,235,.07), transparent 28%),
    radial-gradient(circle at top right, rgba(16,185,129,.10), transparent 24%),
    rgba(255,255,255,.96);
  box-shadow:0 20px 50px rgba(15,23,42,.08);
  position:relative;
}

.sent-game-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:6px;
  background:linear-gradient(90deg,#10b981,#2563eb);
}

.sent-game-card .card-body{
  padding:2rem;
}

.sent-game-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  flex-wrap:wrap;
  margin-bottom:1.5rem;
}

.sent-game-badge{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  padding:.72rem 1rem;
  border-radius:999px;
  background:linear-gradient(135deg,#0f766e,#16a34a);
  color:#fff;
  font-size:.92rem;
  font-weight:800;
  box-shadow:0 10px 24px rgba(22,163,74,.20);
}

.sent-game-meta{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.72rem 1rem;
  border-radius:16px;
  background:#eff6ff;
  border:1px solid #bfdbfe;
  color:#1d4ed8;
  font-size:.9rem;
  font-weight:800;
}

.sent-game-title{
  font-size:2rem;
  line-height:1.15;
  font-weight:900;
  color:#111827;
  margin-bottom:.6rem;
}

.sent-game-desc{
  color:#6b7280;
  font-size:1rem;
  margin-bottom:1.25rem;
}

.sent-game-statusbar{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-bottom:1.25rem;
}

.sent-pill{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.75rem 1rem;
  border-radius:16px;
  font-weight:800;
  font-size:.9rem;
  border:1px solid #e5e7eb;
  background:#fff;
  color:#374151;
}

.sent-pill.primary{
  background:#eff6ff;
  border-color:#bfdbfe;
  color:#1d4ed8;
}

.sent-pill.success{
  background:#ecfdf5;
  border-color:#a7f3d0;
  color:#065f46;
}

.sent-pill.warning{
  background:#fff7ed;
  border-color:#fdba74;
  color:#9a3412;
}

.sent-action-btn{
  width:100%;
  border:1.5px solid #d1d5db;
  background:#fff;
  border-radius:20px;
  padding:1rem 1.1rem;
  display:flex;
  align-items:center;
  gap:1rem;
  text-align:left;
  transition:all .25s ease;
  box-shadow:0 6px 18px rgba(15,23,42,.03);
  color:#1f2937;
  font-weight:700;
}

.sent-action-btn:hover{
  transform:translateY(-2px);
  border-color:#86efac;
  box-shadow:0 14px 26px rgba(16,185,129,.10);
}

.sent-action-btn.correct{
  background:linear-gradient(180deg,#ecfdf5 0%,#d1fae5 100%);
  border-color:#10b981;
  color:#065f46;
}

.sent-action-btn.wrong{
  background:linear-gradient(180deg,#fef2f2 0%,#fee2e2 100%);
  border-color:#ef4444;
  color:#991b1b;
}

.sent-feedback{
  margin-top:1.25rem;
  border-radius:20px;
  padding:1rem 1.1rem;
  display:flex;
  align-items:flex-start;
  gap:.85rem;
  border:1px solid #e5e7eb;
  background:#f8fafc;
  color:#374151;
  line-height:1.55;
}

.sent-feedback.info{
  background:#eff6ff;
  border-color:#bfdbfe;
  color:#1d4ed8;
}

.sent-feedback.success{
  background:#ecfdf5;
  border-color:#a7f3d0;
  color:#065f46;
}

.sent-feedback.error{
  background:#fff7ed;
  border-color:#fdba74;
  color:#9a3412;
}

.sent-feedback-icon{
  font-size:1.2rem;
  line-height:1;
  margin-top:2px;
}

.sent-grid-choices{
  display:grid;
  gap:1rem;
}

.sent-progress{
  width:100%;
  height:10px;
  background:#e5e7eb;
  border-radius:999px;
  overflow:hidden;
  margin-top:.5rem;
}

.sent-progress-bar{
  height:100%;
  width:0;
  border-radius:999px;
  background:linear-gradient(90deg,#10b981,#2563eb);
  transition:width .2s linear;
}

.sent-drop-zone{
  min-height:180px;
  border:2px dashed #cbd5e1;
  border-radius:22px;
  padding:1rem;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
}

.sent-draggable{
  cursor:grab;
  user-select:none;
  border-radius:16px;
  padding:.9rem 1rem;
  background:#fff;
  border:1px solid #d1d5db;
  box-shadow:0 6px 18px rgba(15,23,42,.03);
  font-weight:700;
}

.sent-memory-card{
  min-height:110px;
  border-radius:22px;
  border:1.5px solid #d1d5db;
  background:#fff;
  font-weight:800;
  transition:all .2s ease;
}

.sent-memory-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(15,23,42,.08);
}

.sent-memory-card.matched{
  background:linear-gradient(180deg,#ecfdf5 0%,#d1fae5 100%);
  border-color:#10b981;
  color:#065f46;
}

@media (max-width:768px){
  .sent-game-card .card-body{ padding:1.25rem; }
  .sent-game-title{ font-size:1.55rem; }
}

/* Sentinelle Kids Learning */
.kids-learning-page,
.learning-app{
  --kids-bg:#030705;
  --kids-panel:#07120c;
  --kids-panel-2:#0d1c12;
  --kids-line:rgba(151,195,70,.32);
  --kids-green:#91c844;
  --kids-green-2:#c5ef72;
  --kids-text:#f8fbf2;
  --kids-muted:#b7c6a9;
  background:#030705;
  color:var(--kids-text);
}
.kids-learning-page{
  min-height:100vh;
  background:
    linear-gradient(180deg, rgba(3,7,5,.45), #030705 55%),
    radial-gradient(720px 420px at 78% 8%, rgba(145,200,68,.18), transparent 62%),
    #030705;
}
.kids-container{
  max-width:1180px;
  margin:0 auto;
  padding:0 22px;
}
.kids-nav{
  position:sticky;
  top:0;
  z-index:80;
  background:rgba(3,7,5,.86);
  border-bottom:1px solid var(--kids-line);
  backdrop-filter:blur(14px);
}
.kids-nav .kids-container{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.kids-brand{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--kids-text);
  text-decoration:none;
}
.kids-brand img{
  width:72px;
  height:72px;
  object-fit:cover;
  object-position:top;
  border-radius:0;
}
.kids-brand span{
  display:flex;
  flex-direction:column;
  line-height:1;
  text-transform:uppercase;
}
.kids-brand strong{
  font-size:17px;
  letter-spacing:1.2px;
  font-weight:950;
}
.kids-brand small{
  margin-top:5px;
  color:var(--kids-green);
  font-size:13px;
  font-weight:950;
  letter-spacing:2px;
}
.kids-links{
  display:flex;
  align-items:center;
  gap:8px;
}
.kids-links a{
  color:var(--kids-muted);
  text-decoration:none;
  padding:9px 10px;
  border-radius:999px;
  font-size:13px;
  font-weight:850;
}
.kids-links a:hover{
  color:var(--kids-text);
  background:rgba(145,200,68,.12);
}
.kids-nav-actions,
.kids-hero-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.kids-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:11px 15px;
  border-radius:999px;
  border:1px solid transparent;
  text-decoration:none;
  font-size:13px;
  font-weight:950;
  white-space:nowrap;
  cursor:pointer;
}
.kids-btn-primary{
  color:#07120c;
  background:var(--kids-green);
  box-shadow:0 10px 28px rgba(145,200,68,.2);
}
.kids-btn-primary:hover{
  color:#07120c;
  background:var(--kids-green-2);
}
.kids-btn-ghost,
.kids-btn-soft{
  color:var(--kids-text);
  background:rgba(255,255,255,.07);
  border-color:var(--kids-line);
}
.kids-btn-outline{
  color:var(--kids-green-2);
  border-color:var(--kids-green);
  background:transparent;
}
.kids-hero{
  position:relative;
  min-height:calc(100vh - 76px);
  display:grid;
  grid-template-columns:minmax(0, .92fr) minmax(360px, .78fr);
  align-items:center;
  gap:36px;
  padding:34px max(22px, calc((100vw - 1180px) / 2)) 72px;
  overflow:hidden;
}
.kids-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:160px;
  background:linear-gradient(0deg, #030705, transparent);
  pointer-events:none;
}
.kids-hero-media{
  position:relative;
  min-height:520px;
  border:1px solid var(--kids-line);
  border-radius:0 0 42px 0;
  overflow:hidden;
  box-shadow:0 28px 80px rgba(0,0,0,.42);
}
.kids-hero-media img{
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:cover;
  display:block;
}
.kids-hero-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(3,7,5,.25), rgba(3,7,5,.08));
}
.kids-hero-content{
  position:relative;
  z-index:2;
}
.kids-eyebrow{
  display:inline-flex;
  color:var(--kids-green-2);
  text-transform:uppercase;
  letter-spacing:1.5px;
  font-weight:950;
  font-size:12px;
}
.kids-hero h1{
  margin:16px 0 14px;
  max-width:720px;
  color:var(--kids-text);
  font-size:clamp(44px, 7vw, 82px);
  line-height:.95;
  letter-spacing:0;
  text-transform:uppercase;
  font-weight:950;
}
.kids-hero p{
  max-width:58ch;
  color:var(--kids-muted);
  font-size:17px;
  line-height:1.65;
  margin:0 0 22px;
}
.kids-intent-card{
  position:absolute;
  right:max(22px, calc((100vw - 1180px) / 2));
  bottom:60px;
  z-index:3;
  width:min(360px, calc(100vw - 44px));
  display:grid;
  gap:10px;
}
.kids-intent-card div{
  display:grid;
  grid-template-columns:42px 1fr;
  column-gap:12px;
  align-items:center;
  padding:13px 14px;
  border:1px solid var(--kids-line);
  border-radius:16px;
  background:rgba(3,7,5,.72);
  backdrop-filter:blur(10px);
}
.kids-intent-card i{
  grid-row:span 2;
  color:var(--kids-green);
  font-size:25px;
}
.kids-intent-card strong{
  color:var(--kids-green);
  text-transform:uppercase;
  font-size:12px;
  font-weight:950;
}
.kids-intent-card span{
  color:var(--kids-text);
  font-size:13px;
  font-weight:750;
}
.kids-section{
  padding-top:76px;
  padding-bottom:32px;
}
.kids-section-title{
  max-width:760px;
  margin-bottom:18px;
}
.kids-section-title span{
  color:var(--kids-green);
  text-transform:uppercase;
  letter-spacing:1.4px;
  font-size:12px;
  font-weight:950;
}
.kids-section-title h2,
.kids-family-band h2,
.kids-corporate-band h2{
  margin:8px 0 0;
  color:var(--kids-text);
  font-size:clamp(28px, 4vw, 48px);
  line-height:1.03;
  font-weight:950;
  letter-spacing:0;
}
.kids-mission-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  border:1px solid var(--kids-line);
  border-radius:0 28px 28px 0;
  background:linear-gradient(180deg, rgba(12,28,18,.88), rgba(4,12,7,.9));
  overflow:hidden;
}
.kids-mission-grid article{
  padding:24px;
  min-height:190px;
  border-right:1px solid var(--kids-line);
}
.kids-mission-grid article:last-child{
  border-right:0;
}
.kids-mission-grid i{
  color:var(--kids-green);
  font-size:34px;
  margin-bottom:20px;
}
.kids-mission-grid h3{
  color:var(--kids-green);
  text-transform:uppercase;
  margin:0 0 8px;
  font-size:15px;
  font-weight:950;
}
.kids-mission-grid p,
.kids-copy,
.kids-family-band p,
.kids-corporate-band p{
  color:var(--kids-muted);
  line-height:1.65;
  margin:0;
}
.kids-split{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 360px;
  gap:28px;
  align-items:start;
}
.kids-path-list{
  display:grid;
  gap:12px;
  margin-top:22px;
}
.kids-path-list div{
  display:grid;
  gap:5px;
  padding:16px;
  border-left:3px solid var(--kids-green);
  background:rgba(255,255,255,.055);
}
.kids-path-list strong{
  color:var(--kids-text);
  font-size:17px;
}
.kids-path-list span{
  color:var(--kids-muted);
  font-size:14px;
}
.kids-learning-card{
  position:sticky;
  top:96px;
  border:1px solid var(--kids-line);
  background:linear-gradient(180deg, rgba(13,28,18,.96), rgba(5,10,7,.96));
  border-radius:28px 0 28px 28px;
  padding:22px;
  box-shadow:0 24px 60px rgba(0,0,0,.28);
}
.kids-learning-card img{
  width:130px;
  height:130px;
  object-fit:cover;
  object-position:top;
  display:block;
  margin:0 auto 16px;
}
.kids-learning-card span{
  color:var(--kids-green);
  text-transform:uppercase;
  font-size:12px;
  font-weight:950;
}
.kids-learning-card strong{
  display:block;
  color:var(--kids-text);
  font-size:48px;
  line-height:1;
  margin:8px 0 10px;
}
.kids-progress{
  height:10px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  overflow:hidden;
}
.kids-progress span{
  display:block;
  height:100%;
  background:linear-gradient(90deg, var(--kids-green), var(--kids-green-2));
}
.kids-learning-card ul{
  list-style:none;
  margin:18px 0 0;
  padding:0;
  display:grid;
  gap:10px;
}
.kids-learning-card li{
  color:var(--kids-text);
  font-weight:800;
  font-size:14px;
}
.kids-learning-card i{
  width:22px;
  color:var(--kids-green);
}
.kids-family-band,
.kids-corporate-band{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  border:1px solid var(--kids-line);
  background:rgba(255,255,255,.055);
  padding:30px;
  border-radius:28px 0 28px 0;
}
.kids-family-band p,
.kids-corporate-band p{
  max-width:72ch;
  margin-top:12px;
}
.kids-corporate-band{
  background:linear-gradient(135deg, rgba(145,200,68,.12), rgba(255,255,255,.045));
}
.kids-contact-grid{
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(320px, 1fr);
  gap:24px;
  align-items:start;
}
.kids-contact-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  padding:20px;
  border:1px solid var(--kids-line);
  border-radius:28px 0 28px 28px;
  background:rgba(255,255,255,.06);
}
.kids-contact-form input,
.kids-contact-form textarea{
  width:100%;
  border:1px solid var(--kids-line);
  border-radius:14px;
  background:rgba(255,255,255,.08);
  color:var(--kids-text);
  padding:13px 14px;
  outline:none;
}
.kids-contact-form input::placeholder,
.kids-contact-form textarea::placeholder{
  color:rgba(248,251,242,.58);
}
.kids-contact-form textarea,
.kids-contact-form button,
.kids-alert{
  grid-column:1 / -1;
}
.kids-alert{
  border-radius:14px;
  padding:12px 14px;
  font-weight:800;
}
.kids-alert.success{
  background:rgba(145,200,68,.16);
  border:1px solid var(--kids-line);
  color:var(--kids-green-2);
}
.kids-alert.error{
  background:rgba(239,68,68,.14);
  border:1px solid rgba(239,68,68,.34);
  color:#fecaca;
}
.kids-footer{
  border-top:1px solid var(--kids-line);
  padding:24px 0 34px;
  background:#010302;
}
.kids-footer .kids-container{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  flex-wrap:wrap;
}
.kids-footer div div{
  display:flex;
  align-items:center;
  gap:12px;
}
.kids-footer img{
  width:82px;
  height:82px;
  object-fit:cover;
  object-position:top;
}
.kids-footer span{
  color:var(--kids-text);
  text-transform:uppercase;
  font-weight:950;
  letter-spacing:.8px;
}
.kids-footer a{
  color:#07120c;
  background:var(--kids-green);
  border-radius:999px;
  padding:9px 18px;
  text-decoration:none;
  font-weight:950;
}
.learning-app{
  background:
    radial-gradient(760px 420px at 80% 0%, rgba(145,200,68,.16), transparent 60%),
    #030705;
}
.learning-app .nav{
  background:rgba(3,7,5,.88);
  border-bottom:1px solid var(--kids-line);
}
.learning-app .brand-text strong,
.learning-app h1,
.learning-app h2,
.learning-app h3{
  color:var(--kids-text);
}
.learning-app .brand-text span,
.learning-app .text-muted,
.learning-app .tile p,
.learning-app .section-title p{
  color:var(--kids-muted)!important;
}
.learning-app .nav-links a{
  color:var(--kids-muted);
}
.learning-app .nav-links a:hover{
  color:var(--kids-text);
  background:rgba(145,200,68,.12);
  border-color:var(--kids-line);
}
.learning-app .hero-card,
.learning-app .tile,
.learning-app .app-card,
.learning-app .beta-card{
  background:rgba(7,18,12,.88);
  border-color:var(--kids-line);
  box-shadow:0 16px 44px rgba(0,0,0,.24);
}
.learning-app .s-table{
  color:var(--kids-text);
}
.learning-app .s-table th{
  color:var(--kids-green);
}
.learning-app .s-table td{
  border-color:rgba(151,195,70,.18);
}
.learning-app .footer{
  background:#010302;
  border-color:var(--kids-line);
}
.learning-app .footer,
.learning-app .mini-links a{
  color:var(--kids-muted);
}
.learning-app .btn-primary{
  background:var(--kids-green);
  color:#07120c;
}
.learning-app .btn-ghost{
  background:rgba(255,255,255,.07);
  border-color:var(--kids-line);
  color:var(--kids-text);
}
.learning-app .logo{
  width:62px;
  height:62px;
}
.learning-app .logo img{
  width:62px;
  height:62px;
  object-fit:cover;
  object-position:top;
}
@media(max-width:1020px){
  .kids-links{
    display:none;
  }
  .kids-hero,
  .kids-split,
  .kids-contact-grid{
    grid-template-columns:1fr;
  }
  .kids-intent-card{
    position:relative;
    right:auto;
    bottom:auto;
    width:100%;
    margin-top:-44px;
  }
  .kids-learning-card{
    position:relative;
    top:auto;
  }
  .kids-mission-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media(max-width:640px){
  .kids-nav .kids-container,
  .kids-family-band,
  .kids-corporate-band{
    align-items:flex-start;
    flex-direction:column;
  }
  .kids-nav-actions{
    width:100%;
  }
  .kids-nav-actions .kids-btn{
    flex:1;
  }
  .kids-hero{
    padding-top:22px;
  }
  .kids-hero-media,
  .kids-hero-media img{
    min-height:360px;
  }
  .kids-mission-grid,
  .kids-contact-form{
    grid-template-columns:1fr;
  }
  .kids-mission-grid article{
    border-right:0;
    border-bottom:1px solid var(--kids-line);
  }
  .kids-mission-grid article:last-child{
    border-bottom:0;
  }
}

/* Landing layout fixes */
.kids-hero{
  min-height:auto;
  grid-template-columns:minmax(360px, .92fr) minmax(460px, 1fr);
  grid-template-rows:auto auto;
  align-items:center;
  gap:18px 38px;
  padding-top:54px;
  padding-bottom:68px;
}
.kids-hero-media{
  grid-column:1;
  grid-row:1 / span 2;
  min-height:420px;
  align-self:center;
}
.kids-hero-media img{
  min-height:420px;
}
.kids-hero-content{
  grid-column:2;
  grid-row:1;
  align-self:end;
}
.kids-hero h1{
  font-size:clamp(42px, 5.2vw, 76px);
}
.kids-hero p{
  max-width:60ch;
}
.kids-intent-card{
  position:static;
  grid-column:2;
  grid-row:2;
  width:100%;
  max-width:520px;
  margin-top:0;
  align-self:start;
}
.kids-intent-card div{
  min-height:60px;
}
.kids-hero-actions{
  margin-bottom:0;
}
.kids-family-band,
.kids-corporate-band{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
  padding:26px 32px;
}
.kids-family-band{
  margin-bottom:34px;
}
.kids-corporate-band{
  margin-top:0;
  margin-bottom:52px;
}
#contact.kids-section{
  padding-top:34px;
}
.kids-family-band h2,
.kids-corporate-band h2,
.kids-contact-grid .kids-section-title h2{
  font-size:clamp(30px, 3.2vw, 44px);
  line-height:1.08;
}
.kids-family-band .kids-btn,
.kids-corporate-band .kids-btn{
  flex:0 0 auto;
}
.kids-contact-grid{
  grid-template-columns:minmax(360px, .82fr) minmax(420px, 1fr);
  gap:42px;
}

@media(max-width:1020px){
  .kids-hero{
    grid-template-columns:1fr;
    grid-template-rows:auto;
    padding-top:34px;
  }
  .kids-hero-media,
  .kids-hero-content,
  .kids-intent-card{
    grid-column:1;
    grid-row:auto;
  }
  .kids-intent-card{
    max-width:none;
    margin-top:6px;
  }
  .kids-contact-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:640px){
  .kids-hero{
    padding-bottom:46px;
  }
  .kids-hero h1{
    font-size:clamp(36px, 13vw, 52px);
  }
  .kids-family-band h2,
  .kids-corporate-band h2,
  .kids-contact-grid .kids-section-title h2{
    font-size:clamp(28px, 10vw, 38px);
  }
}

/* Sentinelle Learning main landing */
.learning-home-page{
  --learn-bg:#f3f8f6;
  --learn-surface:#ffffff;
  --learn-ink:#10201c;
  --learn-muted:#5f746d;
  --learn-line:#d9e7e1;
  --learn-green:#2f8f62;
  --learn-teal:#0da6a6;
  --learn-blue:#3157d5;
  --learn-soft:#e8f4ef;
  margin:0;
  min-height:100vh;
  background:
    linear-gradient(180deg, rgba(255,255,255,.86), rgba(243,248,246,.96)),
    radial-gradient(720px 360px at 82% 12%, rgba(49,87,213,.12), transparent 64%),
    radial-gradient(640px 360px at 12% 18%, rgba(13,166,166,.14), transparent 62%),
    var(--learn-bg);
  color:var(--learn-ink);
}
.learning-home-container{
  max-width:1180px;
  margin:0 auto;
  padding:0 22px;
}
.learning-home-nav{
  position:sticky;
  top:0;
  z-index:80;
  background:rgba(255,255,255,.86);
  border-bottom:1px solid var(--learn-line);
  backdrop-filter:blur(14px);
}
.learning-home-nav .learning-home-container{
  min-height:74px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.learning-home-brand{
  display:flex;
  align-items:center;
  gap:11px;
  color:var(--learn-ink);
  text-decoration:none;
}
.learning-home-brand img{
  width:54px;
  height:54px;
  object-fit:cover;
  border-radius:14px;
  border:1px solid var(--learn-line);
}
.learning-home-brand span{
  display:flex;
  flex-direction:column;
  line-height:1.05;
}
.learning-home-brand strong{
  font-size:16px;
  font-weight:950;
  letter-spacing:.3px;
  text-transform:uppercase;
}
.learning-home-brand small{
  margin-top:4px;
  color:var(--learn-muted);
  font-size:12px;
  font-weight:800;
}
.learning-home-links{
  display:flex;
  align-items:center;
  gap:8px;
}
.learning-home-links a,
.learning-home-footer a{
  color:var(--learn-muted);
  text-decoration:none;
  font-weight:850;
  font-size:13px;
}
.learning-home-links a{
  padding:9px 11px;
  border-radius:999px;
}
.learning-home-links a:hover{
  color:var(--learn-ink);
  background:var(--learn-soft);
}
.learning-home-actions,
.learning-home-cta{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.learning-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:11px 16px;
  border-radius:12px;
  border:1px solid transparent;
  text-decoration:none;
  font-size:13px;
  font-weight:950;
  white-space:nowrap;
  cursor:pointer;
}
.learning-btn-primary{
  color:#fff;
  background:linear-gradient(135deg, var(--learn-green), var(--learn-teal));
  box-shadow:0 12px 30px rgba(47,143,98,.2);
}
.learning-btn-soft{
  color:var(--learn-green);
  background:#edf8f1;
  border-color:#cfe7da;
}
.learning-btn-outline{
  color:var(--learn-ink);
  background:#fff;
  border-color:var(--learn-line);
}
.learning-home-hero{
  padding:78px 0 58px;
}
.learning-home-hero-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 430px;
  gap:36px;
  align-items:center;
}
.learning-eyebrow{
  display:inline-flex;
  color:var(--learn-green);
  text-transform:uppercase;
  letter-spacing:1.4px;
  font-size:12px;
  font-weight:950;
}
.learning-home-copy h1{
  margin:16px 0 16px;
  max-width:780px;
  color:var(--learn-ink);
  font-size:clamp(44px, 6vw, 76px);
  line-height:.98;
  font-weight:950;
  letter-spacing:0;
}
.learning-home-copy p,
.learning-split p,
.learning-corporate-brief p,
.learning-contact-grid p{
  color:var(--learn-muted);
  line-height:1.68;
  font-size:16px;
  margin:0;
}
.learning-home-copy p{
  max-width:66ch;
  margin-bottom:22px;
}
.learning-home-panel,
.learning-mini-dashboard,
.learning-contact-form{
  border:1px solid var(--learn-line);
  background:rgba(255,255,255,.9);
  box-shadow:0 22px 60px rgba(16,32,28,.1);
}
.learning-home-panel{
  border-radius:26px;
  padding:22px;
}
.learning-panel-header{
  display:grid;
  gap:4px;
}
.learning-panel-header span{
  color:var(--learn-green);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.learning-panel-header strong{
  font-size:20px;
}
.learning-score-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:18px 0;
}
.learning-score-row div{
  padding:16px;
  border-radius:16px;
  background:var(--learn-soft);
}
.learning-score-row strong{
  display:block;
  font-size:34px;
  color:var(--learn-ink);
}
.learning-score-row span{
  color:var(--learn-muted);
  font-size:12px;
  font-weight:800;
}
.learning-progress-line{
  height:10px;
  border-radius:999px;
  background:#dce9e3;
  overflow:hidden;
}
.learning-progress-line span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, var(--learn-green), var(--learn-blue));
}
.learning-home-panel ul{
  display:grid;
  gap:11px;
  list-style:none;
  padding:0;
  margin:18px 0 0;
}
.learning-home-panel li{
  color:var(--learn-ink);
  font-weight:850;
}
.learning-home-panel i{
  width:24px;
  color:var(--learn-green);
}
.learning-section{
  padding:54px 0;
}
.learning-section-title{
  max-width:760px;
  margin-bottom:18px;
}
.learning-section-title span{
  color:var(--learn-green);
  text-transform:uppercase;
  letter-spacing:1.4px;
  font-size:12px;
  font-weight:950;
}
.learning-section-title h2,
.learning-kids-callout h2,
.learning-split h2,
.learning-corporate-brief h2,
.learning-contact-grid h2{
  margin:8px 0 0;
  color:var(--learn-ink);
  font-size:clamp(30px, 4vw, 50px);
  line-height:1.05;
  font-weight:950;
  letter-spacing:0;
}
.learning-card-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
}
.learning-card-grid article{
  min-height:220px;
  padding:22px;
  border:1px solid var(--learn-line);
  background:#fff;
  border-radius:22px;
  box-shadow:0 14px 38px rgba(16,32,28,.06);
}
.learning-card-grid i{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:var(--learn-soft);
  color:var(--learn-green);
  font-size:20px;
  margin-bottom:18px;
}
.learning-card-grid h3{
  margin:0 0 8px;
  font-size:18px;
}
.learning-card-grid p,
.learning-feature-row span{
  color:var(--learn-muted);
  line-height:1.6;
}
.learning-kids-callout{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding-top:34px;
  padding-bottom:34px;
  border-radius:28px;
  border:1px solid rgba(145,200,68,.35);
  background:
    linear-gradient(135deg, rgba(3,7,5,.92), rgba(13,28,18,.9)),
    #07120c;
  box-shadow:0 24px 70px rgba(3,7,5,.16);
}
.learning-kids-callout h2,
.learning-kids-callout p{
  color:#fff;
}
.learning-kids-callout p{
  max-width:72ch;
  opacity:.82;
  margin-top:12px;
}
.learning-feature-row{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
}
.learning-feature-row div{
  padding:20px;
  border-radius:20px;
  background:#fff;
  border:1px solid var(--learn-line);
}
.learning-feature-row strong{
  display:block;
  font-size:18px;
  margin-bottom:6px;
}
.learning-split,
.learning-corporate-brief,
.learning-contact-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(320px, .72fr);
  gap:28px;
  align-items:center;
}
.learning-mini-dashboard{
  border-radius:24px;
  padding:20px;
  display:grid;
  gap:12px;
}
.learning-mini-dashboard div{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  padding:16px;
  border-radius:16px;
  background:var(--learn-soft);
}
.learning-mini-dashboard strong{
  font-size:30px;
}
.learning-mini-dashboard span{
  color:var(--learn-muted);
  font-weight:850;
}
.learning-corporate-brief{
  margin-top:20px;
  margin-bottom:20px;
  padding:28px;
  border:1px solid #e3e0d7;
  border-radius:24px;
  background:#fffaf0;
}
.learning-corporate-brief h2{
  font-size:clamp(28px, 3.2vw, 42px);
}
.learning-contact-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  padding:20px;
  border-radius:24px;
}
.learning-contact-form input,
.learning-contact-form textarea{
  width:100%;
  border:1px solid var(--learn-line);
  border-radius:14px;
  background:#fff;
  color:var(--learn-ink);
  padding:13px 14px;
  outline:none;
}
.learning-contact-form textarea,
.learning-contact-form button,
.learning-alert{
  grid-column:1 / -1;
}
.learning-alert{
  padding:12px 14px;
  border-radius:14px;
  font-weight:800;
}
.learning-alert.success{
  color:#166534;
  background:#ecfdf3;
  border:1px solid #bbf7d0;
}
.learning-alert.error{
  color:#991b1b;
  background:#fef2f2;
  border:1px solid #fecaca;
}
.learning-home-footer{
  padding:24px 0 34px;
  border-top:1px solid var(--learn-line);
  background:#fff;
}
.learning-home-footer .learning-home-container{
  display:flex;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  color:var(--learn-muted);
  font-weight:850;
}
.learning-home-footer div div{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

@media(max-width:980px){
  .learning-home-links{
    display:none;
  }
  .learning-home-hero-grid,
  .learning-split,
  .learning-corporate-brief,
  .learning-contact-grid{
    grid-template-columns:1fr;
  }
  .learning-card-grid,
  .learning-feature-row{
    grid-template-columns:1fr;
  }
  .learning-kids-callout{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:620px){
  .learning-home-nav .learning-home-container{
    align-items:flex-start;
    flex-direction:column;
    padding-top:12px;
    padding-bottom:12px;
  }
  .learning-home-actions{
    width:100%;
  }
  .learning-home-actions .learning-btn{
    flex:1;
  }
  .learning-home-copy h1{
    font-size:clamp(36px, 12vw, 54px);
  }
  .learning-contact-form{
    grid-template-columns:1fr;
  }
}

/* Learning and Kids login */
.learning-login-page,
.kids-login-page{
  margin:0;
  min-height:100vh;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}
.learning-login-page{
  --login-bg:#f2f8f5;
  --login-surface:#ffffff;
  --login-ink:#10201c;
  --login-muted:#667872;
  --login-line:#d9e7e1;
  --login-primary:#2f8f62;
  --login-secondary:#0da6a6;
  background:
    radial-gradient(680px 420px at 16% 16%, rgba(13,166,166,.14), transparent 62%),
    radial-gradient(720px 430px at 90% 14%, rgba(49,87,213,.1), transparent 62%),
    var(--login-bg);
  color:var(--login-ink);
}
.kids-login-page{
  --login-bg:#030705;
  --login-surface:#07120c;
  --login-ink:#f8fbf2;
  --login-muted:#b7c6a9;
  --login-line:rgba(151,195,70,.32);
  --login-primary:#91c844;
  --login-secondary:#c5ef72;
  background:
    linear-gradient(180deg, rgba(3,7,5,.54), #030705),
    radial-gradient(720px 420px at 18% 14%, rgba(145,200,68,.16), transparent 62%),
    #030705;
  color:var(--login-ink);
}
.login-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(0, .92fr) minmax(420px, .62fr);
}
.login-story{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:56px max(34px, calc((100vw - 1180px) / 2)) 56px 64px;
  overflow:hidden;
}
.learning-login-page .login-story::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(242,248,245,.96), rgba(242,248,245,.74)),
    url('/assets/uploads/formations/introduction_cybersecurity.jpg');
  background-size:cover;
  background-position:center;
  opacity:.95;
  z-index:0;
}
.kids-login-page .login-story::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(3,7,5,.92), rgba(3,7,5,.68)),
    url('/assets/img/sentinelle-kids-hero.png?v=kids-learning-4');
  background-size:cover;
  background-position:center;
  z-index:0;
}
.login-story > *{
  position:relative;
  z-index:1;
}
.login-back{
  position:absolute;
  top:24px;
  left:64px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--login-muted);
  text-decoration:none;
  font-weight:900;
  font-size:13px;
}
.login-story-logo{
  width:112px;
  height:112px;
  object-fit:cover;
  object-position:top;
  margin-bottom:22px;
}
.login-story-logo.learning{
  border-radius:22px;
  border:1px solid var(--login-line);
  box-shadow:0 18px 40px rgba(16,32,28,.12);
}
.login-eyebrow{
  color:var(--login-primary);
  text-transform:uppercase;
  letter-spacing:1.4px;
  font-size:12px;
  font-weight:950;
}
.login-story h1{
  max-width:760px;
  margin:14px 0 14px;
  color:var(--login-ink);
  font-size:clamp(42px, 5vw, 72px);
  line-height:1;
  letter-spacing:0;
  font-weight:950;
}
.login-story p{
  max-width:62ch;
  color:var(--login-muted);
  line-height:1.68;
  font-size:16px;
  margin:0;
}
.learning-login-metrics,
.kids-login-badges{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:22px;
}
.learning-login-metrics div,
.kids-login-badges span{
  border:1px solid var(--login-line);
  background:rgba(255,255,255,.72);
  border-radius:16px;
  padding:14px 16px;
}
.kids-login-badges span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(255,255,255,.08);
  color:var(--login-ink);
  font-weight:900;
}
.learning-login-metrics strong{
  display:block;
  color:var(--login-ink);
  font-size:15px;
}
.learning-login-metrics span{
  display:block;
  color:var(--login-muted);
  font-size:12px;
  font-weight:800;
  margin-top:3px;
}
.login-card-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:42px;
  background:rgba(255,255,255,.64);
  backdrop-filter:blur(10px);
}
.kids-login-page .login-card-wrap{
  background:rgba(3,7,5,.76);
}
.login-card{
  width:min(440px, 100%);
  border:1px solid var(--login-line);
  border-radius:26px;
  background:var(--login-surface);
  box-shadow:0 24px 70px rgba(0,0,0,.16);
  padding:24px;
}
.login-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:28px;
}
.login-card-brand{
  display:flex;
  align-items:center;
  gap:11px;
}
.login-card-brand img{
  width:54px;
  height:54px;
  object-fit:cover;
  object-position:top;
  border-radius:14px;
  border:1px solid var(--login-line);
}
.login-card-brand strong{
  display:block;
  color:var(--login-ink);
  font-size:14px;
  font-weight:950;
  text-transform:uppercase;
}
.login-card-brand span{
  display:block;
  color:var(--login-muted);
  font-size:12px;
  font-weight:800;
  margin-top:3px;
}
.login-card-head > a{
  color:var(--login-primary);
  text-decoration:none;
  font-size:12px;
  font-weight:950;
  white-space:nowrap;
}
.login-card h2{
  margin:0 0 18px;
  color:var(--login-ink);
  font-size:28px;
  font-weight:950;
  letter-spacing:0;
}
.login-form{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin:0;
}
.login-form label{
  color:var(--login-ink);
  font-size:13px;
  font-weight:900;
}
.login-form input[type="email"],
.login-form input[type="password"]{
  width:100%;
  min-height:48px;
  border:1px solid var(--login-line);
  border-radius:14px;
  background:#fff;
  color:#10201c;
  padding:12px 14px;
  outline:none;
}
.kids-login-page .login-form input[type="email"],
.kids-login-page .login-form input[type="password"]{
  background:rgba(255,255,255,.08);
  color:var(--login-ink);
}
.login-form input:focus{
  border-color:var(--login-primary);
  box-shadow:0 0 0 4px color-mix(in srgb, var(--login-primary) 18%, transparent);
}
.login-options{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:2px 0 8px;
  flex-wrap:wrap;
}
.login-options label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--login-muted);
}
.login-options input{
  accent-color:var(--login-primary);
}
.login-options a,
.login-foot-links a,
.login-alert a{
  color:var(--login-primary);
  font-weight:950;
  text-decoration:none;
}
.login-submit{
  min-height:48px;
  border:0;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(135deg, var(--login-primary), var(--login-secondary));
  font-weight:950;
  cursor:pointer;
}
.kids-login-page .login-submit{
  color:#07120c;
}
.login-foot-links{
  color:var(--login-muted);
  font-size:13px;
  font-weight:800;
  margin-top:6px;
}
.login-alert{
  border-radius:14px;
  padding:12px 14px;
  margin-bottom:14px;
  font-weight:800;
  font-size:13px;
}
.login-alert.error{
  background:#fef2f2;
  border:1px solid #fecaca;
  color:#991b1b;
}
.login-alert.info{
  background:color-mix(in srgb, var(--login-primary) 12%, white);
  border:1px solid var(--login-line);
  color:var(--login-ink);
}

@media(max-width:980px){
  .login-shell{
    grid-template-columns:1fr;
  }
  .login-story{
    min-height:420px;
    padding:84px 28px 36px;
  }
  .login-back{
    left:28px;
  }
  .login-card-wrap{
    padding:28px;
  }
}

@media(max-width:560px){
  .login-story h1{
    font-size:clamp(34px, 12vw, 48px);
  }
  .login-card-wrap{
    padding:18px;
  }
  .login-card{
    padding:18px;
  }
  .login-card-head{
    flex-direction:column;
  }
}

/* Distinct app shells for shared authenticated pages */
.learning-app{
  --app-bg:#f3f8f6;
  --app-surface:#ffffff;
  --app-ink:#10201c;
  --app-muted:#5f746d;
  --app-line:#d9e7e1;
  --app-primary:#2f8f62;
  --app-primary-2:#0da6a6;
  background:
    radial-gradient(680px 380px at 84% 4%, rgba(49,87,213,.1), transparent 62%),
    radial-gradient(620px 360px at 12% 10%, rgba(13,166,166,.12), transparent 62%),
    var(--app-bg);
  color:var(--app-ink);
}
.kids-app{
  --app-bg:#030705;
  --app-surface:#07120c;
  --app-ink:#f8fbf2;
  --app-muted:#b7c6a9;
  --app-line:rgba(151,195,70,.32);
  --app-primary:#91c844;
  --app-primary-2:#c5ef72;
  background:
    radial-gradient(720px 420px at 84% 0%, rgba(145,200,68,.16), transparent 60%),
    #030705;
  color:var(--app-ink);
}
.learning-app .nav,
.kids-app .nav{
  background:color-mix(in srgb, var(--app-surface) 84%, transparent);
  border-bottom:1px solid var(--app-line);
}
.kids-app .nav{
  background:rgba(3,7,5,.88);
}
.learning-app .brand-text strong,
.learning-app h1,
.learning-app h2,
.learning-app h3,
.kids-app .brand-text strong,
.kids-app h1,
.kids-app h2,
.kids-app h3{
  color:var(--app-ink);
}
.learning-app .brand-text span,
.learning-app .text-muted,
.learning-app .tile p,
.learning-app .section-title p,
.kids-app .brand-text span,
.kids-app .text-muted,
.kids-app .tile p,
.kids-app .section-title p{
  color:var(--app-muted)!important;
}
.learning-app .nav-links a,
.kids-app .nav-links a{
  color:var(--app-muted);
}
.learning-app .nav-links a:hover,
.kids-app .nav-links a:hover{
  color:var(--app-ink);
  background:color-mix(in srgb, var(--app-primary) 12%, transparent);
  border-color:var(--app-line);
}
.learning-app .hero-card,
.learning-app .tile,
.learning-app .app-card,
.learning-app .beta-card,
.learning-app .learning-progress-panel,
.kids-app .hero-card,
.kids-app .tile,
.kids-app .app-card,
.kids-app .beta-card,
.kids-app .learning-progress-panel{
  background:color-mix(in srgb, var(--app-surface) 92%, transparent);
  border-color:var(--app-line);
  box-shadow:0 16px 44px rgba(0,0,0,.10);
}
.kids-app .hero-card,
.kids-app .tile,
.kids-app .app-card,
.kids-app .beta-card,
.kids-app .learning-progress-panel{
  box-shadow:0 16px 44px rgba(0,0,0,.26);
}
.learning-app .s-table,
.kids-app .s-table{
  color:var(--app-ink);
}
.learning-app .s-table th,
.kids-app .s-table th{
  color:var(--app-primary);
}
.learning-app .s-table td,
.kids-app .s-table td{
  border-color:color-mix(in srgb, var(--app-primary) 18%, transparent);
}
.learning-app .footer,
.kids-app .footer{
  background:var(--app-surface);
  border-color:var(--app-line);
}
.kids-app .footer{
  background:#010302;
}
.learning-app .footer,
.learning-app .mini-links a,
.kids-app .footer,
.kids-app .mini-links a{
  color:var(--app-muted);
}
.learning-app .btn-primary,
.kids-app .btn-primary{
  background:linear-gradient(135deg, var(--app-primary), var(--app-primary-2));
  color:#fff;
  border-color:transparent;
}
.kids-app .btn-primary{
  color:#07120c;
}
.learning-app .btn-ghost,
.kids-app .btn-ghost{
  background:color-mix(in srgb, var(--app-surface) 72%, transparent);
  border-color:var(--app-line);
  color:var(--app-ink);
}
.learning-app .logo,
.kids-app .logo{
  width:62px;
  height:62px;
}
.learning-app .logo img,
.kids-app .logo img{
  width:62px;
  height:62px;
  object-fit:cover;
  object-position:center;
}
.kids-app .logo img{
  object-position:top;
}
.kids-app .kids-dashboard-callout{
  background:linear-gradient(135deg, rgba(145,200,68,.16), rgba(255,255,255,.05));
  border-color:var(--app-line);
}
.learning-app .kids-badge{
  color:var(--app-primary);
  border-color:var(--app-line);
}

.kids-app .card,
.kids-app .premium-card,
.kids-app .section-card,
.kids-app .stat-card,
.kids-app .course-card,
.kids-app .course-hero-card,
.kids-app .course-section-card,
.kids-app .chapter-card,
.kids-app .chapter-unseen-card,
.kids-app .activity-item,
.kids-app .activity-block,
.kids-app .pending-screen-link{
  background:rgba(7,18,12,.92)!important;
  border:1px solid var(--app-line)!important;
  color:var(--app-ink)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.32)!important;
}
.kids-app .premium-card::before,
.kids-app .section-card::before,
.kids-app .course-hero-card::before{
  background:linear-gradient(90deg, #91c844, #c5ef72)!important;
}
.kids-module-dashboard .dashboard-title,
.kids-module-dashboard .section-title,
.kids-app .course-title{
  color:#f8fbf2!important;
}
.kids-module-dashboard .dashboard-subtitle,
.kids-module-dashboard .section-subtitle,
.kids-app .course-desc,
.kids-app .screen-meta{
  color:#b7c6a9!important;
}
.kids-app .card-footer,
.kids-app .chapter-header,
.kids-app .chapter-unseen-header,
.kids-app .course-progress-wrap{
  background:rgba(145,200,68,.08)!important;
  border-color:var(--app-line)!important;
}
.kids-app .course-progress-bar,
.kids-app .course-progress{
  background:rgba(255,255,255,.12)!important;
}
.kids-app .course-progress-bar .progress-bar,
.kids-app .course-progress .course-progress-bar{
  background:linear-gradient(90deg, #91c844, #c5ef72)!important;
}
.kids-app .course-soft-badge-primary,
.kids-app .course-soft-badge-success,
.kids-app .course-soft-badge-warning,
.kids-app .course-soft-badge-secondary,
.kids-app .pending-screen-badge,
.kids-app .badge{
  background:rgba(145,200,68,.14)!important;
  border:1px solid rgba(145,200,68,.28)!important;
  color:#c5ef72!important;
}
.kids-app .btn-course-main,
.kids-app .btn-success,
.kids-app .btn-premium-primary{
  background:linear-gradient(135deg, #91c844, #c5ef72)!important;
  border-color:transparent!important;
  color:#07120c!important;
}
.kids-app .btn-course-outline,
.kids-app .btn-outline-secondary,
.kids-app .btn-premium-outline{
  background:rgba(255,255,255,.04)!important;
  border-color:var(--app-line)!important;
  color:#f8fbf2!important;
}

/* Sentinelle Kids white world - separate product skin */
.kids-world-page,
.kids-signup-page{
  --kids-white:#fffdf8;
  --kids-ink:#17314d;
  --kids-muted:#587089;
  --kids-blue:#4da3ff;
  --kids-green:#8bd346;
  --kids-yellow:#ffd75e;
  --kids-pink:#ff8dc7;
  --kids-mint:#bdf4df;
  --kids-lavender:#d8c7ff;
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(circle at 11% 14%, rgba(255,215,94,.38), transparent 18%),
    radial-gradient(circle at 86% 12%, rgba(77,163,255,.24), transparent 22%),
    radial-gradient(circle at 72% 82%, rgba(255,141,199,.22), transparent 22%),
    var(--kids-white);
  color:var(--kids-ink);
  font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.kids-world-nav,
.kids-public-nav{
  width:min(1180px, calc(100% - 36px));
  margin:18px auto 0;
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:12px 16px;
  border:3px solid rgba(23,49,77,.08);
  border-radius:30px;
  background:rgba(255,255,255,.82);
  box-shadow:0 16px 34px rgba(32,80,120,.10);
  backdrop-filter:blur(16px);
  position:sticky;
  top:12px;
  z-index:20;
}
.kids-world-brand,
.kids-public-brand{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--kids-ink);
  text-decoration:none;
}
.kids-world-brand img,
.kids-public-brand img{
  width:62px;
  height:62px;
  border-radius:22px;
  object-fit:cover;
  object-position:top;
  background:#0a120d;
  box-shadow:0 9px 18px rgba(23,49,77,.18);
}
.kids-world-brand strong,
.kids-public-brand strong{
  display:block;
  font-size:22px;
  line-height:1;
  color:var(--kids-ink);
  font-weight:950;
}
.kids-world-brand small,
.kids-public-brand small{
  display:block;
  color:var(--kids-muted);
  font-weight:850;
  margin-top:4px;
}
.kids-world-links{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.kids-world-links a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:42px;
  padding:9px 12px;
  border-radius:18px;
  color:var(--kids-ink);
  text-decoration:none;
  font-weight:950;
  background:#fff;
  border:2px solid rgba(23,49,77,.08);
}
.kids-world-links a:nth-child(1){background:#fff3bb}
.kids-world-links a:nth-child(2){background:#dff7ff}
.kids-world-links a:nth-child(3){background:#ffe1f0}
.kids-world-links a:nth-child(4){background:#e4fbd3}
.kids-world-actions{
  display:flex;
  gap:10px;
  align-items:center;
}
.kids-world-switch,
.kids-switch-pill,
.kids-world-login,
.kids-world-primary,
.kids-world-secondary,
.kids-big-submit,
.kids-secondary-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:12px 16px;
  border-radius:18px;
  border:0;
  text-decoration:none;
  font-weight:950;
  color:var(--kids-ink);
  white-space:nowrap;
}
.kids-world-switch,
.kids-switch-pill,
.kids-world-secondary,
.kids-secondary-link{
  background:#fff;
  border:2px solid rgba(23,49,77,.10);
}
.kids-world-login,
.kids-world-primary,
.kids-big-submit{
  background:linear-gradient(135deg, var(--kids-yellow), var(--kids-green));
  box-shadow:0 14px 24px rgba(139,211,70,.25);
}
.kids-world-hero{
  width:min(1180px, calc(100% - 36px));
  margin:34px auto 0;
  min-height:650px;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(380px,.98fr);
  gap:28px;
  align-items:center;
  position:relative;
  overflow:hidden;
  border-radius:42px;
  padding:58px;
  background:
    linear-gradient(135deg, rgba(255,243,187,.92), rgba(223,247,255,.92)),
    #fff;
  border:3px solid rgba(23,49,77,.08);
  box-shadow:0 24px 60px rgba(32,80,120,.14);
}
.kids-cloud{
  position:absolute;
  border-radius:999px;
  background:#fff;
  opacity:.78;
}
.kids-cloud-one{width:180px;height:64px;left:7%;top:8%}
.kids-cloud-two{width:140px;height:52px;right:10%;bottom:10%}
.kids-bubble-label,
.kids-chip{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:9px 14px;
  border-radius:999px;
  color:#245700;
  background:#e4fbd3;
  border:2px solid rgba(139,211,70,.25);
  font-size:13px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.kids-world-copy h1{
  max-width:760px;
  margin:20px 0 18px;
  color:var(--kids-ink);
  font-size:clamp(44px, 5.8vw, 82px);
  line-height:.95;
  font-weight:1000;
  letter-spacing:0;
}
.kids-world-copy p{
  max-width:640px;
  color:var(--kids-muted);
  font-size:20px;
  line-height:1.55;
  font-weight:750;
}
.kids-world-cta{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.kids-adventure-board{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:16px;
}
.kids-board-card{
  min-height:180px;
  border-radius:32px;
  padding:22px;
  color:var(--kids-ink);
  box-shadow:0 18px 28px rgba(23,49,77,.12);
  transform:rotate(var(--tilt, 0deg));
}
.kids-board-card i{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border-radius:20px;
  background:#fff;
  font-size:26px;
  margin-bottom:18px;
}
.kids-board-card strong{
  display:block;
  font-size:28px;
  font-weight:1000;
  color:var(--kids-ink);
}
.kids-board-card span{
  display:block;
  color:#31516d;
  font-weight:850;
}
.kids-board-card.sun{background:#ffd75e;--tilt:-2deg}
.kids-board-card.mint{background:#bdf4df;--tilt:2deg}
.kids-board-card.blue{background:#bfe4ff;--tilt:1deg}
.kids-board-card.pink{background:#ffc9e4;--tilt:-1deg}
.kids-world-section{
  width:min(1180px, calc(100% - 36px));
  margin:52px auto;
}
.kids-world-section-title{
  max-width:760px;
  margin-bottom:20px;
}
.kids-world-section-title span{
  color:#4e8b26;
  font-size:13px;
  font-weight:1000;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.kids-world-section-title h2,
.kids-parent-zone h2{
  color:var(--kids-ink);
  font-size:clamp(30px, 4vw, 52px);
  line-height:1.02;
  font-weight:1000;
  margin:8px 0 0;
}
.kids-adventure-map,
.kids-tile-grid,
.kids-school-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:16px;
}
.kids-adventure-map article,
.kids-school-grid article,
.kids-tile-grid a{
  min-height:190px;
  padding:22px;
  border-radius:30px;
  background:#fff;
  border:3px solid rgba(23,49,77,.08);
  box-shadow:0 14px 28px rgba(32,80,120,.08);
  text-decoration:none;
  color:var(--kids-ink);
}
.kids-tile-grid{
  grid-template-columns:repeat(3, minmax(0,1fr));
}
.kids-tile-grid a:nth-child(1){background:#fff3bb}
.kids-tile-grid a:nth-child(2){background:#e4fbd3}
.kids-tile-grid a:nth-child(3){background:#dff7ff}
.kids-tile-grid a:nth-child(4){background:#ffe1f0}
.kids-tile-grid a:nth-child(5){background:#eee6ff}
.kids-tile-grid a:nth-child(6){background:#fff0d6}
.kids-step-icon,
.kids-tile-grid i,
.kids-school-grid i{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border-radius:21px;
  background:#17314d;
  color:#fff;
  font-size:24px;
  font-weight:1000;
  margin-bottom:14px;
}
.kids-adventure-map h3,
.kids-tile-grid strong,
.kids-school-grid h3{
  display:block;
  margin:0 0 8px;
  color:var(--kids-ink);
  font-size:22px;
  font-weight:1000;
}
.kids-adventure-map p,
.kids-tile-grid span,
.kids-school-grid p,
.kids-parent-zone p{
  margin:0;
  color:var(--kids-muted);
  font-weight:750;
  line-height:1.45;
}
.kids-parent-zone{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);
  gap:22px;
  align-items:center;
  padding:34px;
  border-radius:38px;
  background:#fff;
  border:3px solid rgba(23,49,77,.08);
  box-shadow:0 18px 40px rgba(32,80,120,.10);
}
.kids-parent-flow{
  display:grid;
  gap:12px;
}
.kids-parent-flow div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:78px;
  padding:16px 18px;
  border-radius:24px;
  background:#f5fbff;
  border:2px dashed rgba(77,163,255,.35);
}
.kids-parent-flow strong{
  color:var(--kids-ink);
  font-size:20px;
  font-weight:1000;
}
.kids-parent-flow span{
  color:var(--kids-muted);
  font-weight:850;
}
.kids-world-footer{
  width:min(1180px, calc(100% - 36px));
  margin:60px auto 24px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:var(--kids-muted);
  font-weight:900;
}
.kids-world-footer img{
  width:42px;
  height:42px;
  border-radius:14px;
  object-fit:cover;
}

.kids-signup-shell{
  width:min(1120px, calc(100% - 36px));
  margin:38px auto 60px;
  display:grid;
  grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);
  gap:26px;
  align-items:start;
}
.kids-signup-intro,
.kids-signup-card,
.kids-pending-card{
  border-radius:34px;
  background:rgba(255,255,255,.88);
  border:3px solid rgba(23,49,77,.08);
  box-shadow:0 18px 40px rgba(32,80,120,.10);
}
.kids-signup-intro{
  padding:34px;
  position:sticky;
  top:120px;
}
.kids-signup-intro h1,
.kids-pending-card h1{
  margin:16px 0 12px;
  color:var(--kids-ink);
  font-size:clamp(34px, 4vw, 58px);
  line-height:1;
  font-weight:1000;
}
.kids-signup-intro p,
.kids-pending-card p{
  color:var(--kids-muted);
  font-size:17px;
  line-height:1.55;
  font-weight:750;
}
.kids-parent-steps{
  display:grid;
  gap:12px;
  margin-top:22px;
}
.kids-parent-steps div{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px;
  border-radius:22px;
  background:#f5fbff;
}
.kids-parent-steps strong{
  width:38px;
  height:38px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:var(--kids-yellow);
  color:var(--kids-ink);
}
.kids-parent-steps span{
  font-weight:950;
  color:var(--kids-ink);
}
.kids-signup-card{
  padding:26px;
}
.kids-parent-form{
  display:grid;
  gap:18px;
}
.kids-form-section{
  border-radius:26px;
  background:#fff;
  border:2px solid rgba(23,49,77,.08);
  padding:20px;
}
.kids-form-section h2{
  color:var(--kids-ink);
  font-size:22px;
  font-weight:1000;
  margin:0 0 14px;
}
.kids-form-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
}
.kids-form-grid label,
.kids-consent-box{
  display:grid;
  gap:7px;
  color:var(--kids-ink);
  font-size:13px;
  font-weight:950;
}
.kids-form-grid input{
  width:100%;
  min-height:48px;
  border-radius:16px;
  border:2px solid rgba(23,49,77,.12);
  background:#fffdf8;
  padding:11px 13px;
  color:var(--kids-ink);
  font-weight:800;
  outline:none;
}
.kids-form-grid input:focus{
  border-color:var(--kids-blue);
  box-shadow:0 0 0 4px rgba(77,163,255,.16);
}
.kids-consent-box{
  grid-template-columns:auto 1fr;
  align-items:flex-start;
  padding:18px;
  border-radius:24px;
  background:#fff3bb;
  border:2px solid rgba(23,49,77,.08);
}
.kids-consent-box input{
  margin-top:4px;
  accent-color:var(--kids-green);
}
.kids-big-submit{
  width:100%;
  cursor:pointer;
}
.kids-pending-card{
  width:min(640px, calc(100% - 36px));
  margin:80px auto;
  padding:38px;
  text-align:center;
}

/* Kids signup cleanup */
.kids-signup-page .kids-public-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.kids-signup-page .kids-public-brand{
  min-width:0;
}
.kids-signup-page .kids-public-brand img{
  flex:0 0 auto;
}
.kids-signup-page .kids-signup-shell{
  width:min(1180px, calc(100% - 40px));
  grid-template-columns:minmax(300px,.7fr) minmax(560px,1fr);
  gap:28px;
}
.kids-signup-page .kids-signup-intro{
  padding:30px;
}
.kids-signup-page .kids-signup-intro h1{
  font-size:clamp(34px, 3.2vw, 50px);
  line-height:1.05;
  max-width:8.8em;
}
.kids-signup-page .kids-signup-intro p{
  max-width:32rem;
  font-size:16px;
}
.kids-signup-page .kids-parent-steps{
  gap:10px;
}
.kids-signup-page .kids-parent-steps div{
  min-height:62px;
  padding:12px 14px;
}
.kids-signup-page .kids-signup-card{
  padding:24px;
  overflow:hidden;
}
.kids-signup-page .kids-parent-form{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}
.kids-signup-page .kids-form-section{
  padding:18px;
  border-radius:24px;
  min-width:0;
}
.kids-signup-page .kids-form-section h2{
  font-size:26px;
  margin-bottom:14px;
}
.kids-signup-page .kids-form-grid{
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px 16px;
}
.kids-signup-page .kids-account-choice{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}
.kids-signup-page .kids-account-choice label{
  min-height:58px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:14px 16px;
  border-radius:18px;
  background:#fffdf8;
  border:2px solid rgba(23,49,77,.12);
  color:var(--kids-ink);
  font-weight:950;
}
.kids-signup-page .kids-account-choice input{
  accent-color:var(--kids-green);
}
.kids-signup-page .kids-form-grid label,
.kids-signup-page .kids-consent-box{
  min-width:0;
  font-size:14px;
  line-height:1.2;
}
.kids-signup-page .kids-form-grid input{
  min-width:0;
  min-height:52px;
  border-radius:16px;
  font-size:15px;
  text-overflow:ellipsis;
}
.kids-signup-page .kids-form-grid input[type="file"]{
  padding:13px;
  font-size:13px;
}
.kids-signup-page .kids-consent-box{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:18px 20px;
  border-radius:22px;
}
.kids-signup-page .kids-consent-box input{
  flex:0 0 auto;
}
.kids-signup-page .kids-big-submit{
  min-height:56px;
  border-radius:20px;
  white-space:normal;
}
.kids-pending-card img{
  width:92px;
  height:92px;
  border-radius:28px;
  object-fit:cover;
  object-position:top;
  background:#0a120d;
}
.kids-pending-note{
  border-radius:22px;
  background:#f5fbff;
  padding:14px;
}
.kids-pending-actions{
  display:grid;
  gap:10px;
  margin-top:18px;
}

/* White Kids shell for authenticated pages */
.kids-app{
  --app-bg:#fffdf8;
  --app-surface:#ffffff;
  --app-ink:#17314d;
  --app-muted:#587089;
  --app-line:rgba(23,49,77,.10);
  --app-primary:#4da3ff;
  --app-primary-2:#8bd346;
  background:
    radial-gradient(circle at 8% 8%, rgba(255,215,94,.28), transparent 18%),
    radial-gradient(circle at 92% 10%, rgba(77,163,255,.18), transparent 22%),
    radial-gradient(circle at 78% 86%, rgba(255,141,199,.18), transparent 24%),
    var(--app-bg)!important;
  color:var(--app-ink)!important;
}
.kids-app .nav{
  width:min(1180px, calc(100% - 36px));
  margin:16px auto 0;
  border:3px solid var(--app-line);
  border-radius:28px;
  background:rgba(255,255,255,.9)!important;
  box-shadow:0 14px 30px rgba(32,80,120,.10);
}
.kids-app .nav .container{
  max-width:none;
}
.kids-app .nav-inner{
  padding:10px 0;
}
.kids-app .brand-text strong,
.kids-app h1,
.kids-app h2,
.kids-app h3{
  color:var(--app-ink)!important;
}
.kids-app .brand-text span,
.kids-app .text-muted,
.kids-app .tile p,
.kids-app .section-title p,
.kids-app .course-desc,
.kids-app .screen-meta{
  color:var(--app-muted)!important;
}
.kids-app .nav-links a{
  color:var(--app-ink)!important;
  background:#f5fbff;
  border:2px solid var(--app-line);
  border-radius:17px;
}
.kids-app .nav-links a:nth-child(2n){
  background:#fff3bb;
}
.kids-app .nav-links a:nth-child(3n){
  background:#ffe1f0;
}
.kids-app .module-switch{
  background:#17314d!important;
  color:#fff!important;
  border-color:#17314d!important;
}
.kids-app .btn-primary,
.kids-app .btn-course-main,
.kids-app .btn-success,
.kids-app .btn-premium-primary{
  background:linear-gradient(135deg, #ffd75e, #8bd346)!important;
  color:#17314d!important;
  border-color:transparent!important;
  box-shadow:0 12px 22px rgba(139,211,70,.22);
}
.kids-app .btn-ghost,
.kids-app .btn-course-outline,
.kids-app .btn-outline-secondary,
.kids-app .btn-premium-outline{
  background:#fff!important;
  border:2px solid var(--app-line)!important;
  color:var(--app-ink)!important;
}
.kids-app .card,
.kids-app .premium-card,
.kids-app .section-card,
.kids-app .stat-card,
.kids-app .course-card,
.kids-app .course-hero-card,
.kids-app .course-section-card,
.kids-app .chapter-card,
.kids-app .chapter-unseen-card,
.kids-app .activity-item,
.kids-app .activity-block,
.kids-app .pending-screen-link{
  background:#fff!important;
  border:3px solid var(--app-line)!important;
  color:var(--app-ink)!important;
  box-shadow:0 14px 28px rgba(32,80,120,.09)!important;
  border-radius:26px!important;
}
.kids-app .premium-card::before,
.kids-app .section-card::before,
.kids-app .course-hero-card::before{
  background:linear-gradient(90deg, #ffd75e, #4da3ff, #ff8dc7)!important;
}
.kids-app .card-footer,
.kids-app .chapter-header,
.kids-app .chapter-unseen-header,
.kids-app .course-progress-wrap{
  background:#f5fbff!important;
  border-color:var(--app-line)!important;
}
.kids-app .course-soft-badge-primary,
.kids-app .course-soft-badge-success,
.kids-app .course-soft-badge-warning,
.kids-app .course-soft-badge-secondary,
.kids-app .pending-screen-badge,
.kids-app .badge{
  background:#e4fbd3!important;
  border:2px solid rgba(139,211,70,.30)!important;
  color:#245700!important;
}
.kids-app .footer{
  background:#fff!important;
  border-top:2px solid var(--app-line)!important;
}
.kids-app .footer,
.kids-app .mini-links a{
  color:var(--app-muted)!important;
}

/* Final Kids authenticated override: dashboard and shared app widgets */
body.kids-app{
  --app-bg:#fffdf8;
  --app-surface:#ffffff;
  --app-ink:#17314d;
  --app-muted:#587089;
  --app-line:rgba(23,49,77,.12);
  --app-primary:#4da3ff;
  --app-primary-2:#8bd346;
  background:
    radial-gradient(circle at 10% 10%, rgba(255,215,94,.30), transparent 18%),
    radial-gradient(circle at 88% 12%, rgba(77,163,255,.22), transparent 22%),
    radial-gradient(circle at 78% 84%, rgba(255,141,199,.20), transparent 24%),
    #fffdf8!important;
  color:#17314d!important;
}
.kids-app main.container{
  background:transparent!important;
}
.kids-app .nav{
  background:#ffffff!important;
  border:3px solid rgba(23,49,77,.10)!important;
  box-shadow:0 16px 34px rgba(32,80,120,.10)!important;
}
.kids-app .dashboard-kpi-grid{
  gap:18px;
}
.kids-app .hero-card,
.kids-app .tile,
.kids-app .learning-progress-panel,
.kids-app .kids-dashboard-callout{
  background:#ffffff!important;
  border:3px solid rgba(23,49,77,.10)!important;
  color:#17314d!important;
  box-shadow:0 16px 34px rgba(32,80,120,.09)!important;
  border-radius:28px!important;
}
.kids-app .dashboard-kpi-grid .tile:nth-child(1){background:#fff3bb!important}
.kids-app .dashboard-kpi-grid .tile:nth-child(2){background:#e4fbd3!important}
.kids-app .dashboard-kpi-grid .tile:nth-child(3){background:#dff7ff!important}
.kids-app .dashboard-kpi-grid .tile:nth-child(4){background:#ffe1f0!important}
.kids-app .tile .ic,
.kids-app .ic{
  background:#ffffff!important;
  border:2px solid rgba(23,49,77,.10)!important;
  color:#4da3ff!important;
}
.kids-app .metric{
  color:#17314d!important;
}
.kids-app .learning-progress-panel{
  background:#f5fbff!important;
}
.kids-app .course-strip{
  background:#dfeaf0!important;
}
.kids-app .course-strip span{
  background:linear-gradient(90deg, #ffd75e, #8bd346, #4da3ff)!important;
}
.kids-app .kids-dashboard-callout{
  background:linear-gradient(135deg, #fff3bb, #dff7ff)!important;
}
.kids-app .kids-badge,
.kids-app .s-pill,
.kids-app .badge{
  background:#ffffff!important;
  border:2px solid rgba(23,49,77,.10)!important;
  color:#17314d!important;
}
.kids-app .s-pill-success{
  background:#e4fbd3!important;
  color:#245700!important;
}
.kids-app .s-table{
  color:#17314d!important;
  border-collapse:separate;
  border-spacing:0;
}
.kids-app .s-table thead th{
  background:#dff7ff!important;
  color:#17314d!important;
  border:0!important;
}
.kids-app .s-table tbody td{
  background:#ffffff!important;
  color:#17314d!important;
  border-bottom:2px solid rgba(23,49,77,.08)!important;
}
.kids-app .s-table tbody tr:nth-child(even) td{
  background:#fffdf8!important;
}
.kids-app .footer{
  background:#ffffff!important;
  border-top:3px solid rgba(23,49,77,.10)!important;
}
.kids-app .footer,
.kids-app .footer *,
.kids-app .mini-links a{
  color:#587089!important;
}

/* Kids login: light and child-friendly, distinct from Learning login */
.kids-login-page{
  --login-bg:#fffdf8;
  --login-surface:#ffffff;
  --login-ink:#17314d;
  --login-muted:#587089;
  --login-line:rgba(23,49,77,.12);
  --login-primary:#4da3ff;
  --login-secondary:#8bd346;
  background:#fffdf8!important;
  color:#17314d!important;
}
.kids-login-page .login-shell{
  background:
    radial-gradient(circle at 14% 18%, rgba(255,215,94,.36), transparent 20%),
    radial-gradient(circle at 86% 16%, rgba(77,163,255,.22), transparent 20%),
    radial-gradient(circle at 72% 86%, rgba(255,141,199,.20), transparent 24%),
    #fffdf8!important;
}
.kids-login-page .login-story{
  background:linear-gradient(135deg, #fff3bb, #dff7ff)!important;
  color:#17314d!important;
}
.kids-login-page .login-story::before,
.kids-login-page .login-story::after{
  display:none!important;
}
.kids-login-page .login-story h1,
.kids-login-page .login-story p{
  color:#17314d!important;
}
.kids-login-page .login-back,
.kids-login-page .kids-login-badges span{
  background:#fff!important;
  color:#17314d!important;
  border:2px solid rgba(23,49,77,.10)!important;
}
.kids-login-page .login-card-wrap{
  background:rgba(255,255,255,.72)!important;
}
.kids-login-page .login-card{
  border:3px solid rgba(23,49,77,.08)!important;
  border-radius:32px!important;
}
.kids-login-page .login-form input[type="email"],
.kids-login-page .login-form input[type="password"]{
  background:#fffdf8!important;
  color:#17314d!important;
}
.kids-login-page .login-submit{
  background:linear-gradient(135deg, #ffd75e, #8bd346)!important;
  color:#17314d!important;
}

/* Kids public home cleanup */
.kids-world-page .kids-world-nav{
  width:min(1120px, calc(100% - 32px));
  min-height:72px;
  display:grid;
  grid-template-columns:auto minmax(0, 1fr) auto;
  align-items:center;
  gap:18px;
  padding:12px 16px;
  border-radius:24px;
}
.kids-world-page .kids-world-brand{
  min-width:260px;
}
.kids-world-page .kids-world-brand img{
  width:54px;
  height:54px;
  border-radius:18px;
}
.kids-world-page .kids-world-brand strong{
  font-size:20px;
}
.kids-world-page .kids-world-brand small{
  max-width:180px;
  font-size:13px;
  line-height:1.15;
}
.kids-world-page .kids-world-links{
  justify-self:center;
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  min-width:0;
}
.kids-world-page .kids-world-links a{
  min-height:38px;
  padding:8px 11px;
  border-radius:16px;
  font-size:14px;
  white-space:nowrap;
}
.kids-world-page .kids-world-actions{
  justify-self:end;
  gap:8px;
}
.kids-world-page .kids-world-switch,
.kids-world-page .kids-world-login{
  min-height:40px;
  padding:9px 14px;
  border-radius:16px;
  font-size:14px;
}
.kids-world-page .kids-world-hero{
  width:min(1120px, calc(100% - 32px));
  min-height:auto;
  margin-top:28px;
  grid-template-columns:minmax(0, .95fr) minmax(360px, .85fr);
  gap:34px;
  padding:48px 52px;
  border-radius:34px;
  align-items:center;
}
.kids-world-page .kids-cloud{
  display:none!important;
}
.kids-world-page .kids-bubble-label{
  padding:7px 12px;
  font-size:11px;
  letter-spacing:0;
}
.kids-world-page .kids-world-copy h1{
  max-width:620px;
  margin:16px 0 14px;
  font-size:clamp(42px, 4.6vw, 64px);
  line-height:1.02;
  font-weight:950;
}
.kids-world-page .kids-world-copy p{
  max-width:560px;
  font-size:18px;
  line-height:1.55;
  font-weight:750;
}
.kids-world-page .kids-world-cta{
  margin-top:22px;
}
.kids-world-page .kids-world-primary,
.kids-world-page .kids-world-secondary{
  min-height:42px;
  padding:10px 15px;
  border-radius:16px;
  font-size:14px;
}
.kids-world-page .kids-adventure-board{
  align-self:center;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}
.kids-world-page .kids-board-card{
  min-height:142px;
  padding:18px;
  border-radius:26px;
  transform:none;
}
.kids-world-page .kids-board-card i{
  width:46px;
  height:46px;
  border-radius:16px;
  font-size:20px;
  margin-bottom:16px;
}
.kids-world-page .kids-board-card strong{
  font-size:24px;
  line-height:1.05;
}
.kids-world-page .kids-board-card span{
  font-size:14px;
}
.kids-world-page .kids-world-section{
  width:min(1120px, calc(100% - 32px));
  margin:44px auto;
}
.kids-world-page .kids-world-section-title{
  margin-bottom:16px;
}
.kids-world-page .kids-world-section-title h2,
.kids-world-page .kids-parent-zone h2{
  font-size:clamp(28px, 3vw, 42px);
  line-height:1.08;
}
.kids-world-page .kids-tile-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
}
.kids-world-page .kids-tile-grid a,
.kids-world-page .kids-school-grid article{
  min-height:150px;
  padding:18px;
  border-radius:24px;
}
.kids-world-page .kids-tile-grid i,
.kids-world-page .kids-school-grid i{
  width:44px;
  height:44px;
  border-radius:16px;
  font-size:19px;
  margin-bottom:12px;
}
.kids-world-page .kids-tile-grid strong,
.kids-world-page .kids-school-grid h3{
  font-size:20px;
}
.kids-world-page .kids-tile-grid span,
.kids-world-page .kids-school-grid p,
.kids-world-page .kids-parent-zone p{
  font-size:14px;
  line-height:1.45;
}
.kids-world-page .kids-parent-zone{
  grid-template-columns:minmax(0, 1fr) minmax(300px, .8fr);
  padding:28px;
  border-radius:30px;
}
.kids-world-page .kids-parent-flow div{
  min-height:64px;
  padding:13px 15px;
  border-radius:20px;
}
.kids-world-page .kids-school-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

/* Dedicated Kids pages */
.kids-page-panel{
  display:grid;
  gap:24px;
  padding:28px 0 44px;
}
.kids-page-head{
  display:grid;
  gap:12px;
  max-width:860px;
}
.kids-page-head h1{
  margin:0;
  color:#17314d!important;
  font-size:clamp(34px, 5vw, 62px);
  line-height:1;
  letter-spacing:0;
  font-weight:950;
}
.kids-page-head p{
  margin:0;
  color:#587089!important;
  font-size:17px;
  line-height:1.65;
}
.kids-page-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
.kids-inline-form{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.kids-inline-form select{
  min-height:48px;
  border:2px solid rgba(23,49,77,.12);
  border-radius:16px;
  background:#fffdf8;
  color:#17314d;
  padding:10px 14px;
  font-weight:850;
}
.kids-stat-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:16px;
}
.kids-stat-grid article,
.kids-card-large,
.kids-offer-card,
.kids-mission-card,
.kids-screen-card{
  background:#fff!important;
  border:3px solid rgba(23,49,77,.10)!important;
  border-radius:30px!important;
  box-shadow:0 16px 34px rgba(32,80,120,.09)!important;
  color:#17314d!important;
}
.kids-stat-grid article{
  min-height:150px;
  padding:22px;
  display:grid;
  align-content:start;
  gap:8px;
}
.kids-stat-grid article:nth-child(1){background:#fff3bb!important}
.kids-stat-grid article:nth-child(2){background:#e4fbd3!important}
.kids-stat-grid article:nth-child(3){background:#dff7ff!important}
.kids-stat-grid article:nth-child(4){background:#ffe1f0!important}
.kids-stat-grid i{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  background:#fff;
  border:2px solid rgba(23,49,77,.10);
  border-radius:18px;
  color:#4da3ff;
  font-size:22px;
}
.kids-stat-grid strong{
  display:block;
  font-size:38px;
  line-height:1;
  color:#17314d;
  font-weight:950;
}
.kids-stat-grid span{
  color:#587089;
  font-weight:900;
}
.kids-two-columns{
  display:grid;
  grid-template-columns:minmax(0, 1.2fr) minmax(320px, .8fr);
  gap:18px;
  align-items:start;
}
.kids-card-large{
  padding:24px;
}
.kids-card-title{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-bottom:18px;
}
.kids-card-title span,
.kids-offer-card > span,
.kids-mission-card span{
  display:block;
  color:#4f8b1f;
  text-transform:uppercase;
  font-size:12px;
  font-weight:950;
}
.kids-card-title h2,
.kids-offer-card h2,
.kids-mission-card h2{
  margin:4px 0 0;
  color:#17314d!important;
  font-size:24px;
  font-weight:950;
  letter-spacing:0;
}
.kids-card-title > strong{
  min-width:68px;
  height:68px;
  display:grid;
  place-items:center;
  border-radius:22px;
  background:#e4fbd3;
  color:#245700;
  font-size:20px;
  font-weight:950;
}
.kids-progress-track{
  height:18px;
  border-radius:999px;
  background:#dfeaf0;
  overflow:hidden;
  margin:14px 0;
}
.kids-progress-track span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, #ffd75e, #8bd346, #4da3ff);
}
.kids-help-strip{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:16px;
  border-radius:22px;
  background:#f5fbff;
  color:#587089;
  font-weight:800;
}
.kids-help-strip p{
  margin:0;
}
.kids-help-strip i{
  color:#4da3ff;
  font-size:22px;
}
.kids-list-row{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:14px 0;
  border-bottom:2px solid rgba(23,49,77,.08);
  color:#587089;
}
.kids-list-row strong{
  color:#17314d;
}
.kids-empty{
  padding:18px;
  border-radius:22px;
  background:#f5fbff;
  color:#587089;
  font-weight:850;
}
.kids-table-wrap{
  overflow:auto;
}
.kids-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  color:#17314d;
}
.kids-table th{
  background:#dff7ff;
  color:#17314d;
  font-weight:950;
  padding:15px;
}
.kids-table td{
  background:#fff;
  padding:15px;
  border-bottom:2px solid rgba(23,49,77,.08);
  color:#17314d;
}
.kids-status{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background:#e4fbd3;
  color:#245700;
  font-weight:950;
  font-size:12px;
}
.kids-offer-grid,
.kids-mission-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}
.kids-offer-card,
.kids-mission-card{
  padding:22px;
  text-decoration:none;
}
.kids-offer-card p,
.kids-mission-card p{
  color:#587089;
  line-height:1.6;
  font-weight:800;
}
.kids-offer-card ul{
  display:grid;
  gap:10px;
  padding:0;
  margin:18px 0;
  list-style:none;
  color:#17314d;
  font-weight:900;
}
.kids-offer-card li{
  display:flex;
  gap:8px;
}
.kids-offer-card i{
  color:#4f8b1f;
}
.pricing-hero{
  padding:34px 0 16px;
}
.pricing-hero h1{
  max-width:860px;
  margin:14px 0 10px;
  font-size:clamp(34px, 5vw, 68px);
  line-height:1;
  color:var(--text);
}
.pricing-hero p{
  max-width:760px;
  color:var(--muted);
  font-weight:800;
  line-height:1.7;
}
.pricing-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  padding:18px 0 34px;
}
.pricing-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:360px;
  padding:24px;
  border:1px solid var(--border);
  border-radius:18px;
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow-sm);
}
.learning-app .pricing-card{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,250,249,.96));
}
.pricing-ribbon{
  position:absolute;
  top:16px;
  right:16px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(0,194,168,.12);
  color:var(--brand);
  font-size:12px;
  font-weight:950;
}
.pricing-card-head span{
  display:inline-flex;
  color:var(--brand);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.pricing-card h2{
  margin:10px 0 0;
  color:var(--text);
  font-size:26px;
  line-height:1.08;
}
.pricing-price{
  display:grid;
  gap:2px;
  margin:18px 0 18px;
  padding:16px 18px;
  border:1px solid rgba(0,194,168,.24);
  border-radius:16px;
  background:#f7fffc;
  color:var(--text);
  box-shadow:0 14px 30px rgba(0,194,168,.10);
}
.pricing-price span{
  color:var(--brand);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.pricing-price strong{
  font-size:clamp(38px, 5vw, 56px);
  line-height:.95;
  font-weight:950;
  letter-spacing:0;
  color:#00a58f;
  text-shadow:none;
}
.pricing-price small{
  color:var(--text);
  font-size:16px;
  font-weight:900;
}
.pricing-features{
  display:grid;
  gap:12px;
  padding:0;
  margin:0 0 22px;
  list-style:none;
  color:var(--muted);
  font-weight:850;
}
.pricing-features li{
  display:flex;
  gap:10px;
}
.pricing-features i{
  color:var(--brand);
  margin-top:3px;
}
.pricing-card .btn{
  margin-top:auto;
  justify-content:center;
}
.payment-history-card{
  padding:0;
  border:1px solid var(--border);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--shadow-sm);
  overflow:hidden;
}
.kids-app .payment-history-card{
  border:3px solid rgba(23,49,77,.10);
  border-radius:26px;
  box-shadow:0 16px 34px rgba(32,80,120,.09);
}
.payment-history-table th{
  padding:16px;
  background:#eef8f6;
  color:var(--text);
  font-weight:950;
}
.kids-app .payment-history-table th{
  background:#dff7ff;
  color:#17314d;
}
.payment-history-table td{
  padding:16px;
  border-bottom:1px solid rgba(15,43,38,.08);
  color:var(--text);
}
.payment-history-table td span,
.payment-history-table td small{
  color:var(--muted);
  font-weight:800;
}
.payment-status{
  display:inline-flex;
  align-items:center;
  padding:7px 11px;
  border-radius:999px;
  font-size:12px;
  font-weight:950;
}
.payment-status-ok{
  background:rgba(28,150,99,.12);
  color:#1c9663;
}
.payment-status-pending{
  background:#fff4c7;
  color:#8a6200;
}
.payment-status-cancelled{
  background:#eef2f5;
  color:#607286;
}
.payment-status-failed{
  background:#fff0f0;
  color:#b4232b;
}
.paypal-checkout{
  padding:36px 0 54px;
}
.paypal-checkout-head{
  max-width:760px;
  margin-bottom:24px;
}
.paypal-checkout-head h1{
  margin:14px 0 10px;
  color:var(--text);
  font-size:clamp(34px, 4vw, 58px);
  line-height:1.02;
}
.paypal-checkout-head p{
  color:var(--muted);
  font-weight:800;
  line-height:1.65;
}
.paypal-checkout-grid{
  display:grid;
  grid-template-columns:minmax(280px, 380px) minmax(0, 1fr);
  gap:22px;
  align-items:start;
}
.paypal-summary-card,
.paypal-payment-card{
  border:1px solid var(--border);
  border-radius:22px;
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.kids-app .paypal-summary-card,
.kids-app .paypal-payment-card{
  border:3px solid rgba(23,49,77,.09);
  border-radius:28px;
}
.paypal-summary-card{
  padding:22px;
}
.paypal-summary-card > span{
  display:inline-flex;
  color:var(--brand);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.paypal-summary-card h2{
  margin:9px 0 14px;
  color:var(--text);
  font-size:28px;
  line-height:1.08;
}
.paypal-price-box{
  display:grid;
  gap:3px;
  margin-bottom:16px;
  padding:16px;
  border-radius:18px;
  background:linear-gradient(135deg, #fff7c7, #eef8f6);
  border:2px solid rgba(255,211,77,.54);
}
.paypal-price-box small{
  color:#245700;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.paypal-price-box strong{
  color:#f05a24;
  font-size:42px;
  font-weight:950;
  line-height:1;
}
.paypal-price-box em{
  color:var(--text);
  font-style:normal;
  font-weight:950;
}
.paypal-summary-card ul{
  display:grid;
  gap:10px;
  margin:0 0 16px;
  padding:0;
  list-style:none;
  color:var(--text);
  font-weight:850;
}
.paypal-summary-card li{
  display:flex;
  gap:10px;
}
.paypal-summary-card i{
  color:#4b8f20;
  margin-top:4px;
}
.paypal-conversion-note{
  margin:0;
  padding-top:14px;
  border-top:1px solid rgba(15,43,38,.1);
  color:var(--muted);
  font-size:14px;
  font-weight:800;
  line-height:1.5;
}
.paypal-payment-card{
  padding:24px;
}
.paypal-payment-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-bottom:18px;
}
.paypal-payment-head span{
  color:var(--brand);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.paypal-payment-head h2{
  margin:6px 0 0;
  color:var(--text);
  font-size:30px;
}
.paypal-payment-head i{
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  border-radius:16px;
  background:rgba(0,194,168,.12);
  color:var(--brand);
}
.kids-app .paypal-payment-head i{
  background:#fff3bb;
  color:#17314d;
}
.paypal-section{
  padding:18px;
  border:1px solid rgba(15,43,38,.1);
  border-radius:18px;
  background:#fbfefd;
}
.kids-app .paypal-section{
  border:2px solid rgba(23,49,77,.08);
  background:#fffdf8;
}
.paypal-sandbox-note{
  display:grid;
  gap:4px;
  margin:0 0 16px;
  padding:14px 16px;
  border:1px solid rgba(245,158,11,.28);
  border-radius:16px;
  background:#fff7d6;
  color:#6f5200;
}
.paypal-sandbox-note strong{
  color:#17314d;
  font-size:15px;
  font-weight:950;
  text-transform:uppercase;
}
.paypal-sandbox-note span{
  color:#6b5b20;
  font-weight:800;
  line-height:1.45;
}
.paypal-section + .paypal-section{
  margin-top:16px;
}
.paypal-section h3{
  margin:0 0 6px;
  color:var(--text);
  font-size:20px;
}
.paypal-section p{
  margin:0 0 14px;
  color:var(--muted);
  font-weight:750;
}
.paypal-card-fields{
  display:grid;
  gap:12px;
}
.paypal-card-fields label{
  display:grid;
  gap:7px;
  color:var(--text);
  font-size:14px;
  font-weight:900;
}
.paypal-card-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.paypal-hosted-field{
  min-height:48px;
  padding:12px 14px;
  border:1px solid rgba(15,43,38,.16);
  border-radius:14px;
  background:#fff;
}
.kids-app .paypal-hosted-field{
  border:2px solid rgba(23,49,77,.12);
}
.paypal-card-unavailable,
.paypal-message{
  padding:13px 15px;
  border-radius:14px;
  font-weight:850;
  line-height:1.45;
}
.paypal-card-unavailable{
  background:#fff4c7;
  color:#6f5200;
}
.paypal-message{
  margin-bottom:14px;
}
.paypal-message-error{
  background:#fff0f0;
  color:#a31b24;
  border:1px solid rgba(180,35,43,.2);
}
.paypal-message-info{
  background:#eef8f6;
  color:#0b6f61;
  border:1px solid rgba(0,194,168,.2);
}
.empty-state{
  grid-column:1 / -1;
  padding:30px;
  border:1px solid var(--border);
  border-radius:20px;
  background:#fff;
  color:var(--muted);
}
.empty-state h2{
  margin:0 0 8px;
  color:var(--text);
}
.kids-pricing-hero{
  padding:16px 0 10px;
  margin-bottom:8px;
}
.kids-pricing-head{
  max-width:760px;
  gap:9px;
}
.kids-pricing-head h1{
  font-size:clamp(30px, 3.2vw, 46px);
  line-height:1.08;
  max-width:760px;
}
.kids-pricing-head p{
  max-width:720px;
  font-size:16px;
  line-height:1.5;
}
.kids-pack-grid{
  gap:16px;
  padding-bottom:30px;
  align-items:start;
}
.kids-pack-card{
  display:flex;
  flex-direction:column;
  min-height:auto;
  padding:18px;
}
.kids-pack-card h2{
  color:#17314d;
  font-size:24px;
  line-height:1.08;
}
.kids-pack-price{
  display:grid;
  gap:2px;
  margin:12px 0 14px;
  padding:14px 16px;
  border:2px solid rgba(255,211,77,.58);
  border-radius:18px;
  background:#fff7c7;
  color:#17314d;
  box-shadow:0 10px 22px rgba(255,211,77,.16);
}
.kids-pack-price span{
  color:#245700;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.kids-pack-price strong{
  font-size:clamp(36px, 4vw, 48px);
  line-height:1;
  font-weight:950;
  letter-spacing:0;
  color:#f05a24;
  text-shadow:none;
}
.kids-pack-price small{
  color:#17314d;
  font-size:14px;
  font-weight:950;
}
.kids-pack-card .btn{
  margin-top:auto;
  justify-content:center;
  min-height:46px;
}
.kids-empty-state{
  border:3px solid rgba(23,49,77,.08);
  background:#fffdf8;
}
.kids-missions-hero{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(320px, .72fr);
  gap:22px;
  align-items:stretch;
  padding:28px;
  border:3px solid rgba(23,49,77,.08);
  border-radius:34px;
  background:linear-gradient(135deg, rgba(255,243,187,.92), rgba(223,247,255,.92));
  box-shadow:0 18px 40px rgba(32,80,120,.08);
}
.kids-missions-hero .kids-page-head h1{
  font-size:clamp(34px, 4vw, 54px);
}
.kids-missions-summary{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  align-self:center;
}
.kids-missions-summary article{
  min-height:140px;
  padding:18px;
  border:3px solid rgba(23,49,77,.08);
  border-radius:26px;
  background:rgba(255,255,255,.76);
  box-shadow:0 12px 24px rgba(32,80,120,.07);
}
.kids-missions-summary article:nth-child(1){background:#fff3bb}
.kids-missions-summary article:nth-child(2){background:#ffe1f0}
.kids-missions-summary article:nth-child(3){background:#dff7ff}
.kids-missions-summary i,
.kids-empty-illustration{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border:3px solid rgba(23,49,77,.08);
  border-radius:20px;
  background:#fff;
  color:#17314d;
  font-size:22px;
}
.kids-missions-summary strong{
  display:block;
  margin-top:14px;
  color:#17314d;
  font-size:36px;
  line-height:1;
  font-weight:950;
}
.kids-missions-summary span{
  display:block;
  margin-top:6px;
  color:#587089;
  font-weight:900;
}
.kids-missions-empty{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  gap:22px;
  align-items:center;
  min-height:220px;
  padding:28px;
  border:3px solid rgba(23,49,77,.08);
  border-radius:34px;
  background:linear-gradient(135deg, #fff, #f5fbff 48%, #fff3f8);
  box-shadow:0 18px 40px rgba(32,80,120,.08);
}
.kids-empty-illustration{
  width:96px;
  height:96px;
  border-radius:30px;
  background:#fff3bb;
  color:#4f8b1f;
  font-size:40px;
}
.kids-missions-empty h2{
  margin:14px 0 8px;
  color:#17314d;
  font-size:clamp(26px, 3vw, 38px);
  line-height:1.05;
  font-weight:950;
}
.kids-missions-empty p{
  max-width:680px;
  margin:0 0 18px;
  color:#587089;
  font-size:17px;
  line-height:1.55;
  font-weight:800;
}
.kids-mission-card{
  display:grid;
  gap:16px;
}
.kids-mission-cover,
.kids-mission-poster{
  min-height:180px;
  border-radius:24px;
  overflow:hidden;
  display:grid;
  place-items:center;
  border:3px solid rgba(23,49,77,.08);
}
.kids-mission-cover img,
.kids-mission-poster img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.kids-mission-cover i,
.kids-mission-poster i{
  color:#17314d;
  font-size:46px;
}
.kids-mission-hero{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(320px, .62fr);
  gap:24px;
  align-items:center;
  padding:28px;
  border-radius:34px;
  background:linear-gradient(135deg, #fff3bb, #dff7ff);
  border:3px solid rgba(23,49,77,.10);
}
.kids-mission-hero h1{
  margin:10px 0;
  font-size:clamp(34px, 5vw, 62px);
  line-height:1;
  color:#17314d;
}
.kids-mission-hero p{
  color:#587089;
  line-height:1.65;
  font-weight:850;
}
.kids-mission-poster{
  min-height:320px;
  background:#fff;
}
.kids-screen-card{
  padding:24px;
  overflow:hidden;
}
.kids-form{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.kids-form label{
  color:#17314d;
  font-weight:950;
}
.kids-form input,
.kids-form select,
.kids-form textarea{
  width:100%;
  min-height:48px;
  border:2px solid rgba(23,49,77,.12);
  border-radius:16px;
  background:#fffdf8;
  color:#17314d;
  padding:12px 14px;
}

@media(max-width:980px){
  .kids-stat-grid,
  .kids-offer-grid,
  .kids-mission-grid,
  .pricing-grid{
    grid-template-columns:1fr 1fr;
  }
  .kids-two-columns,
  .kids-missions-hero,
  .kids-mission-hero,
  .paypal-checkout-grid{
    grid-template-columns:1fr;
  }
  .kids-missions-summary{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}
@media(max-width:620px){
  .kids-stat-grid,
  .kids-missions-summary,
  .kids-offer-grid,
  .kids-mission-grid,
  .pricing-grid{
    grid-template-columns:1fr;
  }
  .kids-missions-hero,
  .kids-missions-empty{
    padding:20px;
    border-radius:26px;
  }
  .kids-missions-empty{
    grid-template-columns:1fr;
  }
}

@media(max-width:980px){
  .kids-world-nav,
  .kids-public-nav,
  .kids-world-hero,
  .kids-world-section,
  .kids-world-footer{
    width:min(100% - 24px, 720px);
  }
  .kids-world-nav,
  .kids-public-nav{
    position:relative;
    top:auto;
    flex-direction:column;
    align-items:stretch;
  }
  .kids-world-links,
  .kids-world-actions{
    justify-content:center;
  }
  .kids-world-hero,
  .kids-signup-shell,
  .kids-parent-zone{
    grid-template-columns:1fr;
  }
  .kids-world-hero{
    padding:34px 22px;
    min-height:auto;
  }
  .kids-adventure-map,
  .kids-tile-grid,
  .kids-school-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
  .kids-signup-intro{
    position:static;
  }
}
@media(max-width:620px){
  .kids-adventure-board,
  .kids-adventure-map,
  .kids-tile-grid,
  .kids-school-grid,
  .kids-form-grid,
  .kids-signup-page .kids-account-choice{
    grid-template-columns:1fr;
  }
  .kids-world-copy h1{
    font-size:42px;
  }
}

/* Account management console */
.account-admin-page{
  display:flex;
  flex-direction:column;
  gap:22px;
}
.account-hero{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-top:18px;
}
.account-hero h1{
  margin:0;
  color:#17314d;
  font-size:clamp(40px,6vw,72px);
  line-height:.98;
  font-weight:950;
}
.learning-app .account-hero h1{
  color:#0d1d1a;
}
.account-hero p{
  margin:12px 0 0;
  max-width:850px;
  color:#587089;
  font-size:18px;
  font-weight:700;
}
.account-summary-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}
.account-summary-card,
.account-table-card{
  background:rgba(255,255,255,.94);
  border:2px solid rgba(23,49,77,.10);
  border-radius:24px;
  box-shadow:0 18px 55px rgba(23,49,77,.08);
}
.account-summary-card{
  padding:20px;
  min-height:142px;
}
.account-summary-card span{
  display:block;
  color:#3f861e;
  font-size:13px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.account-summary-card strong{
  display:block;
  margin-top:10px;
  color:#17314d;
  font-size:44px;
  line-height:1;
  font-weight:950;
}
.account-summary-card small{
  display:block;
  margin-top:10px;
  color:#587089;
  font-size:14px;
  font-weight:800;
}
.account-table-card{
  padding:22px;
  overflow:hidden;
}
.account-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:18px;
}
.account-card-head h2{
  margin:0;
  color:#17314d;
  font-size:28px;
  font-weight:950;
}
.account-card-head p{
  margin:4px 0 0;
  color:#587089;
  font-weight:700;
}
.account-card-head > span{
  display:inline-flex;
  padding:9px 14px;
  border-radius:999px;
  border:2px solid rgba(23,49,77,.12);
  color:#17314d;
  font-weight:950;
  white-space:nowrap;
}
.account-table{
  min-width:1180px;
}
.account-user-cell,
.account-status-stack,
.account-actions{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.account-user-cell strong{
  color:#17314d;
  font-size:16px;
  font-weight:950;
}
.account-user-cell span,
.account-table small{
  color:#587089;
  font-size:13px;
  font-weight:750;
}
.account-pill,
.account-status{
  display:inline-flex;
  width:max-content;
  align-items:center;
  padding:7px 11px;
  border-radius:999px;
  font-size:12px;
  font-weight:950;
}
.account-pill.is-kids{
  color:#17314d;
  background:#fff2bd;
  border:2px solid #e8d982;
}
.account-pill.is-learning{
  color:#006b5c;
  background:#e2fbf6;
  border:2px solid rgba(0,165,143,.18);
}
.account-status.is-active{
  color:#096b45;
  background:#ddfbea;
}
.account-status.is-inactive{
  color:#9d1b1b;
  background:#fff1f1;
}
.account-progress{
  width:120px;
  height:9px;
  overflow:hidden;
  border-radius:999px;
  background:#edf2f3;
  margin-top:8px;
}
.account-progress span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#ffd84d,#8cd83f);
}
.account-actions{
  flex-direction:row;
  align-items:center;
  flex-wrap:wrap;
}
.account-actions form{
  margin:0;
}
.btn-danger-soft{
  background:#fff1f1!important;
  border-color:#ffc9c9!important;
  color:#9d1b1b!important;
}
.account-review-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.account-details{
  display:grid;
  grid-template-columns:minmax(160px,.7fr) 1fr;
  gap:0;
  margin:0;
}
.account-details dt,
.account-details dd{
  padding:14px 0;
  border-bottom:1px solid rgba(23,49,77,.10);
}
.account-details dt{
  color:#17314d;
  font-weight:950;
}
.account-details dd{
  margin:0;
  color:#587089;
  font-weight:800;
  text-align:right;
}
@media(max-width:1100px){
  .account-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .account-review-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:700px){
  .account-hero,
  .account-card-head{
    flex-direction:column;
  }
  .account-summary-grid{
    grid-template-columns:1fr;
  }
  .account-details{
    grid-template-columns:1fr;
  }
.account-details dd{
  text-align:left;
  }
}

/* Formation admin module split */
.formation-module-banner{
  display:flex;
  flex-direction:column;
  gap:4px;
  border-radius:18px;
  padding:14px 16px;
  border:2px solid rgba(23,49,77,.10);
  font-weight:900;
}
.formation-module-banner strong{
  color:#17314d;
  font-size:14px;
}
.formation-module-banner span{
  color:#587089;
  font-size:13px;
  font-weight:800;
}
.formation-module-banner.is-kids{
  background:linear-gradient(135deg,#fff4b8,#dff8ff);
  border-color:#e8d982;
}
.formation-module-banner.is-learning{
  background:linear-gradient(135deg,#e5fbf6,#ffffff);
  border-color:rgba(0,165,143,.20);
}
.formation-module-pill{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:7px 11px;
  border-radius:999px;
  font-size:12px;
  font-weight:950;
}
.formation-module-pill.is-kids{
  color:#17314d;
  background:#fff2bd;
  border:2px solid #e8d982;
}
.formation-module-pill.is-learning{
  color:#006b5c;
  background:#e2fbf6;
  border:2px solid rgba(0,165,143,.18);
}

/* Coming soon public pages */
.coming-soon-page{
  min-height:100vh;
  margin:0;
  font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:#132d4a;
}
.coming-soon-learning{
  background:
    radial-gradient(circle at 78% 18%, rgba(46,139,87,.20), transparent 30%),
    linear-gradient(135deg,#020806 0%,#07130f 48%,#0d241d 100%);
  color:#f8fff9;
}
.coming-soon-kids{
  background:
    radial-gradient(circle at 12% 12%, rgba(255,216,77,.36), transparent 28%),
    radial-gradient(circle at 88% 20%, rgba(174,221,255,.44), transparent 28%),
    radial-gradient(circle at 78% 78%, rgba(255,196,225,.35), transparent 28%),
    #fffdfa;
}
.coming-shell{
  width:min(1180px, calc(100% - 36px));
  margin:0 auto;
  padding:28px 0 56px;
}
.coming-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:58px;
}
.coming-brand{
  display:flex;
  align-items:center;
  gap:14px;
  color:inherit;
  text-decoration:none;
}
.coming-brand img{
  width:64px;
  height:64px;
  object-fit:cover;
  border-radius:14px;
}
.coming-brand strong{
  display:block;
  font-size:20px;
  line-height:1;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.coming-brand small{
  display:block;
  margin-top:6px;
  color:currentColor;
  opacity:.72;
  font-size:14px;
  font-weight:800;
}
.coming-switch,
.coming-form button{
  border:0;
  border-radius:999px;
  padding:14px 22px;
  font-size:15px;
  font-weight:950;
  text-decoration:none;
  color:#132d4a;
  background:linear-gradient(90deg,#ffdf54,#94dc3f);
  box-shadow:0 16px 34px rgba(148,220,63,.22);
}
.coming-hero{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr);
  gap:34px;
  align-items:center;
}
.coming-copy{
  padding:24px 0;
}
.coming-eyebrow{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:11px 16px;
  border-radius:999px;
  font-size:13px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#2f6914;
  background:#e5ffd6;
  border:2px solid rgba(129,210,76,.30);
}
.coming-soon-learning .coming-eyebrow{
  color:#b6f06a;
  background:rgba(182,240,106,.10);
  border-color:rgba(182,240,106,.26);
}
.coming-copy h1{
  max-width:840px;
  margin:22px 0 18px;
  font-size:clamp(42px, 7vw, 82px);
  line-height:.98;
  font-weight:950;
  letter-spacing:0;
}
.coming-copy p{
  max-width:700px;
  margin:0;
  color:#587089;
  font-size:20px;
  line-height:1.65;
  font-weight:750;
}
.coming-soon-learning .coming-copy p{
  color:#c9d8cf;
}
.coming-highlights{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.coming-highlights div{
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.92);
  border:2px solid rgba(19,45,74,.08);
  color:#132d4a;
  font-weight:950;
}
.coming-soon-learning .coming-highlights div{
  background:rgba(255,255,255,.06);
  border-color:rgba(182,240,106,.18);
  color:#f8fff9;
}
.coming-highlights i{
  color:#4b8b24;
}
.coming-form{
  display:flex;
  flex-direction:column;
  gap:16px;
  padding:28px;
  border-radius:26px;
  background:rgba(255,255,255,.94);
  color:#132d4a;
  border:2px solid rgba(19,45,74,.10);
  box-shadow:0 30px 70px rgba(19,45,74,.14);
}
.coming-soon-learning .coming-form{
  background:rgba(247,255,250,.96);
}
.coming-form h2{
  margin:0;
  font-size:32px;
  font-weight:950;
}
.coming-form p{
  margin:-8px 0 4px;
  color:#587089;
  font-size:15px;
  line-height:1.55;
  font-weight:750;
}
.coming-form label{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:0;
  color:#132d4a;
  font-size:14px;
  font-weight:950;
}
.coming-form input,
.coming-form select,
.coming-form textarea{
  width:100%;
  border:2px solid rgba(19,45,74,.12);
  border-radius:16px;
  padding:14px 15px;
  color:#132d4a;
  background:#fff;
  font:inherit;
  font-weight:750;
  outline:none;
}
.coming-form input:focus,
.coming-form select:focus,
.coming-form textarea:focus{
  border-color:#94dc3f;
  box-shadow:0 0 0 4px rgba(148,220,63,.16);
}
.coming-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.coming-check{
  flex-direction:row!important;
  align-items:flex-start;
  gap:10px!important;
  color:#587089!important;
}
.coming-check input{
  width:auto;
  margin-top:4px;
}
.coming-form button{
  width:100%;
  margin-top:4px;
  cursor:pointer;
}
.coming-alert{
  margin:-30px 0 28px;
  padding:14px 18px;
  border-radius:18px;
  font-weight:900;
}
.coming-alert-success{
  color:#075f42;
  background:#dcfce9;
  border:2px solid #a9efc8;
}
.coming-alert-error{
  color:#9d1b1b;
  background:#fff1f1;
  border:2px solid #ffc9c9;
}
.coming-alert-warning{
  color:#765400;
  background:#fff8d7;
  border:2px solid #f2de8a;
}
.admin-table-card{
  margin-top:22px;
  overflow:auto;
  border-radius:18px;
  background:#fff;
  border:2px solid rgba(19,45,74,.10);
  box-shadow:0 18px 50px rgba(19,45,74,.08);
}
.admin-table-card table{
  margin:0;
}
@media(max-width:900px){
  .coming-nav{
    margin-bottom:34px;
  }
  .coming-hero{
    grid-template-columns:1fr;
  }
  .coming-copy h1{
    font-size:42px;
  }
}
@media(max-width:620px){
  .coming-shell{
    width:min(100% - 22px, 1180px);
    padding-top:14px;
  }
  .coming-nav,
  .coming-brand{
    align-items:flex-start;
  }
  .coming-nav{
    flex-direction:column;
  }
  .coming-grid{
    grid-template-columns:1fr;
  }
}

.coming-soon-unified{
  min-height:100vh;
  background:
    linear-gradient(115deg, rgba(255,224,87,.18) 0%, transparent 34%),
    linear-gradient(245deg, rgba(171,213,255,.22) 0%, transparent 36%),
    linear-gradient(0deg, rgba(255,198,226,.12) 0%, transparent 32%),
    #fbfaf7;
  color:#132d4a;
}
.coming-unified-shell{
  width:min(1160px, calc(100% - 40px));
  padding:22px 0 46px;
}
.coming-unified-nav{
  padding:12px 14px;
  border:2px solid rgba(19,45,74,.08);
  border-radius:24px;
  background:rgba(255,255,255,.92);
  box-shadow:0 18px 42px rgba(19,45,74,.08);
  margin-bottom:34px;
}
.coming-unified-nav .coming-brand img{
  width:54px;
  height:54px;
  border-radius:12px;
}
.coming-unified-nav .coming-brand strong{
  font-size:18px;
  letter-spacing:.08em;
}
.coming-unified-nav .coming-brand small{
  font-size:13px;
  margin-top:4px;
}
.coming-unified-nav .coming-switch{
  padding:12px 18px;
  font-size:14px;
  box-shadow:0 12px 24px rgba(148,220,63,.18);
}
.coming-unified-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(380px,.92fr);
  gap:28px;
  align-items:stretch;
}
.coming-unified-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:330px;
  padding:10px 0;
}
.coming-unified-copy h1{
  max-width:610px;
  margin:18px 0 14px;
  font-size:clamp(36px,4.4vw,56px);
  line-height:1.04;
  font-weight:950;
  letter-spacing:0;
}
.coming-unified-copy p,
.coming-unified-note p{
  max-width:600px;
  margin:0;
  color:#526a82;
  font-size:17px;
  line-height:1.65;
  font-weight:700;
}
.coming-mini-proof{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:22px;
}
.coming-mini-proof span{
  padding:9px 12px;
  border:1px solid rgba(19,45,74,.10);
  border-radius:999px;
  background:rgba(255,255,255,.76);
  color:#526a82;
  font-size:13px;
  font-weight:850;
}
.coming-module-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.coming-module-card{
  display:flex;
  min-height:330px;
  flex-direction:column;
  justify-content:space-between;
  gap:16px;
  padding:24px;
  border-radius:24px;
  border:2px solid rgba(19,45,74,.09);
  box-shadow:0 20px 48px rgba(19,45,74,.08);
}
.coming-module-learning{
  background:linear-gradient(145deg,#06140f 0%,#123021 100%);
  color:#fff;
}
.coming-module-kids{
  background:linear-gradient(145deg,#fff6c9 0%,#e9fbff 100%);
  color:#132d4a;
}
.coming-module-icon{
  display:grid;
  width:48px;
  height:48px;
  place-items:center;
  border-radius:16px;
  background:rgba(255,255,255,.16);
  font-size:20px;
}
.coming-module-kids .coming-module-icon{
  background:#fff;
}
.coming-module-card h2{
  margin:auto 0 0;
  font-size:26px;
  line-height:1.08;
  font-weight:950;
}
.coming-module-card p{
  margin:0;
  color:inherit;
  opacity:.82;
  font-size:15px;
  line-height:1.55;
  font-weight:750;
}
.coming-module-card button{
  width:max-content;
  border:0;
  border-radius:999px;
  padding:11px 15px;
  color:#132d4a;
  background:#fff;
  font-size:14px;
  font-weight:950;
  cursor:pointer;
}
.coming-module-kids button{
  background:linear-gradient(90deg,#ffdf54,#94dc3f);
}
.coming-unified-panel{
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(360px,.70fr);
  gap:26px;
  align-items:start;
  margin-top:30px;
  padding:28px;
  border-radius:26px;
  background:rgba(255,255,255,.82);
  border:2px solid rgba(19,45,74,.08);
  box-shadow:0 20px 54px rgba(19,45,74,.06);
}
.coming-unified-note h2{
  max-width:520px;
  margin:16px 0 12px;
  font-size:clamp(28px,3vw,40px);
  line-height:1.08;
  font-weight:950;
}
.coming-unified-form{
  padding:24px;
  border-radius:24px;
  box-shadow:0 18px 42px rgba(19,45,74,.10);
}
.coming-unified-form h2{
  font-size:26px;
}
.coming-interest{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin:0;
  padding:0;
  border:0;
}
.coming-interest legend{
  margin-bottom:6px;
  color:#132d4a;
  font-size:14px;
  font-weight:950;
}
.coming-interest label{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:2px solid rgba(19,45,74,.10);
  border-radius:14px;
  background:#fffdf8;
}
.coming-interest input{
  width:auto;
  accent-color:#2c8f6b;
}
@media(max-width:980px){
  .coming-unified-hero,
  .coming-unified-panel{
    grid-template-columns:1fr;
  }
  .coming-unified-copy{
    min-height:auto;
  }
}
@media(max-width:720px){
  .coming-unified-shell{
    width:min(100% - 22px, 1220px);
  }
  .coming-module-grid{
    grid-template-columns:1fr;
  }
  .coming-module-card{
    min-height:240px;
  }
  .coming-unified-panel{
    padding:18px;
  }
  .coming-unified-copy h1{
    font-size:34px;
  }
}
