
:root{
  --ent-green:#176b36;
  --ent-green-dark:#0f4f28;
  --ent-green-soft:#eaf5ee;
  --ent-gold:#d4aa3b;
  --ent-bg:#f3f7f4;
  --ent-card:#ffffff;
  --ent-text:#213229;
  --ent-muted:#66746c;
  --ent-line:#dbe7de;
  --ent-shadow:0 12px 34px rgba(25,65,38,.09);
}
*{box-sizing:border-box}
.enterprise-body{
  min-height:100vh;
  margin:0;
  background:
    radial-gradient(circle at 10% 8%,rgba(23,107,54,.08),transparent 28%),
    linear-gradient(180deg,#f8fbf9 0%,var(--ent-bg) 100%);
  color:var(--ent-text);
}
.enterprise-topbar{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(15,79,40,.98);
  color:#fff;
  box-shadow:0 6px 22px rgba(8,42,21,.18);
}
.enterprise-topbar-inner{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.enterprise-brand{
  display:flex;
  align-items:center;
  gap:12px;
  color:#fff;
  text-decoration:none;
  min-width:max-content;
}
.enterprise-brand-mark{
  width:46px;height:46px;
  display:flex;align-items:center;justify-content:center;
  border-radius:14px;
  background:var(--ent-gold);
  color:#173423;
  font-weight:900;
}
.enterprise-brand strong,.enterprise-brand small{display:block}
.enterprise-brand strong{font-size:21px}
.enterprise-brand small{margin-top:3px;font-size:11px;opacity:.76}
.enterprise-nav{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.enterprise-nav a{
  margin:0;padding:9px 11px;border-radius:9px;
  color:#fff;text-decoration:none;font-size:13px;font-weight:800;
}
.enterprise-nav a:hover,.enterprise-nav a.active{background:rgba(255,255,255,.13)}
.enterprise-nav-exit{border:1px solid rgba(255,255,255,.22)}
.enterprise-flash{margin-top:18px}
.enterprise-footer{
  margin-top:50px;padding:30px 0;
  background:var(--ent-green-dark);color:#fff;
}
.enterprise-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.enterprise-footer strong,.enterprise-footer span{display:block}
.enterprise-footer span,.enterprise-footer small{margin-top:4px;font-size:12px;opacity:.74}

/* Admin */
.admin-dashboard-v2,.communication-center{padding-top:32px;padding-bottom:42px}
.admin-hero-v2,.communication-hero{
  display:flex;align-items:center;justify-content:space-between;gap:28px;
  margin-bottom:22px;padding:32px 36px;border-radius:20px;
  background:linear-gradient(135deg,var(--ent-green-dark),#258347);
  color:#fff;box-shadow:0 18px 42px rgba(15,79,40,.17);
}
.admin-hero-v2 h1,.communication-hero h1{margin:6px 0 8px;font-size:38px}
.admin-hero-v2 p,.communication-hero p{margin:0;opacity:.86}
.admin-quick-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;min-width:430px}
.admin-quick-numbers div{
  padding:17px;border:1px solid rgba(255,255,255,.18);
  border-radius:13px;background:rgba(255,255,255,.10);text-align:center;
}
.admin-quick-numbers strong,.admin-quick-numbers span{display:block}
.admin-quick-numbers strong{font-size:26px}.admin-quick-numbers span{margin-top:4px;font-size:11px;opacity:.8}
.admin-primary-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}
.admin-action-card{
  display:grid;grid-template-columns:58px 1fr auto;gap:17px;align-items:center;
  padding:25px;border:1px solid var(--ent-line);border-radius:17px;
  background:#fff;color:var(--ent-text)!important;text-decoration:none!important;
  box-shadow:var(--ent-shadow);transition:.2s ease;
}
.admin-action-card:hover{transform:translateY(-3px)}
.admin-action-icon{
  width:58px;height:58px;display:flex;align-items:center;justify-content:center;
  border-radius:16px;background:var(--ent-green-soft);font-size:26px;
}
.admin-action-card small{color:#9b7419;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.admin-action-card h2{margin:4px 0 7px;color:var(--ent-green-dark)}
.admin-action-card p{margin:0;color:var(--ent-muted)}
.admin-action-card>strong{color:var(--ent-green-dark)}
.admin-module-release,.admin-student-card,.communication-editor,.communication-preview,.communication-history{
  border:1px solid var(--ent-line)!important;
  border-radius:17px!important;background:#fff!important;box-shadow:var(--ent-shadow)!important;
}
.admin-module-release{border-left:6px solid var(--ent-green)!important}
.admin-module-release-head,.admin-student-card{
  display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
}
.admin-status-live{
  padding:7px 11px;border-radius:999px;background:#dff4e5;
  color:#236638;font-size:11px;font-weight:900;
}
.admin-release-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}
.admin-release-grid div{padding:15px;border-radius:12px;background:#f4f8f5}
.admin-release-grid small,.admin-release-grid strong{display:block}
.admin-release-grid strong{margin-top:5px;color:var(--ent-green-dark)}
.admin-section-title{margin:30px 0 12px}

/* Communication */
.communication-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:20px}
.communication-summary-grid article{
  padding:18px;border:1px solid var(--ent-line);border-top:4px solid var(--ent-green);
  border-radius:14px;background:#fff;box-shadow:0 7px 20px rgba(25,65,38,.06)
}
.communication-summary-grid span,.communication-summary-grid strong,.communication-summary-grid small{display:block}
.communication-summary-grid article>span{margin-bottom:8px;font-size:22px}
.communication-summary-grid strong{color:var(--ent-green-dark);font-size:22px}
.communication-summary-grid small{margin-top:4px;color:var(--ent-muted)}
.communication-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);gap:20px;align-items:start}
.communication-editor,.communication-preview{margin:0}
.communication-editor textarea{min-height:190px}
.communication-options{display:grid;gap:8px;margin:18px 0}
.communication-check{display:flex;align-items:center;gap:9px;margin:0;padding:11px;border-radius:9px;background:#f4f8f5}
.communication-check input{width:auto}
.communication-actions{display:flex;gap:10px;flex-wrap:wrap}
.email-preview{overflow:hidden;border:1px solid var(--ent-line);border-radius:14px;background:#fff}
.email-preview-head{padding:22px;background:var(--ent-green-dark);color:#fff}
.email-preview-head span,.email-preview-head strong{display:block}
.email-preview-head span{color:#f2d37b;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.email-preview-head strong{margin-top:7px;font-size:23px}
.email-preview-body{padding:24px;color:#34443a;line-height:1.55}
.email-preview-button{display:inline-block;margin:12px 0;padding:11px 15px;border-radius:8px;background:var(--ent-green);color:#fff;font-weight:900}
.communication-history{margin-top:20px}
.communication-table-wrap{overflow:auto}
.communication-table{width:100%;border-collapse:collapse}
.communication-table th,.communication-table td{padding:12px;border-bottom:1px solid #e4ece6;text-align:left}
.communication-table th{color:var(--ent-green-dark);font-size:12px;text-transform:uppercase;letter-spacing:.07em}

/* Student course */
.course-dashboard{padding-top:30px;padding-bottom:35px}
.course-hero-card,.course-dashboard>.card,.module-list .lesson{
  border:1px solid var(--ent-line)!important;border-radius:17px!important;
  background:#fff!important;box-shadow:var(--ent-shadow)!important;
}
.course-hero-card{
  background:linear-gradient(135deg,#fff,#edf6ef)!important;
}
.module-list{display:grid;gap:14px}
.module-list .lesson{margin:0;padding:21px}
.module-list .lesson:hover{transform:translateY(-2px)}
.progress span{background:linear-gradient(90deg,var(--ent-green),var(--ent-gold))!important}
.btn,.home-als-primary{
  border-radius:9px!important;text-decoration:none!important;
}
.home-als-primary{background:var(--ent-green)!important;color:#fff!important}

@media(max-width:950px){
  .enterprise-topbar-inner{align-items:flex-start;flex-direction:column;padding-top:14px;padding-bottom:14px}
  .enterprise-nav{justify-content:flex-start}
  .admin-hero-v2,.communication-hero{align-items:flex-start;flex-direction:column}
  .admin-quick-numbers{width:100%;min-width:0}
  .admin-primary-actions,.communication-layout{grid-template-columns:1fr}
  .communication-summary-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .enterprise-brand small{display:none}
  .enterprise-nav a{padding:8px 6px;font-size:11px}
  .admin-quick-numbers,.admin-release-grid,.communication-summary-grid{grid-template-columns:1fr}
  .admin-action-card{grid-template-columns:48px 1fr}
  .admin-action-card>strong{grid-column:2}
  .admin-module-release-head,.admin-student-card,.enterprise-footer-inner{flex-direction:column;align-items:flex-start}
  .communication-actions .btn{width:100%;text-align:center}
}


/* =========================================================
   ALS OS ENTERPRISE 3.0.1 — CENTRO DE OPERAÇÕES
   ========================================================= */

.als-os-admin{
  --os-sidebar:260px;
  background:#f3f7f4;
}

.als-os-sidebar{
  position:fixed;
  inset:0 auto 0 0;
  z-index:1200;
  width:var(--os-sidebar);
  display:flex;
  flex-direction:column;
  padding:20px 15px;
  background:linear-gradient(180deg,#103f24 0%,#0b321c 100%);
  color:#fff;
  box-shadow:8px 0 30px rgba(6,34,17,.16);
}

.als-os-sidebar-brand{
  display:flex;
  align-items:center;
  gap:12px;
  padding:5px 8px 22px;
  border-bottom:1px solid rgba(255,255,255,.11);
  color:#fff;
  text-decoration:none;
}

.als-os-logo{
  width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
  border-radius:14px;
  background:#d4aa3b;color:#173423;
  font-size:14px;font-weight:900;
}

.als-os-sidebar-brand strong,
.als-os-sidebar-brand small{display:block}
.als-os-sidebar-brand strong{font-size:21px}
.als-os-sidebar-brand small{margin-top:2px;color:#d5e6da;font-size:11px}

.als-os-side-nav{
  flex:1;
  display:grid;
  align-content:start;
  gap:5px;
  padding-top:20px;
}

.als-os-nav-label{
  display:block;
  margin:12px 10px 6px;
  color:#91b49d;
  font-size:9px;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.als-os-side-nav a{
  display:grid;
  grid-template-columns:28px 1fr;
  gap:9px;
  align-items:center;
  padding:11px 12px;
  border-radius:10px;
  color:#dcebe1;
  text-decoration:none;
  font-size:13px;
}

.als-os-side-nav a:hover,
.als-os-side-nav a.active{
  background:rgba(255,255,255,.11);
  color:#fff;
}

.als-os-side-nav a.active{
  box-shadow:inset 3px 0 0 #d4aa3b;
}

.als-os-side-nav a>span{
  text-align:center;
  font-size:16px;
}

.als-os-sidebar-footer{
  padding:16px 10px 4px;
  border-top:1px solid rgba(255,255,255,.10);
}

.als-os-sidebar-footer small,
.als-os-sidebar-footer strong{display:block}
.als-os-sidebar-footer small{color:#91b49d}
.als-os-sidebar-footer strong{margin:3px 0 13px;font-size:12px}
.als-os-sidebar-footer a{color:#d8e7dc;font-size:12px}

.als-os-admin-topbar{
  position:fixed;
  top:0;left:var(--os-sidebar);right:0;
  z-index:1100;
  height:74px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 30px;
  background:rgba(255,255,255,.95);
  border-bottom:1px solid #dfe8e2;
  backdrop-filter:blur(10px);
}

.als-os-admin-topbar>div:first-of-type strong,
.als-os-admin-topbar>div:first-of-type small{display:block}
.als-os-admin-topbar>div:first-of-type strong{color:#163c26}
.als-os-admin-topbar>div:first-of-type small{margin-top:3px;color:#78857d;font-size:11px}

.als-os-admin-user{
  display:flex;
  align-items:center;
  gap:10px;
  color:#66746c;
  font-size:12px;
}

.als-os-admin-user strong{
  width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  background:#176b36;color:#fff;
}

.als-os-menu-button{
  display:none;
  width:40px;height:40px;
  border:0;border-radius:9px;
  background:#edf5ef;
  color:#176b36;
  cursor:pointer;
}

.als-os-main-shell{
  min-height:100vh;
  margin-left:var(--os-sidebar);
  padding-top:74px;
}

.als-os-flash-wrap{padding:18px 30px 0}

.als-os-dashboard{
  max-width:1500px;
  margin:auto;
  padding:28px 30px 50px;
}

.als-os-welcome{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  margin-bottom:20px;
  padding:31px 34px;
  border-radius:20px;
  background:
    radial-gradient(circle at 87% 12%,rgba(212,170,59,.20),transparent 30%),
    linear-gradient(135deg,#15582e,#248146);
  color:#fff;
  box-shadow:0 17px 42px rgba(16,79,40,.17);
}

.als-os-kicker{
  display:block;
  color:#c89b29;
  font-size:10px;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.als-os-welcome .als-os-kicker{color:#f0d27d}
.als-os-welcome h1{margin:7px 0 8px;font-size:37px}
.als-os-welcome p{margin:0;opacity:.86}

.als-os-system-status{
  display:flex;
  align-items:center;
  gap:13px;
  min-width:280px;
  padding:17px 19px;
  border:1px solid rgba(255,255,255,.17);
  border-radius:14px;
  background:rgba(255,255,255,.10);
}

.als-os-live-dot{
  width:12px;height:12px;
  border-radius:50%;
  background:#5ee181;
  box-shadow:0 0 0 6px rgba(94,225,129,.13);
}

.als-os-system-status strong,
.als-os-system-status small{display:block}
.als-os-system-status strong{font-size:13px}
.als-os-system-status small{margin-top:3px;opacity:.72;font-size:10px}

.als-os-metrics{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:15px;
  margin-bottom:20px;
}

.als-os-metric{
  display:grid;
  grid-template-columns:52px 1fr;
  gap:14px;
  align-items:center;
  padding:20px;
  border:1px solid #dce7df;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 26px rgba(25,65,38,.06);
}

.als-os-metric-icon{
  width:52px;height:52px;
  display:flex;align-items:center;justify-content:center;
  border-radius:15px;font-size:23px;
}
.als-os-metric-icon.green{background:#e8f5ec}
.als-os-metric-icon.gold{background:#fff5d9}
.als-os-metric-icon.blue{background:#eaf3fb}
.als-os-metric-icon.purple{background:#f1ebfa}

.als-os-metric small,
.als-os-metric strong{display:block}
.als-os-metric small{color:#69776e}
.als-os-metric strong{margin-top:3px;color:#123e24;font-size:27px}
.als-os-metric em{
  grid-column:2;
  margin-top:-6px;
  color:#7b8880;
  font-size:10px;
  font-style:normal;
}

.als-os-grid-main{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(300px,.55fr);
  gap:20px;
  margin-bottom:20px;
}

.als-os-grid-secondary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

.als-os-panel{
  padding:24px;
  border:1px solid #dce7df;
  border-radius:17px;
  background:#fff;
  box-shadow:0 10px 30px rgba(25,65,38,.07);
}

.als-os-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px;
  margin-bottom:18px;
}

.als-os-panel-head h2{margin:5px 0 0;color:#163d26;font-size:21px}
.als-os-panel-head>a{color:#176b36;font-size:11px;font-weight:900;text-decoration:none}

.als-os-badge{
  padding:6px 9px;
  border-radius:999px;
  background:#edf5ef;
  color:#176b36;
  font-size:10px;
  font-weight:900;
}

.als-os-app-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

.als-os-app-card{
  display:flex;
  min-height:165px;
  flex-direction:column;
  padding:18px;
  border:1px solid #e0e9e3;
  border-radius:14px;
  background:linear-gradient(145deg,#fff,#f8fbf9);
  color:#213229;
  text-decoration:none;
  transition:.2s ease;
}

.als-os-app-card:hover{
  transform:translateY(-3px);
  border-color:#bad2c1;
  box-shadow:0 11px 25px rgba(25,65,38,.09);
}

.als-os-app-card>span{font-size:25px}
.als-os-app-card strong{margin-top:11px;color:#15572e}
.als-os-app-card small{margin-top:6px;color:#69776e;line-height:1.4}
.als-os-app-card em{
  margin-top:auto;
  padding-top:15px;
  color:#176b36;
  font-size:10px;
  font-style:normal;
  font-weight:900;
}

.als-os-progress-panel{text-align:center}
.als-os-progress-panel .als-os-panel-head{text-align:left}

.als-os-progress-circle{
  width:155px;height:155px;
  margin:18px auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:
    radial-gradient(circle,#fff 58%,transparent 60%),
    conic-gradient(#d4aa3b calc(var(--progress) * 1%),#e6eee8 0);
}

.als-os-progress-circle strong{color:#15572e;font-size:31px}
.als-os-progress-circle span{margin-top:3px;color:#77847c;font-size:10px}

.als-os-mini-stats{display:grid;gap:8px;margin:20px 0}
.als-os-mini-stats div{
  display:flex;justify-content:space-between;gap:10px;
  padding:10px;border-radius:9px;background:#f4f8f5;
  font-size:11px;
}
.als-os-mini-stats span{color:#68766d}
.als-os-mini-stats strong{color:#15572e}

.als-os-primary-button{
  display:block;
  padding:12px 15px;
  border-radius:9px;
  background:#176b36;
  color:#fff!important;
  text-align:center;
  text-decoration:none!important;
  font-size:12px;
  font-weight:900;
}

.als-os-user-list,
.als-os-module-list{display:grid;gap:9px}

.als-os-user-row{
  display:grid;
  grid-template-columns:39px 1fr auto;
  gap:10px;
  align-items:center;
  padding:9px;
  border-radius:10px;
}
.als-os-user-row:hover{background:#f5f8f6}

.als-os-user-avatar{
  width:39px;height:39px;
  display:flex;align-items:center;justify-content:center;
  border-radius:12px;
  background:#e8f5ec;color:#176b36;font-weight:900;
}
.als-os-user-row strong,.als-os-user-row small{display:block}
.als-os-user-row strong{font-size:12px}
.als-os-user-row small{margin-top:3px;color:#79867e;font-size:9px}
.als-os-user-progress{
  padding:5px 7px;
  border-radius:999px;
  background:#edf5ef;
  color:#176b36;
  font-size:9px;
  font-weight:900;
}

.als-os-module-list>div{
  display:grid;
  grid-template-columns:36px 1fr auto;
  gap:10px;
  align-items:center;
  padding:10px;
  border-bottom:1px solid #edf1ee;
}
.als-os-module-list>div>span{
  width:32px;height:32px;
  display:flex;align-items:center;justify-content:center;
  border-radius:9px;background:#edf5ef;color:#176b36;font-size:10px;font-weight:900;
}
.als-os-module-list strong,.als-os-module-list small{display:block}
.als-os-module-list strong{font-size:11px}
.als-os-module-list small{
  max-width:240px;
  margin-top:3px;
  overflow:hidden;
  color:#7a877f;
  font-size:9px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.als-os-module-list em{
  padding:4px 7px;border-radius:999px;background:#fff3cf;
  color:#8a6410;font-size:8px;font-style:normal;font-weight:900;
}

.als-os-empty-state{
  display:flex;
  min-height:165px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.als-os-empty-state>span{font-size:30px}
.als-os-empty-state strong{margin-top:10px;color:#164127}
.als-os-empty-state small{margin-top:5px;color:#7b8780}

.als-os-campaign-result{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:16px;
}
.als-os-campaign-result>strong,
.als-os-campaign-result>span{grid-column:1/-1;text-align:center}
.als-os-campaign-result>strong{color:#176b36;font-size:34px}
.als-os-campaign-result>span{margin-top:-8px;color:#75827a;font-size:10px}
.als-os-campaign-result>div{padding:10px;border-radius:9px;background:#f4f8f5}
.als-os-campaign-result small,.als-os-campaign-result b{display:block}
.als-os-campaign-result small{color:#738078;font-size:9px}
.als-os-campaign-result b{margin-top:4px;color:#173e27;font-size:11px}

@media(max-width:1180px){
  .als-os-metrics{grid-template-columns:1fr 1fr}
  .als-os-grid-main{grid-template-columns:1fr}
  .als-os-grid-secondary{grid-template-columns:1fr 1fr}
}

@media(max-width:850px){
  .als-os-admin{--os-sidebar:235px}
  .als-os-app-grid{grid-template-columns:1fr 1fr}
  .als-os-grid-secondary{grid-template-columns:1fr}
}

@media(max-width:700px){
  .als-os-admin{--os-sidebar:0px}
  .als-os-sidebar{
    width:260px;
    transform:translateX(-105%);
    transition:.2s ease;
  }
  .als-os-admin.menu-open .als-os-sidebar{transform:translateX(0)}
  .als-os-admin-topbar{left:0;padding:0 16px}
  .als-os-menu-button{display:block}
  .als-os-main-shell{margin-left:0}
  .als-os-dashboard{padding:20px 14px 40px}
  .als-os-welcome{align-items:flex-start;flex-direction:column;padding:25px}
  .als-os-system-status{width:100%;min-width:0}
  .als-os-metrics{grid-template-columns:1fr}
  .als-os-app-grid{grid-template-columns:1fr}
}


/* =========================================================
   ALS OS ENTERPRISE 3.0.2 — ACADEMIC
   ========================================================= */

.academic-enterprise{
  max-width:1500px;
  margin:auto;
  padding:30px;
}

.academic-hero-enterprise{
  display:grid;
  grid-template-columns:minmax(0,1fr) 230px;
  gap:26px;
  align-items:stretch;
  margin-bottom:22px;
  padding:38px;
  border-radius:21px;
  background:
    radial-gradient(circle at 87% 10%,rgba(212,170,59,.20),transparent 28%),
    linear-gradient(135deg,#15582e,#28854a);
  color:#fff;
  box-shadow:0 18px 42px rgba(16,79,40,.17);
}

.academic-kicker{
  display:block;
  color:#c99725;
  font-size:10px;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.academic-hero-enterprise .academic-kicker{color:#f0d27d}

.academic-hero-copy h1{
  margin:7px 0 9px;
  font-size:43px;
}

.academic-hero-copy>p{
  max-width:760px;
  margin:0;
  line-height:1.55;
  opacity:.88;
}

.academic-hero-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  max-width:670px;
  margin-top:27px;
}

.academic-hero-stats div{
  padding:15px;
  border:1px solid rgba(255,255,255,.17);
  border-radius:13px;
  background:rgba(255,255,255,.10);
}

.academic-hero-stats strong,
.academic-hero-stats span{display:block}

.academic-hero-stats strong{font-size:25px}
.academic-hero-stats span{margin-top:4px;font-size:10px;opacity:.76}

.academic-profile-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:22px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:18px;
  background:rgba(255,255,255,.11);
  text-align:center;
}

.academic-profile-avatar{
  width:58px;height:58px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:11px;
  border-radius:50%;
  background:#d4aa3b;
  color:#173423;
  font-size:24px;
  font-weight:900;
}

.academic-profile-card>strong{font-size:14px}
.academic-profile-card>span{margin:4px 0 14px;font-size:10px;opacity:.76}

.academic-profile-progress{
  width:112px;height:112px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:
    radial-gradient(circle,#fff 56%,transparent 58%),
    conic-gradient(#d4aa3b calc(var(--progress) * 1%),rgba(255,255,255,.18) 0);
  color:#15582e;
}
.academic-profile-progress b{font-size:27px}
.academic-profile-progress small{margin-top:3px;font-size:9px}

.academic-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:20px;
  align-items:start;
}

.academic-current-card,
.academic-side-card{
  padding:25px;
  border:1px solid #dce7df;
  border-radius:17px;
  background:#fff;
  box-shadow:0 10px 30px rgba(25,65,38,.07);
}

.academic-current-card{
  margin-bottom:25px;
  border-left:6px solid #176b36;
}

.academic-current-head,
.academic-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}

.academic-current-head h2{
  margin:6px 0 0;
  color:#163d26;
  font-size:25px;
}

.academic-current-status{
  padding:7px 10px;
  border-radius:999px;
  background:#fff3cf;
  color:#87620f;
  font-size:9px;
  font-weight:900;
}

.academic-current-card>p{
  color:#66746c;
  line-height:1.55;
}

.academic-progress-label{
  display:flex;
  justify-content:space-between;
  margin-top:20px;
  color:#66746c;
  font-size:11px;
}

.academic-progress-bar{
  height:11px;
  margin:8px 0 15px;
  overflow:hidden;
  border-radius:999px;
  background:#e6eee8;
}
.academic-progress-bar span{
  display:block;height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#176b36,#d4aa3b);
}

.academic-current-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:18px;
}
.academic-current-meta span{
  padding:6px 9px;
  border-radius:8px;
  background:#f3f7f4;
  color:#637168;
  font-size:10px;
  font-weight:800;
}

.academic-primary-button{
  display:inline-block;
  padding:12px 17px;
  border-radius:9px;
  background:#176b36;
  color:#fff!important;
  text-decoration:none!important;
  font-size:12px;
  font-weight:900;
}

.academic-section-head{
  margin-bottom:15px;
}

.academic-section-head h2{
  margin:5px 0;
  color:#163d26;
  font-size:29px;
}
.academic-section-head p{margin:0;color:#6d7a72}

.academic-section-summary{
  min-width:140px;
  padding:12px 15px;
  border:1px solid #dce7df;
  border-radius:13px;
  background:#fff;
  text-align:right;
}
.academic-section-summary strong,
.academic-section-summary span{display:block}
.academic-section-summary strong{color:#176b36;font-size:21px}
.academic-section-summary span{margin-top:3px;color:#75827a;font-size:9px}

.academic-module-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.academic-module-card{
  display:flex;
  min-height:245px;
  flex-direction:column;
  padding:21px;
  border:1px solid #dce7df;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(25,65,38,.06);
  transition:.2s ease;
}
.academic-module-card:hover{transform:translateY(-3px)}
.academic-module-card.is-current{border:2px solid #d4aa3b}
.academic-module-card.is-complete{background:linear-gradient(145deg,#f7fbf8,#fff)}
.academic-module-card.is-locked{opacity:.57;box-shadow:none}
.academic-module-card.is-new{position:relative;overflow:hidden}
.academic-module-card.is-new:after{
  content:"";
  position:absolute;
  right:-50px;top:-50px;
  width:120px;height:120px;
  border-radius:50%;
  background:rgba(212,170,59,.10);
}

.academic-module-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.academic-module-number{
  width:43px;height:43px;
  display:flex;align-items:center;justify-content:center;
  border-radius:12px;
  background:#176b36;
  color:#fff;
  font-size:13px;
  font-weight:900;
}
.is-complete .academic-module-number{
  background:#dff4e5;color:#236638;font-size:20px;
}

.academic-module-tags{
  display:flex;gap:6px;align-items:center;
}

.academic-module-status,
.academic-tag-new{
  padding:5px 7px;
  border-radius:999px;
  font-size:8px;
  font-weight:900;
}
.academic-module-status{background:#edf5ef;color:#53665a}
.academic-tag-new{background:#fff3cf;color:#87620f}

.academic-module-label{
  margin-top:18px;
  color:#a07918;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.13em;
}

.academic-module-card h3{
  margin:7px 0 8px;
  color:#163d26;
  font-size:18px;
  line-height:1.3;
}

.academic-module-card p{
  margin:0;
  color:#6d7a72;
  font-size:12px;
  line-height:1.5;
}

.academic-module-footer{
  margin-top:auto;
  padding-top:18px;
}
.academic-module-footer a{
  color:#176b36;
  font-size:10px;
  font-weight:900;
  text-decoration:none;
}
.academic-module-footer span{
  color:#818d85;
  font-size:9px;
}

.academic-side-column{
  position:sticky;
  top:95px;
  display:grid;
  gap:15px;
}

.academic-side-card h2{
  margin:6px 0 9px;
  color:#163d26;
  font-size:20px;
}
.academic-side-card p{
  color:#6d7a72;
  font-size:12px;
  line-height:1.5;
}
.academic-side-card>a{
  display:block;
  padding:10px 13px;
  border-radius:8px;
  background:#176b36;
  color:#fff;
  text-align:center;
  text-decoration:none;
  font-size:10px;
  font-weight:900;
}

.academic-side-icon{
  width:50px;height:50px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:15px;
  border-radius:15px;
  background:#176b36;
  color:#fff;
  font-weight:900;
}

.academic-side-list{
  display:grid;gap:8px;margin-top:16px;
}
.academic-side-list div{
  display:flex;justify-content:space-between;gap:12px;
  padding:10px;
  border-radius:9px;
  background:#f4f8f5;
  font-size:10px;
}
.academic-side-list span{color:#6f7c74}
.academic-side-list strong{color:#163d26}

.academic-certificate-card>span:last-child{
  display:block;
  padding:9px 11px;
  border-radius:8px;
  background:#f3f7f4;
  color:#66746c;
  text-align:center;
  font-size:10px;
  font-weight:800;
}

/* Módulo 21 */
.module21-enterprise{
  margin:0;
  background:linear-gradient(180deg,#f8fbf9,#eef5f0);
  color:#203127;
  font-family:Arial,Helvetica,sans-serif;
}
.module21-wrap{max-width:1220px;margin:auto;padding:0 22px}
.module21-topbar{background:#0f4f28;color:#fff;box-shadow:0 6px 22px rgba(8,42,21,.18)}
.module21-topbar-inner{
  min-height:74px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.module21-brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none}
.module21-brand span{
  width:43px;height:43px;display:flex;align-items:center;justify-content:center;
  border-radius:12px;background:#d4aa3b;color:#173423;font-size:12px;font-weight:900;
}
.module21-topbar nav{display:flex;gap:7px}
.module21-topbar nav a{padding:9px 10px;border-radius:8px;color:#fff;text-decoration:none;font-size:11px;font-weight:800}
.module21-topbar nav a:hover{background:rgba(255,255,255,.12)}
.module21-main{padding-top:32px;padding-bottom:50px}
.module21-hero{
  display:grid;grid-template-columns:1fr 230px;gap:28px;align-items:center;
  padding:37px;border-radius:20px;
  background:linear-gradient(135deg,#15582e,#28854a);color:#fff;
  box-shadow:0 18px 42px rgba(16,79,40,.17);
}
.module21-kicker{display:block;color:#f0d27d;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.module21-hero h1{margin:7px 0 11px;font-size:36px;line-height:1.17}
.module21-hero p{max-width:760px;margin:0;line-height:1.55;opacity:.87}
.module21-hero-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.module21-hero-meta span{padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.12);font-size:9px;font-weight:800}
.module21-protection{
  padding:22px;border:1px solid rgba(255,255,255,.18);
  border-radius:16px;background:rgba(255,255,255,.10);text-align:center;
}
.module21-protection span{display:block;font-size:28px}
.module21-protection strong,.module21-protection small{display:block}
.module21-protection strong{margin-top:8px}
.module21-protection small{margin-top:4px;font-size:9px;opacity:.75}
.module21-heading{margin:28px 0 15px}
.module21-heading .module21-kicker{color:#a07918}
.module21-heading h2{margin:5px 0;color:#163d26;font-size:28px}
.module21-heading p{margin:0;color:#6e7a73}
.module21-stage-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.module21-stage-card{
  display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;
  padding:20px;border:1px solid #dce7df;border-radius:15px;background:#fff;
  box-shadow:0 8px 24px rgba(25,65,38,.06);
}
.module21-stage-number{
  width:45px;height:45px;display:flex;align-items:center;justify-content:center;
  border-radius:13px;background:#176b36;color:#fff;font-size:12px;font-weight:900;
}
.module21-stage-card>div:nth-child(2)>span{color:#a07918;font-size:8px;font-weight:900}
.module21-stage-card h3{margin:5px 0 7px;color:#163d26;font-size:16px}
.module21-stage-card p{margin:0;color:#6d7a72;font-size:11px;line-height:1.45}
.module21-stage-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}
.module21-stage-meta span{padding:5px 7px;border-radius:999px;background:#edf5ef;color:#5c6b61;font-size:8px;font-weight:800}
.module21-stage-card>a{color:#176b36;text-decoration:none;font-size:9px;font-weight:900}
.module21-footer{padding:25px 0;background:#0f4f28;color:#fff;font-size:11px}

@media(max-width:1100px){
  .academic-layout{grid-template-columns:1fr}
  .academic-side-column{position:static;grid-template-columns:repeat(3,1fr)}
}
@media(max-width:800px){
  .academic-hero-enterprise{grid-template-columns:1fr}
  .academic-profile-card{display:grid;grid-template-columns:60px 1fr 112px;gap:12px;text-align:left}
  .academic-profile-avatar{margin:0}
  .academic-profile-card>span{margin:3px 0}
  .academic-profile-progress{grid-column:3;grid-row:1/3}
  .academic-module-grid,.module21-stage-grid{grid-template-columns:1fr}
  .academic-side-column{grid-template-columns:1fr}
  .module21-hero{grid-template-columns:1fr}
}
@media(max-width:600px){
  .academic-enterprise{padding:18px 14px 35px}
  .academic-hero-enterprise{padding:26px 21px}
  .academic-hero-copy h1{font-size:34px}
  .academic-hero-stats{grid-template-columns:1fr}
  .academic-profile-card{display:flex;text-align:center}
  .academic-section-head,.academic-current-head{flex-direction:column}
  .academic-module-grid{grid-template-columns:1fr}
  .module21-stage-card{grid-template-columns:42px 1fr}
  .module21-stage-card>a{grid-column:2}
}
