
:root{
  --navy:#0f172a;--navy2:#16233b;--gold:#b58a2a;--gold2:#d1ab4a;
  --bg:#f4f7fb;--card:#ffffff;--text:#172033;--muted:#667085;
  --line:#dce3ec;--success:#176b3a;--danger:#a61b1b;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);font-family:Inter,Arial,Helvetica,sans-serif;color:var(--text)}
a{color:#174f91;text-decoration:none}
.top{background:linear-gradient(120deg,var(--navy),var(--navy2));color:#fff;padding:18px 32px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 3px 18px rgba(15,23,42,.18)}
.brandblock strong{font-size:24px;display:block}.brandblock small{display:block;color:#cbd5e1;margin-top:3px}
.who{font-weight:600}.who a{color:#f5cc6e;margin-left:14px}
.nav{background:#fff;padding:0 30px;border-bottom:1px solid var(--line);display:flex;gap:4px;flex-wrap:wrap;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.nav a{padding:14px 15px;color:#334155;font-weight:700;border-bottom:3px solid transparent}.nav a:hover{color:var(--navy);border-bottom-color:var(--gold)}
.wrap{max-width:1380px;margin:auto;padding:30px}
footer{text-align:center;padding:28px;color:#64748b}
.page-head{display:flex;align-items:center;gap:22px;margin:0 0 24px}.page-head h1{font-size:36px;margin:4px 0 8px}.page-head p{margin:0;color:var(--muted)}
.course-hero img{width:190px;height:112px;object-fit:cover;border-radius:14px;box-shadow:0 8px 24px rgba(15,23,42,.14)}
.eyebrow{font-size:12px;letter-spacing:.14em;color:var(--gold);font-weight:800}
.panel,.card,.course-card,.studentcard{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 28px rgba(20,35,60,.06)}
.panel{padding:24px;margin:18px 0}.panel h2{margin-top:0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:16px}.card{padding:22px}
.form{display:grid;gap:14px}.grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.wide{grid-column:1/-1}
label{display:grid;gap:7px;font-weight:700;color:#344054}input,select,textarea{width:100%;padding:12px;border:1px solid #bcc8d7;border-radius:9px;background:#fff;font:inherit}input:focus,select:focus,textarea:focus{outline:3px solid rgba(181,138,42,.15);border-color:var(--gold)}
small{color:var(--muted);font-weight:400}
.btn{display:inline-block;background:var(--navy);color:#fff;border:0;border-radius:9px;padding:12px 18px;font-weight:800;cursor:pointer}.btn:hover{background:#1d2c49}.btn.small{padding:9px 13px;font-size:14px}.btn.secondary{background:#e9eef5;color:#22324a}
.alert,.ok{padding:15px;border-radius:10px;margin:15px 0}.alert{background:#fff1f1;border:1px solid #efb0b0;color:#7e1515}.ok{background:#effaf3;border:1px solid #abd9bc;color:#195d32}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}
.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.coursegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.course-card{overflow:hidden}.course-card>img,.cover-placeholder{width:100%;height:180px;object-fit:cover}.cover-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),#314461);color:#e9c25f;font-size:68px;font-weight:900}
.course-body{padding:20px}.course-body h2,.course-body h3{margin:12px 0 8px}.course-body p{color:var(--muted);line-height:1.5}
.course-meta{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0}.course-meta span{background:#eef2f7;padding:6px 9px;border-radius:999px;font-size:13px}
.badge{display:inline-block;padding:6px 10px;border-radius:999px;background:#eef2f7;color:#344054;font-size:12px;font-weight:800}
.section-title{display:flex;justify-content:space-between;align-items:center;gap:16px}.count-pill{background:var(--navy);color:#fff;padding:7px 11px;border-radius:999px;font-size:13px}
.module-list{display:grid;gap:14px}.module-card{display:grid;grid-template-columns:58px 1fr;gap:16px;padding:18px;border:1px solid var(--line);border-radius:13px;background:#fbfcfe}.module-number{width:48px;height:48px;border-radius:12px;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:20px;font-weight:900}.module-content h3{margin:2px 0 8px}.module-content p{color:#475467;line-height:1.55}.module-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}
.checkline{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:8px}.checkline input{width:auto}
.empty-state{text-align:center;padding:40px;border:2px dashed #cfd8e4;border-radius:14px;color:var(--muted)}
.studentcard{margin-top:20px;padding:24px;display:flex;justify-content:space-between;gap:20px;align-items:center;border:2px solid var(--gold)}.studentcard img{width:150px;height:185px;object-fit:cover;border-radius:12px}
@media(max-width:800px){.two{grid-template-columns:1fr}.wrap{padding:18px}.top{padding:16px}.course-hero{align-items:flex-start;flex-direction:column}.course-hero img{width:100%;height:180px}.module-card{grid-template-columns:1fr}.module-number{width:42px;height:42px}.page-head h1{font-size:29px}}


.canvas-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:24px}
.course-sidebar{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px;height:max-content;position:sticky;top:18px;box-shadow:0 8px 26px rgba(15,23,42,.06)}
.sidebar-course-title{font-weight:900;padding:12px 10px 16px;border-bottom:1px solid var(--line);margin-bottom:8px}
.course-sidebar a{display:block;padding:11px 12px;border-radius:8px;color:#344054;font-weight:700;margin:3px 0}
.course-sidebar a:hover,.course-sidebar a.active{background:#eef2f7;color:var(--navy)}
.course-workspace{min-width:0}
.hero-placeholder{width:190px;height:112px;border-radius:14px;background:linear-gradient(135deg,var(--navy),#314461);color:#e9c25f;display:grid;place-items:center;font-size:58px;font-weight:900}
.progress-box{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.progress-box>div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 13px;min-width:105px}
.progress-box strong{display:block;font-size:20px}.progress-box span{font-size:12px;color:var(--muted)}
.toolbar-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin:18px 0}
.tab-button{border:0;background:transparent;padding:13px 16px;font-weight:800;color:#667085;border-bottom:3px solid transparent;cursor:pointer}
.tab-button.active{color:var(--navy);border-bottom-color:var(--gold)}
.tab-panel{display:none}.tab-panel.active{display:block}
.module-card{grid-template-columns:28px 50px 1fr;position:relative}
.drag-handle{color:#98a2b3;font-size:23px;cursor:grab;display:grid;place-items:center}
.module-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.module-heading h3{margin:7px 0 0}
.icon-button{border:0;background:transparent;font-size:25px;cursor:pointer;color:#667085}
.module-resource-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}
.resource-chip{padding:7px 10px;border-radius:8px;background:#eef3f8;color:#344054;font-size:13px;font-weight:700}.resource-chip.muted{opacity:.65}
.module-actions-menu{display:none;gap:8px;flex-wrap:wrap;margin-top:14px}.module-actions-menu.open{display:flex}
.inline-form{display:inline}.btn.danger{background:#a61b1b}
.quiz-list{display:grid;gap:12px}.quiz-card{display:flex;gap:14px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:12px}.quiz-card h3{margin:0 0 5px}.quiz-card p{margin:0;color:var(--muted)}.quiz-icon{font-size:30px}
.file-dropzone{border:2px dashed #bdc8d6;border-radius:12px;padding:25px;text-align:center;background:#fafbfd;cursor:pointer}
.file-dropzone input{margin-bottom:10px}.file-dropzone span{display:block;font-weight:800}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
dialog{border:0;border-radius:16px;width:min(680px,92vw);padding:0;box-shadow:0 30px 80px rgba(15,23,42,.28)}
dialog::backdrop{background:rgba(15,23,42,.55)}
.dialog-form{padding:24px;display:grid;gap:14px}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{margin:0}
@media(max-width:980px){.canvas-layout{grid-template-columns:1fr}.course-sidebar{position:static;display:flex;overflow:auto}.course-sidebar a{white-space:nowrap}.sidebar-course-title{display:none}}
@media(max-width:700px){.field-row{grid-template-columns:1fr}.module-card{grid-template-columns:40px 1fr}.drag-handle{display:none}}


/* PARCHE 3.1 — IDENTIDAD CORPORATIVA */
body{background:#f5f7fa}
.institutional-header{
  min-height:92px;background:linear-gradient(115deg,#08172d,#0b1f3a 60%,#132c4f);
  color:#fff;padding:13px 30px;display:flex;justify-content:space-between;align-items:center;
  border-bottom:3px solid #b58a2a;box-shadow:0 5px 22px rgba(5,20,40,.22)
}
.institutional-brand{display:flex;align-items:center;gap:15px;color:#fff;min-width:0}
.institutional-brand img{width:66px;height:66px;object-fit:contain;background:#fff;border-radius:50%;padding:4px;border:2px solid rgba(213,177,78,.85)}
.institutional-brand span{display:grid;gap:2px}
.institutional-brand strong{font-family:Georgia,"Times New Roman",serif;font-size:28px;letter-spacing:.01em}
.institutional-brand small{color:#d8e2ef;font-size:13px;letter-spacing:.04em}
.account-box{display:grid;grid-template-columns:auto auto;column-gap:9px;row-gap:2px;text-align:right;align-items:center}
.account-role{color:#d6ad45;font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.account-box strong{font-size:15px}
.logout-link{grid-column:1/-1;color:#fff;font-size:12px;opacity:.8}
.logout-link:hover{opacity:1;color:#f4cf72}
.main-navigation{
  background:#fff;border-bottom:1px solid #d8e0ea;padding:0 26px;display:flex;gap:3px;
  flex-wrap:wrap;box-shadow:0 3px 12px rgba(15,31,58,.06);position:sticky;top:0;z-index:30
}
.main-navigation a{display:flex;align-items:center;gap:7px;padding:13px 14px;color:#344054;font-weight:800;border-bottom:3px solid transparent}
.main-navigation a:hover{color:#0b1f3a;background:#f5f7fa;border-bottom-color:#b58a2a}
.nav-symbol{width:23px;height:23px;display:grid;place-items:center;border-radius:6px;background:#edf1f6;color:#0b1f3a;font-size:14px}
.institutional-footer{
  margin-top:35px;padding:26px 30px;background:#0b1f3a;color:#fff;display:flex;justify-content:center;
  align-items:center;gap:16px;border-top:3px solid #b58a2a;text-align:left
}
.institutional-footer img{width:52px;height:52px;object-fit:contain;background:#fff;border-radius:50%;padding:3px}
.institutional-footer div{display:grid;gap:3px}
.institutional-footer span,.institutional-footer small{color:#c7d2e0}
.faculty-brand-strip{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0 26px
}
.faculty-brand-card{
  background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;display:flex;align-items:center;
  gap:13px;box-shadow:0 7px 22px rgba(20,35,60,.05)
}
.faculty-brand-card img{width:85px;height:58px;object-fit:contain}
.faculty-brand-card strong{display:block;font-size:14px}
.faculty-brand-card small{display:block;margin-top:3px;color:var(--muted)}
@media(max-width:900px){
  .institutional-header{padding:12px 17px}
  .institutional-brand img{width:55px;height:55px}
  .institutional-brand strong{font-size:22px}
  .account-box{display:none}
  .main-navigation{padding:0 8px;overflow:auto;flex-wrap:nowrap}
  .main-navigation a{white-space:nowrap}
  .faculty-brand-strip{grid-template-columns:1fr}
}
@media(max-width:560px){
  .institutional-brand small{display:none}
  .institutional-brand strong{font-size:20px}
  .institutional-footer{padding:20px 14px}
}


/* PARCHE 3.2 — DASHBOARD PROFESIONAL */
.dashboard-hero{background:linear-gradient(120deg,#0b1f3a,#16365f);color:#fff;border-radius:18px;padding:28px 30px;display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:22px;box-shadow:0 14px 35px rgba(11,31,58,.16);position:relative;overflow:hidden}
.dashboard-hero:after{content:"";position:absolute;width:260px;height:260px;border:45px solid rgba(255,255,255,.035);border-radius:50%;right:-70px;top:-105px}
.dashboard-hero h1{font-size:34px;margin:7px 0 8px}.dashboard-hero p{margin:0;color:#d6e0ec;max-width:760px;line-height:1.5}.dashboard-date{min-width:190px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);padding:15px 17px;border-radius:12px;text-align:right;z-index:1}.dashboard-date strong{display:block;font-size:20px}.dashboard-date span{display:block;font-size:12px;color:#d6e0ec;margin-top:4px}
.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:14px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;box-shadow:0 8px 24px rgba(20,35,60,.055);color:var(--text);transition:.2s ease}.stat-card:hover{transform:translateY(-3px);box-shadow:0 13px 30px rgba(20,35,60,.11);border-color:#b8c4d3}.stat-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:#eaf0f7;color:#0b1f3a;font-weight:900;font-size:18px}.stat-card strong{display:block;font-size:27px;line-height:1}.stat-card div span{display:block;color:var(--muted);font-size:13px;margin-top:5px}.stat-arrow{font-size:27px;color:#98a2b3}.stat-card.students .stat-icon{background:#eaf3ff;color:#1f5d9e}.stat-card.teachers .stat-icon{background:#f2ecff;color:#6741a5}.stat-card.courses .stat-icon{background:#fff4d9;color:#8a6400}.stat-card.enrollments .stat-icon{background:#e8f7ef;color:#23734a}.stat-card.messages .stat-icon{background:#e8f5fb;color:#21728f}.stat-card.certificates .stat-icon{background:#fff0e8;color:#9b4c1f}
.faculty-overview{margin:24px 0}.faculty-dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.faculty-dashboard-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;gap:16px;align-items:center;box-shadow:0 8px 24px rgba(20,35,60,.05);position:relative;overflow:hidden}.faculty-dashboard-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#b58a2a}.faculty-dashboard-card img{width:105px;height:75px;object-fit:contain}.faculty-dashboard-card h3{margin:0 0 6px}.faculty-dashboard-card p{margin:0 0 9px;color:var(--muted);font-size:13px;line-height:1.45}.faculty-dashboard-card a{font-size:13px;font-weight:800}.faculty-dashboard-card.theology:before{background:#596778}.faculty-dashboard-card.security:before{background:#203f62}
.dashboard-columns{display:grid;grid-template-columns:1.6fr .8fr;gap:20px}.quick-action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick-action-grid a{border:1px solid var(--line);border-radius:12px;padding:16px;color:var(--text);display:grid;grid-template-columns:38px 1fr;column-gap:10px;align-items:center;background:#fbfcfe}.quick-action-grid a:hover{background:#f2f6fb;border-color:#b9c5d4}.quick-action-grid a>span{grid-row:1/3;width:36px;height:36px;border-radius:9px;background:#0b1f3a;color:#fff;display:grid;place-items:center;font-size:18px}.quick-action-grid strong{font-size:14px}.quick-action-grid small{font-size:12px;color:var(--muted)}
.summary-row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.summary-row span{color:var(--muted)}.summary-row strong{font-size:20px}.system-health{display:flex;gap:12px;align-items:center;margin-top:18px;background:#eef8f2;padding:13px;border-radius:11px}.system-health>span{width:12px;height:12px;border-radius:50%;background:#2a9d59;box-shadow:0 0 0 5px rgba(42,157,89,.13)}.system-health strong,.system-health small{display:block}.system-health small{color:#5f7366;margin-top:3px}
.activity-panel{margin-top:20px}.responsive-table{overflow:auto}.activity-badge{display:inline-block;background:#eef2f7;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:800;color:#344054}
@media(max-width:1250px){.stats-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:950px){.faculty-dashboard-grid{grid-template-columns:1fr}.dashboard-columns{grid-template-columns:1fr}.dashboard-hero{align-items:flex-start}.dashboard-date{display:none}}
@media(max-width:700px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-hero{padding:22px}.dashboard-hero h1{font-size:27px}.quick-action-grid{grid-template-columns:1fr}}
@media(max-width:440px){.stats-grid{grid-template-columns:1fr}.faculty-dashboard-card{align-items:flex-start}.faculty-dashboard-card img{width:75px;height:60px}}


/* PARCHE 3.3 — NAVEGACIÓN LATERAL, CALENDARIO Y CENTRO DE CONTROL */
.app-shell{min-height:100vh;display:grid;grid-template-columns:255px minmax(0,1fr);background:#f4f7fb}
.global-sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#08172d,#0d2342);color:#fff;padding:18px 13px;display:flex;flex-direction:column;z-index:100;box-shadow:5px 0 22px rgba(8,23,45,.12);transition:width .2s ease}
.sidebar-brand{display:flex;align-items:center;gap:12px;color:#fff;padding:4px 9px 20px;border-bottom:1px solid rgba(255,255,255,.12)}
.sidebar-brand img{width:54px;height:54px;object-fit:contain;background:#fff;border-radius:50%;padding:3px;border:2px solid #b58a2a}
.sidebar-brand span{display:grid}.sidebar-brand strong{font-family:Georgia,serif;font-size:24px}.sidebar-brand small{color:#cbd6e5;font-size:13px}
.sidebar-collapse{position:absolute;right:-13px;top:82px;width:27px;height:27px;border:0;border-radius:50%;background:#b58a2a;color:#fff;font-size:22px;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.side-navigation{display:grid;gap:4px;margin-top:20px}
.side-nav-link{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:9px;color:#cfdaea;font-weight:750}
.side-nav-link:hover,.side-nav-link.active{background:rgba(255,255,255,.11);color:#fff}
.side-nav-link.active{box-shadow:inset 3px 0 #d5ac45}
.side-icon{width:29px;height:29px;border-radius:8px;background:rgba(255,255,255,.1);display:grid;place-items:center;color:#f2c75d}
.side-section-label{font-size:10px;letter-spacing:.15em;color:#7890ad;font-weight:900;padding:18px 12px 7px}
.sidebar-footer{margin-top:auto;display:flex;align-items:center;gap:9px;padding:13px;color:#bac8db;font-size:12px;border-top:1px solid rgba(255,255,255,.1)}
.system-dot{width:9px;height:9px;background:#3bb268;border-radius:50%;box-shadow:0 0 0 4px rgba(59,178,104,.15)}
.app-main{min-width:0;display:flex;flex-direction:column}
.app-topbar{height:78px;background:#fff;border-bottom:1px solid #dce3ec;display:flex;justify-content:space-between;align-items:center;padding:0 28px;position:sticky;top:0;z-index:50;box-shadow:0 3px 14px rgba(15,31,58,.05)}
.topbar-left{display:flex;align-items:center;gap:13px}.topbar-left>div{display:grid}.topbar-left strong{font-size:20px}.topbar-eyebrow{font-size:10px;letter-spacing:.14em;color:#b58a2a;font-weight:900}
.mobile-menu-button{display:none;border:0;background:#eef2f7;border-radius:8px;padding:8px 10px;font-size:19px}
.topbar-tools{display:flex;align-items:center;gap:17px}.topbar-icon{position:relative;border:0;background:#eef2f7;width:39px;height:39px;border-radius:10px;font-size:18px}
.notification-badge{position:absolute;right:-4px;top:-5px;background:#b52828;color:#fff;border-radius:999px;font-size:10px;padding:2px 5px}
.user-menu{display:flex;align-items:center;gap:10px}.user-avatar{width:41px;height:41px;border-radius:50%;background:#0b1f3a;color:#fff;display:grid;place-items:center;font-weight:900;border:2px solid #d2aa45}
.user-details{display:grid}.user-details strong{font-size:14px}.user-details span{font-size:11px;color:#667085}.topbar-logout{font-size:12px;color:#a61b1b;font-weight:700;margin-left:5px}
.app-content{width:100%;max-width:1600px;flex:1}
.app-footer{padding:20px 30px;border-top:1px solid #dce3ec;background:#fff;display:flex;justify-content:space-between;color:#475467}.app-footer small{color:#7b8798}
.executive-banner{background:linear-gradient(120deg,#0b1f3a,#1a3865);border-radius:19px;padding:32px 36px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:20px;box-shadow:0 13px 35px rgba(11,31,58,.17);overflow:hidden;position:relative}
.executive-banner:after{content:"";position:absolute;width:330px;height:330px;border:45px solid rgba(255,255,255,.04);border-radius:50%;right:-100px;top:-140px}
.executive-banner h1{font-size:34px;margin:7px 0}.executive-banner p{margin:0;color:#dbe5f1}.banner-status{position:relative;z-index:1;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.1);padding:14px 17px;border:1px solid rgba(255,255,255,.18);border-radius:13px}.banner-status div{display:grid}.banner-status small{color:#d9e2ee}.pulse-dot{width:12px;height:12px;background:#42c477;border-radius:50%;box-shadow:0 0 0 7px rgba(66,196,119,.16)}
.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:14px;margin:22px 0}
.metric-card{background:#fff;border:1px solid #dce3ec;border-radius:15px;padding:17px;display:grid;grid-template-columns:47px 1fr auto;align-items:center;gap:12px;color:#172033;box-shadow:0 7px 22px rgba(20,35,60,.05);transition:transform .18s ease,box-shadow .18s ease}
.metric-card:hover{transform:translateY(-3px);box-shadow:0 13px 30px rgba(20,35,60,.1)}
.metric-symbol{width:47px;height:47px;border-radius:13px;display:grid;place-items:center;font-weight:900;font-size:19px}.metric-data{display:grid}.metric-data>span{font-size:13px;color:#667085}.metric-data strong{font-size:27px;line-height:1.1}.metric-data small{font-size:10px;color:#98a2b3;margin-top:3px}.metric-chevron{font-size:27px;color:#98a2b3}
.tone-blue .metric-symbol{background:#e9f1ff;color:#245b9e}.tone-purple .metric-symbol{background:#f0e9ff;color:#7041a1}.tone-gold .metric-symbol{background:#fff2ce;color:#8d6a00}.tone-green .metric-symbol{background:#e5f7ee;color:#247c4b}.tone-cyan .metric-symbol{background:#e7f5fa;color:#28728b}.tone-orange .metric-symbol{background:#fff0e7;color:#995127}
.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px}.dashboard-primary,.dashboard-aside{min-width:0}
.faculty-control-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.faculty-control-card{border:1px solid #dce3ec;border-radius:14px;padding:16px;display:flex;gap:14px;color:#172033;position:relative;overflow:hidden}.faculty-control-card:before{content:"";width:5px;position:absolute;left:0;top:0;bottom:0}.faculty-control-card.martial:before{background:#b58a2a}.faculty-control-card.theology:before{background:#5e6c80}.faculty-control-card.security:before{background:#193e6d}.faculty-control-card img{width:88px;height:60px;object-fit:contain}.faculty-control-card h3{margin:0 0 5px}.faculty-control-card p{font-size:12px;color:#667085;line-height:1.4;margin:0 0 8px}.faculty-control-card span{font-size:12px;font-weight:800;color:#174f91}
.mini-panel-head{display:flex;justify-content:space-between;align-items:flex-start}.mini-panel-head h2{margin:5px 0 14px}.calendar-today{width:39px;height:39px;border-radius:10px;background:#0b1f3a;color:#fff;display:grid;place-items:center;font-weight:900}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-grid>span{text-align:center;font-size:11px;color:#7b8798;font-weight:800;padding:5px}.calendar-grid i,.calendar-grid button{height:34px;border:0;background:transparent;border-radius:8px}.calendar-grid button{cursor:default;color:#344054}.calendar-grid button.today{background:#b58a2a;color:#fff;font-weight:900}
.calendar-note{margin-top:15px;background:#f3f6fa;padding:12px;border-radius:10px;display:flex;gap:9px}.calendar-note div{display:grid}.calendar-note small{color:#667085;line-height:1.35}.note-dot{width:9px;height:9px;margin-top:4px;border-radius:50%;background:#b58a2a}
.alert-feed{display:grid}.alert-feed a{display:flex;gap:11px;padding:12px 0;border-bottom:1px solid #e2e8f0;color:#172033}.alert-feed a:last-child{border-bottom:0}.alert-feed a>div{display:grid}.alert-feed small{color:#667085;line-height:1.35}.alert-feed-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-weight:900;flex:0 0 auto}.alert-feed-icon.gold{background:#fff2ce;color:#856300}.alert-feed-icon.blue{background:#e9f1ff;color:#245b9e}.alert-feed-icon.green{background:#e5f7ee;color:#247c4b}
.bar-chart{display:grid;gap:15px}.bar-row>div:first-child{display:flex;justify-content:space-between;font-size:13px;margin-bottom:6px}.bar-track{height:8px;background:#e8edf3;border-radius:999px;overflow:hidden}.bar-track span{height:100%;display:block;background:linear-gradient(90deg,#0b1f3a,#b58a2a);border-radius:999px;min-width:5px}
.activity-timeline{display:grid}.timeline-item{display:grid;grid-template-columns:20px 1fr;gap:9px;position:relative}.timeline-item:not(:last-child):before{content:"";position:absolute;width:2px;background:#dce3ec;left:6px;top:18px;bottom:-2px}.timeline-dot{width:14px;height:14px;border-radius:50%;background:#b58a2a;border:3px solid #fff;box-shadow:0 0 0 2px #e4d1a1;margin-top:4px;z-index:1}.timeline-content{padding:0 0 18px}.timeline-content>div{display:flex;justify-content:space-between;gap:12px}.timeline-content span,.timeline-content time{font-size:11px;color:#7b8798}.timeline-content p{margin:4px 0;color:#475467;font-size:13px}
@media(max-width:1300px){.metric-grid{grid-template-columns:repeat(3,1fr)}.faculty-control-grid{grid-template-columns:1fr}.dashboard-main-grid{grid-template-columns:minmax(0,1fr) 310px}}
@media(max-width:980px){.app-shell{grid-template-columns:1fr}.global-sidebar{position:fixed;left:-275px;width:255px;transition:left .2s ease}.global-sidebar.mobile-open{left:0}.sidebar-collapse{display:none}.mobile-menu-button{display:block}.dashboard-main-grid{grid-template-columns:1fr}.dashboard-aside{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.analytics-panel{grid-column:1/-1}}
@media(max-width:700px){.app-topbar{padding:0 14px}.topbar-tools>.topbar-icon,.user-details,.topbar-logout{display:none}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-aside{grid-template-columns:1fr}.executive-banner{padding:25px 21px;align-items:flex-start;flex-direction:column}.executive-banner h1{font-size:28px}.banner-status{width:100%}.app-footer{flex-direction:column;gap:5px}.metric-card{grid-template-columns:42px 1fr}.metric-chevron{display:none}}


/* PARCHE 4.1 — GESTIÓN PROFESIONAL DE USUARIOS */
.users-banner{margin-bottom:20px}.users-banner .btn.light{background:#fff;color:#0b1f3a;position:relative;z-index:2}
.user-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.user-summary-card{background:#fff;border:1px solid #dce3ec;border-radius:14px;padding:17px;display:flex;align-items:center;gap:12px;box-shadow:0 7px 22px rgba(20,35,60,.05)}
.user-summary-card>span{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;font-weight:900;font-size:19px}
.user-summary-card>div{display:grid}.user-summary-card strong{font-size:27px;line-height:1}.user-summary-card small{color:#667085;margin-top:4px}
.user-summary-card.tone-blue>span{background:#e9f1ff;color:#245b9e}.user-summary-card.tone-green>span{background:#e5f7ee;color:#247c4b}.user-summary-card.tone-purple>span{background:#f0e9ff;color:#7041a1}.user-summary-card.tone-gold>span{background:#fff2ce;color:#8d6a00}
.user-filter-bar{display:grid;grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(150px,.7fr)) auto auto;gap:9px;align-items:center;margin:18px 0}
.search-field{position:relative}.search-field>span{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#667085;font-size:20px}.search-field input{padding-left:39px}
.user-table-wrap{overflow:auto}.professional-user-table{min-width:980px}.professional-user-table th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#667085;background:#f8fafc}.professional-user-table td{vertical-align:middle}
.directory-user{display:flex;align-items:center;gap:11px}.directory-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#0b1f3a;color:#fff;font-weight:900;border:2px solid #d1aa45}.directory-user>div:last-child{display:grid}.directory-user small{color:#667085}
.role-pill,.status-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800}.role-student{background:#e9f1ff;color:#245b9e}.role-teacher{background:#f0e9ff;color:#7041a1}.role-superadmin{background:#fff2ce;color:#7d5f00}
.status-pill i{width:7px;height:7px;border-radius:50%}.status-active{background:#e9f8ef;color:#247c4b}.status-active i{background:#3bb268}.status-pending{background:#fff6df;color:#8a6500}.status-pending i{background:#d6a61f}.status-suspended{background:#fff0f0;color:#a61b1b}.status-suspended i{background:#d54444}
.row-actions{display:flex;gap:6px;justify-content:flex-end}.icon-action{border:1px solid #d7e0ea;background:#fff;width:34px;height:34px;border-radius:8px;cursor:pointer;color:#344054;font-size:16px}.icon-action:hover{background:#eef2f7}
.user-dialog-form{min-width:min(760px,92vw)}.user-dialog-form .grid{grid-template-columns:repeat(2,1fr)}
@media(max-width:1100px){.user-filter-bar{grid-template-columns:1fr 1fr 1fr}.search-field{grid-column:1/-1}.user-summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.user-summary-grid{grid-template-columns:1fr 1fr}.user-filter-bar{grid-template-columns:1fr}.search-field{grid-column:auto}.user-dialog-form .grid{grid-template-columns:1fr}.users-banner .btn.light{width:100%}}


/* PARCHE 4.2 INTEGRAL */
.users-hero{
  margin-bottom:20px;background:linear-gradient(120deg,#0b1f3a,#214778);
  border-radius:19px;padding:31px 35px;color:#fff;display:flex;align-items:center;
  justify-content:space-between;gap:20px;box-shadow:0 13px 35px rgba(11,31,58,.17);
  position:relative;overflow:hidden
}
.users-hero:after{content:"";position:absolute;width:280px;height:280px;border:42px solid rgba(255,255,255,.045);border-radius:50%;right:-80px;top:-120px}
.users-hero>div,.users-hero>button{position:relative;z-index:2}
.users-hero h1{font-size:34px;margin:7px 0}.users-hero p{margin:0;color:#dbe5f1}
.users-hero .btn.light{background:#fff;color:#0b1f3a}
.directory-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0 4px;border-bottom:1px solid #dce3ec}
.directory-tabs a{padding:10px 14px;color:#667085;font-weight:800;border-bottom:3px solid transparent}
.directory-tabs a.active,.directory-tabs a:hover{color:#0b1f3a;border-bottom-color:#b58a2a}
.enrollment-hero{background:linear-gradient(120deg,#102744,#285b69)}
.enrollment-filters{grid-template-columns:minmax(260px,1.5fr) repeat(2,minmax(170px,.8fr)) auto auto}
.enrollment-table{min-width:1180px}
.progress-cell{display:grid;grid-template-columns:minmax(100px,1fr) auto;gap:9px;align-items:center;min-width:160px}
.progress-cell .bar-track{height:9px}
.enrollment-status-active{background:#e9f8ef;color:#247c4b}.enrollment-status-active i{background:#3bb268}
.enrollment-status-completed{background:#e9f1ff;color:#245b9e}.enrollment-status-completed i{background:#3476bf}
.enrollment-status-blocked{background:#fff0f0;color:#a61b1b}.enrollment-status-blocked i{background:#d54444}
@media(max-width:760px){
  .users-hero{align-items:flex-start;flex-direction:column;padding:25px 21px}
  .users-hero h1{font-size:28px}.users-hero .btn.light{width:100%}
  .enrollment-filters{grid-template-columns:1fr}
}


/* PARCHE 4.3 — GESTIÓN PROFESIONAL DE CURSOS */
.course-management-hero{background:linear-gradient(120deg,#0b1f3a,#3e315f)}
.course-filter-bar{grid-template-columns:minmax(260px,1.5fr) repeat(3,minmax(145px,.7fr)) auto auto}
.managed-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px}
.managed-course-card{background:#fff;border:1px solid #dce3ec;border-radius:16px;overflow:hidden;box-shadow:0 8px 25px rgba(20,35,60,.06);display:flex;flex-direction:column}
.managed-course-card.status-archived{opacity:.72}
.managed-course-cover{height:165px;background:linear-gradient(135deg,#0b1f3a,#214778);position:relative;overflow:hidden}
.managed-course-cover>img{width:100%;height:100%;object-fit:cover}
.course-faculty-logo{width:100%;height:100%;display:grid;place-items:center;background:#f8fafc}
.course-faculty-logo img{width:75%;height:75%;object-fit:contain}
.course-status-badge{position:absolute;right:12px;top:12px;background:rgba(11,31,58,.9);color:#fff;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.managed-course-content{padding:17px;display:flex;flex-direction:column;gap:10px;flex:1}
.course-card-topline{display:flex;justify-content:space-between;gap:12px;color:#7b8798;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.managed-course-content h3{font-size:20px;margin:0;line-height:1.25}.managed-course-content p{margin:0;color:#667085;line-height:1.45;min-height:61px}
.managed-course-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #e2e8f0;border-radius:11px;overflow:hidden}
.managed-course-stats span{padding:10px 8px;text-align:center;font-size:10px;color:#667085;border-right:1px solid #e2e8f0}.managed-course-stats span:last-child{border-right:0}
.managed-course-stats strong{display:block;font-size:18px;color:#172033}
.managed-course-meta{display:flex;flex-wrap:wrap;gap:7px}.managed-course-meta span{background:#f3f6fa;border-radius:999px;padding:5px 8px;font-size:10px;color:#475467}
.managed-course-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:auto;padding-top:4px}
.course-dialog-form{min-width:min(820px,94vw)}
.full-width{grid-column:1/-1}
@media(max-width:1250px){.managed-course-grid{grid-template-columns:repeat(2,1fr)}.course-filter-bar{grid-template-columns:1fr 1fr 1fr}.course-filter-bar .search-field{grid-column:1/-1}}
@media(max-width:720px){.managed-course-grid{grid-template-columns:1fr}.course-filter-bar{grid-template-columns:1fr}.course-filter-bar .search-field{grid-column:auto}.course-dialog-form .grid{grid-template-columns:1fr}}


/* PARCHE 4.4 — CONSTRUCTOR ACADÉMICO PROFESIONAL */
.course-builder-hero{background:#fff;border:1px solid #dce3ec;border-radius:18px;padding:20px;display:grid;grid-template-columns:190px minmax(0,1fr) auto;gap:22px;align-items:center;box-shadow:0 9px 28px rgba(20,35,60,.06);margin-bottom:18px}
.builder-cover{height:130px;border-radius:13px;overflow:hidden;background:#f4f7fb}.builder-cover img{width:100%;height:100%;object-fit:contain}
.builder-course-info h1{font-size:31px;margin:5px 0}.builder-course-info p{color:#667085;line-height:1.5;margin:0 0 11px}
.builder-meta{display:flex;flex-wrap:wrap;gap:7px}.builder-meta span{padding:6px 9px;border-radius:999px;background:#f0f3f7;font-size:11px;color:#475467;font-weight:700}
.builder-status{display:grid;justify-items:end;gap:12px}.course-status-badge.static{position:static}
.builder-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.academic-builder-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:18px;align-items:start}
.builder-navigation{position:sticky;top:96px;padding:18px;display:grid;gap:6px}.builder-navigation h2{margin:4px 0 12px}
.builder-nav-button,.builder-nav-link{border:0;background:transparent;display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border-radius:9px;color:#475467;font-weight:800;text-align:left;cursor:pointer}
.builder-nav-button span,.builder-nav-link span{width:27px;height:27px;border-radius:7px;background:#edf1f6;display:grid;place-items:center;color:#0b1f3a}
.builder-nav-button b{margin-left:auto;background:#edf1f6;color:#667085;border-radius:999px;padding:2px 7px;font-size:10px}
.builder-nav-button.active,.builder-nav-button:hover,.builder-nav-link:hover{background:#0b1f3a;color:#fff}.builder-nav-button.active span,.builder-nav-button:hover span,.builder-nav-link:hover span{background:#d2aa45;color:#fff}
.builder-panel{display:none}.builder-panel.active{display:block}
.builder-overview-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}
.course-map{display:grid}.course-map-item{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid #e3e8ef}.course-map-item:last-child{border-bottom:0}.course-map-item>span{width:36px;height:36px;border-radius:9px;background:#0b1f3a;color:#fff;display:grid;place-items:center;font-weight:900}.course-map-item>div{display:grid}.course-map-item small{color:#667085;margin-top:3px}
.overview-quiz-list{display:grid}.overview-quiz-list>div{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid #e3e8ef}.overview-quiz-list>div:last-child{border-bottom:0}.overview-quiz-list>div>div{display:grid}.overview-quiz-list small{color:#667085}.quiz-mini-icon{width:35px;height:35px;border-radius:9px;background:#e9f8ef;color:#247c4b;display:grid;place-items:center;font-weight:900}
.professional-module-list{display:grid;gap:14px}.professional-module-card{display:grid;grid-template-columns:62px minmax(0,1fr);background:#fff;border:1px solid #dce3ec;border-radius:15px;overflow:hidden;box-shadow:0 7px 22px rgba(20,35,60,.05)}
.module-order-number{background:linear-gradient(180deg,#0b1f3a,#193e6d);color:#d8b44f;display:grid;place-items:center;font-size:21px;font-weight:900}
.professional-module-main{padding:18px}.professional-module-head{display:flex;justify-content:space-between;gap:15px}.professional-module-head h3{font-size:20px;margin:3px 0}.professional-module-main>p{color:#667085;line-height:1.5}
.pass-mark-badge{align-self:flex-start;background:#e9f8ef;color:#247c4b;padding:7px 9px;border-radius:999px;font-size:10px;font-weight:900;white-space:nowrap}
.module-card-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}
.professional-quiz-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.professional-quiz-card{background:#fff;border:1px solid #dce3ec;border-radius:14px;padding:17px;display:grid;grid-template-columns:48px 1fr auto;gap:12px;box-shadow:0 7px 22px rgba(20,35,60,.05)}.professional-quiz-card.final-quiz{border-left:5px solid #b58a2a}
.professional-quiz-icon{width:48px;height:48px;border-radius:12px;background:#e9f8ef;color:#247c4b;display:grid;place-items:center;font-size:22px;font-weight:900}.professional-quiz-card h3{margin:3px 0}.professional-quiz-card p{margin:0;color:#667085}.quiz-card-meta{margin-top:9px}.quiz-card-meta span{background:#f1f4f8;padding:5px 8px;border-radius:999px;font-size:10px}.quiz-card-actions{display:flex;gap:5px}
.builder-add-grid{align-items:start}
@media(max-width:1100px){.course-builder-hero{grid-template-columns:140px 1fr}.builder-status{grid-column:1/-1;display:flex;justify-content:space-between}.academic-builder-layout{grid-template-columns:1fr}.builder-navigation{position:static;display:flex;overflow:auto}.builder-navigation>.eyebrow,.builder-navigation>h2{display:none}.builder-nav-button,.builder-nav-link{width:auto;white-space:nowrap}.builder-overview-grid{grid-template-columns:1fr}}
@media(max-width:760px){.course-builder-hero{grid-template-columns:1fr}.builder-cover{height:180px}.builder-stat-grid{grid-template-columns:repeat(2,1fr)}.professional-quiz-grid{grid-template-columns:1fr}.professional-module-card{grid-template-columns:46px 1fr}.professional-module-head{flex-direction:column}.pass-mark-badge{align-self:flex-start}}


/* FASE 5 — GESTOR COMPLETO DE CONTENIDOS */
.phase-five-hero{border-top:4px solid #b58a2a}
.phase-five-stats{grid-template-columns:repeat(4,1fr)}
.section-description{color:#667085;margin:5px 0 0}
.phase-five-module{grid-template-columns:36px 62px minmax(0,1fr);transition:opacity .15s ease,transform .15s ease}
.phase-five-module.dragging{opacity:.45;transform:scale(.99)}
.module-drag-handle{display:grid;place-items:center;background:#f1f4f8;color:#8a96a8;font-size:22px;cursor:grab;border-right:1px solid #dce3ec}
.module-drag-handle:active{cursor:grabbing}
.module-status-line{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:5px}
.module-publication-badge,.unlock-badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}
.module-publication-badge.published{background:#e9f8ef;color:#247c4b}
.module-publication-badge.draft{background:#fff6df;color:#8a6500}
.module-publication-badge.hidden{background:#f0e9ff;color:#7041a1}
.unlock-badge{background:#eef2f7;color:#475467}
.phase-five-module.status-hidden{opacity:.72;border-style:dashed}
.btn.success{background:#247c4b;color:#fff}
.danger-icon{color:#a61b1b}
.rules-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.rule-card{position:relative;padding-left:72px;min-height:150px}
.rule-icon{position:absolute;left:20px;top:20px;width:38px;height:38px;border-radius:11px;background:#0b1f3a;color:#d5ac45;display:grid;place-items:center;font-weight:900}
.rule-card h3{margin:2px 0 8px}.rule-card p{color:#667085;line-height:1.5}
.phase-five-form-grid{grid-template-columns:repeat(2,1fr)}
.module-phase-five-dialog{min-width:min(850px,94vw)}
.sortable-module-list.drag-active{outline:2px dashed #b58a2a;outline-offset:8px;border-radius:12px}
@media(max-width:900px){.rules-grid{grid-template-columns:1fr}.phase-five-form-grid{grid-template-columns:1fr}}
@media(max-width:760px){.phase-five-module{grid-template-columns:30px 44px minmax(0,1fr)}.module-drag-handle{font-size:17px}.phase-five-stats{grid-template-columns:repeat(2,1fr)}}


/* FASE 6 — MOTOR PROFESIONAL DE EXÁMENES */
.exam-engine-hero{
  display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:22px;align-items:center;
  background:linear-gradient(120deg,#0b1f3a,#263d6b);color:#fff;border-radius:19px;
  padding:27px 30px;margin-bottom:18px;box-shadow:0 13px 35px rgba(11,31,58,.17)
}
.exam-engine-icon{width:72px;height:72px;border-radius:19px;background:#d1aa42;color:#0b1f3a;
  display:grid;place-items:center;font-size:35px;font-weight:900}
.exam-engine-hero h1{font-size:34px;margin:5px 0}.exam-engine-hero p{margin:0 0 12px;color:#d9e4f2}
.exam-engine-hero .builder-meta span{background:rgba(255,255,255,.11);color:#fff}
.exam-engine-actions{display:grid;justify-items:end;gap:12px}
.exam-status-badge{padding:7px 11px;border-radius:999px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.exam-status-badge.draft{background:#fff0c9;color:#7f5a00}.exam-status-badge.published{background:#dff5e8;color:#17633b}.exam-status-badge.archived{background:#eee9f7;color:#62428c}
.exam-stat-grid{grid-template-columns:repeat(4,1fr)}
.exam-engine-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:18px;align-items:start}
.exam-navigation{position:sticky;top:96px}
.exam-work-panel{display:none}.exam-work-panel.active{display:block}
.exam-question-list{display:grid;gap:14px}
.exam-question-card{display:grid;grid-template-columns:62px minmax(0,1fr);background:#fff;border:1px solid #dce3ec;border-radius:16px;overflow:hidden;box-shadow:0 7px 22px rgba(20,35,60,.05)}
.question-position{background:linear-gradient(180deg,#0b1f3a,#1b416f);color:#d6ae47;display:grid;place-items:center;font-size:20px;font-weight:900}
.question-card-main{padding:18px}.question-card-head{display:flex;justify-content:space-between;gap:16px}.question-card-head h3{font-size:19px;margin:8px 0 12px;line-height:1.4}
.question-type-badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900;text-transform:uppercase}
.type-single,.type-multiple{background:#e8f0ff;color:#285b9d}.type-true_false{background:#e6f7ec;color:#247c4b}.type-short_text{background:#fff4d8;color:#8a6500}.type-essay{background:#f1e9ff;color:#7041a1}
.question-points{white-space:nowrap;background:#f1f4f8;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:900;color:#0b1f3a;align-self:flex-start}
.question-option-preview{display:grid;gap:7px}.question-option-preview>div{padding:9px 11px;background:#f7f9fc;border:1px solid #e3e8ef;border-radius:9px;color:#475467}.question-option-preview>div.correct{background:#eaf8ef;border-color:#c6ead3;color:#247c4b;font-weight:800}.question-option-preview span{display:inline-block;width:23px}
.written-answer-preview{padding:13px;border:1px dashed #cbd5e1;background:#f8fafc;border-radius:9px;color:#8792a2}.written-answer-preview.essay{min-height:70px}
.question-explanation{margin-top:11px;padding:10px 12px;background:#fff9e8;border-left:4px solid #d2aa45;color:#66531c;border-radius:7px}
.question-card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}
.exam-settings-card{max-width:950px}.exam-settings-grid{grid-template-columns:repeat(2,1fr)}
.exam-switch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:12px 0 18px}
.setting-switch{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:start;border:1px solid #dce3ec;padding:14px;border-radius:12px;cursor:pointer}
.setting-switch>input{display:none}.setting-switch>span{width:41px;height:23px;border-radius:999px;background:#cbd5e1;position:relative}.setting-switch>span:after{content:"";position:absolute;width:17px;height:17px;border-radius:50%;background:#fff;left:3px;top:3px;transition:.2s}.setting-switch>input:checked+span{background:#247c4b}.setting-switch>input:checked+span:after{left:21px}.setting-switch div{display:grid}.setting-switch small{color:#667085;margin-top:3px}
.exam-preview-shell{padding:0;overflow:hidden}.exam-preview-header{background:#0b1f3a;color:#fff;padding:28px}.exam-preview-header h2{font-size:30px;margin:7px 0}.exam-preview-header p{color:#dbe5f2;line-height:1.5}
.student-question-preview{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:15px;padding:22px 28px;border-bottom:1px solid #e2e8f0}.student-question-preview:last-child{border-bottom:0}
.student-question-number{width:38px;height:38px;border-radius:10px;background:#edf2f8;color:#0b1f3a;display:grid;place-items:center;font-weight:900}.student-question-preview h3{margin:4px 0 13px;line-height:1.45}.student-option{display:block;padding:9px 11px;border:1px solid #dce3ec;border-radius:8px;margin:6px 0;color:#475467}.preview-answer-input{width:100%;padding:11px;border:1px solid #dce3ec;border-radius:8px;background:#f8fafc}
.question-editor-form,.exam-question-edit-form{max-width:900px}.question-main-grid{grid-template-columns:2fr 1fr}
.question-options-editor{display:grid;gap:8px;margin:4px 0 14px}.option-editor-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}.option-editor-row input[type=text]{margin:0}.option-editor-row .correct-selector{width:19px;height:19px}.remove-option{border:0;background:#fff0f0;color:#a61b1b;width:34px;height:34px;border-radius:8px;cursor:pointer;font-weight:900}
.add-option-button{justify-self:start;border:1px dashed #98a2b3;background:#f8fafc;padding:9px 13px;border-radius:8px;cursor:pointer;color:#344054;font-weight:800}
.true-false-editor{display:flex;gap:12px}.true-false-editor label{display:flex;align-items:center;gap:7px;padding:11px 14px;border:1px solid #dce3ec;border-radius:9px}
.exam-config-link{display:inline-flex;margin-top:12px}
@media(max-width:1050px){.exam-engine-layout{grid-template-columns:1fr}.exam-navigation{position:static;display:flex;overflow:auto}.exam-navigation>.eyebrow,.exam-navigation>h2{display:none}.exam-switch-grid{grid-template-columns:1fr}.exam-engine-hero{grid-template-columns:70px 1fr}.exam-engine-actions{grid-column:1/-1;display:flex;justify-content:space-between}}
@media(max-width:760px){.exam-engine-hero{grid-template-columns:1fr}.exam-engine-icon{width:58px;height:58px}.exam-engine-hero h1{font-size:27px}.exam-stat-grid{grid-template-columns:repeat(2,1fr)}.exam-question-card{grid-template-columns:45px 1fr}.exam-settings-grid,.question-main-grid{grid-template-columns:1fr}.student-question-preview{grid-template-columns:38px 1fr}.student-question-preview>.question-points{grid-column:2}.option-editor-row{grid-template-columns:auto 1fr auto}}


/* FASE 7 — CAMPUS PROFESIONAL DEL ALUMNO */
.student-welcome-banner{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(120deg,#0b1f3a,#27426f);color:#fff;border-radius:20px;padding:32px 36px;margin-bottom:18px;box-shadow:0 14px 36px rgba(11,31,58,.18)}
.student-welcome-banner h1{font-size:36px;margin:7px 0}.student-welcome-banner p{color:#dce6f3;margin:0}.student-avatar-large{width:78px;height:78px;border-radius:50%;background:#d2aa45;color:#0b1f3a;border:5px solid rgba(255,255,255,.15);display:grid;place-items:center;font-size:32px;font-weight:900}
.student-dashboard-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:18px}.student-stat-card{background:#fff;border:1px solid #dce3ec;border-radius:15px;padding:18px;display:flex;gap:14px;align-items:center;box-shadow:0 7px 20px rgba(20,35,60,.05)}.student-stat-card>span{width:51px;height:51px;border-radius:13px;display:grid;place-items:center;font-size:21px;font-weight:900}.student-stat-card>div{display:grid}.student-stat-card strong{font-size:24px}.student-stat-card small{color:#667085}.student-stat-card.tone-blue>span{background:#e7effe;color:#285b9d}.student-stat-card.tone-gold>span{background:#fff1c9;color:#8a6500}.student-stat-card.tone-green>span{background:#e5f6ec;color:#247c4b}.student-stat-card.tone-purple>span{background:#f0e8ff;color:#7041a1}
.student-dashboard-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px}.student-dashboard-main,.student-dashboard-aside{display:grid;gap:18px;align-content:start}
.student-continue-card{display:grid;grid-template-columns:230px minmax(0,1fr);background:#fff;border:1px solid #dce3ec;border-radius:18px;overflow:hidden;box-shadow:0 9px 26px rgba(20,35,60,.06)}.continue-cover{background:#f0f3f8;min-height:240px}.continue-cover img{width:100%;height:100%;object-fit:contain}.continue-info{padding:25px}.continue-info h2{font-size:27px;margin:6px 0}.continue-info p{color:#667085;line-height:1.5}
.student-progress-line{margin:14px 0}.student-progress-line>div:first-child{display:flex;justify-content:space-between;margin-bottom:7px;color:#667085}.student-progress-track{height:10px;background:#e8edf3;border-radius:999px;overflow:hidden}.student-progress-track span{display:block;height:100%;background:linear-gradient(90deg,#0b1f3a,#d2aa45);border-radius:999px}.student-progress-track.small{height:6px;margin:8px 0}.student-progress-line.compact{margin:13px 0}.student-progress-track.large{height:13px;margin:16px 0}
.student-course-mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.student-mini-course{display:grid;grid-template-columns:88px 1fr;gap:13px;padding:13px;border:1px solid #dce3ec;border-radius:13px;color:inherit}.student-mini-course img{width:88px;height:88px;object-fit:contain;background:#f4f6fa;border-radius:9px}.student-mini-course span,.student-mini-course small{font-size:10px;color:#667085}.student-mini-course h3{font-size:15px;margin:4px 0}
.student-quick-links{display:grid}.student-quick-links a{display:flex;gap:11px;padding:13px 0;border-bottom:1px solid #e3e8ef;color:inherit}.student-quick-links a:last-child{border-bottom:0}.student-quick-links>a>span{width:38px;height:38px;border-radius:10px;background:#edf2f8;color:#0b1f3a;display:grid;place-items:center;font-weight:900}.student-quick-links div{display:grid}.student-quick-links small{color:#667085}.student-status-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #e3e8ef}.campus-online-box{display:flex;gap:10px;padding:13px;background:#eaf8ef;border-radius:11px;margin-top:15px}.campus-online-box>span{width:12px;height:12px;border-radius:50%;background:#35a866;margin-top:4px;box-shadow:0 0 0 5px rgba(53,168,102,.14)}.campus-online-box div{display:grid}.campus-online-box small{color:#3f7757}
.student-course-hero{display:grid;grid-template-columns:190px minmax(0,1fr) 145px;gap:22px;align-items:center;background:#fff;border:1px solid #dce3ec;border-radius:19px;padding:22px;margin-bottom:18px}.student-course-cover{height:145px;background:#f3f6fa;border-radius:13px;overflow:hidden}.student-course-cover img{width:100%;height:100%;object-fit:contain}.student-course-hero h1{font-size:31px;margin:6px 0}.student-course-hero p{color:#667085;line-height:1.5}.student-course-progress-circle{width:125px;height:125px;border-radius:50%;border:12px solid #e7edf4;outline:5px solid #d2aa45;display:grid;place-content:center;text-align:center}.student-course-progress-circle strong{font-size:28px}.student-course-progress-circle small{color:#667085}
.student-classroom-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px}.student-classroom-aside{display:grid;gap:18px;align-content:start}.student-module-list{display:grid;gap:12px}.student-module-item{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid #dce3ec;border-radius:14px;padding:15px;background:#fff}.student-module-item.locked{opacity:.67;background:#f7f8fa}.student-module-item.completed{border-left:5px solid #36a86a}.student-module-item.in_progress{border-left:5px solid #d2aa45}.student-module-step{width:48px;height:48px;border-radius:12px;background:#0b1f3a;color:#d2aa45;display:grid;place-items:center;font-weight:900}.student-module-head{display:flex;justify-content:space-between;gap:10px}.student-module-head h3{margin:5px 0}.student-module-status{font-size:10px;text-transform:uppercase;font-weight:900;color:#667085}.student-module-content p{color:#667085;margin:5px 0}.student-module-meta{display:flex;gap:8px;flex-wrap:wrap}.student-module-meta span{font-size:10px;background:#f0f3f7;padding:5px 8px;border-radius:999px}.locked-button{padding:9px 11px;background:#e8edf3;border-radius:8px;color:#667085;font-weight:800}
.student-info-list{display:grid}.student-info-list>div{display:grid;padding:10px 0;border-bottom:1px solid #e3e8ef}.student-info-list span{font-size:11px;color:#667085}.student-info-list strong{margin-top:3px}
.student-module-hero{display:flex;justify-content:space-between;align-items:end;background:linear-gradient(120deg,#0b1f3a,#294574);color:#fff;border-radius:18px;padding:30px;margin-bottom:18px}.student-module-hero h1{font-size:34px;margin:7px 0}.student-module-hero p{color:#dce6f3}.student-back-link{display:block;color:#d2aa45;font-weight:800;margin-bottom:15px}.module-state-box{background:rgba(255,255,255,.12);padding:15px 19px;border-radius:12px;display:grid;text-align:right}.module-state-box small{color:#dce6f3;margin-top:3px}.student-module-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px}.student-module-aside{display:grid;gap:18px;align-content:start}.learning-content{font-size:17px;line-height:1.75;color:#344054;margin-top:18px}.student-resource-download{display:flex;gap:13px;align-items:center;padding:15px;background:#f2f6fb;border:1px solid #dce3ec;border-radius:12px;margin-top:22px;color:inherit}.student-resource-download>span{font-size:28px}.student-resource-download div{display:grid}.student-resource-download small{color:#667085}.student-assessment-card{display:grid;grid-template-columns:58px 1fr auto;gap:15px;align-items:center;margin-top:18px}.assessment-icon{width:58px;height:58px;border-radius:14px;background:#e8f6ed;color:#247c4b;display:grid;place-items:center;font-size:25px;font-weight:900}.student-assessment-card h2{margin:4px 0}.student-assessment-card p{color:#667085}.assessment-coming{max-width:210px;padding:10px;background:#fff4d9;color:#7d5c00;border-radius:9px;font-size:11px;font-weight:800}.module-progress-number{display:block;font-size:34px;text-align:center;margin:10px}.btn.full{width:100%}.module-completed-box{padding:13px;background:#e8f7ee;color:#247c4b;border-radius:10px;text-align:center;font-weight:900}
.student-progress-hero{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #dce3ec;border-radius:18px;padding:27px 31px;margin-bottom:18px}.student-progress-hero h1{font-size:34px;margin:6px 0}.student-progress-hero p{color:#667085}.credits-summary{text-align:right}.credits-summary strong{display:block;font-size:38px;color:#0b1f3a}.credits-summary small{color:#667085}.student-progress-course-list{display:grid;gap:14px}.student-progress-course-card{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:18px;align-items:center;background:#fff;border:1px solid #dce3ec;border-radius:15px;padding:16px}.student-progress-course-card img{width:130px;height:100px;object-fit:contain;background:#f4f6f9;border-radius:10px}.student-progress-course-main h2{margin:5px 0}.progress-course-meta{display:flex;flex-wrap:wrap;gap:8px}.progress-course-meta span{font-size:10px;background:#f0f3f7;padding:5px 8px;border-radius:999px}
@media(max-width:1050px){.student-dashboard-layout,.student-classroom-layout,.student-module-layout{grid-template-columns:1fr}.student-dashboard-aside,.student-classroom-aside,.student-module-aside{grid-template-columns:repeat(2,1fr)}.student-course-hero{grid-template-columns:150px 1fr}.student-course-progress-circle{grid-column:1/-1;width:auto;height:auto;border:0;outline:0;border-radius:12px;background:#f2f5f9;padding:12px;display:flex;justify-content:space-between}.student-course-progress-circle strong{font-size:22px}.student-progress-course-card{grid-template-columns:110px 1fr}.student-progress-course-card>.btn{grid-column:2}}
@media(max-width:760px){.student-dashboard-stats{grid-template-columns:repeat(2,1fr)}.student-welcome-banner{padding:24px}.student-welcome-banner h1{font-size:28px}.student-avatar-large{width:58px;height:58px}.student-continue-card{grid-template-columns:1fr}.continue-cover{height:180px}.student-course-mini-grid{grid-template-columns:1fr}.student-dashboard-aside,.student-classroom-aside,.student-module-aside{grid-template-columns:1fr}.student-course-hero{grid-template-columns:1fr}.student-course-cover{height:180px}.student-module-item{grid-template-columns:45px 1fr}.student-module-action{grid-column:2}.student-module-head{display:block}.student-module-hero{display:block}.module-state-box{text-align:left;margin-top:15px}.student-assessment-card{grid-template-columns:50px 1fr}.assessment-coming{grid-column:1/-1;max-width:none}.student-progress-hero{display:block}.credits-summary{text-align:left;margin-top:15px}.student-progress-course-card{grid-template-columns:1fr}.student-progress-course-card img{width:100%;height:150px}.student-progress-course-card>.btn{grid-column:auto}}


/* FASE 8 — SISTEMA PROFESIONAL DE MATRÍCULAS */
.course-enrollment-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.course-enrollment-table-panel{padding:22px}
.course-enrollment-dialog{min-width:min(620px,92vw)}
.bulk-enrollment-panel{margin-top:18px}
.bulk-enrollment-panel>p{color:#667085;margin-bottom:18px}
.bulk-student-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;margin-bottom:16px}
.bulk-student-option{display:grid;grid-template-columns:auto 43px 1fr;gap:10px;align-items:center;padding:12px;border:1px solid #dce3ec;border-radius:11px;cursor:pointer;background:#fff}
.bulk-student-option:hover{border-color:#d2aa45;background:#fffdf7}
.bulk-student-option>input{width:18px;height:18px}
.bulk-student-option>span{width:40px;height:40px;border-radius:10px;background:#edf2f8;color:#0b1f3a;display:grid;place-items:center;font-weight:900}
.bulk-student-option>div{display:grid}
.bulk-student-option small{color:#667085}
.course-enrollment-table .progress-cell{min-width:145px}
.course-enrollment-table .directory-user{min-width:230px}
.enrollment-status-active{background:#e9f8ef;color:#247c4b}
.enrollment-status-completed{background:#fff4d8;color:#8a6500}
.enrollment-status-blocked{background:#fdecec;color:#a61b1b}
@media(max-width:900px){.course-enrollment-summary{grid-template-columns:repeat(2,1fr)}.bulk-student-grid{grid-template-columns:1fr}}


/* FASE 8.1 — CARNÉ UNIVERSITARIO DIGITAL */
.digital-id-section{margin-top:24px}
.digital-id-actions{display:flex;gap:10px;flex-wrap:wrap}
.student-digital-card{
  position:relative;overflow:hidden;width:min(100%,1050px);aspect-ratio:1.62/1;
  margin:18px auto;background:linear-gradient(135deg,#ffffff 0%,#f5f7fb 58%,#e9eef6 100%);
  border:3px solid #bd8f0d;border-radius:24px;box-shadow:0 18px 48px rgba(11,31,58,.18);
  color:#0b1f3a;font-family:Arial,sans-serif
}
.id-card-watermark{position:absolute;width:500px;height:500px;border:70px solid rgba(11,31,58,.035);border-radius:50%;right:-180px;bottom:-250px}
.id-card-header{position:relative;display:grid;grid-template-columns:80px 1fr auto;gap:16px;align-items:center;background:#0b1f3a;color:#fff;padding:18px 24px;border-bottom:5px solid #d2aa45}
.id-card-header img{width:72px;height:72px;object-fit:contain;border-radius:50%;background:#fff}
.id-card-header div{display:grid}.id-card-header strong{font-family:Georgia,serif;font-size:31px}.id-card-header span{color:#dbe4f1;font-size:13px;margin-top:4px}
.id-card-header>b{letter-spacing:.16em;color:#d2aa45;font-size:17px}
.id-card-body{position:relative;display:grid;grid-template-columns:190px minmax(0,1fr) 165px;gap:25px;align-items:center;padding:30px}
.id-card-photo{height:235px;border-radius:15px;overflow:hidden;border:5px solid #fff;outline:2px solid #d2aa45;background:#eef2f7;box-shadow:0 9px 22px rgba(11,31,58,.15)}
.id-card-photo img{width:100%;height:100%;object-fit:cover}
.id-card-data h3{font-family:Georgia,serif;font-size:30px;margin:5px 0 19px;color:#0b1f3a}
.id-label{display:block;color:#8a6a0d;font-size:10px;font-weight:900;letter-spacing:.12em;margin-bottom:4px}
.id-data-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px}
.id-data-grid strong{font-size:15px;line-height:1.35}
.id-card-verification{text-align:center;display:grid;justify-items:center;gap:5px}
.id-card-verification canvas{width:126px;height:126px;background:#fff;border:8px solid #fff;box-shadow:0 4px 15px rgba(11,31,58,.13)}
.id-card-verification small{font-size:9px;letter-spacing:.12em;color:#667085}
.id-card-verification strong{font-size:9px;word-break:break-all;color:#0b1f3a}
.id-card-footer{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:15px;background:#0b1f3a;color:#fff;padding:11px 24px;font-size:11px;border-top:3px solid #d2aa45}
.digital-id-notice{display:flex;gap:12px;align-items:flex-start;width:min(100%,1050px);margin:0 auto;padding:14px 17px;background:#e9f8ef;border:1px solid #ccebd7;border-radius:12px;color:#25633f}
.digital-id-notice>span{width:31px;height:31px;border-radius:50%;background:#35a866;color:#fff;display:grid;place-items:center;font-weight:900}
.digital-id-notice p{margin:3px 0 0;color:#47735a;font-size:13px}
@media(max-width:850px){
  .student-digital-card{aspect-ratio:auto;min-height:650px}
  .id-card-header{grid-template-columns:60px 1fr}.id-card-header>b{grid-column:1/-1}.id-card-header img{width:55px;height:55px}
  .id-card-body{grid-template-columns:140px 1fr}.id-card-verification{grid-column:1/-1;grid-template-columns:126px auto;justify-content:center;align-items:center;text-align:left}
  .id-card-photo{height:190px}.id-data-grid{grid-template-columns:1fr}.id-card-footer{position:relative}
}
@media(max-width:570px){
  .id-card-body{grid-template-columns:1fr}.id-card-photo{width:170px;height:210px;margin:auto}.id-card-data h3{font-size:24px}
  .id-card-header strong{font-size:23px}.id-card-footer{display:grid}
}
@media print{
  body *{visibility:hidden!important}
  #studentDigitalCard,#studentDigitalCard *{visibility:visible!important}
  #studentDigitalCard{position:absolute;left:0;top:0;width:100%;box-shadow:none}
}

/* FASE 9 — LMS INTEGRAL */
.lms-overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.lms-module-resource-list{display:grid;gap:16px}.lms-module-block{padding:20px}
.lms-module-block-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.lms-module-block-head h3{margin:4px 0;font-size:22px}
.lms-resource-list{display:grid;gap:9px}.lms-resource-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid #dce3ec;border-radius:12px;background:#fff}
.lms-resource-row.status-draft{border-left:5px solid #d2aa45}.lms-resource-row.status-published{border-left:5px solid #35a866}.lms-resource-row.status-hidden{opacity:.62}
.lms-resource-icon{width:44px;height:44px;border-radius:11px;background:#edf2f8;display:grid;place-items:center;font-size:21px}
.lms-resource-info>div{display:flex;gap:8px;align-items:center}.lms-resource-info>div span{font-size:10px;text-transform:uppercase;background:#f0f3f7;padding:4px 7px;border-radius:999px;color:#667085}.lms-resource-info small{color:#667085}
.lms-announcement-layout{display:grid;grid-template-columns:380px 1fr;gap:20px}.announcement-list{display:grid;gap:10px;align-content:start}.announcement-list article{border:1px solid #dce3ec;border-radius:11px;padding:13px}.announcement-list article span,.announcement-list article small{color:#667085;font-size:11px}.announcement-list article strong{display:block;margin:4px 0}.announcement-list article p{margin:0;color:#475467}.lms-resource-dialog{width:min(820px,94vw)}
.student-announcements{margin-bottom:18px}.student-announcements article{border-left:4px solid #d2aa45;padding:10px 14px;margin-top:10px;background:#fffaf0;border-radius:8px}.student-announcements article p{margin:5px 0;color:#475467}.student-announcements article small{color:#667085}
.student-learning-path{margin-top:18px}.student-resource-path{display:grid;gap:12px}
.student-resource-card{display:grid;grid-template-columns:44px 54px minmax(0,1fr) auto;gap:13px;align-items:start;border:1px solid #dce3ec;border-radius:14px;padding:15px;background:#fff}.student-resource-card.state-completed{border-left:5px solid #35a866}.student-resource-card.state-in_progress{border-left:5px solid #d2aa45}
.resource-sequence{font-weight:900;color:#98a2b3;padding-top:13px}.student-resource-type{width:50px;height:50px;border-radius:12px;background:#edf2f8;display:grid;place-items:center;font-size:23px}
.student-resource-main>div:first-child{display:flex;gap:7px;align-items:center}.student-resource-main>div:first-child span{font-size:10px;text-transform:uppercase;color:#667085}.student-resource-main>div:first-child b{font-size:9px;background:#fff1c9;color:#7c5b00;padding:4px 7px;border-radius:999px}.student-resource-main>div:first-child b.optional{background:#edf2f8;color:#667085}
.student-resource-main h3{margin:5px 0}.student-resource-main p{color:#667085;margin:4px 0}.student-resource-main>small{color:#98a2b3}.student-resource-actions{align-self:center}.resource-completed{display:inline-block;padding:9px 11px;border-radius:9px;background:#e7f7ed;color:#247c4b;font-weight:900}
.responsive-video{position:relative;padding-top:56.25%;margin-top:14px;border-radius:12px;overflow:hidden;background:#0b1f3a}.responsive-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.learning-resource-image{max-width:100%;max-height:520px;object-fit:contain;border-radius:12px;margin-top:14px;background:#f4f6f9}.student-resource-link{display:inline-block;margin-top:12px;font-weight:800;color:#174f91}.student-resource-download.compact{max-width:520px;padding:11px;margin-top:12px}
.lms-report-metrics{grid-template-columns:repeat(4,1fr)}
@media(max-width:1050px){.lms-announcement-layout{grid-template-columns:1fr}.lms-overview-grid,.lms-report-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.lms-resource-row{grid-template-columns:44px 1fr}.lms-resource-row .row-actions{grid-column:2}.student-resource-card{grid-template-columns:36px 46px 1fr}.student-resource-actions{grid-column:3}.lms-overview-grid,.lms-report-metrics{grid-template-columns:1fr}}


/* FASE 10 — EVALUACIÓN DUAL IA + PROFESOR HUMANO */
.dual-evaluation-info{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}
.dual-evaluation-step{display:flex;gap:13px;align-items:flex-start;padding:16px;background:#f7f9fc;border:1px solid #dce3ec;border-radius:13px}
.dual-evaluation-step>span{width:38px;height:38px;border-radius:50%;background:#0b1f3a;color:#d2aa45;display:grid;place-items:center;font-weight:900}
.dual-evaluation-step p{margin:5px 0;color:#667085}
.student-exam-hero{margin-bottom:20px}.exam-start-panel{max-width:850px;margin:auto}.student-exam-form{display:grid;gap:16px}
.student-exam-question{position:relative;padding:24px}.question-number{display:block;color:#9a7400;font-size:12px;font-weight:900;letter-spacing:.08em;margin-bottom:10px}
.exam-answer-option{display:flex;gap:12px;align-items:center;padding:13px;margin:8px 0;border:1px solid #dce3ec;border-radius:10px;cursor:pointer}
.exam-answer-option:hover{border-color:#d2aa45;background:#fffaf0}.exam-answer-option input{width:auto}
.exam-timer{position:sticky;top:12px;z-index:10;display:flex;justify-content:space-between;align-items:center;background:#0b1f3a;color:#fff;padding:13px 18px;border-radius:12px;border-bottom:4px solid #d2aa45}.exam-timer span{font-size:25px;font-weight:900;color:#d2aa45}
.exam-submit-button{justify-self:end}.attempt-history{display:grid;gap:8px}.attempt-history article{display:grid;grid-template-columns:1fr auto auto;gap:20px;padding:12px;border-bottom:1px solid #e5e9f0}
.final-project-layout,.project-review-layout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:20px}
.ai-score{font-size:46px;font-weight:900;color:#9a7400;margin:12px 0}.ai-report{white-space:pre-wrap;font:13px/1.55 Arial,sans-serif;background:#f5f7fa;padding:14px;border-radius:10px;max-height:500px;overflow:auto}
.review-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.review-list{display:grid;gap:10px}.review-list article{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid #dce3ec;border-radius:12px;padding:14px}.review-list article div{display:grid;gap:3px}.review-list article span,.review-list article small{color:#667085}
.manual-answer-list{display:grid;gap:16px}.student-written-answer{background:#f7f9fc;border:1px solid #dce3ec;border-radius:11px;padding:16px;margin:14px 0;line-height:1.65}.student-written-answer.long{max-height:650px;overflow:auto}
.final-project-callout,.module-exam-callout{border-top:4px solid #d2aa45}
@media(max-width:1050px){.final-project-layout,.project-review-layout,.review-columns{grid-template-columns:1fr}.dual-evaluation-info{grid-template-columns:1fr}}
@media(max-width:700px){.attempt-history article{grid-template-columns:1fr}.review-list article{align-items:flex-start;flex-direction:column}}


/* FASE 11 — TITULACIÓN AUTOMÁTICA Y DIPLOMAS */
.program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.program-card{background:#fff;border:1px solid #dce3ec;border-radius:16px;padding:22px;box-shadow:0 12px 30px rgba(11,31,58,.06)}.program-card-top{display:flex;justify-content:space-between;align-items:center}.program-card h2{margin:12px 0 8px}.program-card p{color:#667085;min-height:48px}.program-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.program-card-stats div{background:#f5f7fa;border-radius:10px;padding:10px;text-align:center}.program-card-stats strong{display:block;font-size:22px}.program-card-stats span{font-size:11px;color:#667085}.program-edit-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;margin-bottom:20px}.program-course-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:16px 0}.program-course-option{display:grid;grid-template-columns:auto 62px 1fr;gap:12px;align-items:center;border:1px solid #dce3ec;border-radius:12px;padding:12px;cursor:pointer}.program-course-option:has(input:checked){border-color:#d2aa45;background:#fffaf0}.program-course-option input{width:auto}.program-course-option img{width:60px;height:45px;object-fit:contain}.program-course-option div{display:grid;gap:2px}.program-course-option span,.program-course-option small{color:#667085;font-size:11px}.eligibility-ok{display:inline-block;background:#e7f7ed;color:#247c4b;padding:7px 10px;border-radius:999px;font-weight:800}.eligibility-details summary{cursor:pointer;font-weight:800;color:#9a7400}.eligibility-details ul{margin:8px 0;padding-left:18px;color:#667085;font-size:12px}
.certificate-library{display:grid;gap:16px}.certificate-library-card{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:20px;align-items:center;background:#fff;border:1px solid #dce3ec;border-radius:16px;padding:18px}.certificate-miniature{height:105px;border:2px solid #d2aa45;border-radius:10px;background:#f7f9fc;display:grid;place-items:center}.certificate-miniature img{max-width:120px;max-height:80px}
.certificate-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.diploma-scroll{overflow:auto;padding-bottom:16px}.official-diploma{width:1600px;height:1131px;background:#fff;color:#111827;position:relative;border:1px solid #bbb;box-sizing:border-box;font-family:Georgia,'Times New Roman',serif;overflow:hidden}.diploma-top-line,.diploma-bottom-line{height:35px;background:#505050;margin:60px 65px 0}.diploma-bottom-line{position:absolute;left:0;right:0;bottom:80px;margin:0 65px}.diploma-header{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:20px;text-align:left}.diploma-header img{width:210px;height:140px;object-fit:contain}.diploma-header strong{display:block;font-size:42px}.diploma-header span{display:block;font:22px Arial,sans-serif}.diploma-header small{display:block;font:bold 18px Arial,sans-serif;margin-top:8px}.diploma-titles{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin:34px 70px 0}.diploma-titles div{border-top:35px solid #505050;padding-top:13px;text-align:center;font-weight:900;font-size:20px}.diploma-body{text-align:center;padding:18px 90px}.diploma-intro{font-size:20px;margin:6px 0}.diploma-body h2{font-size:48px;margin:18px 0 8px;text-transform:uppercase}.diploma-document{font:18px Arial,sans-serif}.diploma-award-columns{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:30px}.diploma-award-columns span{font:18px Arial,sans-serif}.diploma-award-columns h3{font-size:28px;line-height:1.3;margin:10px 0}.diploma-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:32px 0 24px}.diploma-facts div{border-top:2px solid #d2aa45;padding-top:10px}.diploma-facts span{display:block;font:13px Arial,sans-serif;color:#667085}.diploma-facts strong{display:block;font:700 18px Arial,sans-serif;margin-top:6px}.diploma-completion{font:17px/1.5 Arial,sans-serif}.diploma-footer{position:absolute;left:120px;right:120px;bottom:130px;display:grid;grid-template-columns:1fr 220px 1fr;align-items:end;text-align:center}.diploma-signature .signature-line{width:280px;border-top:2px solid #111;margin:0 auto 10px}.diploma-signature strong,.diploma-registry strong{display:block;font-size:18px}.diploma-signature span,.diploma-registry span,.diploma-registry small{font:14px Arial,sans-serif}.diploma-qr canvas{width:145px;height:145px}.diploma-qr small,.diploma-qr strong{display:block;font:12px Arial,sans-serif}.diploma-legal{position:absolute;left:120px;right:120px;bottom:35px;display:flex;justify-content:space-between;font:12px Arial,sans-serif}
.verification-shell{max-width:900px;margin:50px auto}.verification-card{background:#fff;border:1px solid #dce3ec;border-radius:18px;padding:36px;text-align:center;box-shadow:0 18px 50px rgba(11,31,58,.08)}.verification-card.valid{border-top:6px solid #35a866}.verification-card.invalid{border-top:6px solid #bd2c2c}.verification-icon{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:#e7f7ed;color:#247c4b;font-size:38px;font-weight:900}.verification-card.invalid .verification-icon{background:#fdeaea;color:#a92020}.verification-data{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;text-align:left;margin-top:25px}.verification-data div{background:#f7f9fc;border-radius:10px;padding:14px}.verification-data span{display:block;color:#667085;font-size:12px}.verification-data strong{display:block;margin-top:4px}
@media(max-width:1100px){.program-grid{grid-template-columns:repeat(2,1fr)}.program-edit-layout{grid-template-columns:1fr}.program-course-selector{grid-template-columns:1fr}.certificate-library-card{grid-template-columns:110px 1fr}.certificate-library-card>a{grid-column:2}.certificate-toolbar{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.program-grid{grid-template-columns:1fr}.verification-data{grid-template-columns:1fr}}
@media print{
  body *{visibility:hidden!important}.official-diploma,.official-diploma *{visibility:visible!important}.official-diploma{position:absolute!important;left:0!important;top:0!important;border:0!important;transform:scale(.66);transform-origin:top left}.global-sidebar,.app-topbar,.app-footer,.certificate-toolbar{display:none!important}
}


/* FASE 11.5 — PROGRAMAS POR AÑOS, CENTROS Y PRÁCTICAS */
.standalone-program-form{max-width:1120px;margin:0 auto 30px}
.program-form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:8px}
.program-course-planner{display:grid;gap:10px;margin-bottom:18px}
.program-course-plan-row{display:grid;grid-template-columns:minmax(0,1fr) 160px 180px;gap:12px;align-items:center;border:1px solid #dce3ec;border-radius:13px;padding:12px;background:#fff}
.course-plan-check{display:grid;grid-template-columns:auto 65px minmax(0,1fr);gap:12px;align-items:center}
.course-plan-check input{width:auto}.course-plan-check img{width:62px;height:48px;object-fit:contain}
.course-plan-check div{display:grid;gap:2px}.course-plan-check span,.course-plan-check small{font-size:11px;color:#667085}
.center-network-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}
.center-network-card{background:#fff;border:1px solid #dce3ec;border-radius:16px;padding:20px;box-shadow:0 12px 30px rgba(11,31,58,.06)}
.center-card-head{display:flex;justify-content:space-between;gap:12px}.center-card-head h2{margin:7px 0}.center-card-head p{color:#667085}
.center-values{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.center-values div{background:#f5f7fa;border-radius:10px;padding:12px;text-align:center}.center-values strong{display:block;font-size:24px}.center-values span{font-size:11px;color:#667085}
.student-practice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.practice-year-card{border-top:5px solid #d2aa45}.practice-year-number{display:inline-block;background:#0b1f3a;color:#d2aa45;padding:7px 12px;border-radius:999px;font-weight:900}
.status-badge.evaluated,.status-badge.apto,.status-badge.approved{background:#e7f7ed;color:#247c4b}
.status-badge.pending,.status-badge.revision{background:#fff3cf;color:#8a6800}
.status-badge.suspended,.status-badge.no_apto,.status-badge.not_approved{background:#fdeaea;color:#a92020}
@media(max-width:1100px){.program-course-plan-row{grid-template-columns:1fr 150px 160px}.center-network-grid,.student-practice-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.program-course-plan-row{grid-template-columns:1fr}.center-network-grid,.student-practice-grid{grid-template-columns:1fr}}


/* PARCHE 11.6 — REPARACIÓN INTEGRAL SIN DEFORMAR EL PANEL */
.inline-get-form{margin:0}
.quick-program-create{margin-top:22px}
.program-selector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.program-selector-card{display:flex;flex-direction:column;gap:6px;padding:18px;border:1px solid #dce3ec;border-radius:14px;background:#fff;color:#0b1f3a;text-decoration:none}
.program-selector-card:hover{border-color:#c69b20;box-shadow:0 10px 25px rgba(11,31,58,.08)}
.program-selector-card span{font-size:12px;color:#667085}
.diagnostic-list{display:grid;gap:10px}
.diagnostic-row{display:grid;grid-template-columns:18px minmax(220px,1fr) minmax(0,2fr);gap:12px;align-items:center;padding:12px;border-bottom:1px solid #e4e8ef}
.status-dot{width:12px;height:12px;border-radius:50%}
.status-dot.ok{background:#38a865;box-shadow:0 0 0 5px rgba(56,168,101,.14)}
.status-dot.bad{background:#c63131;box-shadow:0 0 0 5px rgba(198,49,49,.12)}

/* El lateral permanece azul y con scroll interno, sin tapar el contenido. */
.app-shell{min-height:100vh}
.global-sidebar{
  position:sticky;
  top:0;
  height:100vh;
  min-height:100vh;
  overflow-y:auto;
  overflow-x:hidden;
  background:linear-gradient(180deg,#08172d 0%,#10294b 100%);
}
.global-sidebar .side-nav-link,
.global-sidebar .side-label{color:#dce6f4}
.global-sidebar .side-nav-link:hover,
.global-sidebar .side-nav-link.active{color:#fff}
.app-main{min-width:0}

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


/* PARCHE 11.8 — REVISIÓN DE DOCUMENTOS DE PRÁCTICAS */
.practice-review-inbox{grid-column:1 / -1}
.practice-review-layout{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:20px}
.practice-document-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.practice-document-facts div{background:#f4f7fa;border:1px solid #e0e6ee;border-radius:12px;padding:14px}
.practice-document-facts span{display:block;color:#667085;font-size:12px;margin-bottom:5px}
.practice-document-facts strong{color:#0b1f3a}
@media(max-width:1000px){.practice-review-layout{grid-template-columns:1fr}}
@media(max-width:650px){.practice-document-facts{grid-template-columns:1fr}}


/* FASE 12 — MOTOR ACADÉMICO INTELIGENTE */
.phase12-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}
.phase12-kpis article{background:#fff;border:1px solid #dce3ec;border-radius:16px;padding:20px;box-shadow:0 12px 28px rgba(11,31,58,.05)}
.phase12-kpis strong{display:block;font-size:34px;color:#0b1f3a}.phase12-kpis span{color:#667085}
.workflow-timeline{display:grid;gap:0}.workflow-timeline article{display:grid;grid-template-columns:22px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid #e4e8ef}
.workflow-dot{width:14px;height:14px;border-radius:50%;margin-top:5px;background:#c69b20;box-shadow:0 0 0 5px rgba(198,155,32,.14)}
.workflow-dot.exam{background:#2d67b2}.workflow-dot.project{background:#7343ad}.workflow-dot.practice{background:#2e8b57}.workflow-dot.course{background:#c69b20}
.workflow-timeline p{margin:4px 0;color:#364152}.workflow-timeline small{color:#667085}
.notification-list{display:grid;gap:12px}.notification-card{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:18px;background:#fff;border:1px solid #dce3ec;border-radius:14px;color:#0b1f3a;text-decoration:none}
.notification-card.unread{border-left:5px solid #c69b20;background:#fffdf6}.notification-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#0b1f3a;color:#fff;font-weight:900}
.notification-card p{margin:5px 0;color:#536176}.notification-card small{color:#8a94a5}
.ai-recommendation{display:inline-block;margin:8px 0 14px;padding:7px 12px;border-radius:999px;background:#eef2f7;color:#0b1f3a;font-weight:900}
@media(max-width:950px){.phase12-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.phase12-kpis{grid-template-columns:1fr}}


/* PARCHE 12.1 — BOTÓN DE REVISIÓN DE PRÁCTICAS */
.review-list article{position:relative;z-index:2;overflow:visible}
.review-action-form{position:relative;z-index:20;margin:0;display:inline-flex;flex:0 0 auto}
.review-action-form .btn{cursor:pointer;pointer-events:auto;border:0}
.workflow-review-link{display:inline-block;margin-top:8px;color:#174f91;font-weight:800;text-decoration:none}
.workflow-review-link:hover{text-decoration:underline}
.practice-review-layout .panel{position:relative;z-index:1}


/* FASE 13 — PROFESOR IA UNIVERSITARIO */
.ai-tutor-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:18px;align-items:start}
.ai-tutor-history{position:sticky;top:20px;max-height:72vh;overflow:auto}
.ai-tutor-history>a{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:10px;color:#0b1f3a;text-decoration:none;border:1px solid transparent}
.ai-tutor-history>a:hover,.ai-tutor-history>a.active{background:#eef3f9;border-color:#d9e1ec}
.ai-tutor-history small{color:#667085}
.ai-tutor-chat{padding:0;overflow:hidden}
.ai-tutor-disclaimer{padding:12px 18px;background:#fff5d8;color:#6d5200;border-bottom:1px solid #ecd78f;font-size:13px}
.ai-chat-messages{padding:22px;min-height:420px;max-height:62vh;overflow:auto;background:#f6f8fb}
.ai-message{max-width:82%;margin-bottom:16px;padding:16px;border-radius:16px}
.ai-message.student{margin-left:auto;background:#10294b;color:#fff;border-bottom-right-radius:4px}
.ai-message.assistant{background:#fff;border:1px solid #dce3ec;border-bottom-left-radius:4px}
.ai-message.teacher{background:#edf8f0;border:1px solid #c9ead2}
.ai-message-role{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px;opacity:.72}
.ai-message-body{line-height:1.65}
.ai-confidence{margin-top:12px;font-size:12px;font-weight:800;color:#51705d}
.ai-sources{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.ai-sources strong{width:100%;font-size:12px}.ai-sources span{font-size:11px;background:#eef2f7;border-radius:999px;padding:5px 9px}
.ai-welcome{text-align:center;padding:80px 20px;color:#667085}.ai-welcome h2{color:#0b1f3a}
.ai-question-form{padding:18px;border-top:1px solid #dce3ec;background:#fff;display:grid;grid-template-columns:240px minmax(0,1fr) auto;gap:12px;align-items:end}
.ai-question-form textarea{min-height:76px}
.ai-admin-layout{display:grid;grid-template-columns:390px minmax(0,1fr);gap:18px;align-items:start}
.knowledge-source-list,.rubric-list{display:grid;gap:10px;max-height:75vh;overflow:auto}
.knowledge-source-list article,.rubric-list article{display:flex;justify-content:space-between;gap:14px;padding:14px;border:1px solid #dce3ec;border-radius:12px}
.knowledge-source-list article>div,.rubric-list article>div{display:grid;gap:4px}
.knowledge-source-list span,.rubric-list span{font-size:12px;color:#667085}.knowledge-source-list small,.rubric-list small{color:#7a8494}
.rubric-builder{display:grid;gap:8px}.rubric-row{display:grid;grid-template-columns:1fr 1.6fr 90px;gap:8px}
.ai-provider-box{display:grid;gap:7px;padding:18px;border-radius:14px;background:#edf8f0;border:1px solid #cce9d4}.ai-provider-box strong{font-size:18px}.ai-provider-box span{color:#244c32}.ai-provider-box small{color:#587461}
.professional-table-wrap{overflow:auto}.professional-table-wrap table{width:100%;border-collapse:collapse}.professional-table-wrap th,.professional-table-wrap td{padding:14px;border-bottom:1px solid #e3e8ef;text-align:left}.professional-table-wrap td small{display:block;color:#667085;margin-top:4px}
@media(max-width:1050px){.ai-tutor-layout,.ai-admin-layout{grid-template-columns:1fr}.ai-tutor-history{position:static;max-height:none}.ai-question-form{grid-template-columns:1fr}}
@media(max-width:700px){.ai-message{max-width:95%}.rubric-row{grid-template-columns:1fr}}


/* FASE 14 — SECRETARÍA ACADÉMICA */
.phase14-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}
.phase14-kpis a{display:block;padding:22px;background:#fff;border:1px solid #dce3ec;border-radius:16px;text-decoration:none;color:#0b1f3a;box-shadow:0 12px 28px rgba(11,31,58,.05)}
.phase14-kpis strong{display:block;font-size:34px}.phase14-kpis span{color:#667085}
.phase14-admin-layout{display:grid;grid-template-columns:390px minmax(0,1fr);gap:18px;align-items:start}
.admin-record-list,.invoice-list{display:grid;gap:12px}
.admin-record-list>article,.invoice-list>article{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:15px;border:1px solid #dce3ec;border-radius:13px;background:#fff}
.admin-record-list article>div,.invoice-list article>div{display:grid;gap:4px}
.admin-record-list span,.invoice-list span{color:#667085}.admin-record-list small,.invoice-list small{color:#7a8494}
.inline-admin-form{display:grid;grid-template-columns:150px minmax(180px,1fr) auto;gap:8px;align-items:center;min-width:520px}
.inline-payment-form{display:grid;grid-template-columns:110px 130px 150px 140px auto;gap:7px;align-items:center;min-width:670px}
.student-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.student-admin-grid .wide{grid-column:1 / -1}
.student-admin-item{display:grid;gap:5px;padding:14px 0;border-bottom:1px solid #e3e8ef}
.student-admin-item span,.student-admin-item small{color:#667085}
@media(max-width:1100px){
  .phase14-kpis{grid-template-columns:repeat(2,1fr)}
  .phase14-admin-layout{grid-template-columns:1fr}
  .inline-admin-form,.inline-payment-form{min-width:0;grid-template-columns:1fr}
}
@media(max-width:700px){
  .phase14-kpis,.student-admin-grid{grid-template-columns:1fr}
  .student-admin-grid .wide{grid-column:auto}
  .admin-record-list>article,.invoice-list>article{align-items:stretch;flex-direction:column}
}

.document-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.document-view-toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}
.official-admin-document{max-width:1120px;margin:0 auto 30px;background:#fff;border:3px solid #b88b10;box-shadow:0 18px 50px rgba(11,31,58,.12)}
.official-admin-document>header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 34px;background:#0d2344;color:#fff;border-bottom:5px solid #c49a22}
.official-document-brand{display:flex;align-items:center;gap:18px}.official-document-brand img{width:88px;height:88px;object-fit:contain;background:#fff;border-radius:50%;padding:5px}
.official-document-brand h1{margin:0;font-family:Georgia,serif;font-size:38px}.official-document-brand p{margin:4px 0 0;color:#d9e3f1}
.official-document-type{font-weight:900;letter-spacing:.12em;color:#e6bc42;text-align:right}
.official-document-body{padding:50px 58px;min-height:620px}
.official-document-heading{text-align:center;margin-bottom:40px}.official-document-heading span{color:#a77d09;font-weight:900;letter-spacing:.16em}.official-document-heading h2{font-family:Georgia,serif;font-size:34px;margin:12px 0;color:#0b1f3a}
.official-document-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:36px}
.official-document-data div{border-bottom:1px solid #ccd5e1;padding:10px 0}.official-document-data span{display:block;color:#8a6a0a;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.official-document-data strong{display:block;margin-top:7px;font-size:18px;color:#0b1f3a}
.official-document-content{font-family:Georgia,serif;font-size:20px;line-height:1.8;color:#1b2b43;min-height:230px}
.official-document-signature{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-top:55px;padding-top:22px;border-top:1px solid #d5dce6}
.official-document-signature>div{display:grid;gap:5px}.official-document-signature span{color:#667085;font-size:12px}.verification-block{text-align:right}.verification-block strong{font-family:monospace;font-size:15px}
.official-admin-document>footer{display:flex;justify-content:space-between;gap:20px;padding:15px 34px;background:#0d2344;color:#fff;font-size:12px}
@media(max-width:760px){.official-admin-document>header,.official-document-signature,.official-admin-document>footer{flex-direction:column;align-items:flex-start}.official-document-body{padding:28px 22px}.official-document-data{grid-template-columns:1fr}.verification-block{text-align:left}}
@media print{body{background:#fff!important}.campus-sidebar,.topbar,.site-footer,.no-print{display:none!important}.campus-main{margin:0!important}.content-wrap{padding:0!important;max-width:none!important}.official-admin-document{box-shadow:none;margin:0;max-width:none;page-break-inside:avoid}}


/* FASE 15 — EXPEDIENTE ACADÉMICO INTELIGENTE */
.rector-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin:20px 0}
.rector-kpis article,.rector-financial-row article{background:#fff;border:1px solid #dce3ec;border-radius:16px;padding:20px;box-shadow:0 12px 28px rgba(11,31,58,.05)}
.rector-kpis strong{display:block;font-size:32px;color:#0b1f3a}.rector-kpis span{color:#667085;font-size:13px}
.rector-financial-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.rector-big-value{display:block;font-size:28px;color:#0b1f3a;margin-top:14px}
.rector-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:18px}
.faculty-performance-list{display:grid;gap:14px}.faculty-performance-list article{padding:14px;border:1px solid #e0e6ee;border-radius:12px}.faculty-performance-list article>div:first-child{display:flex;justify-content:space-between;gap:10px}.faculty-performance-list span,.faculty-performance-list small{color:#667085}
.quality-progress{height:9px;background:#e8edf3;border-radius:999px;overflow:hidden;margin:11px 0}.quality-progress span{display:block;height:100%;background:linear-gradient(90deg,#0d2344,#c49a22)}
.alert-register{display:grid;gap:10px}.alert-register article{display:flex;justify-content:space-between;gap:14px;padding:14px;border-radius:12px;border-left:5px solid #8aa0b8;background:#f7f9fb}.alert-register article.warning{border-color:#d7a817;background:#fffaf0}.alert-register article.critical{border-color:#b42318;background:#fff2f0}.alert-register article.info{border-color:#2d67b2;background:#f1f6ff}.alert-register article>div{display:grid;gap:4px}.alert-register span,.alert-register small{color:#667085}
.record-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-bottom:18px}
.record-toolbar{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}.record-toolbar>div{display:flex;gap:10px;flex-wrap:wrap}
.intelligent-record{background:#fff;border:1px solid #d7dee8;box-shadow:0 18px 45px rgba(11,31,58,.08)}
.record-identity{display:flex;justify-content:space-between;gap:20px;padding:32px 38px;background:#0d2344;color:#fff;border-bottom:5px solid #c49a22}.record-identity h1{font-family:Georgia,serif;font-size:38px;margin:7px 0}.record-identity p{color:#d9e3f1}.record-code{text-align:right;display:grid;align-content:center;gap:5px}.record-code span{color:#d9e3f1}.record-code strong{font-family:monospace;font-size:19px;color:#e7bd43}
.record-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;border-bottom:1px solid #dce3ec}.record-summary-grid article{padding:22px;border-right:1px solid #dce3ec}.record-summary-grid article:last-child{border-right:0}.record-summary-grid strong{display:block;font-size:27px;color:#0b1f3a}.record-summary-grid span{font-size:12px;color:#667085}
.record-section{margin:24px;padding:24px;border:1px solid #dce3ec;border-radius:14px;background:#fff}.record-section h2{margin-top:6px}.record-two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.record-line{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #e4e9ef}.record-line>div{display:grid;gap:4px}.record-line span{color:#667085}
.record-certificates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.record-certificates a{display:grid;gap:5px;padding:15px;border:1px solid #dce3ec;border-radius:12px;text-decoration:none;color:#0b1f3a}.record-certificates span{color:#667085}
.record-history{position:relative;display:grid;gap:0}.record-history article{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;padding:15px 0;border-bottom:1px solid #e2e7ee}.record-history time{color:#8a6a0a;font-weight:800}.record-history article>div{display:grid;gap:4px}.record-history span,.record-history p{color:#667085;margin:0}
.record-footer{display:flex;justify-content:space-between;gap:20px;padding:16px 38px;background:#0d2344;color:#fff;font-size:12px}
.phase15-admin-layout{display:grid;grid-template-columns:390px minmax(0,1fr);gap:18px;align-items:start}.alert-action-form{display:flex;gap:8px;align-items:center}
.quality-ranking{display:grid;gap:10px}.quality-ranking article{display:grid;grid-template-columns:54px minmax(0,1fr) 120px;gap:14px;align-items:center;padding:15px;border:1px solid #dce3ec;border-radius:12px}.rank-number{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#0d2344;color:#fff;font-weight:900}
.audit-agent{max-width:300px;font-size:11px;word-break:break-word}.quality-review-form{max-width:850px;margin:auto}
@media(max-width:1250px){.rector-kpis,.record-summary-grid{grid-template-columns:repeat(3,1fr)}.rector-financial-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1000px){.rector-dashboard-grid,.phase15-admin-layout{grid-template-columns:1fr}.record-two-columns{grid-template-columns:1fr}.record-certificates{grid-template-columns:1fr}}
@media(max-width:700px){.rector-kpis,.record-summary-grid,.rector-financial-row{grid-template-columns:1fr}.record-identity,.record-toolbar,.record-footer{flex-direction:column}.record-code{text-align:left}.record-history article{grid-template-columns:1fr}.record-section{margin:12px;padding:17px}}
@media print{
  body{background:#fff!important}.campus-sidebar,.topbar,.site-footer,.no-print{display:none!important}.campus-main{margin:0!important}.content-wrap{padding:0!important;max-width:none!important}.intelligent-record{box-shadow:none;border:0}.record-section{break-inside:avoid}
  body.transcript-mode .non-transcript{display:none!important}body.transcript-mode .transcript-section{margin:0;border:0}body.transcript-mode .record-summary-grid{grid-template-columns:repeat(6,1fr)}
}

/* FASE 16 */
.language-selector-panel{max-width:760px;margin:auto}.translation-legal-note{margin:18px 0;padding:14px 18px;border-left:5px solid #c49a22;background:#fff8df;color:#6b5410;border-radius:8px}.translation-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.translation-request-list{display:grid;gap:10px}.translation-request-list article{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px;border:1px solid #dce3ec;border-radius:12px}.translation-request-list article>div{display:grid;gap:4px}.translation-request-list span,.translation-request-list small{color:#667085}.translation-language-badge{display:inline-flex;margin-top:12px;padding:6px 10px;border-radius:999px;background:#eef3f9;color:#274d7e;font-size:12px;font-weight:800}.student-resource-download.translated{border-color:#2f7d52;background:#f0faf4}.translation-request-inline{margin-top:10px}@media(max-width:900px){.translation-admin-grid{grid-template-columns:1fr}}

/* FASE 17 VAE */
.vae-public-hero{max-width:1180px;margin:30px auto 20px;padding:46px;border-radius:22px;background:linear-gradient(135deg,#0d2344,#254578);color:#fff}.vae-public-hero h1{font-size:44px}.vae-register-panel{max-width:1180px;margin:auto}.vae-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.vae-consents,.vae-wide,.vae-login-link{grid-column:1/-1}.vae-consents{display:grid;gap:10px;padding:18px;background:#f5f7fa;border-radius:12px}.vae-consents label{display:flex;gap:10px}.vae-login-link{text-align:center}.vae-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}.vae-action-grid a{display:grid;gap:8px;padding:22px;background:#fff;border:1px solid #dce3ec;border-radius:16px;text-decoration:none;color:#0b1f3a;box-shadow:0 10px 28px rgba(11,31,58,.06)}.vae-action-grid span{color:#667085}.vae-assessment-item{display:grid;grid-template-columns:1fr auto;gap:18px;padding:18px 0;border-bottom:1px solid #e1e6ed}.vae-score-options{display:flex;gap:8px;align-items:center}.vae-score-options input{display:none}.vae-score-options span{display:grid;place-items:center;width:44px;height:44px;border:2px solid #d3dbe6;border-radius:50%;font-weight:900}.vae-score-options input:checked+span{background:#0d2344;color:#fff;border-color:#c49a22}.vae-save-assessment{position:sticky;bottom:20px;display:block;margin:20px auto;min-width:280px}.vae-invoice{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.vae-invoice div{padding:18px;border:1px solid #dce3ec;border-radius:12px}.vae-invoice span{display:block;color:#667085}.vae-rector-form{margin-top:24px;padding-top:20px;border-top:1px solid #ddd}.vae-diploma .official-document-body{text-align:center}.vae-candidate-name{font-family:Georgia,serif;font-size:44px}.vae-diploma-text{max-width:800px;margin:25px auto;font-family:Georgia,serif;font-size:19px;line-height:1.7}@media(max-width:900px){.vae-form-grid,.vae-action-grid{grid-template-columns:1fr}.vae-consents,.vae-wide,.vae-login-link{grid-column:auto}.vae-assessment-item{grid-template-columns:1fr}.vae-invoice{grid-template-columns:1fr 1fr}}@media(max-width:560px){.vae-invoice{grid-template-columns:1fr}}


/* PARCHE FASE 17.1 — ACCESO PÚBLICO Y SECRETARÍA VAE */
.public-header-actions{display:flex;align-items:center;gap:18px;margin-left:auto}.public-header-actions a{text-decoration:none;color:#0d2344;font-weight:800}.public-header-actions .btn{color:#fff}
.vae-public-landing{max-width:1180px;margin:30px auto 20px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,.5fr);background:linear-gradient(135deg,#0d2344,#264a80);color:#fff;border-radius:24px;overflow:hidden}
.vae-public-main{padding:55px}.vae-public-main h1{font-size:48px;line-height:1.08;margin:10px 0 18px}.vae-public-main p{font-size:19px;line-height:1.65;color:#e0e8f4}.vae-public-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.vae-public-process{padding:42px 34px;background:rgba(255,255,255,.08)}.vae-public-process h2{font-size:27px}.vae-public-process ol{display:grid;gap:12px;padding-left:22px;line-height:1.45}
.vae-public-benefits{max-width:1180px;margin:0 auto 25px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.vae-public-benefits article{display:grid;gap:6px;padding:20px;background:#fff;border:1px solid #dce3ec;border-radius:14px}.vae-public-benefits span{color:#667085}
.vae-session-warning{max-width:900px;margin:40px auto}.vae-public-url{margin-top:20px;padding:15px;background:#f3f6fa;border-radius:10px}.vae-public-url code{display:block;margin-top:8px;word-break:break-all}
.login-vae-access{margin-top:25px;padding-top:25px;border-top:1px solid #dce3ec}.login-vae-access h2{margin:8px 0}.login-vae-access>div{display:flex;gap:10px;flex-wrap:wrap}
.secretariat-banner-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.secretary-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
.vae-secretariat-access,.vae-admin-public-link{display:flex;justify-content:space-between;align-items:center;gap:22px}.vae-secretariat-access code,.vae-admin-public-link code{display:block;margin-top:10px;padding:10px 12px;background:#f1f4f8;border-radius:8px;word-break:break-all}.vae-secretariat-buttons{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.vae-empty-admin{padding:35px;text-align:center}.vae-empty-admin strong{font-size:24px;color:#0d2344}.vae-empty-admin p{max-width:660px;margin:12px auto 20px;color:#667085}.vae-empty-admin>div{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
@media(max-width:950px){.vae-public-landing{grid-template-columns:1fr}.vae-public-benefits{grid-template-columns:1fr}.secretary-kpis{grid-template-columns:repeat(2,1fr)}.vae-secretariat-access,.vae-admin-public-link{align-items:flex-start;flex-direction:column}.vae-secretariat-buttons{justify-content:flex-start}}
@media(max-width:700px){.public-header-actions{gap:8px;font-size:12px}.public-header-actions a:first-child{display:none}.vae-public-main{padding:32px}.vae-public-main h1{font-size:35px}.secretary-kpis{grid-template-columns:1fr}}


/* PARCHE FASE 17.2 — FLUJO VAE INTUITIVO */
.vae-wizard-banner{align-items:center}.vae-completion-circle{min-width:125px;height:125px;border-radius:50%;display:grid;place-content:center;text-align:center;background:#d7ad35;color:#0b1f3a;border:7px solid rgba(255,255,255,.25)}.vae-completion-circle strong{font-size:31px}.vae-completion-circle span{font-size:12px;font-weight:800}
.vae-primary-action{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 28px;margin:20px 0;background:#fff;border:2px solid #d7ad35;border-radius:16px;box-shadow:0 12px 30px rgba(11,31,58,.08)}.vae-primary-action h2{margin:5px 0}.vae-primary-action p{margin:0;color:#667085}.vae-primary-action .btn{font-size:17px;padding:16px 24px}
.vae-stepper{display:grid;gap:10px;margin:18px 0}.vae-step{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;padding:15px 18px;background:#fff;border:1px solid #dce3ec;border-radius:13px;text-decoration:none;color:#0b1f3a}.vae-step:hover{border-color:#d7ad35}.vae-step-number{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#edf1f6;font-weight:900}.vae-step.complete .vae-step-number{background:#dff3e5;color:#267443}.vae-step strong,.vae-step small{display:block}.vae-step small{color:#667085;margin-top:3px}.vae-step b{font-size:11px;color:#a36c00}.vae-step.complete b{color:#267443}
.vae-status-strip{margin:20px 0}.vae-secondary-actions{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:18px 0}.vae-secondary-actions a{display:grid;gap:5px;padding:17px;background:#fff;border:1px solid #dce3ec;border-radius:13px;text-decoration:none;color:#0b1f3a}.vae-secondary-actions span{font-size:24px}.vae-secondary-actions small{color:#667085}
.vae-document-requirements{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.vae-document-requirements article{display:flex;gap:12px;align-items:center;padding:16px;background:#fff;border:1px solid #dce3ec;border-radius:13px}.vae-document-requirements article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#f0f3f7;font-weight:900}.vae-document-requirements article.done{border-color:#78bd8d;background:#f1faf4}.vae-document-requirements article.done>span{background:#45a866;color:#fff}.vae-document-requirements strong,.vae-document-requirements small{display:block}.vae-document-requirements small{color:#667085}
.vae-upload-panel{border-top:5px solid #d7ad35}.vae-file-drop{padding:18px;border:2px dashed #bbc7d6;border-radius:12px;background:#f8fafc}.vae-file-drop input{margin:10px 0}.vae-file-drop small{display:block;color:#667085}.vae-upload-button{min-height:58px;font-size:16px}.vae-next-button{display:block;margin-top:18px;text-align:center}.vae-ok-text{color:#267443!important}.vae-warning-text{color:#a36c00!important}
.vae-scale-help{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:15px 20px;margin:15px 0;background:#fff8df;border-left:5px solid #d7ad35;border-radius:10px}.vae-sticky-actions{position:sticky;bottom:10px;z-index:20;display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:13px;background:rgba(255,255,255,.94);border:1px solid #dce3ec;border-radius:14px;box-shadow:0 10px 30px rgba(11,31,58,.15)}
.vae-analysis-readiness{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 26px;margin:18px 0;border-radius:15px}.vae-analysis-readiness>div{display:flex;align-items:center;gap:15px}.vae-analysis-readiness.ready{background:#eef9f1;border:2px solid #71ba86}.vae-analysis-readiness.not-ready{background:#fff8df;border:2px solid #d7ad35}.vae-analysis-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;font-size:25px;font-weight:900;background:#fff}.vae-analysis-readiness p{margin:4px 0;color:#667085}.vae-verdict{padding:22px;font-size:17px}
@media(max-width:950px){.vae-secondary-actions{grid-template-columns:repeat(2,1fr)}.vae-document-requirements{grid-template-columns:1fr}.vae-primary-action,.vae-analysis-readiness{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.vae-secondary-actions{grid-template-columns:1fr}.vae-step{grid-template-columns:auto 1fr}.vae-step b{grid-column:2}.vae-completion-circle{width:100px;height:100px;min-width:100px}}


/* PARCHE FASE 17.3 — PROCESO VAE ENCADENADO */
.vae-guided-header{align-items:center}
.vae-wizard-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:18px 0}
.vae-wizard-nav span{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 8px;background:#fff;border:1px solid #dce3ec;border-radius:12px;font-weight:800;color:#667085}
.vae-wizard-nav span b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#edf1f6;color:#0d2344}
.vae-wizard-nav span.active{border:2px solid #d7ad35;color:#0d2344}
.vae-wizard-nav span.done{background:#eef9f1;color:#267443}
.vae-wizard-nav span.done b{background:#45a866;color:#fff}
.vae-guided-card{max-width:980px;margin:20px auto;border-top:6px solid #d7ad35}
.vae-guided-card>p{font-size:17px;color:#667085}
.vae-guided-form{max-width:820px}
.vae-guided-submit{min-height:62px;font-size:17px;margin-top:10px}
.vae-guided-help{max-width:980px;margin:20px auto;padding:18px 22px;background:#fff8df;border-left:5px solid #d7ad35;border-radius:10px;line-height:1.6}
@media(max-width:900px){.vae-wizard-nav{grid-template-columns:1fr 1fr}.vae-wizard-nav span{justify-content:flex-start}}
@media(max-width:560px){.vae-wizard-nav{grid-template-columns:1fr}}

.vae-assessment-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:18px 0}.vae-assessment-tabs a{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;background:#fff;border:1px solid #dce3ec;border-radius:12px;text-decoration:none;color:#667085;font-weight:800}.vae-assessment-tabs a b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#edf1f6}.vae-assessment-tabs a.active{border:2px solid #d7ad35;color:#0d2344}.vae-assessment-tabs a.done{background:#eef9f1;color:#267443}.vae-assessment-tabs a.done b{background:#45a866;color:#fff}.checkbox-row{display:flex!important;align-items:center;gap:10px;padding:14px;background:#f7f9fc;border-radius:10px}.checkbox-row input{width:auto!important}@media(max-width:800px){.vae-assessment-tabs{grid-template-columns:1fr 1fr}}@media(max-width:480px){.vae-assessment-tabs{grid-template-columns:1fr}}


/* PARCHE FASE 17.5 — FACULTADES, PAGO Y CERTIFICADO PROFESIONAL */
.vae-payment-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.vae-payment-summary article{padding:20px;background:#fff;border:1px solid #dce3ec;border-radius:14px;display:grid;gap:6px}.vae-payment-summary article span{color:#667085}.vae-payment-summary article strong{font-size:24px;color:#0d2344}.vae-payment-summary article.total{background:#0d2344;color:#fff;border-color:#0d2344}.vae-payment-summary article.total span,.vae-payment-summary article.total strong{color:#fff}.vae-payment-panel,.vae-payment-wait{max-width:900px;margin:20px auto}.vae-payment-instructions{display:grid;gap:7px;padding:18px;margin:15px 0;background:#f6f8fb;border-left:5px solid #d7ad35;border-radius:10px}.vae-admin-invoice,.vae-payment-evidence{display:grid;gap:7px;padding:18px;margin-bottom:16px;background:#f7f9fc;border:1px solid #dce3ec;border-radius:12px}.vae-admin-invoice b{font-size:23px;color:#0d2344}
.vae-certificate-professional{max-width:1320px;margin:20px auto;background:#fff;border:3px solid #bd941e;box-shadow:0 20px 50px rgba(13,35,68,.15);font-family:Georgia,'Times New Roman',serif}.vae-certificate-professional>header{display:flex;justify-content:space-between;align-items:center;padding:34px 48px;background:#0d2344;color:#fff;border-bottom:6px solid #bd941e}.vae-cert-brand{display:flex;align-items:center;gap:24px}.vae-cert-brand img{width:115px;height:115px;object-fit:contain;background:#fff;border-radius:50%;padding:7px}.vae-cert-brand h1{font-size:48px;margin:0}.vae-cert-brand p{font-family:Arial,sans-serif;font-size:18px;margin:5px 0}.vae-cert-brand strong{font-family:Arial,sans-serif;color:#e4bd43}.vae-certificate-professional>header>span{font-family:Arial,sans-serif;font-size:28px;font-weight:900;letter-spacing:7px;color:#e4bd43}.vae-certificate-professional main{padding:62px 72px 52px;text-align:center}.vae-cert-kicker{font-family:Arial,sans-serif;font-size:18px;font-weight:900;letter-spacing:5px;color:#a57b00}.vae-certificate-professional h2{font-size:42px;line-height:1.15;margin:24px auto;max-width:1050px;color:#0d2344}.vae-cert-intro{font-size:21px;margin-top:45px}.vae-cert-name{font-size:55px;margin:18px 0;color:#0d2344}.vae-cert-text{font-size:22px;line-height:1.65;max-width:1100px;margin:25px auto}.vae-cert-data{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:42px 0}.vae-cert-data div,.vae-cert-bottom>div{padding:17px;border-top:1px solid #cfd7e3;border-bottom:1px solid #cfd7e3}.vae-cert-data span,.vae-cert-bottom span{display:block;font-family:Arial,sans-serif;font-size:12px;font-weight:900;letter-spacing:2px;color:#9b7300;text-transform:uppercase}.vae-cert-data strong{display:block;font-family:Arial,sans-serif;font-size:21px;margin-top:8px}.vae-cert-bottom{display:grid;grid-template-columns:1fr 1.5fr;gap:25px;margin:25px 0}.vae-cert-bottom a{display:block;margin-top:8px;word-break:break-all;color:#0d2344;font-family:Arial,sans-serif;font-size:12px}.vae-cert-signature{width:330px;margin:50px auto 25px}.vae-cert-signature .line{border-top:1px solid #0d2344;margin-bottom:10px}.vae-cert-signature strong,.vae-cert-signature span{display:block;font-family:Arial,sans-serif}.vae-cert-signature span{font-size:12px;color:#667085;margin-top:5px}
@media(max-width:900px){.vae-payment-summary{grid-template-columns:1fr 1fr}.vae-cert-data{grid-template-columns:1fr 1fr}.vae-cert-bottom{grid-template-columns:1fr}.vae-certificate-professional main{padding:40px 25px}.vae-cert-brand h1{font-size:34px}.vae-cert-name{font-size:38px}}
@media print{.vae-certificate-professional{box-shadow:none;margin:0;max-width:none;page-break-inside:avoid}.vae-certificate-professional main{padding:38px 50px}.vae-cert-brand img{width:90px;height:90px}.vae-cert-brand h1{font-size:38px}.vae-certificate-professional h2{font-size:32px}.vae-cert-name{font-size:44px}.vae-cert-text{font-size:18px}.vae-cert-data{margin:25px 0}}

/* FASE 17.6 */
.vae-id-card{overflow:hidden;border:3px solid #bd941e;border-radius:20px;background:#f7f9fc}.vae-id-card header{display:flex;align-items:center;gap:16px;padding:22px;background:#0d2344;color:#fff}.vae-id-card header img{width:74px;height:74px;object-fit:contain;background:#fff;border-radius:50%;padding:5px}.vae-id-card header div{flex:1}.vae-id-card header strong,.vae-id-card header span{display:block}.vae-id-card header strong{font-size:27px}.vae-id-card header b{color:#e4bd43;letter-spacing:4px}.vae-id-card main{display:grid;grid-template-columns:190px 1fr;gap:25px;padding:26px}.vae-id-photo{height:235px;border:2px solid #bd941e;border-radius:14px;display:grid;place-items:center;overflow:hidden;background:#e9eef5}.vae-id-photo img{width:100%;height:100%;object-fit:cover}.vae-id-card main small{font-weight:900;color:#9b7300}.vae-id-card main h3{font-size:28px;margin:5px 0 18px}@media(max-width:700px){.vae-id-card main{grid-template-columns:1fr}.vae-id-photo{max-width:220px}}

/* FASE 17.7 */
.vae-resolution-card{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;padding:26px 30px;margin:20px 0;border-radius:16px;border-left:7px solid #94a3b8;background:#fff}.vae-resolution-card.success{border-color:#45a866;background:#eef9f1}.vae-resolution-card.warning{border-color:#d7ad35;background:#fff8df}.vae-resolution-card.danger{border-color:#c94b4b;background:#fff0f0}.vae-resolution-card h2{margin:5px 0;font-size:32px}.vae-resolution-card>div:last-child{display:grid;grid-template-columns:auto auto;gap:4px 12px}.vae-resolution-card>div:last-child strong{font-size:30px}.vae-decision-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.vae-decision-grid article{padding:18px;border:1px solid #dce3ec;border-radius:12px;background:#f8fafc}.vae-decision-grid span,.vae-decision-grid strong{display:block}.resolution-success{color:#267443;font-weight:900}.resolution-warning{color:#9b7300;font-weight:900}.resolution-danger{color:#a32f2f;font-weight:900}@media(max-width:900px){.vae-decision-grid{grid-template-columns:1fr 1fr}.vae-resolution-card{grid-template-columns:1fr}}


/* FASE 18.0 — COBROS Y AUTOFACURACIÓN */
.payment-admin-grid,.payment-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.payment-config-card,.payment-method-card{display:grid;gap:12px;padding:22px;border:1px solid #dce3ec;border-radius:16px;background:#fff}.payment-config-card h3,.payment-method-card strong{font-size:22px;color:#0d2344}.payment-method-card.bank-details{grid-column:span 2}.payment-method-card form{display:grid;gap:10px}.payment-success{max-width:760px;margin:60px auto;text-align:center;padding:45px}.payment-success h1{font-size:42px;color:#176b3a}.payment-methods{margin-top:20px}.payment-method-grid .btn{width:100%}
@media(max-width:1050px){.payment-admin-grid,.payment-method-grid{grid-template-columns:1fr 1fr}.payment-method-card.bank-details{grid-column:span 2}}
@media(max-width:700px){.payment-admin-grid,.payment-method-grid{grid-template-columns:1fr}.payment-method-card.bank-details{grid-column:span 1}}

/* FASE 18.1 */
.gateway-test-form{margin-top:-8px;margin-bottom:18px}.gateway-test-form .btn{width:100%}.payment-readiness-note{padding:16px 18px;margin-bottom:20px;border-left:5px solid #c49a21;background:#fff8dc;border-radius:8px;color:#604900}


/* FASE 18.2 — ACCESO Y LOGIN RESTAURADOS */
.login-header{position:relative;z-index:20;overflow:hidden}
.login-header .institutional-brand img{width:66px!important;height:66px!important;max-width:66px!important;max-height:66px!important;object-fit:contain!important}
.login.panel{position:relative;z-index:2;max-width:620px;margin:36px auto}


/* FASE 18.3 — PAGO DE FACTURAS DEL ALUMNO */
.invoice-payment-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.invoice-list>article{align-items:center}
@media(max-width:720px){.invoice-list>article{align-items:flex-start}.invoice-payment-actions{justify-content:flex-start}}


/* FASE 19.0 — CATÁLOGO Y VENTA DE CURSOS VAE */
.sales-admin-list{display:grid;gap:14px}.sales-course-admin{border:1px solid #dbe3ed;border-radius:14px;background:#fff;overflow:hidden}.sales-course-admin summary{display:flex;justify-content:space-between;gap:18px;padding:20px;cursor:pointer;background:#f8fafc}.sales-course-admin form{padding:22px}.regional-price{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;border:1px solid #e1e7ef;border-radius:10px}.regional-price strong{grid-column:1/-1}.vae-sales-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:24px}.vae-sale-card{background:#fff;border:1px solid #dce3ec;border-radius:18px;overflow:hidden;box-shadow:0 12px 30px rgba(13,35,68,.08)}.vae-sale-card img,.sale-cover{width:100%;height:190px;object-fit:cover}.sale-cover{display:flex;align-items:center;justify-content:center;background:#10284d;color:#d5ae2a;font-size:70px;font-family:Georgia,serif}.sale-card-body{display:grid;gap:13px;padding:22px}.sale-card-body h2{margin:0;font-size:25px}.recommended-badge{display:inline-flex;width:max-content;padding:7px 10px;border-radius:999px;background:#e8f7ee;color:#146c3b;font-size:12px;font-weight:900}.sale-price{display:grid;gap:3px;padding:14px 0;border-top:1px solid #e3e8ef}.sale-price strong{font-size:28px;color:#0d2344}.sale-price del{color:#8a96a8}.catalog-policy{margin:20px 0;padding:16px 18px;border-left:5px solid #c69d20;background:#fff8dd;border-radius:8px}.audit-table-wrap{overflow:auto}.audit-table{width:100%;border-collapse:collapse;min-width:1050px}.audit-table th,.audit-table td{padding:13px;border-bottom:1px solid #e3e8ef;text-align:left;vertical-align:top}.audit-table th{background:#f2f5f9}.invoice-payment-actions{display:flex;gap:10px;align-items:center}
@media(max-width:1100px){.vae-sales-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.vae-sales-grid{grid-template-columns:1fr}.admin-form-grid{grid-template-columns:1fr}.regional-price{grid-template-columns:1fr}}

/* FASE 19.1 */
.catalog-tools{display:flex;align-items:center;justify-content:space-between;gap:20px}.faculty-sales-section{margin-top:24px}.faculty-sales-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.faculty-sales-head h2{margin:4px 0 0}.sales-course-admin summary span{font-weight:800;color:#8a6711}.empty-state{padding:32px;text-align:center;border:2px dashed #d5deea;border-radius:14px;background:#fafcff}
@media(max-width:760px){.catalog-tools,.faculty-sales-head{align-items:flex-start;flex-direction:column}}

/* FASE 19.2 */
.banner-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.banner-actions>strong{padding:12px 16px;border:1px solid rgba(255,255,255,.25);border-radius:12px}
.btn.disabled{opacity:.55;cursor:not-allowed;pointer-events:none;background:#7d8797}


/* FASE 19.3 — TARIFAS VAE EN SECRETARÍA */
.vae-pricing-secretariat .section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:22px}
.vae-continent-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.continent-price-card{border:1px solid #dce4ee;border-radius:16px;padding:20px;background:#fbfcfe}
.continent-price-head{padding-bottom:14px;margin-bottom:8px;border-bottom:1px solid #e0e6ee}
.continent-price-head h3{font-size:27px;margin:4px 0 0;color:#10274a}
.level-price-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:12px;padding:13px 0;border-bottom:1px solid #e7ebf1}
.level-price-row:last-child{border-bottom:0}
.level-price-row label{display:grid;gap:7px}
.level-price-row label span{font-size:14px;font-weight:800;color:#5b6880}
.level-price-row input,.level-price-row select{width:100%}
.pricing-save-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding:18px 20px;border-radius:14px;background:#f3f6fa}
.pricing-save-bar p{margin:4px 0 0;color:#64728a}
@media(max-width:1050px){.vae-continent-price-grid{grid-template-columns:1fr}.vae-pricing-secretariat .section-title,.pricing-save-bar{align-items:flex-start;flex-direction:column}}

.course-price-shortcuts{display:grid;gap:14px}.course-price-shortcuts article{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px;border:1px solid #dce4ee;border-radius:14px}.price-editor-options{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}.course-continent-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:22px}.course-continent-prices article{padding:22px;border:1px solid #dce4ee;border-radius:16px;background:#fbfcfe}@media(max-width:900px){.price-editor-options,.course-continent-prices{grid-template-columns:1fr}.course-price-shortcuts article{align-items:flex-start;flex-direction:column}}


/* FASE 20.0 — MOTOR DE AUTOMATIZACIÓN */
.automation-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:22px 0}
.automation-kpis article{padding:22px;border:1px solid #dce4ee;border-radius:16px;background:#fff}
.automation-kpis strong{display:block;font-size:27px;color:#10274a}
.automation-kpis span{display:block;margin-top:7px;color:#68768d}
.automation-settings{display:grid;grid-template-columns:2fr 1fr auto;align-items:end;gap:18px}
.automation-settings label:not(.checkbox-row){display:grid;gap:8px;font-weight:800}
.automation-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}
.automation-rules article{display:flex;gap:14px;padding:18px;border:1px solid #dce4ee;border-radius:14px;background:#fbfcfe}
.automation-rules article>span{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#e3f6e9;color:#237645;font-weight:900}
.automation-rules p{margin:5px 0 0;color:#65738a}
@media(max-width:1000px){.automation-kpis{grid-template-columns:1fr 1fr}.automation-settings{grid-template-columns:1fr}.automation-rules{grid-template-columns:1fr}}
@media(max-width:600px){.automation-kpis{grid-template-columns:1fr}}

/* PARCHE 20.1 */
#automationRunButton:disabled{opacity:.72;cursor:wait}.automation-message{margin-top:18px}.automation-result{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0}.automation-result article{padding:20px;border:1px solid #dce4ee;border-radius:15px;background:#fff}.automation-result strong{display:block;font-size:28px;color:#10274a}.automation-result span{display:block;margin-top:6px;color:#68768d}@media(max-width:850px){.automation-result{grid-template-columns:1fr 1fr}}@media(max-width:520px){.automation-result{grid-template-columns:1fr}}


/* FASE 20.2 — EJECUCIÓN ROBUSTA */
.automation-run-link{display:inline-flex;align-items:center;justify-content:center;min-width:190px}
.automation-run-link.is-running{opacity:.65;pointer-events:none}
.automation-health{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;margin:18px 0;border-radius:14px;border:1px solid}
.automation-health p{margin:4px 0 0}
.automation-health span{font-weight:900;font-size:22px}
.automation-health.ok-health{background:#eef9f1;border-color:#b9dfc5;color:#1f6d3a}
.automation-health.bad-health{background:#fff4f2;border-color:#efc2bb;color:#8d2d21}
@media(max-width:700px){.automation-health{align-items:flex-start;flex-direction:column}}


/* FASE 21.1 — IMPORTADOR SEGURO DE CURSOS */
.builder-security-badge{padding:13px 17px;border:1px solid rgba(255,255,255,.3);border-radius:12px;font-weight:900;letter-spacing:.05em}
.builder-upload-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.builder-upload-form label{display:grid;gap:8px;font-weight:800}
.builder-upload-form .full{grid-column:1/-1}
.builder-upload-form small{font-weight:500;color:#68768d}
.builder-example{white-space:pre-wrap;overflow:auto;background:#0d1d36;color:#e9f1ff;padding:22px;border-radius:14px;line-height:1.6}
.status-pill{display:inline-block;padding:6px 10px;border-radius:999px;background:#eaf0f8;color:#233f68;font-weight:800;font-size:12px}
.btn.small{padding:8px 11px;font-size:13px}
@media(max-width:900px){.builder-upload-form{grid-template-columns:1fr}}


/* FASE 21.1 ABC */
.builder-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.builder-actions form{margin:0}
.btn.danger{background:#8f1d1d;color:#fff}
.builder-note{margin-top:16px;padding:14px 16px;background:#fff7d8;border-left:4px solid #c99b00;border-radius:8px}

/* FASE 21.2 */
.ai-score-grid{display:grid;grid-template-columns:260px 1fr;gap:22px;margin:24px 0}.ai-score{background:#12284e;color:#fff;border-radius:24px;padding:34px;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:190px}.ai-score strong{font-size:58px;color:#e0b525}.ai-score span{font-size:18px}.quality-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quality-check{padding:14px 16px;border-radius:12px;background:#f3f6fa;display:flex;gap:10px;font-weight:700}.quality-check span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center}.quality-check.ok span{background:#dff3e5;color:#176b32}.quality-check.warn span{background:#fff0cc;color:#9a6200}.ai-review-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.ai-review-form label{display:flex;flex-direction:column;gap:8px;font-weight:700}.ai-review-form .span-2{grid-column:1/-1}.ai-review-form textarea,.ai-review-form input{width:100%;padding:14px;border:1px solid #ccd5e2;border-radius:12px;font:inherit}@media(max-width:800px){.ai-score-grid,.ai-review-form .form-grid{grid-template-columns:1fr}.ai-review-form .span-2{grid-column:auto}.quality-checks{grid-template-columns:1fr}}


/* FASE 21.2.1 — VISIBILIDAD Y DESBLOQUEO POR FACULTAD */
.builder-publish-box{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.builder-publish-box>div:last-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.builder-publish-box form{margin:0}
.faculty-path-meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}
.faculty-path-meta span{padding:6px 9px;border-radius:999px;background:#edf2f8;color:#314765;font-size:12px;font-weight:800}


/* FASE 21.2.2 — FORMATO UNIVERSITARIO */
.university-auto-box{
 display:flex;justify-content:space-between;gap:24px;align-items:center;
 padding:22px;margin-bottom:22px;border:1px solid #d7dfec;border-left:5px solid #d2a900;
 border-radius:16px;background:#f9fbff
}
.university-auto-box h3{margin:4px 0 8px;font-size:1.35rem}
.university-auto-box p{margin:0;max-width:780px;color:#5a6880}
.university-auto-box form{min-width:260px}
.icon-action.danger{color:#9d1c1c;border-color:#efc6c6;background:#fff5f5}
@media(max-width:900px){.university-auto-box{flex-direction:column;align-items:stretch}.university-auto-box form{min-width:0}}

/* FASE 21.3 */
.dynamic-bank-box{border-left-color:#173b69;background:linear-gradient(135deg,#f4f8ff,#fff)}
.dynamic-bank-box form{display:grid;gap:12px;min-width:280px}.dynamic-bank-box select{width:100%}


/* FASE 22.1 — DONNA ACADEMIC */
.quality-chip{display:inline-block;padding:6px 10px;border-radius:999px;background:#edf1f7;font-weight:800}
.quality-chip.excellent{background:#e5f6ea;color:#17633a}.quality-chip.review{background:#fff4cf;color:#806100}.quality-chip.incomplete{background:#fde7e7;color:#8d2020}
.quality-actions{display:flex;gap:10px;flex-wrap:wrap}.quality-actions form{margin:0}
.quality-score-hero{display:flex;align-items:center;gap:26px;padding:26px;margin:20px 0;border:1px solid #d5deea;border-radius:18px;background:#fff}
.quality-gauge{width:140px;height:140px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#eef4fb;border:10px solid #173b69}
.quality-gauge strong{font-size:36px}.quality-gauge span{font-weight:800}
.quality-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}
.quality-grid article{padding:18px;border:1px solid #d8e0eb;border-radius:14px;background:#fff}
.quality-grid article span{display:block;color:#5b6980}.quality-grid article strong{font-size:28px}.quality-grid article div{height:8px;background:#e9edf3;border-radius:8px;margin-top:10px;overflow:hidden}.quality-grid article i{display:block;height:100%;background:#173b69}
.quality-findings{display:grid;gap:14px}.quality-findings article{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px;border:1px solid #d9e1eb;border-left:5px solid #bd9200;border-radius:12px;background:#fff}.quality-findings article.critical{border-left-color:#a82626}.quality-findings article.info{border-left-color:#3977aa}
.finding-severity{text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.08em}.quality-findings h3{margin:5px 0}.quality-findings p{margin:0 0 6px}.quality-recommendations{white-space:pre-wrap;background:#f5f7fa;padding:18px;border-radius:12px}
@media(max-width:900px){.quality-grid{grid-template-columns:1fr}.quality-score-hero,.quality-findings article{align-items:flex-start;flex-direction:column}}

/* FASE 22.2 — BANCO PROFESIONAL */
.taxonomy-stats,.bloom-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.bloom-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.taxonomy-stats article,.bloom-grid article{padding:18px;border:1px solid #d8e0eb;border-radius:14px;background:#fff;text-align:center}.taxonomy-stats strong,.bloom-grid strong{display:block;font-size:28px;color:#173b69}.taxonomy-question-list{display:grid;gap:16px}.taxonomy-question-list article{padding:18px;border:1px solid #d7dfeb;border-radius:14px;background:#fff}.taxonomy-question-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.taxonomy-question-head h3{margin:5px 0 14px;font-size:18px}.review-chip{padding:6px 10px;border-radius:999px;background:#edf1f7;font-size:12px;font-weight:800}.review-chip.approved{background:#e5f6ea;color:#17633a}.review-chip.pending_review{background:#fff4cf;color:#806100}.taxonomy-form{display:grid;grid-template-columns:180px 220px 1fr auto;gap:12px;align-items:end}.taxonomy-form label{display:grid;gap:6px;font-weight:700}@media(max-width:1100px){.bloom-grid{grid-template-columns:repeat(3,1fr)}.taxonomy-form{grid-template-columns:1fr 1fr}}@media(max-width:700px){.taxonomy-stats,.bloom-grid,.taxonomy-form{grid-template-columns:1fr}.taxonomy-question-head{flex-direction:column}}


/* FASE 22.2A — INTEGRACIÓN */
.module-bank-admin{display:flex;justify-content:space-between;gap:24px;align-items:end;padding:20px;margin-bottom:20px;border:1px solid #d5dfeb;border-left:5px solid #173b69;border-radius:14px;background:#f7faff}
.module-bank-admin h3{margin:5px 0}.module-bank-admin p{margin:0;color:#5c6980}
.module-bank-form{display:grid;grid-template-columns:220px 180px auto;gap:12px;align-items:end;min-width:620px}
.module-bank-form label{display:grid;gap:6px;font-weight:700}
@media(max-width:1000px){.module-bank-admin{flex-direction:column;align-items:stretch}.module-bank-form{grid-template-columns:1fr;min-width:0}.quality-actions{align-items:stretch}.quality-actions form,.quality-actions button{width:100%}}


/* FASE 22.2B — DONNA Y EXÁMENES DEL ALUMNO */
.exam-sync-box{display:flex;justify-content:space-between;gap:22px;align-items:center;padding:20px;margin-bottom:20px;border:1px solid #d4dfeb;border-left:5px solid #2a7a48;border-radius:14px;background:#f5fbf7}
.exam-sync-box h3{margin:5px 0}.exam-sync-box p{margin:0;color:#5b6980}
.module-exam-pending{border-left:5px solid #c79800;background:#fffaf0}
@media(max-width:850px){.exam-sync-box{flex-direction:column;align-items:stretch}.exam-sync-box button{width:100%}}


/* FASE 22.2C — REPARACIÓN INTEGRAL */
.repair-course-box{display:flex;justify-content:space-between;gap:22px;align-items:center;padding:20px;margin-bottom:20px;border:1px solid #dfd6b9;border-left:5px solid #b98c00;border-radius:14px;background:#fffaf0}
.repair-course-box h3{margin:5px 0}.repair-course-box p{margin:0;color:#5b6980;max-width:850px}
@media(max-width:850px){.repair-course-box{flex-direction:column;align-items:stretch}.repair-course-box button{width:100%}}


/* FASE 22.3 — MOTOR PROFESIONAL DE EXÁMENES 2.0 */
.exam2-hero{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:34px 38px;margin:20px 0;border-radius:20px;background:#142d53;color:#fff}
.exam2-hero h1{font-size:38px;margin:7px 0}.exam2-hero p{margin:0;font-size:18px}
.exam2-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;min-width:430px}.exam2-meta span{padding:13px;border:1px solid rgba(255,255,255,.18);border-radius:12px;text-align:center}.exam2-meta strong{display:block;font-size:21px}
.exam2-start{max-width:1100px;margin:20px auto}.exam2-ready-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.exam2-ready-grid article{padding:18px;border:1px solid #d7e0eb;border-radius:14px;text-align:center}.exam2-ready-grid strong{display:block;font-size:30px;color:#173b69}.exam2-ready-grid span{color:#5b6980}
.exam2-progress{display:flex;justify-content:space-between;padding:14px 18px;margin:15px 0;background:#eef4fb;border-radius:12px}
.exam2-submit{position:sticky;bottom:12px;z-index:3;display:flex;justify-content:flex-end;padding:15px;background:rgba(255,255,255,.96);border:1px solid #d7dfeb;border-radius:14px;box-shadow:0 8px 25px rgba(18,43,79,.12)}
.attempt-history{display:grid}.attempt-history>div{display:grid;grid-template-columns:1fr 1fr 120px;gap:15px;padding:15px;border-bottom:1px solid #e1e6ee}.attempt-history b{text-align:right}
@media(max-width:900px){.exam2-hero{align-items:flex-start;flex-direction:column}.exam2-meta{grid-template-columns:1fr;min-width:0;width:100%}.exam2-ready-grid{grid-template-columns:1fr}.attempt-history>div{grid-template-columns:1fr}}


/* FASE 22.3A — ESTABILIZACIÓN TOTAL */
.table-action-stack{display:flex;gap:8px;flex-wrap:wrap}
.exam2-form{padding-bottom:90px}
.student-exam-question{scroll-margin-top:120px}
.exam2-start .btn{min-width:240px}
@media(max-width:700px){.table-action-stack{display:grid}.table-action-stack form,.table-action-stack button{width:100%}}


/* FASE 22.3B — RUTA CORRECTA DE MIS CURSOS */
.student-course-hero{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:36px 42px;margin:20px 0;border-radius:22px;background:#142d53;color:#fff}
.student-course-hero h1{font-size:42px;margin:8px 0}.student-course-hero p{max-width:900px;font-size:18px;opacity:.92}
.course-progress-summary{min-width:190px;padding:22px;border:1px solid rgba(255,255,255,.2);border-radius:18px;text-align:center;background:rgba(255,255,255,.06)}
.course-progress-summary strong{display:block;font-size:42px}.course-progress-summary span,.course-progress-summary small{display:block}
.student-course-summary{display:grid;grid-template-columns:1fr 420px;gap:30px;align-items:center}
.student-module-list{display:grid;gap:16px;margin:20px 0}
.student-course-module{display:grid;grid-template-columns:90px 1fr auto;gap:22px;align-items:center;padding:22px;border:1px solid #d8e1ec;border-radius:18px;background:#fff}
.student-course-module.locked{opacity:.68;background:#f4f6f9}
.student-course-module.completed{border-left:6px solid #2c8a50}.student-course-module.available{border-left:6px solid #c99b00}
.module-sequence{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:16px;background:#142d53;color:#e1b829;font-size:22px;font-weight:900}
.module-course-main h2{margin:8px 0}.module-course-main p{margin:0;color:#637088}
.module-course-status{display:flex;gap:10px;flex-wrap:wrap}.module-course-status span,.module-course-status b{padding:5px 9px;border-radius:999px;background:#edf3fa;font-size:12px}.module-course-status b{background:#e6f5ea;color:#27633c}.module-course-status b.pending{background:#fff3d4;color:#795d00}
.module-course-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:13px;color:#526179;font-size:14px}
.module-course-actions{display:grid;gap:10px;min-width:190px}.locked-course-label{font-weight:700;color:#6f7784;text-align:center}
@media(max-width:950px){.student-course-hero{align-items:flex-start;flex-direction:column}.student-course-summary{grid-template-columns:1fr}.student-course-module{grid-template-columns:70px 1fr}.module-course-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}}
@media(max-width:650px){.student-course-module{grid-template-columns:1fr}.module-sequence{width:52px;height:52px}.module-course-actions{grid-template-columns:1fr}.student-course-hero h1{font-size:32px}}


/* FASE 22.3C — HOTFIX DE ESTABILIDAD */
.bank-save-health{
  padding:14px 18px;
  border-left:5px solid #27834a;
  border-radius:10px;
  background:#f0faf4;
  color:#194b2c;
}


/* FASE 22.3D — REPARACIÓN DEFINITIVA */
.exam-diagnostic-box{padding:20px;margin-bottom:20px;border:1px solid #cfdbea;border-left:6px solid #173b69;border-radius:16px;background:#f8fbff}
.exam-diagnostic-box h3{margin:5px 0}.exam-diagnostic-box p{margin:0 0 16px;color:#5c6980}
.diag-ok{color:#247443}.diag-warn{color:#9a7100}

.health-summary-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:14px;margin:20px 0}.health-summary-grid article{padding:20px;border:1px solid #d8e1ec;border-radius:16px;background:#fff;text-align:center}.health-summary-grid article.healthy{border-top:5px solid #2c8a50}.health-summary-grid article.unhealthy{border-top:5px solid #c58f00}.health-summary-grid strong{display:block;font-size:32px}.health-summary-grid span,.health-summary-grid small{display:block}.health-issues{display:grid;gap:14px}.health-issue{display:flex;justify-content:space-between;gap:22px;align-items:center;padding:18px;border:1px solid #d8e1ec;border-left:6px solid #b98c00;border-radius:14px;background:#fff}.health-issue.severity-critical{border-left-color:#b23434}.health-issue h3{margin:6px 0}.health-category{font-size:12px;font-weight:800;text-transform:uppercase;color:#6a778c}.health-issue-actions{min-width:180px;text-align:right}.manual-connect-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.manual-connect-form label{display:grid;gap:7px}.safe-repair-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.safe-repair-grid article{padding:16px;border-radius:12px;background:#f1f6fb;font-weight:700}@media(max-width:1200px){.health-summary-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:800px){.health-summary-grid{grid-template-columns:repeat(2,1fr)}.health-issue{flex-direction:column;align-items:stretch}.manual-connect-form{grid-template-columns:1fr}.safe-repair-grid{grid-template-columns:1fr}}

/* FASE 22.4A */
.health-runtime-warning{padding:14px 18px;border-left:5px solid #b23434;background:#fff3f3;border-radius:10px;margin:15px 0}

/* FASE 23.0 — ESTABILIZACIÓN DEFINITIVA */
.launch-score-card{display:flex;align-items:center;gap:30px;padding:26px;margin:20px 0;border:1px solid #d5deea;border-radius:18px;background:#fff}.launch-score{width:155px;height:155px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;border:12px solid #142d53;background:#eef4fb}.launch-score strong{font-size:38px}.launch-score span{text-align:center;font-weight:700}.stability-area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.stability-area-grid article{padding:18px;border:1px solid #d8e1ec;border-top:6px solid #2c8a50;border-radius:14px;background:#fff}.stability-area-grid article.warning{border-top-color:#c18c00}.stability-area-grid article.fail{border-top-color:#a92e2e}.stability-area-grid strong,.stability-area-grid small{display:block}.stability-check-list{display:grid;gap:12px}.stability-check-list article{padding:16px;border:1px solid #d8e1ec;border-left:5px solid #2c8a50;border-radius:12px}.stability-check-list article.warning{border-left-color:#c18c00}.stability-check-list article.fail{border-left-color:#a92e2e}.stability-check-list h3{margin:5px 0}.stability-check-list p{margin:0 0 6px}.launch-checklist{display:grid;grid-template-columns:1fr 1fr;gap:12px}.launch-checklist label{padding:14px;border:1px solid #d8e1ec;border-radius:10px;background:#f7f9fc}.launch-checklist input{margin-right:8px}@media(max-width:900px){.stability-area-grid{grid-template-columns:1fr 1fr}.launch-score-card{align-items:flex-start;flex-direction:column}.launch-checklist{grid-template-columns:1fr}}@media(max-width:600px){.stability-area-grid{grid-template-columns:1fr}}


/* FASE 23.1 — MAPA REAL DE BASE DE DATOS */
.schema-map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.schema-map-grid article{display:grid;gap:6px;padding:17px;border:1px solid #d7e0ec;border-left:5px solid #2e8b50;border-radius:13px;background:#fff}
.schema-map-grid article.unmapped{border-left-color:#b22f2f;background:#fff8f8}
.schema-map-grid small{text-transform:uppercase;font-weight:800;color:#69768a}.schema-map-grid strong{font-size:18px}.schema-map-grid span{font-size:13px;color:#66758b}
@media(max-width:1000px){.schema-map-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.schema-map-grid{grid-template-columns:1fr}}


/* FASE 24.0 — MOTOR ACADÉMICO DEFINITIVO */
.kernel-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.kernel-course-card{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px;border:1px solid #d6e0ec;border-left:6px solid #c18c00;border-radius:16px;background:#fff}
.kernel-course-card.ready{border-left-color:#2f8b4b}.kernel-course-card.error{border-left-color:#aa3030}.kernel-course-card h3{margin:7px 0}.kernel-state{font-size:12px;font-weight:900;letter-spacing:.08em}
.final-exam-gateway{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:20px;border-left:6px solid #c18c00}.final-exam-gateway.ready{border-left-color:#2f8b4b}.final-exam-gateway h2{margin:6px 0}
@media(max-width:900px){.kernel-course-grid{grid-template-columns:1fr}.kernel-course-card,.final-exam-gateway{flex-direction:column;align-items:stretch}}

/* FASE 24.1 */
.diag24-course-form{display:flex;gap:14px;align-items:end}.diag24-course-form select{min-width:420px;max-width:100%;padding:14px;border:1px solid #c9d4e2;border-radius:10px;background:#fff}
.diag24-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.diag24-summary article{padding:22px;border-radius:16px;background:#fff;border:1px solid #d8e1ec;text-align:center;border-top:6px solid #173b69}
.diag24-summary article.error{border-top-color:#ad2e2e}.diag24-summary article.warning{border-top-color:#c59300}.diag24-summary article.pass{border-top-color:#338b50}.diag24-summary strong{display:block;font-size:36px}.diag24-summary span{display:block;margin-top:5px}
.diag24-filters{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.diag24-filters button{padding:10px 15px;border:1px solid #cbd6e3;border-radius:999px;background:#fff;cursor:pointer;font-weight:700;color:#173056}
.diag24-list{display:grid;gap:16px}.diag24-item{padding:20px;border:1px solid #d7e0ec;border-left:7px solid #73839a;border-radius:14px;background:#fff}.diag24-item.error{border-left-color:#ad2e2e;background:#fffafa}.diag24-item.warning{border-left-color:#c59300;background:#fffdf7}.diag24-item.pass{border-left-color:#338b50}
.diag24-head{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:900;letter-spacing:.08em;color:#68758a}.diag24-item h3{margin:8px 0 10px}.diag24-location{font-weight:700;color:#173b69}.diag24-item dl{display:grid;grid-template-columns:170px 1fr;gap:8px 16px;margin:16px 0}.diag24-item dt{font-weight:800}.diag24-item dd{margin:0;color:#435169}
@media(max-width:850px){.diag24-summary{grid-template-columns:repeat(2,1fr)}.diag24-course-form{display:grid}.diag24-course-form select{min-width:0;width:100%}.diag24-item dl{grid-template-columns:1fr}}


/* FASE 25.0 — CAMPUS CORE v1.0 */
.core25-banner{margin-bottom:20px}
.core25-state{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;border-radius:18px;margin:20px 0;border:1px solid #d6dfeb;background:#fff}
.core25-state.stable{border-left:8px solid #2f8a4e;background:#f4fbf6}.core25-state.validation{border-left:8px solid #c59100;background:#fffdf6}
.core25-state h2{margin:5px 0}.core25-state>strong{font-size:34px;color:#17345f}
.core25-score{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:14px;margin:20px 0}
.core25-score>div,.core25-score>article{background:#fff;border:1px solid #d8e1ec;border-radius:16px;padding:20px;text-align:center}
.core25-score>div strong{display:block;font-size:46px}.core25-score>div span{font-weight:800}.core25-score article b{display:block;font-size:30px}
.core25-score article.error{border-top:6px solid #ac2e2e}
.core25-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.core25-actions form{margin:0}
.core25-filters{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0}
.core25-filters button{border:1px solid #cbd6e3;border-radius:999px;background:#fff;padding:9px 14px;font-weight:800;color:#17345f;cursor:pointer}
.core25-checks{display:grid;gap:14px}
.core25-check{border:1px solid #d6dfeb;border-left:7px solid #72839a;border-radius:13px;padding:18px;background:#fff}
.core25-check.error{border-left-color:#ad2e2e;background:#fffafa}.core25-check.warning{border-left-color:#c59100;background:#fffdf7}.core25-check.pass{border-left-color:#338b50}
.core25-check>div{display:flex;justify-content:space-between;font-size:12px;font-weight:900;letter-spacing:.07em;color:#69788e}
.core25-check h3{margin:8px 0}.core25-check p{margin:0 0 8px;color:#435169}.core25-check small{display:block;padding:10px;background:#f2f5f9;border-radius:8px;color:#435169}
.core25-policy{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0}
.core25-policy article{padding:18px;border:1px solid #d8e1ec;border-radius:14px;background:#f8fafc}.core25-policy strong{font-size:18px}
.core25-unfreeze form{display:flex;gap:12px;align-items:center}.core25-unfreeze input{flex:1;padding:13px;border:1px solid #c9d4e2;border-radius:9px}
@media(max-width:900px){.core25-score{grid-template-columns:repeat(2,1fr)}.core25-policy{grid-template-columns:1fr}.core25-state{align-items:flex-start}.core25-unfreeze form{display:grid}}

/* FASE 25.0A — Botón de validación */
.core25-validation-actions{display:grid;gap:10px;min-width:250px}
.core25-validation-actions form{margin:0}
.core25-validation-actions .btn{width:100%;text-align:center}
.core25-validation-actions small{display:block;max-width:300px;color:#eef3fb;line-height:1.35}
.core25-validation-actions button:disabled{opacity:.75;cursor:wait}


/* FASE 25.0B — CORRECCIÓN DEFINITIVA DE CLICS EN CAMPUS CORE */
.executive-banner::after,
.executive-banner:after{
  pointer-events:none !important;
  z-index:0 !important;
}
.executive-banner > *{
  position:relative;
  z-index:2;
}
.core25-validation-actions,
.core25-validation-actions form,
.core25-validation-actions a,
.core25-validation-actions button{
  position:relative;
  z-index:5;
  pointer-events:auto !important;
}
.core25-validation-actions a.btn{
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  cursor:pointer;
}

/* FASE 25.0D — REPARACIÓN DE ROLES */
.role-repair-select{display:flex;gap:12px;align-items:end}
.role-repair-select select,.role-repair-form select{min-width:420px;max-width:100%;padding:13px;border:1px solid #cbd6e3;border-radius:10px;background:#fff}
.role-activity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}
.role-activity-grid article{padding:20px;border:1px solid #d8e1ec;border-radius:14px;background:#f8fafc;text-align:center}
.role-activity-grid strong{display:block;font-size:32px;color:#17345f}.role-activity-grid span{display:block;margin-top:5px}
.warning-box{padding:16px;border-left:6px solid #c59100;border-radius:10px;background:#fff9e8;margin:18px 0}
.role-repair-form{display:flex;gap:14px;align-items:end;margin-top:20px}.role-repair-form label{display:grid;gap:7px;font-weight:800}
@media(max-width:850px){.role-repair-select,.role-repair-form{display:grid}.role-repair-select select,.role-repair-form select{min-width:0;width:100%}.role-activity-grid{grid-template-columns:repeat(2,1fr)}}

/* FASE 26.0 — PLUGIN MANAGER */
.plugin26-core-badge{position:relative;z-index:2;padding:20px 26px;border:1px solid rgba(255,255,255,.25);border-radius:16px;background:rgba(4,20,48,.55);text-align:center}.plugin26-core-badge strong{display:block;font-size:24px}.plugin26-upload{display:flex;gap:14px;align-items:center}.plugin26-upload input{flex:1;padding:13px;border:1px dashed #aebdd0;border-radius:10px}.plugin26-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.plugin26-card{padding:22px;border:1px solid #d8e1ec;border-top:7px solid #7c8ba0;border-radius:16px;background:#fff}.plugin26-card.active{border-top-color:#338b50}.plugin26-card.error,.plugin26-card.blocked{border-top-color:#ad2e2e}.plugin26-card.inactive{border-top-color:#c59100}.plugin26-head{display:flex;justify-content:space-between;gap:12px}.plugin26-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.plugin26-actions form{margin:0}.plugin26-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.plugin26-rules article{padding:18px;border:1px solid #d8e1ec;border-radius:14px;background:#f8fafc}@media(max-width:900px){.plugin26-grid,.plugin26-rules{grid-template-columns:1fr}.plugin26-upload{display:grid}}


/* === DONNA MOBILE RESPONSIVE ENGINE v2.1.0 : START === */
:root{
  --dmr-menu-width:min(84vw,320px);
  --dmr-touch:46px;
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:hidden}
img,video,iframe,canvas,svg{max-width:100%}
img{height:auto}

/* Escritorio: conservar el diseño actual */
@media (min-width:1101px){
  #globalSidebar{transform:none!important;visibility:visible!important}
  .app-main{min-width:0!important}
}

/* Tablet */
@media (min-width:769px) and (max-width:1100px){
  .app-main,.app-content{min-width:0!important;max-width:100%!important}
  .app-content input:not([type=checkbox]):not([type=radio]),
  .app-content select,.app-content textarea{max-width:100%!important}
}

/* Móvil */
@media (max-width:768px){
  html,body{
    width:100%!important;
    max-width:100vw!important;
    overflow-x:hidden!important;
  }
  .app-shell{
    display:block!important;
    width:100%!important;
    max-width:100vw!important;
    min-width:0!important;
  }

  /* Sidebar siempre cerrado salvo estado explícito del motor */
  body:not(.donna-mobile-menu-open) #globalSidebar,
  body:not(.donna-mobile-menu-open) .global-sidebar{
    transform:translate3d(-110%,0,0)!important;
    left:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  body.donna-mobile-menu-open #globalSidebar,
  body.donna-mobile-menu-open .global-sidebar{
    transform:translate3d(0,0,0)!important;
    left:0!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  #globalSidebar,
  .global-sidebar{
    position:fixed!important;
    z-index:2147483000!important;
    top:0!important;
    bottom:0!important;
    width:var(--dmr-menu-width)!important;
    max-width:var(--dmr-menu-width)!important;
    min-width:0!important;
    height:100dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch;
    transition:transform .2s ease,visibility .2s ease!important;
    box-shadow:16px 0 34px rgba(0,0,0,.24)!important;
    padding-bottom:calc(24px + env(safe-area-inset-bottom))!important;
  }

  .app-main{
    display:block!important;
    width:100%!important;
    max-width:100vw!important;
    min-width:0!important;
    margin:0!important;
    margin-left:0!important;
    padding:0!important;
    left:auto!important;
    transform:none!important;
  }

  .app-topbar{
    position:sticky!important;
    top:0!important;
    z-index:1200!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:10px 12px 10px 68px!important;
  }
  .topbar-left{min-width:0!important}
  .topbar-left>div{min-width:0!important}
  .topbar-left strong{
    display:block!important;
    max-width:48vw!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .topbar-eyebrow{font-size:10px!important;letter-spacing:.1em!important}
  .user-details{display:none!important}
  .topbar-tools{gap:6px!important}

  /* Ocultar el botón móvil antiguo; usamos uno propio y controlado */
  #mobileMenuButton,.mobile-menu-button{display:none!important}

  #donnaMobileToggleV21{
    position:fixed!important;
    z-index:2147483002!important;
    left:12px!important;
    top:calc(10px + env(safe-area-inset-top))!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    border:0!important;
    border-radius:13px!important;
    background:#102746!important;
    color:#fff!important;
    box-shadow:0 8px 22px rgba(0,0,0,.22)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    cursor:pointer!important;
    touch-action:manipulation!important;
  }
  #donnaMobileToggleV21 .bar{
    position:absolute;
    width:22px;
    height:2px;
    border-radius:2px;
    background:#fff;
    transition:.18s ease;
  }
  #donnaMobileToggleV21 .bar:nth-child(1){transform:translateY(-7px)}
  #donnaMobileToggleV21 .bar:nth-child(2){transform:translateY(0)}
  #donnaMobileToggleV21 .bar:nth-child(3){transform:translateY(7px)}
  body.donna-mobile-menu-open #donnaMobileToggleV21 .bar:nth-child(1){transform:rotate(45deg)}
  body.donna-mobile-menu-open #donnaMobileToggleV21 .bar:nth-child(2){opacity:0}
  body.donna-mobile-menu-open #donnaMobileToggleV21 .bar:nth-child(3){transform:rotate(-45deg)}

  #donnaMobileOverlayV21{
    position:fixed!important;
    inset:0!important;
    z-index:2147482999!important;
    background:rgba(6,18,37,.5)!important;
    backdrop-filter:blur(2px);
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .2s ease,visibility .2s ease!important;
  }
  body.donna-mobile-menu-open #donnaMobileOverlayV21{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  main.wrap.app-content,
  .app-content{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:14px!important;
  }

  .app-content .container,
  .app-content .container-fluid,
  .app-content [class*="container"],
  .app-content [class*="content"],
  .app-content [class*="wrapper"],
  .app-content section,
  .app-content article{
    max-width:100%!important;
    min-width:0!important;
  }

  .app-content .card,
  .app-content [class*="card"],
  .app-content .panel,
  .app-content [class*="panel"]{
    max-width:100%!important;
    min-width:0!important;
  }

  .app-content h1{
    font-size:clamp(1.65rem,7vw,2.2rem)!important;
    line-height:1.08!important;
  }
  .app-content h2{
    font-size:clamp(1.3rem,5.4vw,1.75rem)!important;
    line-height:1.15!important;
  }
  .app-content h3{font-size:clamp(1.08rem,4.7vw,1.38rem)!important}
  .app-content p,.app-content li,.app-content label,
  .app-content td,.app-content th{
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }

  .app-content input:not([type=checkbox]):not([type=radio]),
  .app-content select,
  .app-content textarea{
    width:100%!important;
    max-width:100%!important;
    min-height:var(--dmr-touch)!important;
    font-size:16px!important;
  }
  .app-content button,
  .app-content .btn,
  .app-content a.btn,
  .app-content [role=button]{
    min-height:var(--dmr-touch)!important;
    max-width:100%!important;
    touch-action:manipulation!important;
  }

  .donna-mobile-stack{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:12px!important;
  }
  .donna-mobile-stack>*{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .donna-mobile-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .donna-table-scroll{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    border-radius:12px!important;
  }
  .donna-table-scroll table{
    width:max-content!important;
    min-width:680px!important;
  }

  .donna-media-fluid iframe,
  .donna-media-fluid video,
  .donna-media-fluid embed,
  .donna-media-fluid object{
    width:100%!important;
    max-width:100%!important;
    height:auto;
  }
  iframe[src*=".pdf"],embed[type="application/pdf"]{
    width:100%!important;
    max-width:100%!important;
    min-height:72vh!important;
  }

  .app-footer{
    width:100%!important;
    max-width:100%!important;
    padding:16px 14px!important;
    gap:8px!important;
    flex-wrap:wrap!important;
  }
}

@media (max-width:480px){
  :root{--dmr-menu-width:min(86vw,304px)}
  main.wrap.app-content,.app-content{padding:11px!important}
  .app-content{font-size:15px!important}
}

@media (max-height:520px) and (orientation:landscape) and (max-width:950px){
  :root{--dmr-menu-width:min(56vw,300px)}
}
/* === DONNA MOBILE RESPONSIVE ENGINE v2.1.0 : END === */

/* === DONNA MOBILE LOGOUT HOTFIX FINAL v1.0 : START === */
/* Añade una salida móvil fija sin alterar el responsive existente. */
@media (max-width:980px){
  #donnaMobileLogoutFixed{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    position:fixed !important;
    top:calc(10px + env(safe-area-inset-top)) !important;
    right:10px !important;
    left:auto !important;
    z-index:2147483647 !important;
    min-width:64px !important;
    height:42px !important;
    padding:0 12px !important;
    margin:0 !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid #e4c5c5 !important;
    border-radius:11px !important;
    background:#ffffff !important;
    color:#991b1b !important;
    box-shadow:0 6px 18px rgba(0,0,0,.18) !important;
    font-size:13px !important;
    font-weight:900 !important;
    line-height:1 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
    overflow:visible !important;
    clip:auto !important;
    clip-path:none !important;
    transform:none !important;
    touch-action:manipulation !important;
  }

  #donnaMobileLogoutSidebarFixed{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    width:calc(100% - 24px) !important;
    min-height:48px !important;
    margin:16px 12px calc(16px + env(safe-area-inset-bottom)) !important;
    padding:11px 13px !important;
    border-radius:11px !important;
    border:1px solid rgba(255,255,255,.14) !important;
    background:rgba(255,255,255,.09) !important;
    color:#fff !important;
    font-weight:900 !important;
    text-decoration:none !important;
    box-sizing:border-box !important;
  }
}

@media (min-width:981px){
  #donnaMobileLogoutFixed,
  #donnaMobileLogoutSidebarFixed{
    display:none !important;
  }
}
/* === DONNA MOBILE LOGOUT HOTFIX FINAL v1.0 : END === */

