/* AG Business Networking · Back Office central */
:root{
  --back-navy:#07182d;--back-navy2:#0c223d;--back-bg:#f4f7fb;--back-card:#fff;
  --back-line:#dde5ee;--back-text:#172033;--back-muted:#667085;--back-green:#0f6b53;
  --back-blue:#175cd3;--back-gold:#b6812a;--back-red:#b42318;--back-purple:#6941c6;
}
*{box-sizing:border-box}
body{margin:0;background:var(--back-bg);color:var(--back-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit}
.back-shell{min-height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr)}
.back-sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--back-navy),var(--back-navy2));color:#fff;padding:18px 14px;display:flex;flex-direction:column;z-index:30}
.back-brand{padding:7px 9px 18px;border-bottom:1px solid rgba(255,255,255,.09)}
.back-brand img{display:block;width:158px;max-height:50px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1)}
.back-brand small{display:block;margin-top:6px;color:#9fb0c5;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase}
.back-nav{display:grid;gap:5px;margin-top:16px;overflow:auto;padding-right:2px}
.back-nav button{border:0;background:transparent;color:#cdd8e5;border-radius:11px;padding:9px 10px;display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;text-align:left}
.back-nav button:hover,.back-nav button.active{background:rgba(255,255,255,.10);color:#fff}
.back-nav-icon{width:24px;text-align:center;opacity:.9}
.back-nav-label{font-size:.86rem;font-weight:700}
.back-nav b{font-size:.68rem;min-width:22px;text-align:center;background:rgba(255,255,255,.1);border-radius:999px;padding:3px 6px;font-weight:700}
.back-user{margin-top:auto;border-top:1px solid rgba(255,255,255,.09);padding:14px 8px 0}
.back-user strong,.back-user small{display:block}
.back-user strong{font-size:.88rem}.back-user small{color:#9fb0c5;font-size:.73rem;margin-top:3px;overflow:hidden;text-overflow:ellipsis}
.back-user a,.back-user button{display:block;width:100%;margin-top:10px;border-radius:9px;padding:8px 10px;text-align:left;text-decoration:none;font-size:.78rem}
.back-user a{background:rgba(255,255,255,.09);color:#fff}
.back-user button{border:1px solid rgba(255,255,255,.14);background:transparent;color:#dbe5ef}
.back-main{min-width:0}
.back-topbar{position:sticky;top:0;z-index:20;min-height:72px;background:rgba(244,247,251,.94);backdrop-filter:blur(14px);border-bottom:1px solid #dbe4ed;padding:13px 22px;display:flex;align-items:center;gap:14px}
.back-topbar>div:first-of-type{margin-right:auto}
.back-topbar span{display:block;color:var(--back-green);font-size:.69rem;font-weight:900;letter-spacing:.12em}
.back-topbar h1{margin:3px 0 0;font-size:1.34rem;letter-spacing:-.02em}
.back-top-actions{display:flex;gap:8px}
.back-top-actions button,.back-top-actions a,.back-panel-head button,.back-panel-head a,.back-embed-head button{border:1px solid #cfd8e3;background:#fff;color:#344054;border-radius:10px;padding:8px 11px;text-decoration:none;font-size:.78rem;font-weight:800}
.back-mobile{display:none}
.back-content{max-width:1700px;margin:0 auto;padding:22px}
.back-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}
.back-metric{background:#fff;border:1px solid var(--back-line);border-radius:15px;padding:15px;box-shadow:0 6px 18px rgba(7,24,45,.04)}
.back-metric span{display:block;color:var(--back-muted);font-size:.74rem}
.back-metric strong{display:block;margin-top:5px;font-size:1.55rem;letter-spacing:-.04em}
.back-metric small{display:block;margin-top:5px;color:#98a2b3;font-size:.7rem}
.back-metric.green strong{color:var(--back-green)}.back-metric.red strong{color:var(--back-red)}.back-metric.gold strong{color:var(--back-gold)}.back-metric.blue strong{color:var(--back-blue)}.back-metric.purple strong{color:var(--back-purple)}
.back-grid{display:grid;gap:14px}.back-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.back-panel{background:#fff;border:1px solid var(--back-line);border-radius:17px;overflow:hidden;box-shadow:0 8px 24px rgba(7,24,45,.04);margin-bottom:16px}
.back-panel-head{padding:15px 17px;border-bottom:1px solid #e9eef3;display:flex;align-items:center;justify-content:space-between;gap:12px}
.back-panel-head span{display:block;font-size:.68rem;color:var(--back-green);font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.back-panel-head h2{margin:3px 0 0;font-size:1.05rem}
.back-table{overflow:auto}
.back-table-head,.back-table-row{display:grid;grid-template-columns:repeat(var(--cols,6),minmax(130px,1fr));min-width:760px}
.back-table-head{background:#f8fafc;border-bottom:1px solid #e6ebf0;padding:9px 14px;font-size:.67rem;color:#667085;text-transform:uppercase;letter-spacing:.06em;font-weight:900}
.back-table-row{padding:11px 14px;border-bottom:1px solid #edf1f5;align-items:center}
.back-table-row:last-child{border-bottom:0}
.back-table-row:hover{background:#fbfcfd}
.back-table-row>div{padding-right:10px;font-size:.8rem;color:#475467;min-width:0}
.back-table-row strong{display:block;color:#1d2939;font-size:.82rem}
.back-table-row small{display:block;color:#98a2b3;margin-top:2px;font-size:.69rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.back-badge{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:.67rem;font-weight:900;text-transform:capitalize;white-space:nowrap}
.back-badge.ok{background:#eaf7f1;color:#0b6b50}.back-badge.warn{background:#fff6e5;color:#9a6500}.back-badge.bad{background:#fff0ef;color:#b42318}.back-badge.neutral{background:#f2f4f7;color:#667085}
.back-actions{display:flex;gap:6px;flex-wrap:wrap}
.back-actions button,.back-actions a,.back-link{border:1px solid #d5dee8;background:#fff;color:#344054;border-radius:8px;padding:6px 8px;text-decoration:none;font-size:.69rem;font-weight:800}
.back-empty{padding:34px;text-align:center;color:#667085}.back-empty strong,.back-empty span{display:block}.back-empty span{margin-top:6px;font-size:.78rem}
.back-warning{margin:14px;padding:14px 16px;border-left:4px solid #b6812a;background:#fff9ed;border-radius:10px}.back-warning.large{margin:0;padding:22px}
.back-warning strong,.back-warning span{display:block}.back-warning span{margin-top:5px;color:#6b7280;font-size:.82rem;line-height:1.55}.back-warning code{font-size:.76rem}
.back-setting-list{display:grid}
.back-setting-list>div,.back-setting-list>a{padding:12px 16px;border-bottom:1px solid #edf1f5;text-decoration:none;color:inherit}
.back-setting-list>div:last-child,.back-setting-list>a:last-child{border-bottom:0}
.back-setting-list strong,.back-setting-list span{display:block}.back-setting-list strong{font-size:.84rem}.back-setting-list span{font-size:.73rem;color:#8090a3;margin-top:3px}
.back-quick{padding:16px;display:flex;gap:9px;flex-wrap:wrap}
.back-quick a,.back-quick button{border:1px solid #d5dee8;background:#fff;color:#344054;border-radius:10px;padding:9px 11px;text-decoration:none;font-size:.76rem;font-weight:800}
.back-table-row select{width:100%;border:1px solid #d5dee8;border-radius:8px;padding:6px 7px;background:#fff}
.back-table-row code{font-size:.69rem;background:#f2f4f7;border-radius:6px;padding:4px 6px}
.back-embed{height:calc(100vh - 118px);display:flex;flex-direction:column;background:#fff;border:1px solid var(--back-line);border-radius:17px;overflow:hidden}
.back-embed-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;border-bottom:1px solid #e5ebf1}
.back-embed-head span{display:block;font-size:.66rem;color:var(--back-green);font-weight:900;letter-spacing:.08em}.back-embed-head h2{margin:3px 0 0;font-size:1rem}
.back-embed iframe{flex:1;width:100%;border:0;background:#f4f7fb}
.crm-admin-denied{min-height:100vh;display:grid;place-items:center;padding:24px;text-align:center}.crm-admin-denied-card{width:min(520px,100%);background:#fff;border:1px solid #e2e8f0;border-radius:24px;padding:32px;box-shadow:0 18px 50px rgba(7,24,45,.08)}.crm-admin-denied-card img{width:min(280px,70vw);margin-bottom:18px}
@media(max-width:1300px){.back-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.back-grid.two{grid-template-columns:1fr}.back-shell{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:780px){
  .back-shell{display:block}.back-sidebar{position:fixed;left:0;top:0;bottom:0;width:250px;transform:translateX(-100%);transition:.2s}.back-sidebar.open{transform:translateX(0)}
  .back-mobile{display:inline-flex;border:1px solid #d5dee8;background:#fff;border-radius:9px;width:38px;height:38px;align-items:center;justify-content:center}
  .back-topbar{padding:11px 13px}.back-top-actions a{display:none}.back-content{padding:12px}.back-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.back-metric{padding:12px}
  .back-table-head,.back-table-row{min-width:700px}.back-embed{height:calc(100vh - 98px)}
}

/* Student progress pipeline */
.student-pipeline-metrics{margin-bottom:16px}
.student-pipeline-board{display:grid;grid-template-columns:repeat(4,minmax(250px,1fr));gap:12px;align-items:start;overflow-x:auto;padding-bottom:4px}
.student-pipeline-column{background:#f7f9fc;border:1px solid #e4eaf1;border-radius:15px;min-width:250px;overflow:hidden}
.student-pipeline-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 13px;border-bottom:1px solid #e4eaf1;background:#fff}
.student-pipeline-head strong,.student-pipeline-head small{display:block}.student-pipeline-head strong{font-size:.84rem}.student-pipeline-head small{font-size:.68rem;color:#8491a3;margin-top:2px}
.student-pipeline-head b{min-width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:#eef3f8;color:#1e293b;font-size:.74rem}
.student-pipeline-list{display:grid;gap:9px;padding:9px;max-height:68vh;overflow:auto}
.student-pipeline-card{background:#fff;border:1px solid #e1e7ee;border-radius:13px;padding:12px;box-shadow:0 5px 15px rgba(15,23,42,.035)}
.student-pipeline-person{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.student-pipeline-person strong,.student-pipeline-person small{display:block}.student-pipeline-person strong{font-size:.8rem}.student-pipeline-person small{font-size:.68rem;color:#7b8798;margin-top:2px;word-break:break-word}
.student-progress-number{font-size:.82rem;font-weight:900;color:#005134;background:#ebf6f1;border-radius:8px;padding:4px 7px;white-space:nowrap}
.student-phone-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px;padding:7px 8px;background:#f7f9fb;border-radius:8px}.student-phone-row>span{font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;color:#7a8798;font-weight:800}
.student-phone{font-size:.72rem;font-weight:800;color:#005134;text-decoration:none}.student-phone.missing{color:#98a2b3;font-weight:700}
.student-course{font-size:.72rem;font-weight:800;color:#344054;margin-top:10px}
.student-progress{height:7px;background:#e9eef4;border-radius:999px;overflow:hidden;margin-top:7px}.student-progress i{display:block;height:100%;background:linear-gradient(90deg,#005134,#2d8a68);border-radius:999px}
.student-module{font-size:.7rem;color:#667085;line-height:1.4;margin-top:7px}
.student-card-foot{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:10px;padding-top:9px;border-top:1px solid #edf1f5}.student-card-foot>span{font-size:.66rem;color:#7a8798}
.student-cert{font-size:.63rem;font-weight:800;color:#98a2b3;text-align:right}.student-cert.ok{color:#0b6b50}
.student-pipeline-empty{padding:22px 10px;text-align:center;color:#98a2b3;font-size:.72rem}
.student-pipeline-note{margin-top:14px;display:flex;gap:9px;align-items:flex-start;padding:12px 14px;background:#f8fafc;border:1px solid #e5ebf1;border-radius:12px}.student-pipeline-note strong{font-size:.72rem}.student-pipeline-note span{font-size:.7rem;line-height:1.5;color:#667085}
@media(max-width:1180px){.student-pipeline-board{grid-template-columns:repeat(4,minmax(270px,1fr))}}
@media(max-width:780px){.student-pipeline-board{display:flex}.student-pipeline-column{min-width:82vw;max-width:340px}.student-pipeline-list{max-height:none}}

.migration-tool{display:grid;gap:12px;padding:14px}
.migration-copy strong,.migration-copy span,.migration-result strong,.migration-result span,.migration-result small{display:block}
.migration-copy strong{font-size:.86rem}
.migration-copy span{font-size:.73rem;line-height:1.55;color:#667085;margin-top:5px}
.migration-button{justify-self:start;border:0;border-radius:10px;background:#005134;color:#fff;padding:10px 14px;font-size:.75rem;font-weight:900;cursor:pointer}
.migration-button:disabled{opacity:.55;cursor:wait}
.migration-result{padding:10px 12px;border:1px solid #e5ebf1;background:#f8fafc;border-radius:10px;min-height:42px}
.migration-result:empty{display:none}
.migration-result strong{font-size:.76rem}
.migration-result span{font-size:.7rem;color:#667085;margin-top:4px;line-height:1.45}
.migration-result small{font-size:.64rem;color:#98a2b3;margin-top:5px;line-height:1.45}


/* Pipeline académico v2 */
.student-pipeline-tools{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(220px,1fr) auto;gap:12px;align-items:end;margin:0 0 16px;padding:14px;border:1px solid #e4eaf1;border-radius:14px;background:#fff}
.student-pipeline-tools>div>span{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.07em;color:#7a8798;font-weight:900;margin-bottom:6px}
.student-pipeline-tools input,.student-pipeline-tools select{width:100%;border:1px solid #dbe3eb;border-radius:10px;background:#fbfcfd;color:#1e293b;padding:10px 11px;font-size:.76rem;outline:none}
.student-pipeline-tools input:focus,.student-pipeline-tools select:focus{border-color:#6fa894;box-shadow:0 0 0 3px rgba(0,81,52,.08)}
.student-pipeline-tool-status{min-width:120px;padding:9px 11px;border-radius:10px;background:#f5f8fb;border:1px solid #e3e9ef}
.student-pipeline-tool-status strong{font-size:.8rem;color:#1e293b}
.student-contact-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:9px}
.student-contact-row .student-phone-row{margin-top:0}
.student-contact-actions{display:flex;gap:5px}
.student-contact-btn{height:31px;min-width:31px;padding:0 7px;border-radius:8px;display:grid;place-items:center;border:1px solid #dce4eb;background:#fff;color:#0c5139;text-decoration:none;font-size:.65rem;font-weight:900}
.student-contact-btn:hover{background:#eff8f4;border-color:#bcd8cd}
.student-current-lesson{margin-top:9px;padding:9px 10px;border-radius:9px;background:#f8fafc;border:1px solid #e8edf2}
.student-current-lesson span,.student-current-lesson strong,.student-current-lesson small{display:block}
.student-current-lesson span{font-size:.59rem;text-transform:uppercase;letter-spacing:.05em;color:#8995a5;font-weight:900}
.student-current-lesson strong{font-size:.7rem;color:#344054;line-height:1.4;margin-top:3px}
.student-current-lesson small{font-size:.64rem;color:#607086;margin-top:4px}
.student-activity{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding:7px 9px;border-radius:8px;background:#f7f9fb;border-left:3px solid #cdd6e0}
.student-activity span{font-size:.59rem;text-transform:uppercase;letter-spacing:.04em;color:#7f8b9c;font-weight:900}
.student-activity strong{font-size:.66rem;color:#667085;text-align:right}
.student-activity.fresh{background:#edf8f3;border-left-color:#2e8a68}.student-activity.fresh strong{color:#0b6b50}
.student-activity.stale{background:#fff7e8;border-left-color:#d8a43a}.student-activity.stale strong{color:#8a6110}
.student-pipeline-card[hidden]{display:none!important}
@media(max-width:900px){.student-pipeline-tools{grid-template-columns:1fr 1fr}.student-pipeline-tool-status{grid-column:1/-1}}
@media(max-width:620px){.student-pipeline-tools{grid-template-columns:1fr}.student-pipeline-tool-status{grid-column:auto}.student-contact-row{grid-template-columns:1fr}.student-contact-actions{justify-content:flex-end}}


.student-pipeline-tool-status small{display:block;margin-top:3px;font-size:.62rem;color:#7a8798}
.student-followup-alert{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px;padding:9px 10px;border-radius:9px;border:1px solid}
.student-followup-alert span,.student-followup-alert strong{display:block}
.student-followup-alert span{font-size:.58rem;text-transform:uppercase;letter-spacing:.05em;font-weight:900;opacity:.78}
.student-followup-alert strong{font-size:.69rem;margin-top:2px}
.student-followup-alert button{border:0;border-radius:8px;padding:7px 9px;font-size:.62rem;font-weight:900;cursor:pointer;white-space:nowrap}
.student-followup-alert.warning{background:#fff8e8;border-color:#ead99f;color:#7d5a0d}
.student-followup-alert.warning button{background:#8e6919;color:#fff}
.student-followup-alert.urgent{background:#fff0f0;border-color:#efc4c4;color:#8f2f2f}
.student-followup-alert.urgent button{background:#9c3838;color:#fff}
@media(max-width:620px){.student-followup-alert{align-items:flex-start;flex-direction:column}.student-followup-alert button{width:100%}}


.followup-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:11px 13px;border-radius:12px;background:#f7faf9;border:1px solid #dfe9e4}
.followup-summary strong,.followup-summary span{display:block}
.followup-summary strong{font-size:.76rem;color:#174838}
.followup-summary span{font-size:.66rem;color:#708076}
.followup-origin{display:block;margin-top:4px!important;color:#9a5b15!important;font-weight:800}
@media(max-width:700px){.followup-summary{align-items:flex-start;flex-direction:column}}


/* Resumen académico expandible en Pipeline */
.student-academic-detail{margin-top:9px;border:1px solid #e2e8ef;border-radius:10px;background:#fbfcfd;overflow:hidden}
.student-academic-detail>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 10px}
.student-academic-detail>summary::-webkit-details-marker{display:none}
.student-academic-detail>summary span,.student-academic-detail>summary strong{display:block}
.student-academic-detail>summary span{font-size:.61rem;text-transform:uppercase;letter-spacing:.05em;color:#6d7a8b;font-weight:900}
.student-academic-detail>summary strong{font-size:.64rem;color:#224033;text-align:right}
.student-academic-detail[open]>summary{border-bottom:1px solid #e5ebf0;background:#f7faf8}
.student-academic-detail-body{padding:8px}
.pipeline-module-row{display:grid;grid-template-columns:minmax(110px,1.2fr) minmax(80px,1fr) 38px auto;gap:7px;align-items:center;padding:7px 5px;border-bottom:1px solid #edf1f4}
.pipeline-module-row:last-child{border-bottom:0}
.pipeline-module-row strong,.pipeline-module-row small{display:block}
.pipeline-module-row strong{font-size:.64rem;color:#2c394b}
.pipeline-module-row small{font-size:.58rem;color:#8390a0;line-height:1.25;margin-top:2px}
.pipeline-module-row>b{font-size:.64rem;color:#0c5c43;text-align:right}
.pipeline-module-progress{height:6px;border-radius:999px;background:#e7edf1;overflow:hidden}
.pipeline-module-progress i{display:block;height:100%;background:#005134;border-radius:inherit}
.pipeline-exam{display:inline-flex;justify-content:center;padding:4px 6px;border-radius:999px;border:1px solid #e0e6eb;background:#fff;color:#788494;font-size:.55rem;font-weight:900;white-space:nowrap}
.pipeline-exam.passed{background:#edf8f3;border-color:#cbe4d8;color:#0c6b50}
.pipeline-exam.attempted{background:#fff7e9;border-color:#ebd9a7;color:#896010}
.pipeline-exam.neutral{background:#f2f4f6;color:#8b96a4}
@media(max-width:700px){.pipeline-module-row{grid-template-columns:1fr 52px}.pipeline-module-progress{grid-column:1/-1}.pipeline-exam{justify-self:start}.student-academic-detail>summary{align-items:flex-start;flex-direction:column}.student-academic-detail>summary strong{text-align:left}}


/* Expediente académico individual */
.student-record-hero{margin-bottom:16px;padding:18px;border:1px solid #e1e8ee;border-radius:18px;background:linear-gradient(180deg,#ffffff,#f7faf9);box-shadow:0 12px 30px rgba(15,23,42,.04)}
.student-record-breadcrumb{display:flex;justify-content:space-between;gap:10px;margin-bottom:16px}
.student-record-breadcrumb button{border:1px solid #dbe4e9;background:#fff;color:#294236;border-radius:9px;padding:8px 10px;font-size:.67rem;font-weight:900;cursor:pointer}
.student-record-identity{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.student-record-identity h2{margin:3px 0 4px;font-family:Georgia,'Times New Roman',serif;font-size:1.55rem;color:#1e293b}
.student-record-identity p{margin:0;color:#718096;font-size:.75rem}
.record-contact-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;margin-top:9px}
.record-contact-actions a{display:inline-flex;align-items:center;justify-content:center;padding:7px 9px;border-radius:8px;border:1px solid #dce5e1;background:#fff;color:#0a5b42;text-decoration:none;font-size:.62rem;font-weight:900}
.record-course-tabs{display:flex;gap:7px;overflow:auto;margin-top:14px;padding-top:12px;border-top:1px solid #e5ebef}
.record-course-tabs button{flex:0 0 auto;border:1px solid #dfe6eb;background:#fff;color:#667085;border-radius:999px;padding:7px 11px;font-size:.63rem;font-weight:900;cursor:pointer}
.record-course-tabs button.active{background:#005134;border-color:#005134;color:#fff}
.record-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px}
.record-course-status{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;margin-bottom:16px}
.record-course-status>div{padding:14px 15px;border:1px solid #e2e8ed;border-radius:14px;background:#fff}
.record-course-status span,.record-course-status strong,.record-course-status small{display:block}
.record-course-status span{font-size:.58rem;letter-spacing:.07em;text-transform:uppercase;font-weight:900;color:#8290a0}
.record-course-status strong{margin-top:4px;font-size:.82rem;color:#243044}
.record-course-status small{margin-top:4px;font-size:.65rem;color:#748092}
.record-certificate.valid{background:#eff9f4;border-color:#cde5da}
.record-certificate.valid strong{color:#0b6a4e}
.record-module-card{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(160px,1fr) auto;gap:14px;align-items:center;padding:12px 13px;border-bottom:1px solid #edf1f4}
.record-module-card:last-child{border-bottom:0}
.record-module-card.complete{background:#f4fbf7}
.record-module-main span,.record-module-main strong,.record-module-main small{display:block}
.record-module-main span{font-size:.58rem;text-transform:uppercase;letter-spacing:.06em;color:#728093;font-weight:900}
.record-module-main strong{font-size:.74rem;color:#2b3749;margin-top:2px}
.record-module-main small{font-size:.61rem;color:#8390a0;margin-top:2px}
.record-module-progress{display:grid;grid-template-columns:1fr 42px;gap:8px;align-items:center}
.record-module-progress>div{height:7px;border-radius:999px;background:#e7edf1;overflow:hidden}
.record-module-progress i{display:block;height:100%;background:#005134;border-radius:inherit}
.record-module-progress b{font-size:.66rem;color:#0b6045;text-align:right}
.record-exam{min-width:92px;padding:7px 9px;border-radius:10px;border:1px solid #e0e6eb;background:#fff;text-align:center}
.record-exam strong,.record-exam small{display:block}
.record-exam strong{font-size:.72rem;color:#657286}
.record-exam small{font-size:.56rem;color:#8994a2;margin-top:1px}
.record-exam.passed{background:#edf8f3;border-color:#c9e4d7}.record-exam.passed strong{color:#0b6c4f}
.record-exam.attempted{background:#fff7e9;border-color:#ead7a7}.record-exam.attempted strong{color:#8b6111}
.record-exam.neutral{background:#f4f6f8}
.student-record-actions{margin-top:9px}
.student-record-actions button{width:100%;border:1px solid #d8e3de;border-radius:9px;background:#f7fbf9;color:#0b5f45;padding:8px 9px;font-size:.63rem;font-weight:900;cursor:pointer}
@media(max-width:1100px){.record-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.student-record-identity{flex-direction:column}.record-contact-actions{justify-content:flex-start}.record-course-status{grid-template-columns:1fr}.record-metrics{grid-template-columns:1fr 1fr}.record-module-card{grid-template-columns:1fr}.record-exam{justify-self:start}.student-record-breadcrumb{align-items:flex-start;flex-direction:column}.student-record-breadcrumb button{width:100%}}
@media print{
  .back-sidebar,.back-topbar,.student-record-breadcrumb,.record-contact-actions,.record-course-tabs{display:none!important}
  .back-main,.back-content{margin:0!important;padding:0!important;width:100%!important}
  .student-record-hero,.back-panel,.record-course-status>div{box-shadow:none!important}
  .back-grid.two{grid-template-columns:1fr!important}
}


/* Centro de reportes académicos */
.reports-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px;padding:18px;border:1px solid #e1e8ee;border-radius:18px;background:linear-gradient(180deg,#fff,#f8faf9)}
.reports-heading h2{margin:3px 0 5px;font-family:Georgia,'Times New Roman',serif;font-size:1.6rem;color:#1e293b}
.reports-heading p{margin:0;max-width:760px;color:#6f7b8a;font-size:.76rem;line-height:1.55}
.report-actions{display:flex;gap:8px;flex-wrap:wrap}
.report-actions button{border:1px solid #d9e3df;background:#fff;color:#0b5d44;border-radius:9px;padding:8px 10px;font-size:.64rem;font-weight:900;cursor:pointer}
.report-actions button:hover{background:#f0f8f4}
.report-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}
.report-top-grid{align-items:start}
.report-funnel{display:grid;gap:12px}
.report-funnel-row>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:5px}
.report-funnel-row strong{font-size:.72rem;color:#2a3748}
.report-funnel-row span{font-size:.63rem;color:#758294}
.report-funnel-track{height:10px;border-radius:999px;background:#edf1f4;overflow:hidden}
.report-funnel-track i{display:block;height:100%;border-radius:inherit;min-width:2px}
.report-mini-bar{height:5px;border-radius:999px;background:#e8edf1;overflow:hidden;margin-top:4px;min-width:72px}
.report-mini-bar i{display:block;height:100%;border-radius:inherit;background:#005134}
.report-risk{font-weight:900;color:#9b6b10}
.report-risk.high{color:#a33a3a}
.back-table-row button[data-student-record]{border:1px solid #dbe4df;background:#fff;color:#0b5d44;border-radius:8px;padding:6px 8px;font-size:.59rem;font-weight:900;cursor:pointer}
.back-table-row button[data-student-record]:hover{background:#eef7f3}
@media(max-width:1180px){.report-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.reports-heading{flex-direction:column}.report-actions{width:100%}.report-actions button{flex:1}.report-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.report-metrics{grid-template-columns:1fr}}
@media print{
  .reports-heading .report-actions,.back-sidebar,.back-topbar{display:none!important}
  .reports-heading,.back-panel,.back-metric{box-shadow:none!important}
  .back-main,.back-content{margin:0!important;padding:0!important;width:100%!important}
}

/* Asignación segura de cursos desde el CRM */
.ag-assignment-overlay{position:fixed;inset:0;background:rgba(7,24,45,.65);z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px}
.ag-assignment-card{width:min(520px,100%);padding:26px;background:#fff;border-radius:18px;box-shadow:0 24px 65px rgba(0,0,0,.25);display:grid;gap:12px}
.ag-assignment-card h2{margin:0;color:#07182d;font-size:1.35rem}
.ag-assignment-card p{margin:0;color:#667085;font-size:.9rem;line-height:1.5}
.ag-assignment-card label{font-weight:700;font-size:.85rem;margin-top:8px}
.ag-assignment-card select{width:100%;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#172033;padding:12px;min-width:0}
.ag-assignment-card .ag-assignment-current{padding:12px;border-radius:10px;background:#f1f5f9;color:#334155}
.ag-assignment-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px;flex-wrap:wrap}
.ag-assignment-actions button{border:1px solid #d7e0ea;border-radius:9px;background:#fff;padding:11px 15px;cursor:pointer}
.ag-assignment-actions button[type=submit]{background:#005c42;color:white;border-color:#005c42;font-weight:700}
.ag-assignment-actions button:disabled{opacity:.5;cursor:not-allowed}
