/* Biblioteca Curricular / consulta no evaluativa */
#panel-curricular-library{--cur-border:#dce5e8;--cur-fg:#253444;color:var(--cur-fg)}
#panel-curricular-library .cur-heading{margin-bottom:15px}
#panel-curricular-library .cur-heading h2{font-size:24px;margin:0 0 6px}
#panel-curricular-library .cur-heading p{margin:0;color:#607284}
.cur-stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:15px 0}
.cur-stat-row>div{border:1px solid var(--cur-border);padding:14px;background:white;border-radius:12px;display:flex;flex-direction:column;gap:3px}
.cur-stat-row b{font-size:25px;font-weight:800;color:#247c21}.cur-stat-row small{color:#637489}
.cur-notice{padding:12px 14px;margin:12px 0 18px;border-left:4px solid #369e28;background:#f2f8f2;line-height:1.55;font-size:13px}
.cur-workspace{display:grid;grid-template-columns:minmax(275px,38%) minmax(0,1fr);gap:14px;align-items:start}
.cur-list,.cur-detail{border:1px solid var(--cur-border);border-radius:12px;background:#fff;min-width:0;padding:14px}
.cur-controls{display:flex;flex-direction:column;gap:10px}.cur-switch{display:flex;gap:7px}.cur-switch button{border:1px solid #d9e3ed;border-radius:8px;padding:8px 12px;background:white;cursor:pointer;font-weight:700;color:#324b62}.cur-switch button.active{background:#e7f5e4;border-color:#93cf75;color:#276a1b}
.cur-controls input,.cur-controls select,.cur-toolbar select{width:100%;padding:11px;border:1px solid #d7e1e8;border-radius:9px;background:white;max-width:100%;font:inherit}
.cur-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.cur-count{display:block;margin:13px 0 7px;color:#5c7387}
.cur-results-list{display:flex;flex-direction:column;gap:6px;max-height:640px;overflow:auto}
.cur-program-row{width:100%;text-align:left;border:1px solid #e2e8ef;border-radius:9px;background:#fff;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:9px;cursor:pointer;font:inherit;min-width:0}.cur-program-row:hover,.cur-program-row.active{border-color:#43a431;background:#f4faf2}
.cur-program-row>span{display:flex;min-width:0;flex:1;flex-direction:column;gap:4px}.cur-program-row strong{font-size:13px;line-height:1.35;overflow-wrap:anywhere}.cur-program-row small{font-size:11px;color:#61748a;overflow-wrap:anywhere}.cur-program-row b{font-size:12px;color:#267b1b}
.cur-program-row em{font-size:11px;white-space:nowrap;font-style:normal;border-radius:16px;background:#e9f4ea;color:#316b31;padding:4px 7px}
.cur-detail-head{display:flex;justify-content:space-between;gap:10px;align-items:start}.cur-detail-head h3{font-size:19px;margin:5px 0 10px;overflow-wrap:anywhere}.cur-detail-head small{color:#637489}
.cur-tag{border-radius:18px;padding:4px 9px;background:#f1f3f4;font-size:12px;white-space:nowrap}.cur-tag-ok{background:#e9f5e7;color:#2c7925}
.cur-kpis{display:flex;gap:9px;flex-wrap:wrap;padding:11px 0}.cur-kpis span{background:#f2f6f7;border-radius:8px;padding:9px 11px;font-size:12px}.cur-kpis b{color:#276b26}
.cur-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:10px 0;flex-wrap:wrap}.cur-toolbar select{width:auto;min-width:180px;font-size:12px}
.cur-table-wrap{overflow:auto;max-height:680px}.cur-table{border-collapse:collapse;width:100%;font-size:12px}.cur-table th{background:#263e51;color:#fff;text-align:left;position:sticky;top:0;z-index:1}.cur-table th,.cur-table td{padding:10px 9px;border-bottom:1px solid #e3e9ed;vertical-align:top}.cur-table td:first-child{white-space:nowrap}.cur-table td{overflow-wrap:anywhere}.cur-table td:nth-child(3){white-space:nowrap}
.cur-footnote,.cur-observation{font-size:12px;color:#67768a;line-height:1.5}.cur-observation{padding:8px;background:#fff5eb}
.cur-empty,.cur-loading{padding:30px 14px;text-align:center;color:#718193}.cur-error{color:#b32424}.cur-link{border:none;background:none;color:#226e9c;text-align:left;padding:0;text-decoration:underline;cursor:pointer;font:inherit}
.cur-references{border:1px solid #a5cd8d;background:#f6fbf4;border-radius:10px;padding:11px;margin-bottom:15px;max-height:350px;overflow:auto}.cur-references h4{margin:0 0 5px}.cur-references p{font-size:12px}.cur-ref-list{display:flex;flex-wrap:wrap;gap:5px}.cur-ref-list button{border:1px solid #cde3bb;background:#fff;padding:7px 9px;border-radius:7px;cursor:pointer;font-size:11px}
.gc-curricular-card{border:1px solid #c3dfba;background:#f6faf4;border-radius:11px;padding:14px;margin:13px 0}.gc-curricular-card h3{margin:0 0 7px}.gc-curricular-card p{font-size:12px;color:#526574}.gc-curricular-rows{display:flex;flex-direction:column;gap:13px}.gc-curricular-ficha{padding:12px;background:#fff;border:1px solid #d9e4d5;border-radius:9px}.gc-curricular-ficha h4{margin:0 0 6px}.gc-curricular-note{font-size:12px;color:#516475}.gc-curricular-tag{display:inline-block;background:#e6f4df;color:#286b20;border-radius:16px;padding:4px 9px;font-size:11px}.gc-curricular-table{width:100%;border-collapse:collapse;font-size:12px}.gc-curricular-table td,.gc-curricular-table th{padding:9px;border-bottom:1px solid #e1e9dd;vertical-align:top;text-align:left;overflow-wrap:anywhere}.gc-curricular-table th{background:#eaf2e6}.gc-curricular-table td:nth-child(3){white-space:nowrap}
@media(max-width:950px){.cur-workspace{grid-template-columns:1fr}.cur-stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}.cur-results-list{max-height:290px}}

/* GC / Formación: vista orientada a lo impartido, adaptable sin scroll horizontal. */
#gcResults [data-gc-panel="formation"],
#gcResults [data-gc-panel="formation"] > .card{min-width:0;max-width:100%;box-sizing:border-box}
.gc-delivery-overview{min-width:0;max-width:100%;overflow-wrap:anywhere}
.gc-delivery-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.gc-delivery-intro h3{margin:0 0 5px;font-size:18px}
.gc-delivery-intro p,.gc-delivery-footnote,.gc-delivery-method{color:#586879;font-size:12.5px;line-height:1.5;margin:4px 0}
.gc-delivery-counts{display:grid;text-align:right;gap:2px;white-space:normal}
.gc-delivery-counts strong{color:#2a781c;font-size:16px}
.gc-delivery-counts span{font-size:12px;color:#62748a}
.gc-delivery-method{background:#f3f8f0;border-left:3px solid #64aa41;padding:10px 12px;margin:11px 0 14px}
.gc-delivery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,355px),1fr));gap:13px;margin-bottom:12px}
.gc-delivery-card{display:flex;flex-direction:column;gap:9px;min-width:0;padding:15px;border:1px solid #e0e7e9;background:#fff;border-radius:12px;box-sizing:border-box;overflow-wrap:anywhere}
.gc-delivery-card-head{display:flex;justify-content:space-between;align-items:start;gap:10px;min-width:0;flex-wrap:wrap}
.gc-delivery-card-head>div:first-child>span{display:block;font-size:11px;color:#687789}
.gc-delivery-card-head h3{margin:0;font-size:20px;color:#18314a}
.gc-delivery-tags{display:flex;flex-wrap:wrap;gap:6px;min-width:0}
.gc-delivery-type{display:inline-flex;max-width:100%;border-radius:9px;padding:5px 7px;background:#edf1f6;color:#40566a;font-size:11px;font-weight:750;white-space:normal}
.gc-delivery-type.titulada{background:#e8f7e0;color:#266b18}.gc-delivery-type.complementaria{background:#e7f3fa;color:#1e6688}
.gc-delivery-program{font-weight:750;margin:0;color:#1f3547;line-height:1.4}
.gc-delivery-caption{font-size:11px;color:#62748a;line-height:1.35;margin:0}
.gc-delivery-course-list{display:grid;gap:8px;min-width:0}
.gc-delivery-course{min-width:0;padding:10px;background:#f8fafb;border:1px solid #e6ebee;border-radius:9px}
.gc-delivery-course-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;flex-wrap:wrap;font-size:11px;color:#61778b}
.gc-delivery-course-head strong{color:#305b73;white-space:normal}
.gc-delivery-course>p{font-size:12.5px;margin:7px 0 0;line-height:1.4;overflow-wrap:anywhere}
.gc-delivery-statuses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:0}
.gc-delivery-status{min-width:0;display:flex;align-items:flex-start;flex-direction:column;gap:4px}
.gc-delivery-status small{font-size:10.5px;font-weight:800;color:#67768a}
.gc-delivery-status .gc-check{max-width:100%;font-size:10px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.gc-delivery-extra{min-width:0;border:1px solid #e9eef0;border-radius:9px;padding:8px 10px;background:#fff;font-size:12px}
.gc-delivery-extra summary{font-weight:750;cursor:pointer;color:#325e79}
.gc-delivery-extra p{margin:7px 0 0;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.gc-delivery-extra>div{margin-top:7px;overflow-wrap:anywhere}
.gc-delivery-extra>div small{color:#667085}
.gc-delivery-sources{list-style:none;display:grid;gap:8px;padding:0;margin:8px 0 0}
.gc-delivery-sources li{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:11px;overflow-wrap:anywhere}
.gc-delivery-sources li>span{min-width:0;flex:1}
.gc-delivery-footnote{margin:14px 0 8px}
@media(max-width:660px){.gc-delivery-grid{grid-template-columns:minmax(0,1fr)}.gc-delivery-intro{flex-direction:column}.gc-delivery-counts{text-align:left}.gc-delivery-statuses{grid-template-columns:minmax(0,1fr)}}


/* GC v4.5.70: identidad en cuatro columnas y soportes a lo ancho en ocho columnas. */
.gc-verification{min-width:0;width:100%;box-sizing:border-box;border:1px solid #dce8de;border-radius:12px;background:#fff;padding:14px;margin:13px 0 17px;overflow-wrap:anywhere}
.gc-verification-heading{margin-bottom:12px}
.gc-verification-heading h3{font-size:16px;color:#19384a;line-height:1.4;margin:0 0 5px}
.gc-verification-heading p,.gc-verification-footnote{color:#647386;font-size:12px;line-height:1.5;margin:0}
.gc-verification-table{border-collapse:separate;border-spacing:0;width:100%;table-layout:fixed;font-size:12px}
.gc-verification-table th,.gc-verification-table td{vertical-align:top;text-align:left;padding:11px 10px;box-sizing:border-box;min-width:0;overflow-wrap:anywhere;line-height:1.4}
.gc-verification-table th{background:#f0f5f7;color:#375367;font-size:11.5px;font-weight:800;text-align:left}
.gc-verification-table th:nth-child(1){width:12%}
.gc-verification-table th:nth-child(2){width:49%}
.gc-verification-table th:nth-child(3){width:20%}
.gc-verification-table th:nth-child(4){width:19%}
.gc-verification-table th:first-child{border-radius:7px 0 0 0}
.gc-verification-table th:last-child{border-radius:0 7px 0 0}
.gc-verification-summary-row td{background:#fff;border-top:1px solid #e9eef0}
.gc-verification-ficha strong{display:block;color:#1e4056;font-size:13px}
.gc-verification-name{font-weight:650;color:#2b4555}
.gc-verification-type{display:block;margin-top:3px;color:#657587;font-size:10px;font-weight:650}
.gc-verification-support-row>td.gc-verification-supports{background:#f9fbfc;padding:9px 10px 13px!important;border-bottom:1px solid #dce6eb}
.gc-verification-support-title{display:block;font-size:11.5px;color:#345266;margin:1px 0 8px}
.gc-verification-support-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;width:100%;min-width:0}
.gc-verification-check{min-width:0;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;gap:8px;background:#fff;border:1px solid #e1eaf0;border-radius:8px;padding:9px 7px;box-sizing:border-box;min-height:76px}
.gc-verification-check-label{min-width:0;color:#485e6d;font-size:11px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.gc-verification-pill{display:inline-flex;align-items:center;justify-content:center;max-width:100%;text-align:center;font-size:10.5px;font-weight:800;line-height:1.25;border-radius:7px;padding:5px 4px;white-space:normal;overflow-wrap:anywhere}
.gc-verification-pill.present{background:#e5f6df;color:#26741f}
.gc-verification-pill.missing{background:#fff0ee;color:#a83f37}
.gc-verification-pill.review{background:#fff1d5;color:#85610c}
.gc-verification-pill.optional{background:#ecf1f5;color:#4d6071}
.gc-verification-footnote{margin-top:12px}
@media(max-width:940px){
 .gc-verification-support-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:680px){
 .gc-verification{padding:10px}
 .gc-verification-table,.gc-verification-table tbody,.gc-verification-table tr,.gc-verification-table td{display:block;width:100%;min-width:0}
 .gc-verification-table thead{display:none}
 .gc-verification-table tbody{display:grid;gap:0}
 .gc-verification-table tr.gc-verification-summary-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #e0e8ee;border-radius:10px 10px 0 0;margin-top:12px;background:#fff}
 .gc-verification-table tr.gc-verification-summary-row:first-child{margin-top:0}
 .gc-verification-summary-row td{padding:8px!important;border:0;min-width:0}
 .gc-verification-summary-row td:nth-child(1){grid-column:1/-1;grid-row:1}
 .gc-verification-summary-row td:nth-child(2){grid-column:1/-1;grid-row:2}
 .gc-verification-summary-row td:nth-child(3){grid-column:1;grid-row:3}
 .gc-verification-summary-row td:nth-child(4){grid-column:2;grid-row:3}
 .gc-verification-summary-row td:not(.gc-verification-supports)::before{content:attr(data-label);display:block;color:#667d8c;font-size:10px;font-weight:800;margin-bottom:4px}
 .gc-verification-support-row>td.gc-verification-supports{display:block;padding:9px 8px 11px!important;border:1px solid #e0e8ee;border-top:0;border-radius:0 0 10px 10px}
 .gc-verification-support-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .gc-verification-check{min-height:68px;padding:8px}
}

/* Sincronización del Reporte Horas Diseño (v4.5.81). */
.cur-sync-panel{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;background:#f8fbff;border:1px solid #dbe7f3;padding:14px;border-radius:12px;margin:12px 0;color:#253c58}
.cur-sync-source{display:flex;flex-direction:column;gap:4px;flex:1 1 230px;min-width:0}
.cur-sync-source strong{font-size:14px;overflow-wrap:anywhere}
.cur-sync-source small{font-size:12px;color:#59718c}
.cur-sync-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.cur-import-label{cursor:pointer;display:inline-flex;align-items:center}
.cur-import-label input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}
.cur-import-label:focus-within{outline:2px solid #3b82f6;outline-offset:2px}
.cur-sync-status{flex:1 1 100%;font-size:12px;line-height:1.5;color:#52677e;overflow-wrap:anywhere}
.cur-sync-status.ok{color:#187249}.cur-sync-status.warning{color:#9b4c17}
@media(max-width:760px){.cur-sync-panel{align-items:stretch}.cur-sync-actions{justify-content:stretch}.cur-sync-actions .btn{flex:1 1 180px;justify-content:center;text-align:center}}
