:root{
  --ba-deep:#1F3F6B;
  --ba-mid:#2F5C9A;
  --ba-soft:#4A78B5;
  --ba-pale:#E6EEF8;
  --ba-light:#F0F5FB;
  --ba-ink:#172033;
  --ba-muted:#4A5568;
  --ba-line:#C9D7EA;
  --ba-focus:#FFBF47;
  --ba-success:#14532D;
  --ba-success-bg:#EAF7EE;
  --ba-warning:#704600;
  --ba-warning-bg:#FFF7E6;
}
.ai-hero{background:linear-gradient(135deg,var(--ba-deep),var(--ba-mid));color:#fff;border-radius:22px;padding:clamp(1.4rem,4vw,3rem);box-shadow:0 16px 38px rgba(31,63,107,.2);margin-bottom:1.25rem}
.ai-hero h1,.ai-hero h2,.ai-hero p{color:#fff}.ai-hero h1,.ai-hero h2{max-width:900px}.ai-kicker{display:inline-block;border:2px solid rgba(255,255,255,.7);border-radius:999px;padding:.3rem .72rem;font-weight:900;letter-spacing:.02em}
.ai-price{display:inline-flex;flex-direction:column;background:#fff;color:var(--ba-deep);border-radius:18px;padding:.85rem 1rem;margin:.6rem 0;min-width:150px}.ai-price strong{font-size:2rem;line-height:1}.ai-price span{font-size:.9rem;color:var(--ba-muted)}
.ai-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.ai-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.ai-card{background:#fff;border:1px solid var(--ba-line);border-radius:18px;padding:1.2rem;box-shadow:0 10px 26px rgba(31,63,107,.1)}.ai-card h3{margin-top:0}
.path-card{border-top:7px solid var(--ba-mid)}.path-card .step{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--ba-deep);color:#fff;font-weight:900}
.feature-list{padding-left:1.35rem}.feature-list li{margin:.45rem 0}.plain-list{list-style:none;padding:0}.plain-list li{padding:.55rem 0;border-bottom:1px solid var(--ba-line)}
.course-nav{background:#fff;border:1px solid var(--ba-line);border-radius:18px;padding:1rem;margin-bottom:1rem}.course-nav ul{display:flex;gap:.55rem;flex-wrap:wrap;list-style:none;padding:0;margin:.5rem 0}.course-nav a{display:inline-flex;padding:.55rem .75rem;border-radius:999px;background:var(--ba-pale);text-decoration:none}
.progress-shell{background:#DCE6F4;border-radius:999px;height:22px;overflow:hidden;border:1px solid #AFC4E0}.progress-fill{height:100%;width:0;background:var(--ba-deep);transition:width .25s ease}.progress-label{font-weight:900;margin:.35rem 0}
.module{background:#fff;border:1px solid var(--ba-line);border-radius:20px;margin:1rem 0;overflow:hidden;box-shadow:0 10px 28px rgba(31,63,107,.1)}.module-header{background:var(--ba-pale);padding:1rem 1.2rem}.module-header h2{margin:0}.module-body{padding:1rem 1.2rem}
.lesson{border:1px solid var(--ba-line);border-radius:15px;margin:.8rem 0;background:#fff}.lesson summary{display:flex;align-items:flex-start;gap:.7rem;padding:1rem;cursor:pointer;color:var(--ba-deep);font-size:1.08rem}.lesson summary::marker{font-size:1.15rem}.lesson-content{padding:0 1rem 1rem}.lesson-meta{display:flex;gap:.45rem;flex-wrap:wrap;margin:.5rem 0}.tag{display:inline-flex;background:var(--ba-light);color:var(--ba-deep);border:1px solid var(--ba-line);border-radius:999px;padding:.2rem .55rem;font-size:.88rem;font-weight:800}
.practice{border-left:6px solid var(--ba-mid);background:var(--ba-light);padding:1rem;border-radius:12px;margin:1rem 0}.safety{border-left:6px solid var(--ba-warning);background:var(--ba-warning-bg);padding:1rem;border-radius:12px;margin:1rem 0}
.complete-control{display:flex;gap:.6rem;align-items:flex-start;background:var(--ba-success-bg);border:1px solid #B6DCC6;border-radius:12px;padding:.8rem;margin-top:1rem;font-weight:800}.complete-control input{width:24px;height:24px;flex:0 0 auto;margin-top:.05rem}
.logbook-link{display:inline-block;margin-top:1rem;font-weight:800}
.sync-status{margin:.9rem 0 0;padding:.7rem .85rem;border-left:5px solid var(--ba-ink);background:#F3F6F8}
.sync-status.pass{border-color:var(--ba-success);background:var(--ba-success-bg)}
.sync-status.retry{border-color:#9B3F00;background:#FFF2E8}
.narrow{max-width:46rem;margin-inline:auto}
.hint,.muted{color:#475467}
.account-bar,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.account-bar p{margin:0;font-weight:800}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.form-grid>div{min-width:0}
.check-line{display:flex;gap:.65rem;align-items:flex-start}
.check-line input{width:auto;margin-top:.3rem}
.log-entry{margin-top:1rem;border-left:6px solid var(--ba-mid)}
.log-entry h3{overflow-wrap:anywhere}
.entry-meta{font-weight:800;color:#344054}
.feedback{padding:.75rem;border-left:5px solid var(--ba-success);background:var(--ba-success-bg)}
.btn.danger{background:#8B1E1E;border-color:#8B1E1E;color:#fff}
@media(max-width:700px){.form-grid{grid-template-columns:1fr}}
.quiz fieldset{border:1px solid var(--ba-line);border-radius:15px;padding:1rem;margin:1rem 0}.quiz legend{font-weight:900;color:var(--ba-deep);padding:0 .35rem}.quiz label{display:flex;gap:.55rem;align-items:flex-start;padding:.45rem;border-radius:8px;font-weight:400;color:var(--ba-ink)}.quiz label:hover{background:var(--ba-light)}.quiz input[type="radio"]{width:22px;height:22px;flex:0 0 auto}
.result{padding:1rem;border-radius:14px;margin:1rem 0}.result.pass{background:var(--ba-success-bg);border-left:6px solid var(--ba-success)}.result.retry{background:var(--ba-warning-bg);border-left:6px solid var(--ba-warning)}
.readiness-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:.4rem}.readiness-scale label{text-align:center;border:1px solid var(--ba-line);border-radius:12px;padding:.55rem .2rem;background:#fff}.readiness-scale input{width:22px;height:22px;display:block;margin:0 auto .25rem}
.sticky-progress{position:sticky;top:78px;z-index:20;background:#fff;border:1px solid var(--ba-line);border-radius:16px;padding:.8rem 1rem;box-shadow:0 8px 20px rgba(31,63,107,.12);margin-bottom:1rem}
.module-lock{background:var(--ba-warning-bg);border:1px solid #E6C784;border-radius:16px;padding:1rem}.payment-note{background:var(--ba-warning-bg);border-left:6px solid var(--ba-warning);border-radius:14px;padding:1rem}
.certificate-box{border:4px double var(--ba-deep);background:#fff;padding:2rem;text-align:center;max-width:780px;margin:1rem auto}.certificate-box h2{font-size:2rem}.certificate-box .learner-name{font-size:1.6rem;font-weight:900;color:var(--ba-deep);border-bottom:2px solid var(--ba-line);padding:.5rem}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:860px){.ai-grid,.ai-grid.two{grid-template-columns:1fr}.readiness-scale{grid-template-columns:1fr}.readiness-scale label{text-align:left}.readiness-scale input{display:inline-block;margin:0 .5rem 0 0}.sticky-progress{top:4px}.ai-hero{border-radius:16px}}
@media(prefers-reduced-motion:reduce){.progress-fill{transition:none}}
@media print{.course-nav,.sticky-progress,.complete-control,.actions,.payment-note,nav,.skip{display:none!important}.module,.lesson,.ai-card{box-shadow:none;break-inside:avoid}.lesson-content{display:block!important}.certificate-box{margin-top:2rem}}
