.cpi-overlay{position:fixed;inset:0;z-index:1500;background:#0f172a88;display:grid;place-items:center;padding:10px}.cpi-overlay[hidden]{display:none}.cpi-panel{width:min(980px,100%);max-height:94vh;background:white;border-radius:14px;overflow:hidden;color:#1e293b}.cpi-top{background:#245d8c;color:white;display:flex;justify-content:space-between;align-items:center;padding:12px 16px}.cpi-top button{width:34px;height:34px;border:0;border-radius:7px;background:white;font-size:24px}.cpi-body{padding:14px;max-height:calc(94vh - 60px);overflow:auto}.cpi-heading{background:#245d8c;color:white;padding:8px 10px;font-size:14px;font-weight:500}.cpi-reference{display:flex;gap:14px;flex-wrap:wrap;margin:10px 0;color:#245d8c}.cpi-reference strong{font-size:19px}.cpi-reference span{font-size:13px}.cpi-table-scroll{overflow:auto}.cpi-table{width:100%;min-width:660px;border-collapse:collapse;font-size:12px}.cpi-table th,.cpi-table td{padding:7px 5px;border-bottom:1px solid #dce3eb;text-align:left}.cpi-table th:nth-child(n+5){font-size:10px;white-space:nowrap}.cpi-table td:nth-child(n+5),.cpi-table th:nth-child(n+5){text-align:center;width:72px}.cpi-table input{width:17px;height:17px;margin:0;accent-color:#245d8c}.cpi-table .cpi-justified{width:14px;height:14px;accent-color:#e99029}.cpi-button{background:#245d8c;color:white;border:0;border-radius:7px;padding:10px 14px;min-height:40px;margin:10px 8px 8px 0;font-weight:500}.cpi-button:disabled{opacity:.4}.cpi-body>small{display:block;color:#64748b;font-size:11px}.cpi-class{display:flex;flex-direction:column;gap:5px;text-align:left;width:100%;background:white;border:0;border-bottom:1px solid #dce3eb;padding:12px 4px;color:#1e293b;cursor:pointer}.cpi-class strong{color:#245d8c}.cpi-class small{color:#64748b}.cpi-profile{color:#9a3412;font-size:11px;font-weight:600}.cpi-file-label{display:inline-flex;flex-direction:column;font-size:12px;gap:5px;margin:8px 12px 8px 0}.cpi-file-label input{max-width:100%;font-size:12px}.cpi-preview{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid #e2e8f0;font-size:12px;overflow-wrap:anywhere}.cpi-preview img{width:52px;height:52px;object-fit:cover;border-radius:5px}.cpi-preview button{margin-left:auto;border:0;background:#eef2f6;width:30px;height:30px;flex-shrink:0}.cpi-version{margin-top:16px}#cpiNotice{margin:10px 0;color:#245d8c;font-size:13px}.cpi-cal-assigned{background:#fff0df!important;color:#9a3412!important;border-left:4px solid #e99029!important}.cpi-cal-controls{display:flex;gap:8px;flex-wrap:wrap;padding:8px 16px}.cpi-cal-controls select{padding:7px;border:1px solid #dce3eb;border-radius:6px;font-weight:400}.cpi-cal-list{width:100%;border-collapse:collapse;font-size:12px}.cpi-cal-list td,.cpi-cal-list th{padding:9px;border-bottom:1px solid #dce3eb;text-align:left}.cpi-cal-list button{border:0;background:none;text-align:left;color:#245d8c;cursor:pointer}.cpi-cal-list-wrap{overflow:auto}@media(max-width:600px){.cpi-body{padding:10px}.cpi-table{font-size:11px}.cpi-preview img{width:44px;height:44px}.cpi-reference{gap:7px}.cpi-file-label{width:100%}}

.cpc-cal-top{background:#245d8c;color:white}.cpc-cal-top .cpc-cal-close{background:white}.cpc-cal-grid[hidden],.cpc-cal-weekdays[hidden],.cpi-cal-list-wrap[hidden]{display:none}.cpc-cal-body{max-height:calc(90vh - 170px)}@media(max-width:620px){.cpc-cal-body{max-height:calc(94vh - 170px)}}

/* Instructor v1.0.1 · detalle compacto */
.cpi-top button{color:#245d8c;display:grid;place-items:center;padding:0;flex-shrink:0;cursor:pointer}.cpi-top button svg{display:block}
.cpi-section-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#245d8c;color:#fff;padding:8px 10px;margin:16px 0 8px}.cpi-section-bar h3{margin:0;font-size:14px;font-weight:500}.cpi-include{display:inline-flex;align-items:center;gap:6px;font-size:11px;white-space:nowrap}.cpi-include input{width:15px;height:15px;margin:0;accent-color:#fff}
.cpi-topic{font-size:14px;line-height:1.45;margin:8px 0;white-space:pre-line}.cpi-topic>span{display:block;color:#64748b;font-size:11px;margin-bottom:2px}.cpi-schedule{border-left:3px solid #e99029;background:#fff6e9;color:#9a4b0a;padding:12px;margin:12px 0;font-size:16px;font-weight:500}
.cpi-action{position:relative;display:flex;justify-content:flex-end;min-height:40px;margin:8px 0}.cpi-action .cpi-button{padding:6px 12px;min-height:32px;margin:0;font-size:12px;cursor:pointer}.cpi-lock{display:inline-flex;align-items:center;color:#64748b;padding:5px 8px}
.cpi-confirm{position:absolute;right:0;bottom:calc(100% + 7px);width:min(270px,calc(100vw - 48px));background:#fff;color:#1e293b;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 5px 20px #0f172a26;padding:12px;z-index:2;font-size:13px}.cpi-confirm p{margin:0 0 10px}.cpi-confirm small{display:block;font-size:11px;color:#64748b;margin-top:4px}.cpi-confirm>div{display:flex;justify-content:flex-end;gap:8px}.cpi-confirm button{padding:6px 9px;font-size:12px;border:1px solid #cbd5e1;border-radius:5px;background:#fff;color:#245d8c;cursor:pointer}.cpi-confirm [data-confirm]{background:#245d8c;color:#fff;border-color:#245d8c}
@media(max-width:420px){.cpi-section-bar{gap:6px;padding:8px}.cpi-section-bar h3{font-size:12px}.cpi-include{font-size:10px}}
