:root{
  --brand-dark:#071a2d;
  --brand-primary:#0d2b4d;
  --brand-primary-2:#163e6b;
  --brand-accent:#ffb400;
  --brand-accent-2:#ffc94d;
  --brand-light:#f4f7fb;
  --brand-surface:#ffffff;
  --brand-border:#dbe5f1;
  --brand-text:#172554;
  --brand-text-soft:#5b6b82;
  --shadow-sm:0 8px 24px rgba(7,26,45,.06);
  --shadow-md:0 16px 42px rgba(7,26,45,.10);
  --shadow-lg:0 22px 60px rgba(7,26,45,.14);
  --radius-sm:14px;
  --radius-md:20px;
  --radius-lg:28px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:linear-gradient(180deg,#f6f9fc 0%,#eef3f9 100%);
  color:#1f2937;
  font-family:Inter,Arial,Helvetica,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:var(--brand-primary)}
a:hover{color:#091f37}
img{max-width:100%}
main{min-height:calc(100vh - 180px)}

.bg-brand{background:linear-gradient(135deg,var(--brand-dark),var(--brand-primary))!important}
.text-brand{color:var(--brand-primary)!important}
.text-soft{color:var(--brand-text-soft)!important}
.bg-soft{background:#f8fbff!important}

.btn{border-radius:14px;font-weight:600;padding:.72rem 1rem;transition:.18s ease}
.btn:hover{transform:translateY(-1px)}
.btn:focus,.form-control:focus,.form-select:focus,.form-check-input:focus{box-shadow:0 0 0 .25rem rgba(13,43,77,.12)!important;border-color:#9cb8d9!important}
.btn-brand{
  background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary-2));
  color:#fff;border:none;box-shadow:0 10px 22px rgba(13,43,77,.22)
}
.btn-brand:hover{background:linear-gradient(135deg,#0a213b,#173f6d);color:#fff;box-shadow:0 14px 26px rgba(13,43,77,.28)}
.btn-outline-light,.btn-outline-secondary,.btn-outline-success,.btn-outline-primary{font-weight:600}
.btn-warning{background:linear-gradient(135deg,var(--brand-accent),var(--brand-accent-2));border:none;color:#111827;box-shadow:0 10px 22px rgba(255,180,0,.24)}
.btn-warning:hover{color:#111827;filter:brightness(.98)}

.form-control,.form-select,textarea.form-control{
  border-radius:14px;
  border:1px solid var(--brand-border);
  min-height:48px;
  padding:.78rem .95rem;
  background:#fff;
}
textarea.form-control{min-height:120px}
.form-label{font-weight:600;color:var(--brand-text);margin-bottom:.45rem}
.form-check-input:checked{background-color:var(--brand-primary);border-color:var(--brand-primary)}

.alert{border:none;border-radius:16px;box-shadow:var(--shadow-sm);padding:1rem 1.15rem}
.badge{border-radius:999px;font-weight:700;letter-spacing:.01em}
.badge-soft{background:#f5f8fc;color:#0d2b4d;border:1px solid #dce6f3;padding:.55rem .8rem}

.navbar{
  backdrop-filter:saturate(140%) blur(8px);
  background:linear-gradient(90deg,rgba(7,26,45,.98),rgba(13,43,77,.96))!important;
}
.navbar-brand img{height:38px}
.navbar .nav-link{
  color:rgba(255,255,255,.82)!important;
  font-weight:600;
  padding:.68rem .92rem!important;
  border-radius:12px;
}
.navbar .nav-link:hover,.navbar .nav-link.active{color:#fff!important;background:rgba(255,255,255,.08)}
.navbar-toggler{border:none;box-shadow:none!important}

.hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 86% 20%, rgba(255,191,60,.22), transparent 0 24%),
    radial-gradient(circle at 12% 90%, rgba(255,255,255,.06), transparent 0 18%),
    linear-gradient(135deg,#061629 0%,#0d2b4d 58%,#183d6a 100%);
  color:#fff;
  border-radius:30px;
  padding:58px 34px;
  box-shadow:var(--shadow-lg);
}
.hero:before{
  content:"";position:absolute;inset:auto -60px -60px auto;width:220px;height:220px;
  background:radial-gradient(circle,rgba(255,180,0,.16),transparent 70%);pointer-events:none
}
.hero p{max-width:760px;color:rgba(255,255,255,.88)}
.hero .panel{border-radius:24px;box-shadow:none;background:rgba(255,255,255,.94)!important}

.panel,.form-panel,.metric-card,.card-elevated,.lesson-sidebar{
  background:var(--brand-surface);
  border:1px solid rgba(219,229,241,.72);
  border-radius:24px;
  box-shadow:var(--shadow-sm);
}
.panel,.form-panel{padding:24px}
.metric-card{
  padding:24px;
  position:relative;
  overflow:hidden;
  min-height:128px;
}
.metric-card:after{display:none}
.metric-card .display-6{color:var(--brand-text)}
.card-elevated{overflow:hidden;transition:.18s ease}
.card-elevated:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.course-card img,.student-course-card img{width:100%;background:#e9eef5}
.course-card img{height:220px;object-fit:cover;border-top-left-radius:24px;border-top-right-radius:24px}
.student-course-card img{height:190px;object-fit:cover;border-top-left-radius:24px;border-top-right-radius:24px}
.card-body{padding:1.35rem}
.card-title,.h5,h5{color:var(--brand-text)}

.table{--bs-table-bg:transparent;margin-bottom:0}
.table thead th{
  border-bottom:1px solid #dbe5f1;
  color:var(--brand-text-soft);
  font-size:.8rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  padding:.9rem .85rem;
}
.table tbody td{padding:1rem .85rem;border-color:#edf2f7;vertical-align:middle}
.table tbody tr:hover{background:rgba(248,251,255,.9)}
.table-responsive{border-radius:18px}

.progress{height:11px;border-radius:999px;background:#e7eef7;overflow:hidden}
.progress-bar{background:linear-gradient(90deg,var(--brand-primary),#2f6aa6)}

.login-box{
  max-width:520px;
  margin:1.2rem auto;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(219,229,241,.8);
  box-shadow:var(--shadow-md);
}
.login-box .btn-brand{min-height:50px}

.admin-body,.student-body{background:linear-gradient(180deg,#f4f7fb 0%,#edf2f8 100%)}
.admin-shell{display:flex;min-height:100vh}
.admin-sidebar{
  width:284px;
  background:linear-gradient(180deg,#071a2d 0%,#0d2b4d 56%,#123a66 100%);
  color:#fff;position:sticky;top:0;height:100vh;box-shadow:18px 0 40px rgba(7,26,45,.12);
  display:flex;flex-direction:column
}
.admin-sidebar .border-bottom{border-color:rgba(255,255,255,.09)!important}
.admin-sidebar .brand-slot{display:flex;align-items:center;justify-content:center;min-height:86px}
.admin-sidebar .brand-slot img{height:40px}
.admin-sidebar .nav{padding-top:1rem!important;display:flex;flex-direction:column;flex:1;min-height:0}
.admin-sidebar .nav-link{
  color:#d9e6f5;
  padding:.9rem 1rem;
  border-radius:14px;
  display:flex;
  align-items:center;
  gap:.75rem;
  font-weight:600;
}
.admin-sidebar .nav-link:hover,.admin-sidebar .nav-link.active{background:rgba(255,255,255,.10);color:#fff}
.admin-sidebar .nav-link.nav-logout{margin-top:auto!important;background:rgba(255,255,255,.04)!important;color:#d9e6f5!important;border:1px solid rgba(255,255,255,.12)!important}
.admin-sidebar .nav-link.nav-logout:hover{background:rgba(255,255,255,.10)!important;color:#fff!important}
.admin-content{flex:1;min-width:0}
.admin-topbar{
  padding:1.2rem 1.45rem;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(8px);
  border-bottom:1px solid #dce6f3;
  position:sticky;top:0;z-index:20;
}
.topbar-user{
  background:#f8fbff;border:1px solid #dce6f3;border-radius:16px;padding:.7rem .95rem;min-width:220px
}
.admin-topbar h1{color:var(--brand-text);font-weight:800}
.admin-topbar .subtitle{color:var(--brand-text-soft)}
.container-fluid.py-4{padding:1.5rem!important}

.student-sidebar{background:linear-gradient(180deg,#071a2d,#0d2b4d 58%,#123a66)}
.student-sidebar .student-welcome{padding-top:0!important}
.student-sidebar .student-welcome-card{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:1rem;
}
.student-topbar{background:rgba(255,255,255,.88)}
.student-hero-panel{
  background:linear-gradient(135deg,#ffffff 0%,#f8fbff 52%,#eef5fd 100%);
  border:1px solid #dce6f3;
}
.student-kpi-list{display:grid;gap:14px}
.student-kpi-list div{display:flex;justify-content:space-between;align-items:center;padding:14px 15px;border:1px solid #dce6f3;border-radius:16px;background:#f8fbff}
.student-kpi-list strong{font-size:1.15rem;color:#0d2b4d}
.student-lesson-sidebar{padding:20px;box-shadow:var(--shadow-sm)}
.student-list-group .list-group-item{border-radius:14px!important;border:1px solid #e5edf7;margin-bottom:8px;padding:.88rem .95rem;font-weight:600}
.student-list-group .list-group-item.active{background:linear-gradient(135deg,#0d2b4d,#173f6d);border-color:#173f6d;box-shadow:0 12px 22px rgba(13,43,77,.18)}
.lesson-content{line-height:1.78;color:#334155;font-size:1rem}
.video-wrap iframe,.video-wrap video{width:100%;min-height:460px;border:none;border-radius:20px;background:#0b1120;box-shadow:var(--shadow-sm)}

footer{
  background:linear-gradient(90deg,rgba(7,26,45,.98),rgba(13,43,77,.96))!important;
  border-top:0!important;
  color:rgba(255,255,255,.78);
}
footer .footer-logo img{height:34px;display:block}
footer .footer-copy{color:rgba(255,255,255,.72)}

.section-title{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}
.empty-state{padding:1.5rem;border-radius:18px;background:#f8fbff;border:1px dashed #cddaea;color:var(--brand-text-soft)}


.home-kpi-grid .col-md-4{display:flex}
.home-kpi-grid .metric-card{
  width:100%;
  min-height:160px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-start;
  background:#fff!important;
  background-image:none!important;
}
.home-kpi-grid .metric-card::before,
.home-kpi-grid .metric-card::after{
  content:none!important;
  display:none!important;
  background:none!important;
  background-image:none!important;
}
.home-kpi-grid .metric-card .display-6{
  line-height:1.1;
  max-width:100%;
  word-break:normal;
}

@media (max-width:1199.98px){
  .admin-sidebar{width:258px}
  .video-wrap iframe,.video-wrap video{min-height:340px}
}

@media (max-width:991.98px){
  .navbar-brand img{height:34px}
  .hero{padding:34px 22px;border-radius:24px}
  .hero .display-5{font-size:2.25rem}
  .admin-shell{display:block}
  .admin-sidebar{width:100%;height:auto;position:relative;box-shadow:none}
  .admin-sidebar .brand-slot{justify-content:flex-start;min-height:auto}
  .admin-sidebar .nav{padding:1rem!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem!important}
  .admin-sidebar .nav-link{min-height:50px;justify-content:center;text-align:center;padding:.82rem .8rem}
  .admin-sidebar .nav-link.nav-logout{grid-column:1/-1}
  .admin-topbar{padding:1rem;position:relative}
  .topbar-user{min-width:0}
  .container-fluid.py-4{padding:1rem!important}
  .student-shell .admin-sidebar .nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .video-wrap iframe,.video-wrap video{min-height:260px}
}

@media (max-width:767.98px){
  body{font-size:.97rem}
  .hero .display-5{font-size:2rem;line-height:1.16}
  .panel,.form-panel,.metric-card{padding:18px}
  .card-body{padding:1.1rem}
  .login-box{margin:.25rem auto}
  .section-title{align-items:flex-start;flex-direction:column}
  .admin-sidebar .nav,.student-shell .admin-sidebar .nav{grid-template-columns:1fr}
  .admin-topbar,.student-topbar{flex-direction:column;align-items:flex-start!important;gap:.8rem}
  .topbar-user{width:100%}
  .table thead th{font-size:.74rem}
  .table tbody td{padding:.85rem .75rem}
  footer .container{align-items:flex-start!important}
}


/* LANDING PAGE CONVERSAO */
.hero-conversion .display-4{font-size:3.45rem;line-height:1.08;letter-spacing:-.03em}
.hero-badge{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.5rem 1rem;border-radius:999px;font-size:.84rem;font-weight:800;
  letter-spacing:.02em;color:#0b1f3a;
  background:linear-gradient(135deg,#ffd257,#ffb400);
  box-shadow:0 10px 24px rgba(255,180,0,.22), inset 0 1px 0 rgba(255,255,255,.55);
}
.hero-points{display:flex;flex-wrap:wrap;gap:.75rem}
.hero-points span{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.7rem .95rem;border-radius:999px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);
  color:#fff;font-weight:600;font-size:.95rem;
}
.hero-points span:before{content:"•";color:#ffd257;font-size:1rem;line-height:1}
.hero-proof-card{height:100%}
.hero-proof-grid{display:grid;gap:1rem}
.hero-proof-grid>div{padding:1rem 1rem;border:1px solid #e4ecf6;border-radius:18px;background:#fbfdff}
.hero-proof-grid strong{display:block;margin-bottom:.35rem;color:var(--brand-text)}
.hero-proof-grid p{color:var(--brand-text-soft);font-size:.95rem;line-height:1.6}
.landing-section{position:relative}
.landing-panel{padding:28px}
.eyebrow{
  display:inline-flex;align-items:center;gap:.45rem;
  font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;
  color:var(--brand-primary);margin-bottom:.9rem;
}
.eyebrow:before{content:"";width:28px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--brand-accent),var(--brand-primary))}
.nr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.nr-item{
  border:1px solid #dce6f3;background:#f8fbff;border-radius:18px;padding:1rem 1rem;
  display:flex;flex-direction:column;gap:.2rem;min-height:92px;justify-content:center;
}
.nr-item strong{font-size:1.05rem;color:var(--brand-text)}
.nr-item span{color:var(--brand-text-soft);font-size:.95rem}
.steps-list{display:grid;gap:14px}
.step-item{display:flex;gap:14px;align-items:flex-start;padding:1rem;border:1px solid #dce6f3;border-radius:18px;background:#f8fbff}
.step-item span{
  width:38px;height:38px;min-width:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary-2));color:#fff;font-weight:800;box-shadow:0 10px 18px rgba(13,43,77,.16)
}
.step-item strong{display:block;margin-bottom:.22rem;color:var(--brand-text)}
.step-item p{color:var(--brand-text-soft);line-height:1.6}
.audience-panel{overflow:hidden}
.audience-tags{display:flex;flex-wrap:wrap;gap:.8rem}
.audience-tags span{display:inline-flex;padding:.75rem 1rem;border-radius:999px;background:#f8fbff;border:1px solid #dce6f3;color:var(--brand-text);font-weight:700}
.metric-copy{color:var(--brand-text-soft);font-size:.95rem;line-height:1.55;margin-top:.65rem}
.final-cta-panel{padding:34px}
.final-cta-copy{max-width:740px}

@media (max-width:991.98px){
  .hero-conversion .display-4{font-size:2.7rem}
  .hero-points span{font-size:.88rem;padding:.62rem .82rem}
}

@media (max-width:767.98px){
  .hero-conversion .display-4{font-size:2.15rem;line-height:1.12}
  .hero-badge{font-size:.76rem;padding:.46rem .8rem;max-width:100%;text-align:center;white-space:normal}
  .hero-points{gap:.55rem}
  .hero-points span{font-size:.84rem;width:100%;justify-content:flex-start}
  .landing-panel,.final-cta-panel{padding:20px}
  .nr-grid{grid-template-columns:1fr}
  .step-item{padding:.9rem}
  .audience-tags span{width:100%;justify-content:center}
}


/* CTA amarelo no menu superior da home */
.navbar .nav-link.nav-cta{
  color:#111827!important;
  background:linear-gradient(135deg,var(--brand-accent),var(--brand-accent-2))!important;
  box-shadow:0 10px 22px rgba(255,180,0,.24);
  border-radius:14px;
  padding:.72rem 1rem!important;
}
.navbar .nav-link.nav-cta:hover,
.navbar .nav-link.nav-cta.active{
  color:#111827!important;
  background:linear-gradient(135deg,var(--brand-accent),var(--brand-accent-2))!important;
  box-shadow:0 12px 24px rgba(255,180,0,.30);
  transform:translateY(-1px);
}
@media (max-width:991.98px){
  .navbar .nav-link.nav-cta{display:block;text-align:center;margin-top:.35rem}
}


/* MENU HAMBURGER ADMIN/ALUNO - MOBILE/TABLET */
.mobile-menu-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  width:52px;
  height:52px;
  border:none;
  border-radius:18px;
  background:linear-gradient(135deg,#0d2b4d,#163e6b);
  box-shadow:0 12px 24px rgba(13,43,77,.20);
  padding:0;
  margin-left:auto;
}
.mobile-menu-toggle span{
  display:block;
  width:22px;
  height:2.5px;
  background:#fff;
  border-radius:999px;
}
.sidebar-backdrop{
  position:fixed;
  inset:0;
  border:0;
  background:rgba(7,26,45,.48);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease, visibility .22s ease;
  z-index:1040;
}
@media (max-width: 991.98px){
  .mobile-menu-toggle{display:inline-flex;}
  .admin-shell{
    position:relative;
    display:block !important;
  }
  .admin-sidebar{
    position:fixed !important;
    left:auto !important;
    right:0 !important;
    top:0 !important;
    bottom:0 !important;
    width:min(340px,88vw) !important;
    height:100vh !important;
    z-index:1050 !important;
    transform:translateX(100%);
    transition:transform .24s ease;
    overflow-y:auto;
    box-shadow:-18px 0 40px rgba(7,26,45,.24) !important;
  }
  .admin-shell.sidebar-open .admin-sidebar{
    transform:translateX(0);
  }
  .admin-shell.sidebar-open .sidebar-backdrop{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .admin-content{
    min-width:0;
  }
  .admin-topbar,
  .student-topbar{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    align-items:start !important;
    gap:1rem !important;
    padding:1rem !important;
  }
  .admin-topbar > div:first-child{
    min-width:0;
  }
  .admin-topbar .topbar-user{
    grid-column:1 / -1;
    width:100%;
    text-align:left !important;
  }
  .admin-sidebar .nav{
    min-height:calc(100vh - 90px);
  }
  .admin-sidebar .nav-link{
    text-align:left !important;
    justify-content:flex-start !important;
  }
}
@media (max-width: 767.98px){
  .admin-topbar h1{font-size:1.8rem !important; line-height:1.1;}
  .admin-topbar .subtitle{font-size:1rem !important;}
}

/* ===== REFATORAÇÃO VISUAL PROFISSIONAL - FASE 1 ===== */
.premium-navbar .navbar-meta span{
  color:rgba(255,255,255,.74);
  font-size:.92rem;
  font-weight:500;
}
.premium-footer .footer-grid{
  display:grid;
  grid-template-columns:1.3fr .8fr 1fr;
  gap:1.4rem;
}
.footer-title{font-size:1rem;font-weight:800;color:#fff;margin-bottom:1rem}
.footer-links li+li{margin-top:.55rem}
.footer-links a{color:rgba(255,255,255,.82);text-decoration:none}
.footer-links a:hover{color:#fff}
.footer-contact-card{padding:1rem 1.1rem;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.05)}
.footer-contact-card hr{border-color:rgba(255,255,255,.12)}
.footer-pills{display:flex;flex-wrap:wrap;gap:.65rem}
.footer-pills span{padding:.62rem .9rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;font-weight:700;font-size:.9rem}
.home-proof-stack{display:grid;gap:1rem}
.proof-mini-card{padding:1rem 1.1rem;border-radius:18px;background:linear-gradient(135deg,#0d2b4d,#173f6d);color:#fff;box-shadow:0 16px 30px rgba(13,43,77,.14)}
.proof-mini-card small{display:block;color:rgba(255,255,255,.74);margin-bottom:.25rem}
.proof-mini-card strong{display:block;font-size:1.05rem;line-height:1.4}
.premium-course-card .course-card-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.course-card-points{display:flex;flex-wrap:wrap;gap:.5rem}
.course-card-points span{display:inline-flex;align-items:center;padding:.46rem .72rem;border-radius:999px;background:#f5f8fc;border:1px solid #dce6f3;color:#274061;font-size:.8rem;font-weight:700}
.faq-panel .faq-list{display:grid;gap:1rem}
.faq-panel .faq-list>div{padding:1rem 1rem;border:1px solid #dce6f3;border-radius:18px;background:#f8fbff}
.faq-panel .faq-list strong{display:block;color:var(--brand-text);margin-bottom:.35rem}
.auth-shell{display:grid;grid-template-columns:1.1fr .95fr;gap:1.4rem;align-items:stretch}
.auth-showcase{padding:2rem;border-radius:28px;background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);border:1px solid #dce6f3;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:center}
.auth-benefits{display:grid;gap:.9rem;margin-top:.75rem}
.auth-benefits>div{padding:1rem 1rem;border-radius:18px;border:1px solid #dce6f3;background:#f8fbff}
.auth-benefits strong{display:block;color:var(--brand-text);margin-bottom:.25rem}
.auth-benefits span{color:var(--brand-text-soft);font-size:.95rem;line-height:1.55}
.auth-card{display:flex;flex-direction:column;justify-content:center}
.auth-links{display:flex;gap:.55rem;justify-content:center;align-items:center;flex-wrap:wrap}
.auth-links a{text-decoration:none;font-weight:700}
.course-hero-card{padding:2rem;border-radius:30px;background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);border:1px solid #dce6f3;box-shadow:var(--shadow-md)}
.course-hero-meta{display:flex;flex-wrap:wrap;gap:.5rem}
.course-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.course-feature-grid>div{padding:1rem;border-radius:20px;background:#f8fbff;border:1px solid #dce6f3}
.course-feature-grid strong{display:block;color:var(--brand-text);margin-bottom:.2rem}
.course-feature-grid span{display:block;color:var(--brand-text-soft);font-size:.92rem;line-height:1.5}
.course-purchase-card{padding:1rem;border-radius:24px;border:1px solid #dce6f3;background:#fff;box-shadow:var(--shadow-sm)}
.course-purchase-cover{width:100%;height:220px;object-fit:cover;border-radius:20px;margin-bottom:1rem;background:#edf3f9}
.course-price-block{display:flex;flex-direction:column;padding:1rem;border-radius:18px;background:#f8fbff;border:1px solid #dce6f3;margin-bottom:1rem}
.course-price-block small{color:var(--brand-text-soft);font-weight:700}
.course-price-block strong{font-size:2rem;color:var(--brand-primary);line-height:1.1}
.course-purchase-points{display:grid;gap:.55rem;margin-bottom:1rem}
.course-purchase-points span{padding:.8rem .9rem;border-radius:16px;border:1px solid #dce6f3;background:#f8fbff;color:var(--brand-text);font-weight:700}
.course-side-list{display:grid;gap:.7rem}
.course-side-list>div{display:flex;justify-content:space-between;gap:1rem;padding:.95rem 1rem;border:1px solid #dce6f3;border-radius:16px;background:#f8fbff}
.course-side-list span{color:var(--brand-text-soft);font-weight:700}
.course-side-list strong{color:var(--brand-text)}
.premium-accordion .accordion-item{border:1px solid #dce6f3;border-radius:18px!important;overflow:hidden;background:#fff;margin-bottom:.85rem}
.premium-accordion .accordion-button{background:#f8fbff;box-shadow:none!important;font-weight:700;color:var(--brand-text)}
.premium-accordion .accordion-button:not(.collapsed){background:#eef5ff;color:var(--brand-primary)}
.premium-list-group .list-group-item{border-radius:14px!important;border:1px solid #e5edf7;margin-bottom:8px;padding:.9rem .95rem}
.journey-grid,.quick-actions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.quick-actions-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.journey-card,.quick-action-card{padding:1rem 1rem;border-radius:20px;border:1px solid #dce6f3;background:#f8fbff;text-decoration:none;transition:.18s ease}
.quick-action-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm)}
.journey-card strong,.quick-action-card strong{display:block;color:var(--brand-text);margin-bottom:.35rem}
.journey-card span,.quick-action-card span{display:block;color:var(--brand-text-soft);line-height:1.55;font-size:.94rem}
.lesson-header-card{padding:1.2rem 1.25rem}
.lesson-header-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;min-width:min(320px,100%)}
.lesson-header-stats>div{padding:.9rem 1rem;border-radius:18px;background:#f8fbff;border:1px solid #dce6f3}
.lesson-header-stats span{display:block;color:var(--brand-text-soft);font-size:.85rem;font-weight:700}
.lesson-header-stats strong{display:block;color:var(--brand-text);font-size:1.2rem}
.premium-table-wrap{border:1px solid #e5edf7;background:#fff}

@media (max-width:991.98px){
  .premium-footer .footer-grid,
  .auth-shell,
  .course-feature-grid,
  .journey-grid,
  .quick-actions-grid{grid-template-columns:1fr}
  .course-purchase-cover{height:200px}
}
@media (max-width:767.98px){
  .auth-showcase,.course-hero-card{padding:1.25rem}
  .lesson-header-stats{grid-template-columns:1fr}
  .premium-footer .footer-pills span,.course-card-points span{width:100%;justify-content:center}
}


/* ===== FASE 1.1 - acabamento premium ===== */
.checkout-shell,
.recovery-shell,
.validation-shell,
.status-shell{max-width:1200px;margin:0 auto}
.gradient-border-card{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  border:1px solid rgba(220,230,243,.95);
  border-radius:28px;
  box-shadow:0 20px 44px rgba(11,31,58,.08);
}
.gradient-border-card:before{
  content:"";
  position:absolute;inset:0 0 auto 0;height:4px;
  background:linear-gradient(90deg,var(--brand-accent),var(--brand-primary),#4d86c0);
}
.checkout-stepbar{display:flex;flex-wrap:wrap;gap:.75rem}
.checkout-stepbar span{
  display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1rem;border-radius:999px;
  background:#f7fbff;border:1px solid #dce6f3;color:var(--brand-text);font-weight:700;
}
.checkout-stepbar span small{
  width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary-2));color:#fff;font-size:.78rem
}
.checkout-summary-card,.checkout-method-card,.checkout-help-card,.certificate-card,.admin-form-card{
  border-radius:24px;border:1px solid #dce6f3;background:#fff;box-shadow:var(--shadow-sm);
}
.checkout-summary-cover{
  width:100%;height:230px;object-fit:cover;border-radius:22px;background:#eef4fb
}
.checkout-price{
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
  padding:1rem 1.1rem;border:1px solid #dce6f3;border-radius:18px;background:#f8fbff
}
.checkout-price strong{font-size:2rem;line-height:1;color:var(--brand-text)}
.checkout-bullet-list{display:grid;gap:.8rem}
.checkout-bullet-list li{
  list-style:none;display:flex;gap:.75rem;align-items:flex-start;margin:0;
  padding:.9rem 1rem;border:1px solid #e3ebf6;border-radius:18px;background:#fbfdff
}
.checkout-bullet-list li:before{
  content:"✓";display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;min-width:28px;border-radius:50%;
  background:linear-gradient(135deg,var(--brand-accent),var(--brand-accent-2));color:#111827;font-weight:900
}
.payment-option{
  border:1px solid #dce6f3;border-radius:20px;padding:1rem 1.1rem;background:#fff;transition:.18s ease;cursor:pointer
}
.payment-option.active,.payment-option:hover{border-color:#9cb8d9;box-shadow:0 14px 28px rgba(13,43,77,.08);transform:translateY(-2px)}
.payment-option input{margin-top:.2rem}
.payment-option .title{font-weight:800;color:var(--brand-text)}
.payment-option .desc{color:var(--brand-text-soft);font-size:.94rem}
.mini-trust-list{display:grid;gap:.8rem}
.mini-trust-list div{padding:1rem;border-radius:18px;border:1px solid #dce6f3;background:#f8fbff}
.mini-trust-list strong{display:block;color:var(--brand-text);margin-bottom:.2rem}
.auth-side-card{
  border-radius:28px;overflow:hidden;padding:28px;min-height:100%;
  background:
    radial-gradient(circle at 100% 0%, rgba(255,196,64,.18), transparent 0 22%),
    linear-gradient(135deg,#061629 0%,#0d2b4d 58%,#173f6d 100%);
  color:#fff;box-shadow:var(--shadow-lg)
}
.auth-side-card p{color:rgba(255,255,255,.84)}
.auth-side-list{display:grid;gap:.8rem}
.auth-side-list div{
  padding:.95rem 1rem;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)
}
.auth-side-list strong{display:block;margin-bottom:.2rem}
.temp-password-card{
  border-radius:20px;padding:1rem 1.1rem;border:1px dashed rgba(255,180,0,.55);
  background:linear-gradient(180deg,rgba(255,245,212,.92) 0%, rgba(255,250,232,.98) 100%)
}
.temp-password{
  display:inline-flex;align-items:center;gap:.55rem;padding:.9rem 1rem;border-radius:14px;
  background:#fff;border:1px solid rgba(255,180,0,.45);font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size:1.05rem;font-weight:800;color:#111827
}
.certificate-search-card{
  padding:28px;border-radius:28px;
  background:linear-gradient(135deg,#061629 0%,#0d2b4d 58%,#173f6d 100%);color:#fff;box-shadow:var(--shadow-lg)
}
.certificate-search-card p,.certificate-search-card .text-soft{color:rgba(255,255,255,.82)!important}
.verify-result-card{
  border-radius:24px;border:1px solid #dce6f3;background:#fff;box-shadow:var(--shadow-sm);padding:1.2rem
}
.verify-metrics{display:grid;gap:.9rem}
.verify-metrics div{padding:1rem;border-radius:18px;border:1px solid #dce6f3;background:#f8fbff}
.verify-metrics span{display:block;color:var(--brand-text-soft);font-size:.9rem}
.verify-metrics strong{display:block;color:var(--brand-text);font-size:1.05rem}
.certificate-preview{
  border:1px solid #dce6f3;border-radius:30px;padding:34px;background:
    radial-gradient(circle at top right, rgba(255,196,64,.14), transparent 0 22%),
    linear-gradient(180deg,#fffef8 0%, #ffffff 58%, #f9fbff 100%);
  box-shadow:var(--shadow-md)
}
.certificate-preview .seal{
  width:78px;height:78px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--brand-accent),var(--brand-accent-2));font-weight:900;color:#142b54;
  margin:0 auto 1rem auto;box-shadow:0 16px 30px rgba(255,180,0,.22)
}
.certificate-preview h2{font-size:2rem;letter-spacing:.12em;text-transform:uppercase}
.certificate-preview .student-name{font-size:1.8rem;font-weight:800;letter-spacing:-.03em;color:#0d2b4d}
.certificate-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.status-badge-pill{
  display:inline-flex;align-items:center;gap:.5rem;padding:.7rem .95rem;border-radius:999px;font-weight:800
}
.status-hero-card{
  border-radius:28px;padding:30px;background:
    radial-gradient(circle at top right, rgba(255,196,64,.16), transparent 0 24%),
    linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid #dce6f3;box-shadow:var(--shadow-md)
}
.status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.status-grid .item{padding:1rem;border:1px solid #dce6f3;border-radius:18px;background:#fff}
.status-grid .item span{display:block;color:var(--brand-text-soft);font-size:.88rem}
.status-grid .item strong{display:block;color:var(--brand-text);font-size:1.02rem}
.admin-page-head,.student-page-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1rem
}
.admin-page-head p,.student-page-head p{margin:0;color:var(--brand-text-soft)}
.admin-toolbar-card{
  padding:1rem 1.1rem;border-radius:22px;border:1px solid #dce6f3;background:#f8fbff
}
.inline-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.inline-kpis .kpi{
  padding:1rem 1.1rem;border:1px solid #dce6f3;border-radius:18px;background:#fff
}
.inline-kpis .kpi span{display:block;color:var(--brand-text-soft);font-size:.88rem}
.inline-kpis .kpi strong{display:block;color:var(--brand-text);font-size:1.35rem}
.profile-highlight{
  padding:1.1rem;border-radius:22px;border:1px solid #dce6f3;background:linear-gradient(180deg,#fbfdff 0%,#f4f8fd 100%)
}
.data-list{display:grid;gap:.85rem}
.data-list div{padding:1rem;border-radius:18px;border:1px solid #dce6f3;background:#fff}
.data-list span{display:block;color:var(--brand-text-soft);font-size:.9rem}
.data-list strong{display:block;color:var(--brand-text)}
.form-grid-note{
  padding:1rem;border-radius:18px;border:1px dashed #c7d6e8;background:#f8fbff;color:var(--brand-text-soft)
}
.table td .muted-stack{display:flex;flex-direction:column;gap:.15rem}
.table td .muted-stack small{color:var(--brand-text-soft)}
@media (max-width:991.98px){
  .inline-kpis,.status-grid{grid-template-columns:1fr}
  .checkout-summary-cover{height:200px}
}
@media (max-width:767.98px){
  .certificate-preview{padding:24px}
  .certificate-preview h2{font-size:1.3rem;letter-spacing:.08em}
  .certificate-preview .student-name{font-size:1.35rem}
  .auth-side-card,.certificate-search-card,.status-hero-card{padding:22px}
  .checkout-price strong{font-size:1.6rem}
}


/* ===== FASE 1.2 — refinamento final ===== */
.page-intro-card,
.glass-summary-card,
.premium-stat-card,
.premium-inline-stat,
.premium-note-card,
.premium-table-card,
.admin-summary-strip,
.student-summary-strip,
.course-progress-banner,
.action-card,
.settings-help-card,
.settings-block-card,
.profile-mini-card,
.checkout-cta-card,
.surface-card{
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  border:1px solid rgba(220,230,243,.92);
  border-radius:24px;
  box-shadow:var(--shadow-sm);
}
.page-intro-card,.premium-table-card,.settings-block-card,.surface-card{padding:24px}
.page-intro-card{
  position:relative;overflow:hidden;
  background:radial-gradient(circle at top right, rgba(255,196,64,.12), transparent 0 18%), linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}
.page-intro-card:after{
  content:"";position:absolute;right:-32px;bottom:-32px;width:120px;height:120px;
  background:radial-gradient(circle, rgba(13,43,77,.08), transparent 72%);
}
.page-intro-card > *{position:relative;z-index:1}
.premium-stat-card{padding:20px;min-height:122px}
.premium-stat-card .label{display:block;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#66758b}
.premium-stat-card strong{display:block;font-size:2rem;line-height:1.05;letter-spacing:-.04em;color:#10284c;margin-top:.35rem}
.premium-stat-card small{display:block;margin-top:.45rem;color:#6b7a90}
.admin-summary-strip,.student-summary-strip{padding:18px;display:grid;gap:14px}
@media (min-width:768px){.admin-summary-strip,.student-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr));}}
.premium-inline-stat{padding:16px 18px;border-radius:18px;background:#f8fbff;border:1px solid #dce6f3}
.premium-inline-stat span{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:#66758b;font-weight:800}
.premium-inline-stat strong{display:block;font-size:1.35rem;color:#10284c;margin-top:.35rem}
.premium-note-card{padding:18px 20px;background:#f8fbff;border-style:dashed}
.premium-table-card .table-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.table-search{min-width:220px;max-width:360px}
.row-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.course-progress-banner{padding:18px 20px;background:linear-gradient(135deg,#0d2b4d,#173f6d);color:#fff}
.course-progress-banner p,.course-progress-banner small{color:rgba(255,255,255,.84)}
.course-progress-banner .progress{background:rgba(255,255,255,.16)}
.course-progress-banner .progress-bar{background:linear-gradient(90deg,#ffc94d,#ffb400)}
.action-card{padding:18px 20px;display:flex;flex-direction:column;gap:6px;text-decoration:none;color:inherit;transition:.18s ease}
.action-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);color:inherit}
.action-card strong{color:#10284c;font-size:1rem}
.action-card span{color:#66758b}
.settings-help-card{padding:20px;background:linear-gradient(180deg,#f8fbff 0%,#eef5fd 100%)}
.settings-help-card ul{padding-left:1rem;margin:0}
.settings-help-card li+li{margin-top:.4rem}
.profile-mini-card{padding:18px 20px;background:#f8fbff;border-radius:20px;border:1px solid #dce6f3}
.profile-mini-card span{display:block;color:#66758b;font-size:.82rem;text-transform:uppercase;font-weight:800;letter-spacing:.05em}
.profile-mini-card strong{display:block;color:#10284c;font-size:1.05rem;margin-top:.35rem}
.checkout-cta-card{padding:18px 20px;background:linear-gradient(180deg,#fffaf0 0%,#ffffff 100%);border-color:rgba(255,196,64,.45)}
.surface-card{padding:20px}
.responsive-stack{display:flex;gap:12px;flex-wrap:wrap}
@media (max-width:991.98px){
  .page-intro-card,.premium-table-card,.settings-block-card,.surface-card,.panel,.form-panel{padding:20px}
  .premium-stat-card strong{font-size:1.65rem}
  .table-search{max-width:none;width:100%}
}
@media (max-width:575.98px){
  .admin-topbar,.student-topbar{padding:1rem 1rem 1rem 1.05rem}
  .topbar-user{display:none}
  .page-intro-card,.premium-table-card,.settings-block-card,.surface-card,.panel,.form-panel{padding:18px}
  .premium-inline-stat strong{font-size:1.15rem}
  .course-progress-banner{padding:16px}
  .row-actions{justify-content:flex-start}
  .mobile-menu-toggle{margin-left:auto}
}

/* Auth single-card layout */
body .login-box.panel.auth-card,
body .gradient-border-card {
  margin-left: auto;
  margin-right: auto;
}


/* Mobile table actions fix */
@media (max-width: 767.98px){
  .mobile-stack-table thead{
    display:none;
  }
  .mobile-stack-table,
  .mobile-stack-table tbody,
  .mobile-stack-table tr,
  .mobile-stack-table td{
    display:block;
    width:100%;
  }
  .mobile-stack-table tr{
    border-bottom:1px solid #e5edf7;
    padding:1rem;
    background:#fff;
  }
  .mobile-stack-table td{
    border:0 !important;
    padding:.45rem 0 !important;
    text-align:left !important;
    min-width:0 !important;
  }
  .mobile-stack-table td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:.25rem;
    color:#6b7a90;
    font-size:.76rem;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
  }
  .mobile-stack-table td.mobile-actions-cell::before{
    margin-bottom:.55rem;
  }
  .mobile-row-actions,
  .mobile-actions-cell .row-actions{
    display:flex;
    flex-direction:column;
    gap:.55rem;
    align-items:stretch;
  }
  .mobile-action-btn,
  .mobile-inline-form .mobile-action-btn,
  .mobile-order-form .btn,
  .mobile-actions-cell .btn,
  .mobile-actions-cell .form-select{
    width:100%;
  }
  .mobile-inline-form,
  .mobile-order-form{
    display:flex !important;
    flex-direction:column;
    gap:.55rem;
    width:100%;
  }
  .mobile-actions-cell form{
    margin:0 !important;
  }
  .premium-table-wrap{
    overflow:visible !important;
  }
  .premium-table-wrap > .table,
  .table-responsive > .table{
    min-width:0 !important;
  }
}


/* Dashboard latest orders mobile real fix */
@media (max-width: 767.98px){
  .dashboard-orders-card .table-responsive,
  .dashboard-orders-card .premium-table-wrap{
    overflow: visible !important;
  }
  .dashboard-orders-card .mobile-stack-table thead{
    display:none;
  }
  .dashboard-orders-card .mobile-stack-table,
  .dashboard-orders-card .mobile-stack-table tbody,
  .dashboard-orders-card .mobile-stack-table tr,
  .dashboard-orders-card .mobile-stack-table td{
    display:block;
    width:100%;
  }
  .dashboard-orders-card .mobile-stack-table tr{
    padding:1rem;
    background:#fff;
    border-bottom:1px solid #e5edf7;
  }
  .dashboard-orders-card .mobile-stack-table td{
    border:0 !important;
    padding:.45rem 0 !important;
    text-align:left !important;
    min-width:0 !important;
  }
  .dashboard-orders-card .mobile-stack-table td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:.25rem;
    color:#6b7a90;
    font-size:.76rem;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
  }
}


/* Admin modules/lessons/courses mobile actions real fix */
@media (max-width: 767.98px){
  .mobile-stack-table thead{
    display:none !important;
  }
  .mobile-stack-table,
  .mobile-stack-table tbody,
  .mobile-stack-table tr,
  .mobile-stack-table td{
    display:block;
    width:100%;
  }
  .mobile-stack-table tr{
    padding:1rem;
    background:#fff;
    border-bottom:1px solid #e5edf7;
  }
  .mobile-stack-table td{
    border:0 !important;
    padding:.45rem 0 !important;
    text-align:left !important;
    min-width:0 !important;
    white-space:normal !important;
  }
  .mobile-stack-table td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:.28rem;
    color:#6b7a90;
    font-size:.76rem;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
  }
  .mobile-actions-cell{
    padding-top:.7rem !important;
  }
  .mobile-row-actions{
    display:flex !important;
    flex-direction:column;
    gap:.55rem;
    align-items:stretch;
    width:100%;
  }
  .mobile-row-actions .btn,
  .mobile-inline-form,
  .mobile-inline-form .btn,
  .mobile-action-btn{
    width:100% !important;
  }
  .mobile-inline-form{
    display:block !important;
    margin:0 !important;
  }
  .table-responsive.premium-table-wrap{
    overflow:visible !important;
  }
}


/* Settings mobile overflow real fix */
.admin-content,
.container-fluid{
  min-width: 0;
}
.settings-webhook-box{
  overflow: hidden;
}
.settings-webhook-url{
  display:block;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
}
@media (max-width: 991.98px){
  .admin-content{
    overflow-x:hidden !important;
  }
  .container-fluid.py-4{
    overflow-x:hidden;
  }
  .settings-webhook-box,
  .settings-webhook-url,
  .panel,
  .form-panel{
    max-width:100%;
  }
}


/* Email/text wrap fix inside cards */
.kpi,
.kpi strong,
.kpi span,
.inline-kpis .kpi,
.inline-kpis .kpi strong,
.status-grid .item,
.status-grid .item strong,
.admin-account-card,
.admin-account-card strong,
.student-account-card,
.student-account-card strong,
.profile-identity-card,
.profile-identity-card strong,
.account-chip,
.account-chip strong {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (max-width: 767.98px){
  .kpi,
  .inline-kpis .kpi,
  .status-grid .item,
  .admin-account-card,
  .student-account-card,
  .profile-identity-card,
  .account-chip {
    max-width: 100%;
  }
}


/* Public course presentation video */
.course-video-panel{
  padding:1.35rem;
}
.course-public-video-wrap{
  border:1px solid #dce6f3;
  border-radius:22px;
  overflow:hidden;
  background:#0d2340;
  box-shadow:0 14px 32px rgba(8,27,56,.08);
}
.course-public-video{
  display:block;
  width:100%;
  height:auto;
  max-height:560px;
  background:#000;
}


/* Course page desktop spacing fix */
@media (min-width: 992px){
  .course-detail-panel,
  .course-hero-card,
  .course-page-hero,
  .course-main-card{
    align-items: flex-start;
  }
  .course-detail-panel .eyebrow,
  .course-hero-card .eyebrow,
  .course-page-hero .eyebrow,
  .course-main-card .eyebrow{
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  .course-detail-panel .col-lg-7,
  .course-hero-card .col-lg-7,
  .course-page-hero .col-lg-7,
  .course-main-card .col-lg-7,
  .course-detail-panel .col-lg-8,
  .course-hero-card .col-lg-8,
  .course-page-hero .col-lg-8,
  .course-main-card .col-lg-8{
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
  }
}


/* Course page desktop top-gap real fix */
@media (min-width: 992px){
  .course-text-topfix{
    display:flex;
    flex-direction:column;
    justify-content:flex-start !important;
    align-self:flex-start !important;
    padding-top:0 !important;
    margin-top:0 !important;
  }
  .course-text-topfix > *{
    flex-shrink:0;
  }
  .course-text-topfix > *:first-child{
    margin-top:0 !important;
    padding-top:0 !important;
  }
  .course-text-topfix .eyebrow{
    margin-top:0 !important;
  }
  .course-text-topfix + .col-lg-5,
  .course-text-topfix + .col-lg-4{
    align-self:flex-start !important;
  }
  .course-text-topfix .mb-4:first-of-type,
  .course-text-topfix .mb-3:first-of-type{
    margin-top:0 !important;
  }
}


/* Scope desktop top-gap fix only to course hero text column */
@media (min-width: 992px){
  .course-hero-card .course-text-topfix{
    display:flex;
    flex-direction:column;
    justify-content:flex-start !important;
    align-self:flex-start !important;
    padding-top:0 !important;
    margin-top:0 !important;
  }
  .course-hero-card .course-text-topfix > *{
    flex-shrink:0;
  }
  .course-hero-card .course-text-topfix > *:first-child{
    margin-top:0 !important;
    padding-top:0 !important;
  }
  .course-hero-card .course-text-topfix .eyebrow{
    margin-top:0 !important;
  }
}


/* Student profile email overflow fix */
.inline-kpis .kpi strong,
.inline-kpis .kpi,
.data-list strong,
.data-list,
.student-page-head-card strong,
.student-page-head-card,
.student-sidebar-profile strong,
.student-sidebar-profile,
.student-summary-card strong,
.student-summary-card{
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
}

@media (min-width: 992px){
  .inline-kpis{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .inline-kpis .kpi{
    overflow:hidden;
  }
  .inline-kpis .kpi strong{
    display:block;
    font-size:clamp(1rem, 1.45vw, 1.35rem);
    line-height:1.25;
  }
}


/* Real fix for student email overflow on desktop */
.profile-email-kpi,
.profile-email-kpi * ,
.profile-email-box,
.profile-email-box *{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}

.profile-email-kpi strong,
.profile-email-box strong,
.profile-email-kpi .value,
.profile-email-box .value{
  display:block;
  width:100%;
  overflow:hidden;
  overflow-wrap:anywhere;
  word-break:break-word;
  white-space:normal !important;
  line-height:1.25;
}

@media (min-width: 992px){
  .inline-kpis{
    grid-template-columns:repeat(4, minmax(0,1fr)) !important;
  }
  .inline-kpis .profile-email-kpi{
    overflow:hidden;
  }
  .inline-kpis .profile-email-kpi strong{
    font-size:clamp(0.92rem, 1.05vw, 1.15rem) !important;
  }
  .profile-email-box{
    overflow:hidden;
  }
}


/* Direct selectors for profile page cards */
.student-layout .inline-kpis > div:nth-child(2) strong,
.student-layout .logged-user-card strong,
.student-layout .profile-sidebar-card .data-list strong,
.student-layout .profile-sidebar-card .data-list div{
  display:block;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  overflow-wrap:anywhere;
  word-break:break-word;
  white-space:normal !important;
}



/* Real direct fix for student profile email overflow */
.student-layout .inline-kpis > div,
.student-layout .profile-sidebar-card .data-list > div,
.student-layout .logged-user-card,
.student-layout .student-sidebar-profile,
.student-layout .data-list div{
  min-width: 0 !important;
}

.student-layout .inline-kpis > div:nth-child(2),
.student-layout .logged-user-card,
.student-layout .student-sidebar-profile,
.student-layout .profile-sidebar-card .data-list > div:nth-child(2),
.student-layout .data-list div{
  overflow: hidden !important;
}

.student-layout .inline-kpis > div:nth-child(2) strong,
.student-layout .logged-user-card strong,
.student-layout .student-sidebar-profile strong,
.student-layout .profile-sidebar-card .data-list > div:nth-child(2) strong,
.student-layout .inline-kpis > div:nth-child(2) b,
.student-layout .logged-user-card b,
.student-layout .student-sidebar-profile b,
.student-layout .profile-sidebar-card .data-list > div:nth-child(2) b,
.student-layout .data-list div strong{
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  white-space: normal !important;
  line-height: 1.2 !important;
}

@media (min-width: 992px){
  .student-layout .inline-kpis{
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  .student-layout .inline-kpis > div:nth-child(2) strong{
    font-size: 0.9rem !important;
  }
  .student-layout .logged-user-card strong,
  .student-layout .student-sidebar-profile strong,
  .student-layout .profile-sidebar-card .data-list > div:nth-child(2) strong,
  .student-layout .data-list div strong{
    font-size: 0.95rem !important;
  }
}


/* Students actions visibility fix */
.students-admin-table{table-layout:fixed;width:100%;}
.students-admin-table th:nth-child(1),
.students-admin-table td:nth-child(1){width:48px;}
.students-admin-table th:nth-child(2),
.students-admin-table td:nth-child(2){width:20%;}
.students-admin-table th:nth-child(3),
.students-admin-table td:nth-child(3){width:28%;}
.students-admin-table th:nth-child(4),
.students-admin-table td:nth-child(4){width:17%;}
.students-admin-table th:nth-child(5),
.students-admin-table td:nth-child(5){width:16%;}
.students-admin-table th:nth-child(6),
.students-admin-table td:nth-child(6){width:160px;}
.students-contact-cell,.students-contact-cell *{white-space:normal!important;overflow-wrap:anywhere;word-break:break-word;}
.students-email-text{font-weight:500;line-height:1.45;}
.students-actions-cell{min-width:160px;}
.students-actions-cell .row-actions{display:flex;flex-direction:column;align-items:stretch;gap:.55rem;}
.students-actions-cell .btn,.students-actions-cell .mobile-inline-form{width:100%;margin:0!important;}
.students-actions-cell .btn{justify-content:center;}
@media (max-width: 991.98px){
  .students-admin-table{table-layout:auto;}
  .students-admin-table th:nth-child(6),
  .students-admin-table td:nth-child(6){width:auto;}
}
@media (max-width: 767.98px){
  .students-actions-cell{min-width:0;}
  .students-actions-cell .row-actions{flex-direction:column!important;}
}

/* ===== Certificado premium ===== */
.certificate-preview-premium{
  position:relative;overflow:hidden;padding:0;border-radius:34px;
  background:
    radial-gradient(circle at top right, rgba(255,196,64,.20), transparent 0 26%),
    linear-gradient(180deg,#fffef9 0%, #ffffff 56%, #f5f9ff 100%);
}
.certificate-preview-premium:before{
  content:"";position:absolute;inset:18px;border:1px solid rgba(196,154,53,.28);border-radius:24px;pointer-events:none;
}
.certificate-topbar{
  position:relative;z-index:1;display:flex;justify-content:space-between;gap:1rem;align-items:center;
  padding:22px 26px;background:linear-gradient(90deg,#07192f 0%, #0c2d50 56%, #143e6c 100%);
}
.certificate-logo-wrap{
  display:flex;align-items:center;justify-content:center;padding:.8rem 1rem;border-radius:18px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);max-width:280px;
}
.certificate-logo-wrap img{width:100%;height:auto;display:block}
.certificate-top-meta{color:#fff;text-align:right}
.certificate-top-meta span{display:block;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.68)}
.certificate-top-meta strong{display:block;font-size:1rem}
.certificate-content{position:relative;z-index:1;padding:34px 34px 28px}
.certificate-kicker{
  display:inline-flex;align-items:center;gap:.55rem;padding:.5rem .9rem;margin-bottom:1rem;border-radius:999px;
  background:rgba(255,196,64,.14);color:#8a6400;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem
}
.certificate-kicker:before{content:"";width:28px;height:2px;background:linear-gradient(90deg,#c69717,#f2c444)}
.certificate-preview-premium h1{font-size:1.35rem;margin-bottom:.65rem;color:#54657e;text-transform:uppercase;letter-spacing:.14em}
.certificate-course-title{font-size:2rem;line-height:1.2;color:#0d2b4d;margin-bottom:1rem;font-weight:800}
.certificate-lead,.certificate-support-copy{color:var(--brand-text-soft);max-width:780px;margin-left:auto;margin-right:auto}
.certificate-data-grid{
  margin:2rem 0 2.2rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;
}
.certificate-data-grid div{
  padding:1rem 1.1rem;border-radius:20px;border:1px solid #dce6f3;background:rgba(255,255,255,.92);box-shadow:var(--shadow-xs, 0 10px 24px rgba(15,23,42,.06));
}
.certificate-data-grid span{display:block;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--brand-text-soft);margin-bottom:.28rem}
.certificate-data-grid strong{display:block;color:var(--brand-text);font-size:1rem;word-break:break-word}
.certificate-signatures{display:flex;justify-content:center;padding-top:.5rem}

.certificate-bottom-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;align-items:stretch;margin-top:.35rem}
.certificate-info-card{padding:1.15rem 1.2rem;border-radius:22px;border:1px solid #dce6f3;background:rgba(255,255,255,.92);box-shadow:var(--shadow-xs, 0 10px 24px rgba(15,23,42,.06));}
.certificate-card-label{display:block;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--brand-text-soft);margin-bottom:.55rem;font-weight:700}
.certificate-instructor-card .certificate-signature-block{max-width:none;text-align:left}
.certificate-instructor-card .signature-line{margin:.15rem 0 .9rem}
.certificate-validation-card{display:flex;flex-direction:column;justify-content:center;text-align:left}
.certificate-validation-link{display:block;font-size:1.08rem;color:#0d2b4d;word-break:break-word;line-height:1.35}
.certificate-validation-card small{display:block;margin-top:.45rem;color:var(--brand-text-soft);line-height:1.55}
.certificate-signature-block{max-width:360px;text-align:center}
.signature-image-wrap{
  min-height:96px;display:flex;align-items:flex-end;justify-content:center;margin-bottom:.35rem;
}
.signature-image-wrap img{max-width:310px;width:100%;height:auto;display:block}
.signature-line{height:1px;background:linear-gradient(90deg,transparent 0%, rgba(13,43,77,.22) 12%, rgba(13,43,77,.45) 50%, rgba(13,43,77,.22) 88%, transparent 100%);margin:.1rem 0 .8rem}
.certificate-signature-block strong{display:block;font-size:1.06rem;color:#0d2b4d}
.certificate-signature-block span,.certificate-signature-block small{display:block;color:var(--brand-text-soft)}
@media (max-width:991.98px){
  .certificate-topbar{padding:18px 20px;flex-direction:column;align-items:flex-start}
  .certificate-top-meta{text-align:left}
  .certificate-content{padding:28px 22px 24px}
  .certificate-data-grid{grid-template-columns:1fr}
  .certificate-bottom-grid{grid-template-columns:1fr}
  .certificate-course-title{font-size:1.55rem}
}
@media (max-width:575.98px){
  .certificate-logo-wrap{max-width:210px;padding:.6rem .8rem}
  .certificate-preview-premium:before{inset:12px}
  .certificate-kicker{font-size:.72rem}
  .certificate-preview-premium h1{font-size:1rem;letter-spacing:.1em}
  .certificate-course-title{font-size:1.35rem}
}
