/* ════════════════════════════════════════════════════════════
   GRUPO ALFA CURSOS — Design System
   Mesma identidade visual do site institucional
   ════════════════════════════════════════════════════════════ */
:root{
  --navy:#1C2E5E; --navy2:#0e1a38; --navy-mid:#243772;
  --orange:#F5821F; --orng2:#d96a0a;
  --light:#f0f3fa; --gray:#6b7a99; --text:#1a1f36;
  --green:#16A34A; --green-h:#15803D; --green-bg:#F0FDF4; --green-txt:#14532D;
  --blue-bg:#EFF6FF; --blue-txt:#1E3A5F; --blue-bdr:#93C5FD;
  --amber:#D97706; --amber-h:#B45309; --amber-bg:#FFFBEB; --amber-txt:#92400E;
}

*{margin:0; padding:0; box-sizing:border-box;}
html{scroll-behavior:smooth; height:100%;}
body{
  font-family:'Barlow', sans-serif;
  color:var(--text);
  background:var(--light);
  line-height:1.5;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
main{flex:1;}

h1,h2,h3,h4{font-family:'Bebas Neue', sans-serif; letter-spacing:.5px;}

a{color:inherit;}

/* ── NAVBAR ─────────────────────────────────────────────── */
.navbar{
  background:var(--navy2); border-bottom:3px solid var(--orange);
  display:flex; align-items:center; justify-content:space-between;
  padding:0 32px; height:70px; position:sticky; top:0; z-index:100;
  gap:24px;
}
.nav-logo{display:flex; align-items:center; gap:10px; text-decoration:none; flex-shrink:0;}
.nav-logo img{height:42px; width:auto; object-fit:contain; border-radius:4px;}
.nav-logo .logo-text-wrap{display:flex; flex-direction:column; line-height:1;}
.nav-logo .logo-text{font-family:'Bebas Neue',sans-serif; font-size:1.15rem; color:#fff; letter-spacing:1px;}
.nav-logo .logo-sub{font-family:'Barlow Condensed',sans-serif; font-size:.62rem; color:var(--orange); letter-spacing:3px; text-transform:uppercase;}

.nav-links{display:flex; gap:18px; flex:1; justify-content:center; flex-wrap:nowrap;}
.nav-links a{
  color:rgba(255,255,255,.65); text-decoration:none;
  font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:.78rem;
  letter-spacing:1px; text-transform:uppercase; transition:color .2s;
  position:relative; padding:4px 0; white-space:nowrap;
}
.nav-links a:hover{color:#fff;}

.nav-auth{display:flex; gap:10px; align-items:center; flex-shrink:0;}

/* ── BUTTONS ────────────────────────────────────────────── */
.btn-primary, .btn-outline, .btn-outline-navy{
  font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:.85rem;
  letter-spacing:1.5px; text-transform:uppercase; text-decoration:none;
  padding:11px 24px; border-radius:4px; border:none; cursor:pointer;
  transition:all .2s; display:inline-block; text-align:center;
}
.btn-primary{background:var(--orange); color:#fff; box-shadow:0 4px 14px rgba(245,130,31,.3);}
.btn-primary:hover{background:var(--orng2); transform:translateY(-1px);}
.btn-outline{background:transparent; color:#fff; border:2px solid rgba(255,255,255,.25);}
.btn-outline:hover{border-color:#fff; background:rgba(255,255,255,.06);}
.btn-outline-navy{background:transparent; color:var(--navy); border:2px solid var(--navy);}
.btn-outline-navy:hover{background:var(--navy); color:#fff;}
.btn-sm{padding:8px 16px; font-size:.75rem;}
.btn-block{display:block; width:100%;}

/* ── FLASH MESSAGES ─────────────────────────────────────── */
.flash-container{max-width:1100px; margin:16px auto; padding:0 24px;}
.flash{padding:13px 20px; border-radius:6px; margin-bottom:10px; font-size:.9rem; font-weight:600;}
.flash-success{background:#e6f4ea; color:#1e7e34; border-left:4px solid #1e7e34;}
.flash-danger{background:#fdecea; color:#c0392b; border-left:4px solid #c0392b;}
.flash-warning{background:#fff8e1; color:#9a6700; border-left:4px solid var(--orange);}
.flash-info{background:#e8f0fe; color:var(--navy); border-left:4px solid var(--navy);}

/* ── FOOTER ─────────────────────────────────────────────── */
.site-footer{
  background:var(--navy2); border-top:3px solid var(--orange);
  color:rgba(255,255,255,.45); text-align:center;
  padding:24px; font-size:.82rem; margin-top:60px;
}
.site-footer span{color:var(--orange);}

/* ── GENERIC LAYOUT ─────────────────────────────────────── */
.container{max-width:1180px; margin:0 auto; padding:48px 24px;}
.container-sm{max-width:700px; margin:0 auto; padding:48px 24px;}

.page-tag{
  font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:.75rem;
  letter-spacing:3px; text-transform:uppercase; color:var(--orange); display:block; margin-bottom:8px;
}
h1.page-title{color:var(--navy); font-size:clamp(2rem,4vw,2.8rem); margin-bottom:24px; line-height:1.05;}
.page-sub{color:var(--gray); margin-bottom:32px; font-size:1rem; line-height:1.7; max-width:640px;}

/* ── HERO (home) ────────────────────────────────────────── */
.hero{
  background:linear-gradient(135deg, var(--navy2) 0%, var(--navy) 55%, var(--navy-mid) 100%);
  position:relative; overflow:hidden;
  display:grid; grid-template-columns:1.1fr 1fr;
  min-height:560px;
}
.hero-content{
  padding:64px 56px; display:flex; flex-direction:column; justify-content:center; z-index:2;
}
.hero-badge{
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(245,130,31,.13); border:1px solid rgba(245,130,31,.32);
  border-radius:4px; padding:6px 14px; margin-bottom:22px; width:fit-content;
}
.hero-dot{width:7px; height:7px; border-radius:50%; background:var(--orange); animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.5)}}
.hero-badge span{font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:.72rem; letter-spacing:2px; text-transform:uppercase; color:var(--orange);}
.hero h1{font-size:clamp(2.6rem,5.5vw,4.2rem); color:#fff; line-height:1; margin-bottom:18px;}
.hero h1 .acc{color:var(--orange); display:block;}
.hero p{font-size:1.05rem; color:rgba(255,255,255,.65); max-width:460px; margin-bottom:32px; line-height:1.7;}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:36px;}
.hero-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.07); border-radius:8px; overflow:hidden; max-width:420px;}
.hero-stat{background:rgba(255,255,255,.04); padding:16px 12px; text-align:center;}
.hero-stat .n{font-family:'Bebas Neue',sans-serif; font-size:1.8rem; color:var(--orange);}
.hero-stat .l{font-family:'Barlow Condensed',sans-serif; font-weight:600; font-size:.62rem; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,.4);}

/* Mosaico de fotos */
.hero-mosaic{
  display:grid; grid-template-columns:1fr 1fr; grid-template-rows:repeat(3,1fr); gap:3px;
  position:relative; min-height:560px;
}
.mosaic-card{position:relative; overflow:hidden;}
.mosaic-card img{width:100%; height:100%; object-fit:cover; filter:brightness(.65) saturate(.9); transition:filter .3s, transform .5s;}
.mosaic-card:hover img{filter:brightness(.85) saturate(1.05); transform:scale(1.05);}
.mosaic-over{position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.78) 0%, transparent 58%);}
.mosaic-info{position:absolute; bottom:0; left:0; right:0; padding:14px 16px;}
.mosaic-nr{font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:.62rem; letter-spacing:3px; text-transform:uppercase; color:var(--orange); margin-bottom:2px;}
.mosaic-title{font-family:'Bebas Neue',sans-serif; font-size:1.05rem; color:#fff; line-height:1;}
.anos-badge{position:absolute; bottom:14px; right:14px; z-index:5; width:84px; filter:drop-shadow(0 4px 14px rgba(0,0,0,.7));}
.anos-badge img{width:100%; display:block; border-radius:8px;}

/* ── SECTIONS ───────────────────────────────────────────── */
.section{padding:64px 24px;}
.section-head{max-width:1180px; margin:0 auto 36px;}
.section-head h2{color:var(--navy); font-size:clamp(1.8rem,3.5vw,2.6rem); margin-bottom:10px;}
.section-head p{color:var(--gray); max-width:560px; font-size:.98rem; line-height:1.7;}

/* ── CURSOS GRID / CARDS ────────────────────────────────── */
.cursos-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:24px; max-width:1180px; margin:0 auto;}
.curso-card{
  background:#fff; border-radius:10px; overflow:hidden;
  box-shadow:0 4px 18px rgba(28,46,94,.08); transition:transform .2s, box-shadow .2s;
  text-decoration:none; color:var(--text); display:flex; flex-direction:column;
}
.curso-card:hover{transform:translateY(-5px); box-shadow:0 12px 32px rgba(28,46,94,.14);}
.curso-card .img-wrap{position:relative; height:170px; overflow:hidden;}
.curso-card .img-wrap img{width:100%; height:100%; object-fit:cover; filter:brightness(.85);}
.curso-card .img-wrap .nr-badge{
  position:absolute; top:12px; left:12px;
  background:var(--orange); color:#fff;
  font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:.7rem;
  letter-spacing:2px; padding:5px 12px; border-radius:4px;
}
.curso-card .body{padding:18px 20px; flex:1; display:flex; flex-direction:column;}
.curso-card .ch{font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:.7rem; letter-spacing:2px; text-transform:uppercase; color:var(--gray); margin-bottom:6px;}
.curso-card h3{font-size:1.35rem; color:var(--navy); margin-bottom:8px; line-height:1.1;}
.curso-card .desc{font-size:.86rem; color:var(--gray); line-height:1.55; flex:1; margin-bottom:14px;}
.curso-card .footer-row{display:flex; align-items:center; justify-content:space-between; margin-top:auto;}
.curso-card .preco{font-family:'Bebas Neue',sans-serif; font-size:1.7rem; color:var(--orange);}
.curso-card .preco small{font-size:.75rem; color:var(--gray); font-family:'Barlow',sans-serif; font-weight:400;}

/* ── FORMS / AUTH ───────────────────────────────────────── */
.auth-wrap{
  min-height:calc(100vh - 70px - 78px);
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--navy2) 0%, var(--navy) 100%);
  padding:48px 24px;
}
form.box{
  background:#fff; border-radius:12px; padding:40px; max-width:430px; width:100%;
  box-shadow:0 12px 40px rgba(0,0,0,.25);
}
form.box .form-head{text-align:center; margin-bottom:24px;}
form.box .form-head .page-tag{justify-content:center; text-align:center;}
form.box h1{color:var(--navy); font-size:2rem;}
form.box label{display:block; font-weight:700; font-size:.82rem; margin:14px 0 6px; color:var(--navy); text-transform:uppercase; letter-spacing:.5px;}
form.box input{width:100%; padding:13px 14px; border:1.5px solid #dde2ef; border-radius:6px; font-size:.95rem; outline:none; font-family:inherit; transition:border .2s;}
form.box input:focus{border-color:var(--orange);}
form.box .checkbox-row{display:flex; align-items:center; gap:8px; font-weight:400; margin-top:14px; font-size:.88rem; color:var(--gray);}
form.box .checkbox-row input{width:auto;}
form.box button{margin-top:22px;}
form.box .alt-link{text-align:center; margin-top:18px; font-size:.9rem; color:var(--gray);}
form.box .alt-link a{color:var(--orange); font-weight:700; text-decoration:none;}

/* ── COURSE DETAIL PAGE ─────────────────────────────────── */
.detalhe-layout{display:grid; grid-template-columns:1fr 340px; gap:40px; max-width:1180px; margin:0 auto; padding:48px 24px; align-items:start;}
.detalhe-main img.cover{width:100%; border-radius:10px; margin-bottom:28px; max-height:380px; object-fit:cover;}
.detalhe-main p{color:var(--text); line-height:1.8; margin-bottom:8px;}
.detalhe-main h3{color:var(--navy); margin:32px 0 14px; font-size:1.4rem;}
.modulo-block{margin-bottom:16px; background:#fff; border-radius:8px; padding:16px 20px; box-shadow:0 2px 10px rgba(28,46,94,.05);}
.modulo-block strong{color:var(--navy); font-family:'Barlow Condensed',sans-serif; font-size:1.05rem; letter-spacing:.5px;}
.modulo-block ul{margin:10px 0 0 20px; color:var(--gray); font-size:.9rem; display:flex; flex-direction:column; gap:4px;}
.modulo-block .free-tag{color:var(--orange); font-weight:800; font-size:.7rem; letter-spacing:1px; text-transform:uppercase; margin-left:6px;}

.buy-card{
  background:#fff; border-radius:12px; padding:28px; box-shadow:0 8px 30px rgba(28,46,94,.1);
  position:sticky; top:90px; border-top:4px solid var(--orange);
}
.buy-card .preco-grande{font-family:'Bebas Neue',sans-serif; font-size:2.6rem; color:var(--orange); line-height:1;}
.buy-card .meta{color:var(--gray); font-size:.85rem; margin:8px 0 20px;}
.buy-card ul.includes{list-style:none; margin:20px 0; display:flex; flex-direction:column; gap:10px;}
.buy-card ul.includes li{display:flex; align-items:center; gap:10px; font-size:.88rem; color:var(--text); font-weight:600;}
.buy-card ul.includes li::before{content:'✓'; width:22px; height:22px; border-radius:50%; background:var(--orange); color:#fff; font-size:.7rem; font-weight:800; display:flex; align-items:center; justify-content:center; flex-shrink:0;}

/* ── DASHBOARD / ALUNO ──────────────────────────────────── */
.dash-greeting{color:var(--navy); margin-bottom:6px;}
.progress-bar{background:#e0e4ee; border-radius:20px; height:8px; overflow:hidden; margin:12px 0;}
.progress-bar .fill{background:var(--orange); height:100%; transition:width .3s; border-radius:20px;}
.progress-label{font-size:.78rem; color:var(--gray); font-weight:600;}

/* ── PLAYER / AULA ──────────────────────────────────────── */
.aula-layout{display:grid; grid-template-columns:1fr 320px; gap:24px; padding:32px 24px; max-width:1400px; margin:0 auto;}
.video-wrap{position:relative; padding-top:56.25%; background:#000; border-radius:10px; overflow:hidden; box-shadow:0 8px 24px rgba(0,0,0,.2);}
.video-wrap iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
.video-placeholder{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.4); font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:2px; font-size:.85rem;}
.aula-title{color:var(--navy); margin:20px 0 8px; font-size:1.6rem;}
.aula-desc{color:var(--gray); line-height:1.7; margin-bottom:16px;}
.sidebar-modulos{background:#fff; border-radius:10px; padding:20px; max-height:80vh; overflow-y:auto; box-shadow:0 4px 16px rgba(28,46,94,.06);}
.sidebar-modulos h2{color:var(--navy); font-size:1.15rem; margin-bottom:14px; padding-bottom:14px; border-bottom:1px solid #eef1f8;}
.sidebar-modulos h4{font-family:'Barlow Condensed',sans-serif; color:var(--orange); font-weight:800; letter-spacing:1.5px; text-transform:uppercase; font-size:.72rem; margin:16px 0 6px;}
.aula-item{display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:6px; text-decoration:none; color:var(--text); font-size:.87rem; transition:background .15s;}
.aula-item:hover{background:var(--light);}
.aula-item.ativa{background:rgba(245,130,31,.12); font-weight:700; color:var(--navy);}
.aula-item .check{width:16px; height:16px; border-radius:50%; border:2px solid #d6dcec; flex-shrink:0;}
.aula-item.concluida .check{background:#1e7e34; border-color:#1e7e34;}

/* ── ADMIN ──────────────────────────────────────────────── */
.stats-row{display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:16px; margin-bottom:32px;}
.stat-card{background:#fff; border-radius:10px; padding:26px; text-align:center; box-shadow:0 4px 16px rgba(28,46,94,.07); border-top:3px solid var(--orange);}
.stat-card .n{font-family:'Bebas Neue',sans-serif; font-size:2.4rem; color:var(--orange);}
.stat-card .l{color:var(--gray); font-size:.78rem; text-transform:uppercase; letter-spacing:1px; font-weight:700; margin-top:4px;}

table.admin-table{width:100%; background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 2px 12px rgba(28,46,94,.06); border-collapse:collapse;}
table.admin-table thead{background:var(--navy); color:#fff;}
table.admin-table th{padding:14px 18px; text-align:left; font-family:'Barlow Condensed',sans-serif; font-weight:700; letter-spacing:1px; text-transform:uppercase; font-size:.78rem;}
table.admin-table td{padding:13px 18px; border-bottom:1px solid #eef1f8; font-size:.9rem;}
table.admin-table tr:last-child td{border-bottom:none;}
table.admin-table a.edit-link{color:var(--orange); font-weight:700; text-decoration:none;}

.admin-header-row{display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; flex-wrap:wrap; gap:12px;}

textarea.field, select.field, input.field{
  width:100%; padding:12px 14px; border:1.5px solid #dde2ef; border-radius:6px;
  font-family:inherit; font-size:.92rem; outline:none; transition:border .2s;
}
textarea.field:focus, select.field:focus, input.field:focus{border-color:var(--orange);}

.inline-form{display:flex; gap:8px; flex-wrap:wrap; align-items:center;}

.card-block{background:#fff; border-radius:10px; padding:20px; margin:14px 0; box-shadow:0 2px 12px rgba(28,46,94,.06);}

/* ── MISC ───────────────────────────────────────────────── */
.empty-state{text-align:center; padding:60px 24px; color:var(--gray);}
.empty-state a{color:var(--orange); font-weight:700; text-decoration:none;}

.cert-card{
  background:#fff; border-radius:10px; padding:20px 26px; margin-bottom:14px;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;
  box-shadow:0 2px 12px rgba(28,46,94,.06); border-left:4px solid var(--orange);
}
.cert-card .cert-meta{font-size:.8rem; color:var(--gray); margin-top:4px;}

.material-row{
  background:#fff; border-radius:8px; padding:16px 22px; margin-bottom:10px;
  display:flex; justify-content:space-between; align-items:center; box-shadow:0 2px 10px rgba(28,46,94,.05);
}

.validate-result{
  background:#fff; border-radius:12px; padding:36px; text-align:center; box-shadow:0 8px 30px rgba(28,46,94,.08); max-width:480px; margin:0 auto;
}
.validate-result .icon{font-size:2.6rem; margin-bottom:10px;}
.validate-result h2{margin-bottom:14px;}

/* ── SERVIÇOS — ACCORDION ───────────────────────────────── */
.servicos-intro{max-width:760px; margin:0 auto 40px; text-align:center;}
.servicos-intro p{color:var(--text); line-height:1.8; font-size:1rem;}
.accordion-list{max-width:880px; margin:0 auto; display:flex; flex-direction:column; gap:14px;}
.accordion-item{background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 3px 14px rgba(28,46,94,.07); border:1px solid #eef1f8;}
.accordion-header{
  display:flex; align-items:center; gap:16px; padding:20px 24px; cursor:pointer;
  background:#fff; border:none; width:100%; text-align:left; transition:background .2s;
}
.accordion-header:hover{background:var(--light);}
.accordion-icon-box{
  width:46px; height:46px; border-radius:10px; background:linear-gradient(135deg,var(--navy),var(--navy-mid));
  display:flex; align-items:center; justify-content:center; font-size:1.3rem; flex-shrink:0;
}
.accordion-title{flex:1;}
.accordion-title h3{color:var(--navy); font-size:1.15rem; margin-bottom:2px; font-family:'Bebas Neue',sans-serif; letter-spacing:.5px;}
.accordion-title span{color:var(--gray); font-size:.78rem; font-weight:600;}
.accordion-chevron{
  width:30px; height:30px; border-radius:50%; background:var(--light);
  display:flex; align-items:center; justify-content:center; font-size:.9rem; color:var(--navy);
  transition:transform .3s, background .2s; flex-shrink:0;
}
.accordion-item.open .accordion-chevron{background:var(--orange); color:#fff; transform:rotate(45deg);}
.accordion-body{max-height:0; overflow:hidden; transition:max-height .4s ease;}
.accordion-item.open .accordion-body{max-height:1400px;}
.accordion-body-inner{padding:0 24px 24px 86px;}
.servico-grid-list{list-style:none; display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:8px 16px;}
.servico-grid-list li{display:flex; align-items:flex-start; gap:8px; font-size:.87rem; color:var(--text); line-height:1.5;}
.servico-grid-list li::before{content:'›'; color:var(--orange); font-weight:800; flex-shrink:0;}

/* ── VALUE CARDS (Missão/Visão/Valores) ──────────────────── */
.value-card{border-radius:10px; overflow:hidden; box-shadow:0 6px 20px rgba(28,46,94,.1); transition:transform .2s; display:flex;}
.value-card:hover{transform:translateY(-4px);}
.value-card-inner{padding:32px 28px; color:#fff; flex:1; display:flex; flex-direction:column;}
.value-card-inner .ico{font-size:2rem; margin-bottom:14px;}
.value-card-inner h3{color:#fff; font-size:1.6rem; margin-bottom:12px;}
.value-card-inner p{line-height:1.75; font-size:.95rem;}

/* ── RESPONSIVE ─────────────────────────────────────────── */
@media(max-width:1024px){
  .nav-links{display:none;}
}
@media(max-width:900px){
  .hero{grid-template-columns:1fr;}
  .hero-mosaic{display:none;}
  .detalhe-layout{grid-template-columns:1fr;}
  .buy-card{position:static;}
  .aula-layout{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .navbar{padding:0 16px;}
  .nav-auth{gap:6px;}
  .nav-auth .btn-primary, .nav-auth .btn-outline{padding:9px 14px; font-size:.72rem;}
  .section, .container{padding:40px 16px;}
}

/* ── Conteúdo didático / leituras / prova ───────────────────── */
.lesson-kind{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#eef5ff;border:1px solid #d7e4f6;color:var(--navy);padding:10px 14px;border-radius:9px;margin-bottom:14px;font-size:.82rem;font-weight:700;}
.lesson-reading{background:#fff;border-radius:12px;padding:28px;box-shadow:0 4px 18px rgba(28,46,94,.06);line-height:1.75;color:#25304a;}
.lesson-reading h2{font-family:'Barlow Condensed',sans-serif;color:var(--navy);font-size:1.45rem;margin:0 0 12px;}
.lesson-reading h3{color:var(--navy);margin:26px 0 8px;font-size:1.05rem;}
.lesson-reading p{margin:0 0 14px;}
.lesson-reading ul,.lesson-reading ol{margin:8px 0 18px 24px;display:flex;flex-direction:column;gap:7px;}
.lesson-reading .learning-goal{border-left:4px solid var(--orange);background:#fff7ef;padding:14px 16px;border-radius:0 8px 8px 0;margin:14px 0 22px;}
.lesson-reading .safety-alert{border:1px solid #f3c678;background:#fff9e8;padding:14px 16px;border-radius:9px;margin:18px 0;}
.lesson-reading .practice-box{background:#f3f7f5;border:1px solid #d9e9df;padding:16px;border-radius:9px;margin:18px 0;}
.lesson-reading .didactic-figure{margin:22px 0;padding:18px;border-radius:12px;background:#f6f8fc;border:1px solid #e4e9f3;overflow:auto;}
.lesson-reading .figure-title{font-weight:800;color:var(--navy);margin-bottom:12px;display:block;}
.hierarchy-chart{display:grid;gap:7px;max-width:680px;margin:auto;}
.hierarchy-chart span{display:block;text-align:center;border:1px solid #ccd6e7;border-radius:7px;padding:9px;background:#fff;font-weight:700;font-size:.86rem;}
.hierarchy-chart span:nth-child(1){width:55%;margin:auto}.hierarchy-chart span:nth-child(2){width:65%;margin:auto}.hierarchy-chart span:nth-child(3){width:75%;margin:auto}.hierarchy-chart span:nth-child(4){width:85%;margin:auto}.hierarchy-chart span:nth-child(5){width:95%;margin:auto}
.risk-matrix{display:grid;grid-template-columns:100px repeat(3,1fr);gap:4px;min-width:470px}.risk-matrix div{padding:9px;text-align:center;border-radius:5px;background:#fff;border:1px solid #dfe5ef;font-size:.78rem}.risk-matrix .head{font-weight:800;background:#e9eef7}.risk-matrix .low{background:#e8f6ee}.risk-matrix .med{background:#fff6d8}.risk-matrix .high{background:#fde8e8}
.flow-chart{display:flex;align-items:stretch;gap:8px;min-width:620px}.flow-chart div{flex:1;padding:12px 8px;background:#fff;border:1px solid #dce3ef;border-radius:8px;text-align:center;font-size:.78rem;font-weight:700;position:relative}.flow-chart div:not(:last-child)::after{content:'→';position:absolute;right:-10px;top:50%;transform:translateY(-50%);color:var(--orange);font-size:1.2rem;z-index:2}
.video-course-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;color:#fff;gap:8px}.video-placeholder-icon{width:64px;height:64px;border:2px solid rgba(255,255,255,.65);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.7rem;padding-left:4px}.video-course-placeholder span{max-width:520px;color:rgba(255,255,255,.7);font-size:.88rem;line-height:1.5}
.video-script{background:#fff;border-radius:10px;padding:22px;margin-top:16px;box-shadow:0 4px 16px rgba(28,46,94,.05)}.video-script h2{color:var(--navy);font-size:1.2rem;margin-bottom:10px}.video-script ol{margin-left:22px;display:flex;flex-direction:column;gap:7px;color:#38435a;line-height:1.55}
.lesson-source{margin:18px 0;padding:11px 14px;background:#f6f8fc;border-radius:8px;font-size:.8rem;color:#5a6477}.lesson-source a{color:var(--navy);font-weight:700}
.lesson-nav-text{display:flex;flex-direction:column;gap:2px;line-height:1.25}.lesson-nav-text small{font-size:.58rem;letter-spacing:1px;color:#8791a4;font-weight:800}.exam-sidebar-link{display:block;margin-top:18px;padding:12px;border-radius:8px;background:var(--navy);color:#fff;text-decoration:none;font-size:.82rem;font-weight:800;text-align:center}
.course-section-title{color:var(--navy);margin:32px 0 14px;font-family:'Bebas Neue',sans-serif;font-size:1.4rem}.learning-module-card a{color:var(--text);text-decoration:none}.final-exam-card{margin-top:24px;background:#fff;border:1px solid #e3e8f1;border-left:5px solid var(--orange);border-radius:10px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 4px 16px rgba(28,46,94,.05)}.final-exam-card.passed{border-left-color:#1e7e34}.final-exam-card h3{color:var(--navy);margin:3px 0 5px}.final-exam-card p{margin:0;color:var(--gray);font-size:.88rem}.exam-kicker{font-size:.65rem;letter-spacing:1.5px;color:var(--orange);font-weight:900}
.exam-page{max-width:900px}.exam-form{display:flex;flex-direction:column;gap:18px}.question-card{background:#fff;border:1px solid #e4e9f2;border-radius:12px;padding:22px;box-shadow:0 3px 14px rgba(28,46,94,.04)}.question-number{font-size:.68rem;letter-spacing:1px;font-weight:900;color:var(--orange);text-transform:uppercase}.question-card h2{font-size:1.05rem;color:var(--navy);margin:8px 0 16px;line-height:1.45}.options-grid{display:grid;gap:9px}.exam-option{display:flex;align-items:flex-start;gap:11px;border:1px solid #dfe5ef;border-radius:9px;padding:12px;cursor:pointer;line-height:1.4}.exam-option:hover{background:#f8faff;border-color:#becbe0}.exam-option input{margin-top:4px}.option-letter{width:26px;height:26px;border-radius:50%;background:#edf1f8;color:var(--navy);display:inline-flex;align-items:center;justify-content:center;font-weight:900;flex-shrink:0}.alert-box{padding:16px;border-radius:9px;margin:18px 0}.warning-box{background:#fff7df;border:1px solid #efd391;color:#6f5212}.attempt-history{margin-top:28px;background:#fff;padding:18px;border-radius:10px}.attempt-history h3{color:var(--navy);margin-bottom:8px}.attempt-history p{font-size:.84rem;color:#596275;margin:5px 0}
.result-hero{display:flex;align-items:center;gap:22px;padding:28px;border-radius:14px;margin-bottom:18px}.result-hero.approved{background:#e9f6ee;border:1px solid #bfe1cb}.result-hero.failed{background:#fff2e8;border:1px solid #f0ccb2}.result-score{font-family:'Bebas Neue',sans-serif;font-size:4rem;line-height:1;color:var(--navy)}.result-hero h1{color:var(--navy);margin:2px 0}.result-hero p{margin:0;color:#596275}.result-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 28px}.answer-review h2{color:var(--navy);margin-bottom:12px}.review-card{background:#fff;padding:18px;border-radius:9px;border:1px solid #e5eaf2;margin-bottom:10px}.review-card p{margin:8px 0 0;color:#596275;line-height:1.5}.correct-answer{color:#176336!important;font-weight:700}
@media(max-width:700px){.lesson-reading{padding:20px}.final-exam-card{flex-direction:column;align-items:flex-start}.result-hero{flex-direction:column;align-items:flex-start}.flow-chart{min-width:560px}}
