:root{font-family:system-ui,-apple-system,sans-serif;line-height:1.5}body{margin:0}.landing{color:#1f2933;background:#f4f6f8;flex-direction:column;min-height:100vh;display:flex}.landing-navbar{background:#fbfdff;border-bottom:1px solid #e4e7eb;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 2rem;display:flex}.landing-brand{color:#1b9c8e;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;text-decoration:none;display:flex}.landing-brand-logo{object-fit:contain;width:36px;height:36px}.landing-nav-links{gap:.5rem;display:flex}.landing-nav-links a{color:#52606d;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-weight:500;text-decoration:none;display:inline-flex}.landing-nav-links a.active,.landing-nav-links a:hover{color:#1f2933;background:#e3edfb}.landing-login-btn{color:#fff;background:#2563eb;border-radius:8px;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-weight:600;text-decoration:none;display:inline-flex}.landing-login-btn:hover{background:#1d4ed8}.landing-logout-btn{color:#52606d;cursor:pointer;background:#fff;border:1px solid #cbd2d9;border-radius:8px;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.9rem;font-weight:600;display:inline-flex}.landing-logout-btn:hover{color:#1f2933;background:#f4f6f8}.admin-badge{color:#4338ca;background:#e0e7ff;align-items:center;font-size:.85rem;font-weight:700;display:inline-flex;border-radius:999px!important;padding:.4rem 1rem!important}.admin-badge.active,.admin-badge:hover{color:#3730a3!important;background:#c7d2fe!important}.landing-hero{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2.5rem;padding:3rem 1rem;display:flex}.landing-card{text-align:center;background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:.75rem;max-width:600px;padding:3rem 4rem;display:flex;box-shadow:0 1px 4px #00000014}.landing-logo-img{object-fit:contain;width:100%;max-width:420px;height:auto}.landing-card-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:2.5rem;display:flex}.landing-partner-logo{object-fit:contain;width:auto;height:72px}.explore-btn{color:#fff;background:#f5821f;border-radius:999px;align-items:center;gap:.5rem;padding:1.3rem 3rem;font-size:1.25rem;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 4px 10px #f5821f59}.explore-btn:hover{background:#d96e10}.landing-footer{text-align:center;color:#52606d;border-top:1px solid #e4e7eb;padding:2rem 1rem}.landing-footer p{margin:.25rem 0}.footer-name{color:#1f2933;font-weight:600}.copyright{color:#9aa5b1;margin-top:1rem;font-size:.85rem}.services-page{text-align:center;flex:1;width:100%;max-width:1100px;margin:0 auto;padding:3rem 1.5rem}.services-title{background:linear-gradient(90deg,#2563eb,#06b6d4);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:2.25rem;font-weight:800}.services-subtitle{color:#52606d;margin:.5rem 0 2.5rem}.services-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}@media (width<=1100px){.services-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=900px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.services-grid{grid-template-columns:1fr}}.service-card{text-align:left;will-change:transform;background:#fff;border-radius:12px;flex-direction:column;gap:.5rem;padding:1.75rem;transition:transform .25s,box-shadow .25s;display:flex;box-shadow:0 1px 4px #00000014}.service-card:hover{transform:translateY(-6px)scale(1.03);box-shadow:0 16px 32px #0f172a1f}.service-card:hover .service-icon{transform:scale(1.1)}.service-icon{border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:.5rem;font-size:1.4rem;transition:transform .25s;display:flex}.service-card h3{color:#1f2933;margin:0;font-size:1.1rem}.service-card p{color:#52606d;flex:1;margin:0;font-size:.92rem;line-height:1.5}.explore-category{color:#2563eb;margin-top:.5rem;font-size:.92rem;font-weight:600;text-decoration:none}.explore-category:hover{text-decoration:underline}.category-page{text-align:center;flex-direction:column;flex:1;align-items:center;width:100%;max-width:700px;margin:0 auto;padding:3rem 1.5rem;display:flex}.category-icon-circle{border-radius:999px;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:1rem;font-size:1.75rem;display:flex}.category-title{background:linear-gradient(90deg,#2563eb,#06b6d4);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 .75rem;font-size:2rem;font-weight:800}.category-description{color:#52606d;max-width:560px;margin:0 0 2.5rem}.category-content-card{background:#fff;border-radius:16px;width:100%;padding:3rem 2rem;box-shadow:0 1px 4px #00000014}.empty-state{flex-direction:column;align-items:center;gap:.4rem;display:flex}.empty-icon{color:#9aa5b1;margin-bottom:.5rem;font-size:2.5rem}.empty-state h2{color:#1f2933;margin:0;font-size:1.2rem}.empty-state p{color:#2563eb;margin:0 0 1rem;font-size:.9rem}.back-to-services-btn{color:#fff;background:#2563eb;border-radius:8px;padding:.6rem 1.5rem;font-weight:600;text-decoration:none}.back-to-services-btn:hover{background:#1d4ed8}.category-content-card{text-align:left}.category-course-list{text-align:left;flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.category-course-card{background:#fff;border:1px solid #e4e9f0;border-radius:12px;align-items:flex-start;gap:1rem;padding:1.25rem 1.1rem;text-decoration:none;transition:box-shadow .15s,border-color .15s;display:flex}.category-course-card:hover{border-color:#bcd2f7;box-shadow:0 4px 16px #2563eb14}.category-course-thumb{object-fit:cover;border-radius:8px;flex-shrink:0;width:88px;height:56px}.category-course-thumb-placeholder{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:88px;height:56px;font-size:1.4rem;display:flex}.category-course-info{flex-direction:column;flex:1;gap:.2rem;display:flex}.category-course-info strong{color:#1f2933;font-size:.98rem}.category-course-info p{color:#7b8794;margin:0;font-size:.83rem}.category-course-authors{color:#52606d;flex-direction:column;gap:.1rem;margin:.25rem 0 0;font-size:.8rem;display:flex}.category-course-authors span{font-weight:700}.category-course-actions{flex-direction:column;flex-shrink:0;align-self:flex-start;gap:.4rem;display:flex}.course-action-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.55rem 1.1rem;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.course-action-btn.primary{color:#fff;background:#2563eb}.course-action-btn.primary:hover{background:#1d4ed8}.course-action-btn.enroll{color:#16a34a;background:#f0fdf4;border:1.5px solid #16a34a}.course-action-btn.enroll:hover{background:#dcfce7}.course-action-btn:disabled{opacity:.6;cursor:not-allowed}.contact-page{text-align:center;flex:1;width:100%;max-width:900px;margin:0 auto;padding:4rem 1.5rem}.contact-title{color:#0f172a;margin:0;font-size:2.25rem;font-weight:800}.contact-subtitle{color:#52606d;max-width:560px;margin:.75rem auto 2.5rem}.contact-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}@media (width<=700px){.contact-grid{grid-template-columns:1fr}}.contact-card{background:#fff;border-radius:14px;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1.5rem;transition:transform .25s,box-shadow .25s;display:flex;box-shadow:0 1px 4px #00000014}.contact-card:hover{transform:translateY(-6px)scale(1.03);box-shadow:0 16px 32px #0f172a1f}.contact-icon-circle{background:#dbeafe;border-radius:999px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:.5rem;font-size:1.4rem;display:flex}.contact-card h3{color:#0f172a;margin:0 0 .5rem;font-size:1.1rem}.contact-card a{color:#2563eb;font-weight:500;text-decoration:none}.contact-card a:hover{text-decoration:underline}.contact-name{color:#0f172a;margin:0 0 .25rem;font-weight:700}.contact-line{color:#52606d;margin:0;font-size:.92rem;line-height:1.5}.auth-wrapper{flex:1;justify-content:center;align-items:center;padding:3rem 1rem;display:flex}.auth-card{background:#fff;border-radius:16px;width:100%;max-width:480px;overflow:hidden;box-shadow:0 10px 30px #0f172a1a}.auth-card-header{color:#fff;text-align:center;background:linear-gradient(135deg,#4f6df5,#4338ca);flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 2rem 2rem;display:flex}.auth-icon-circle{background:#fff3;border-radius:999px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:.5rem;display:flex}.auth-card-header h1{margin:0;font-size:1.6rem}.auth-card-header p{color:#ffffffd9;margin:0;font-size:.95rem}.auth-card-subnote{color:#ffffffb3!important;margin-top:.2rem!important;font-size:.78rem!important}.auth-form{flex-direction:column;gap:1.25rem;padding:2rem;display:flex}.auth-form label{color:#1f2933;flex-direction:column;gap:.4rem;font-size:.9rem;font-weight:600;display:flex}.input-with-icon{align-items:center;display:flex;position:relative}.input-icon{color:#9aa5b1;pointer-events:none;font-size:.95rem;position:absolute;left:.9rem}.input-with-icon input{border:1px solid #cbd2d9;border-radius:10px;width:100%;padding:.75rem 1rem .75rem 2.5rem;font-size:.95rem}.input-with-icon input:focus{border-color:#4f6df5;outline:none;box-shadow:0 0 0 3px #4f6df526}.auth-submit-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.85rem;font-size:1rem;font-weight:700;transition:background .2s;display:flex}.auth-submit-btn:hover{background:#1d4ed8}.auth-footer-link{text-align:center;color:#52606d;margin:0;padding:0 2rem 2rem;font-size:.9rem}.auth-footer-link a{color:#2563eb;font-weight:600;text-decoration:none}.auth-footer-link a:hover{text-decoration:underline}.register-card{max-width:560px}.register-header{background:linear-gradient(135deg,#1b9c8e,#0d7d6f)}.register-header .auth-icon-circle{background:#ffffff38}.form-section-title{color:#0d7d6f;letter-spacing:.02em;text-transform:uppercase;border-bottom:2px solid #1b9c8e;margin:.25rem 0 -.5rem;padding-bottom:.5rem;font-size:.95rem}.required{color:#dc2626}.optional{color:#9aa5b1;text-transform:none;letter-spacing:normal;font-weight:500}.privacy-notice{color:#3b4754;background:#eef2ff;border-left:3px solid #4f6df5;border-radius:8px;margin:0;padding:.85rem 1rem;font-size:.85rem;line-height:1.5}.register-submit-btn{background:#1b9c8e}.register-submit-btn:hover{background:#0d7d6f}.dashboard-page{flex-direction:column;gap:2rem;max-width:860px;margin:0 auto;padding:2.5rem 1.5rem 4rem;display:flex}.dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.dashboard-greeting{color:#1f2933;margin:0 0 .25rem;font-size:1.7rem}.dashboard-subtitle{color:#7b8794;margin:0;font-size:.95rem}.dashboard-header-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.dashboard-explore-btn{color:#fff;background:#2563eb;border-radius:10px;align-items:center;padding:.65rem 1.25rem;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.dashboard-explore-btn:hover{background:#1d4ed8}.dashboard-logout-btn{color:#52606d;cursor:pointer;background:#fff;border:1px solid #cbd2d9;border-radius:10px;padding:.65rem 1.25rem;font-size:.9rem;font-weight:600}.dashboard-logout-btn:hover{background:#f4f6f8}.dashboard-section-title{color:#1f2933;margin:0 0 1.1rem;font-size:1.15rem}.dashboard-empty{text-align:center;background:#fff;border:1px solid #e4e9f0;border-radius:14px;flex-direction:column;align-items:center;gap:.5rem;padding:3rem 1rem;display:flex}.dashboard-empty span{font-size:2.5rem}.dashboard-empty strong{color:#1f2933;font-size:1.1rem}.dashboard-empty p{color:#7b8794;max-width:340px;margin:0;font-size:.9rem}.dashboard-course-list{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.dashboard-course-card{background:#fff;border:1px solid #e4e9f0;border-radius:14px;align-items:flex-start;gap:1.1rem;padding:1.4rem 1.25rem;transition:box-shadow .15s;display:flex}.dashboard-course-card:hover{box-shadow:0 4px 16px #0f172a12}.dashboard-course-thumb{object-fit:cover;border-radius:10px;flex-shrink:0;width:100px;height:64px}.dashboard-course-thumb-placeholder{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:100px;height:64px;font-size:1.6rem;display:flex}.dashboard-course-info{flex-direction:column;flex:1;gap:.25rem;display:flex}.dashboard-course-info strong{color:#1f2933;font-size:1rem}.dashboard-course-info p{color:#7b8794;margin:0;font-size:.83rem}.dashboard-continue-btn{color:#fff;white-space:nowrap;background:#2563eb;border-radius:10px;flex-shrink:0;align-self:flex-start;padding:.6rem 1.15rem;font-size:.88rem;font-weight:700;text-decoration:none}.dashboard-continue-btn:hover{background:#1d4ed8}.dashboard-course-authors{color:#52606d;flex-direction:column;gap:.1rem;margin:.25rem 0 0;font-size:.8rem;display:flex}.dashboard-course-authors span{font-weight:700}.modal-overlay{z-index:100;background:#0f172a73;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:16px;width:100%;max-width:700px;max-height:88vh;padding:1.75rem;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0f172a40}.modal-close{color:#9aa5b1;cursor:pointer;background:0 0;border:none;display:flex;position:absolute;top:1.25rem;right:1.25rem}.modal-close:hover{color:#1f2933}.modal-title{color:#1f2933;margin:0 0 .3rem;font-size:1.25rem}.modal-subtitle{color:#7b8794;margin:0 0 1.25rem;font-size:.9rem}.content-type-grid{grid-template-columns:repeat(3,1fr);gap:.85rem;display:grid}@media (width<=600px){.content-type-grid{grid-template-columns:1fr}}.content-type-card{text-align:left;cursor:pointer;border:none;border-radius:12px;flex-direction:column;align-items:flex-start;gap:.3rem;padding:1rem;transition:transform .15s,box-shadow .15s;display:flex}.content-type-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0f172a1f}.content-type-icon{margin-bottom:.2rem;font-size:1.3rem;font-weight:700;line-height:1}.content-type-card strong{font-size:.92rem}.content-type-desc{color:#52606d;font-size:.78rem;line-height:1.35}.confirm-overlay{z-index:200;background:#0f172a73;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.confirm-card{text-align:center;background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:.75rem;width:100%;max-width:400px;padding:2rem 1.75rem;display:flex;box-shadow:0 20px 60px #0f172a33}.confirm-icon{color:#b45309;background:#fef9c3;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:.25rem;display:flex}.confirm-icon.danger{color:#dc2626;background:#fee2e2}.confirm-title{color:#1f2933;margin:0;font-size:1.1rem}.confirm-message{color:#52606d;margin:0;font-size:.9rem;line-height:1.5}.confirm-actions{gap:.75rem;width:100%;margin-top:.5rem;display:flex}.confirm-cancel{color:#52606d;cursor:pointer;background:#fff;border:1px solid #cbd2d9;border-radius:10px;flex:1;padding:.65rem 1rem;font-size:.9rem;font-weight:600}.confirm-cancel:hover{background:#f4f6f8}.confirm-confirm{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:10px;flex:1;padding:.65rem 1rem;font-size:.9rem;font-weight:700}.confirm-confirm.danger{background:#dc2626}.confirm-confirm:hover{opacity:.9}.course-builder{flex-direction:column;gap:1rem;display:flex}.course-builder-grid{grid-template-columns:320px 1fr;align-items:start;gap:1.25rem;display:grid}@media (width<=860px){.course-builder-grid{grid-template-columns:1fr}}.builder-panel,.builder-editor{background:#fff;border:1px solid #e4e7eb;border-radius:14px;overflow:hidden}.builder-panel-header{color:#1f2933;background:#f4f6f8;border-bottom:1px solid #e4e7eb;align-items:center;gap:.5rem;padding:1rem 1.25rem;font-size:.92rem;font-weight:700;display:flex}.builder-panel-header svg{color:#2563eb}.builder-panel-body{flex-direction:column;gap:1rem;padding:1.1rem;display:flex}.btn-add-block,.btn-add-subtopic{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.65rem 1rem;font-size:.9rem;font-weight:700;display:inline-flex}.btn-add-block{color:#fff;background:#2563eb;border:none}.btn-add-block:hover{background:#1d4ed8}.btn-add-subtopic{color:#2563eb;background:#fff;border:1px solid #bcd2f7}.btn-add-subtopic:hover{background:#eef4ff}.builder-empty{text-align:center;color:#9aa5b1;flex-direction:column;align-items:center;gap:.4rem;padding:2.5rem 1rem;display:flex}.builder-empty.small{gap:.3rem;padding:1.25rem .5rem}.builder-empty.large{padding:4rem 1.5rem}.builder-empty-icon{color:#9aa5b1;background:#eef2f7;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:.25rem;display:flex}.builder-empty strong{color:#52606d;font-size:1rem}.builder-empty p{max-width:320px;margin:0;font-size:.85rem}.block-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.block-item{border:1px solid #e4e7eb;border-radius:12px;overflow:hidden}.block-header{background:#fff;align-items:center;gap:.5rem;padding:.75rem .9rem;display:flex}.block-header svg:not(.chevron svg){color:#2563eb}.drag-handle{color:#cbd2d9;cursor:grab;display:flex}.block-toggle{cursor:pointer;color:#52606d;background:0 0;border:none;padding:0;display:flex}.chevron{transition:transform .2s;display:inline-flex}.chevron.open{transform:rotate(180deg)}.block-title-group{flex-direction:column;flex:1;gap:.15rem;display:flex}.block-title{color:#1f2933;font-size:.92rem;font-weight:700}.badge.subtle{color:#7b8794;background:#eef2f7;align-self:flex-start;font-weight:600}.block-delete{color:#dc2626;cursor:pointer;background:0 0;border:none;padding:.3rem;display:flex}.block-delete:hover{color:#b91c1c}.block-content{background:#fbfdff;border-top:1px solid #e4e7eb;flex-direction:column;gap:.75rem;padding:.9rem;display:flex}.subtopic-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.subtopic-row{cursor:pointer;text-align:left;background:#fff;border:1px solid #e4e7eb;border-radius:10px;align-items:center;gap:.6rem;width:100%;padding:.6rem .75rem;display:flex}.subtopic-row:hover{border-color:#bcd2f7}.subtopic-row.active{background:#eef4ff;border-color:#2563eb}.subtopic-index{color:#fff;background:#2563eb;border-radius:8px;justify-content:center;align-items:center;min-width:28px;height:28px;font-size:.78rem;font-weight:700;display:inline-flex}.subtopic-info{flex-direction:column;gap:.1rem;font-size:.88rem;display:flex}.subtopic-info strong{color:#1f2933}.subtopic-info .muted{font-size:.75rem}.inline-create-form{flex-direction:column;gap:.6rem;display:flex}.inline-create-form input{border:1px solid #2563eb;border-radius:10px;padding:.6rem .85rem;font-size:.9rem;box-shadow:0 0 0 3px #2563eb1f}.inline-create-actions{gap:.6rem;display:flex}.btn-create,.btn-cancel{cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:.35rem;padding:.5rem 1rem;font-size:.85rem;font-weight:700;display:inline-flex}.btn-create{color:#fff;background:#16a34a;flex:1;justify-content:center}.btn-create:hover{background:#15803d}.btn-cancel{color:#52606d;background:#fff;border-color:#cbd2d9;flex:1;justify-content:center}.btn-cancel:hover{background:#f4f6f8}.builder-editor{flex-direction:column;gap:1.25rem;min-height:420px;padding:1.25rem;display:flex}.editor-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.editor-index-badge{color:#fff;background:#2563eb;border-radius:8px;justify-content:center;align-items:center;min-width:34px;height:34px;margin-bottom:.3rem;font-size:.85rem;font-weight:700;display:inline-flex}.editor-title-group{flex-direction:column;display:flex}.editor-title-group strong{color:#1f2933;font-size:1.05rem}.editor-title-group .muted{font-size:.8rem}.btn-save{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.6rem 1.1rem;font-size:.85rem;font-weight:700;display:inline-flex}.btn-save:hover{background:#1d4ed8}.editor-field{color:#1f2933;flex-direction:column;gap:.4rem;font-size:.88rem;font-weight:600;display:flex}.editor-field input{border:1px solid #cbd2d9;border-radius:10px;padding:.65rem .9rem;font-size:.92rem;font-weight:400}.rich-toolbar{background:#f9fafb;border:1px solid #cbd2d9;border-bottom:none;border-radius:10px 10px 0 0;flex-wrap:wrap;align-items:center;gap:.2rem;padding:.5rem .6rem;display:flex}.rich-btn{color:#52606d;cursor:pointer;background:0 0;border:none;border-radius:6px;width:28px;height:28px;font-size:.78rem;font-weight:700}.rich-btn:hover{background:#e4e7eb}.rich-btn.active{color:#2563eb;background:#dbeafe}.rich-divider{background:#cbd2d9;width:1px;height:18px;margin:0 .3rem}.rich-textarea{resize:vertical;border:1px solid #cbd2d9;border-top:none;border-radius:0 0 10px 10px;min-height:140px;padding:.85rem;font-family:inherit;font-size:.9rem;font-weight:400}.content-section{border-top:1px solid #e4e7eb;flex-direction:column;gap:.9rem;padding-top:1.1rem;display:flex}.content-section-header{justify-content:space-between;align-items:center;display:flex}.content-section-header strong{color:#1f2933;font-size:.95rem;display:block}.content-section-header .muted{font-size:.78rem}.btn-add-content{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.55rem 1.05rem;font-size:.85rem;font-weight:700;display:inline-flex}.btn-add-content:hover{background:#1d4ed8}.btn-add-content.outline{color:#2563eb;background:#fff;border:1px solid #bcd2f7}.btn-add-content.outline:hover{background:#eef4ff}.content-item-list{flex-direction:column;gap:.85rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.content-item{background:#fbfcfe;border:1px solid #e4e9f0;border-radius:12px;padding:.9rem 1rem}.content-item-header{align-items:center;gap:.6rem;margin-bottom:.7rem;display:flex}.content-item-header strong{color:#1f2933;flex:1;font-size:.9rem}.content-item-icon{border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8rem;font-weight:700;display:inline-flex}.content-item-actions{align-items:center;gap:.4rem;display:flex}.btn-save.small{padding:.35rem .7rem;font-size:.78rem}.icon-btn{color:#52606d;cursor:pointer;background:#eef2f7;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.icon-btn:hover{background:#e4e9f0}.icon-btn.danger{color:#dc2626;background:#fee2e2}.icon-btn.danger:hover{background:#fecaca}.icon-btn.move{color:#3a5a8c;background:#f1f5fb;width:26px;height:26px;font-size:.7rem}.icon-btn.move:hover:not(:disabled){color:#2563eb;background:#dbeafe}.icon-btn.move:disabled{opacity:.25;cursor:not-allowed}.content-move-btns{flex-direction:column;gap:2px;display:flex}.content-fields{flex-direction:column;gap:.55rem;display:flex}.content-fields input,.content-fields textarea,.content-fields select{border:1px solid #d6dde6;border-radius:8px;width:100%;padding:.55rem .7rem;font-family:inherit;font-size:.85rem}.content-image-preview{border-radius:8px;max-width:220px;margin-top:.3rem}.content-separator-preview{border:none;border-top:2px dashed #cbd5e1;margin:.5rem 0}.list-editor{flex-direction:column;gap:.5rem;display:flex}.list-editor-row{align-items:center;gap:.5rem;display:flex}.list-editor-row input{border:1px solid #d6dde6;border-radius:8px;flex:1;padding:.5rem .7rem;font-size:.85rem}.text-btn{color:#2563eb;cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:.35rem;padding:.2rem 0;font-size:.82rem;font-weight:600;display:inline-flex}.text-btn:hover{text-decoration:underline}.table-editor table{border-collapse:collapse;width:100%}.table-editor th,.table-editor td{border:1px solid #e4e9f0;padding:.3rem}.table-editor input{background:0 0;border:none;width:100%;padding:.35rem .4rem;font-size:.82rem}.table-editor input:focus{border-radius:4px;outline:1px solid #93c5fd}.table-editor-actions{gap:1rem;margin-top:.5rem;display:flex}.editor-save-group{align-items:center;gap:.75rem;display:flex}.saved-msg{color:#16a34a;font-size:.85rem;font-weight:600;animation:.2s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.results-panel{flex-direction:column;gap:1.5rem;display:flex}.rp-view-tabs{border-bottom:2px solid #e4e9f0;gap:.5rem;padding-bottom:0;display:flex}.rp-view-tab{color:#7b8794;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;border-radius:6px 6px 0 0;margin-bottom:-2px;padding:.6rem 1.25rem;font-size:.95rem;font-weight:600;transition:color .15s,border-color .15s}.rp-view-tab:hover{color:#2563eb}.rp-view-tab.active{color:#2563eb;border-bottom-color:#2563eb}.rp-content{min-height:200px}.rp-two-col{grid-template-columns:280px 1fr;align-items:start;gap:1.5rem;display:grid}.rp-list-col{border-right:1px solid #e4e9f0;flex-direction:column;gap:.5rem;padding-right:1.25rem;display:flex}.rp-search{box-sizing:border-box;border:1px solid #cbd2d9;border-radius:8px;width:100%;padding:.5rem .75rem;font-size:.88rem}.rp-user-list{flex-direction:column;gap:.25rem;max-height:480px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.rp-user-btn{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:.75rem;width:100%;padding:.6rem .75rem;transition:background .12s,border-color .12s;display:flex}.rp-user-btn:hover{background:#f4f6f8}.rp-user-btn.active{background:#eff6ff;border-color:#bcd2f7}.rp-user-avatar{color:#fff;background:linear-gradient(135deg,#2563eb,#06b6d4);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;font-weight:700;display:flex}.rp-user-avatar.lg{width:52px;height:52px;font-size:1.4rem}.rp-user-avatar.sm{width:28px;height:28px;font-size:.82rem}.rp-user-info{flex-direction:column;flex:1;gap:.05rem;min-width:0;display:flex}.rp-user-info strong{color:#1f2933;white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;overflow:hidden}.rp-user-info span{color:#7b8794;white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.rp-responses-count{color:#2563eb;white-space:nowrap;background:#eff6ff;border-radius:99px;padding:.15rem .5rem;font-size:.75rem}.rp-detail-col{min-height:200px}.rp-detail-empty{color:#9aa5b1;justify-content:center;align-items:center;height:200px;font-size:.9rem;display:flex}.rp-detail-header{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.rp-detail-header h3{color:#1f2933;margin:0 0 .1rem;font-size:1.1rem}.rp-detail-header p{color:#7b8794;margin:0;font-size:.85rem}.rp-faculty-tag{color:#2563eb;background:#f0f6ff;border-radius:99px;padding:.1rem .6rem;font-size:.78rem;font-weight:600;display:inline-block;margin-top:.2rem!important}.rp-course-block{border:1px solid #e4e9f0;border-radius:12px;margin-bottom:.85rem;padding:1rem 1.1rem}.rp-course-block-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.rp-course-block-header strong{color:#1f2933;font-size:.95rem}.rp-progress-badge{color:#52606d;align-items:center;gap:.4rem;font-size:.8rem;display:inline-flex}.rp-progress-bar-wrap{background:#e4e9f0;border-radius:99px;width:60px;height:6px;display:inline-block;overflow:hidden}.rp-progress-bar-fill{background:linear-gradient(90deg,#2563eb,#06b6d4);border-radius:99px;height:100%;transition:width .3s;display:block}.rp-response-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.rp-response-item{background:#f8fafc;border:1px solid #e4e9f0;border-radius:8px;padding:.6rem .8rem}.rp-response-label{color:#7b8794;margin-bottom:.3rem;font-size:.75rem;font-weight:600;display:block}.rp-response-data p{color:#1f2933;margin:0;font-size:.88rem}.rp-response-data pre{color:#52606d;white-space:pre-wrap;margin:0;font-size:.78rem}.rp-course-view{flex-direction:column;gap:1.25rem;display:flex}.rp-select-row{align-items:center;gap:.75rem;display:flex}.rp-select{border:1px solid #cbd2d9;border-radius:8px;min-width:340px;padding:.55rem .85rem;font-size:.9rem}.rp-section-title{color:#1f2933;margin:0 0 .25rem;font-size:1.1rem}.rp-table{border-collapse:collapse;width:100%;font-size:.88rem}.rp-table th{text-align:left;color:#52606d;background:#f4f6f8;border-bottom:2px solid #e4e9f0;padding:.6rem .75rem;font-size:.8rem;font-weight:700}.rp-table td{color:#1f2933;vertical-align:middle;border-bottom:1px solid #f0f2f5;padding:.7rem .75rem}.rp-table tr:hover td{background:#fafbfc}.rp-table-user{align-items:center;gap:.6rem;display:flex}.rp-table-user div{flex-direction:column;gap:.05rem;display:flex}.rp-student-details{border:1px solid #e4e9f0;border-radius:10px;margin-top:.5rem;padding:.75rem 1rem}.rp-student-details summary{cursor:pointer;color:#2563eb;font-size:.9rem;font-weight:600;list-style:none}.rp-faculty-list{flex-direction:column;gap:.75rem;display:flex}.rp-faculty-card{border:1px solid #e4e9f0;border-radius:12px;overflow:hidden}.rp-faculty-header{cursor:pointer;text-align:left;background:#f8fafc;border:none;justify-content:space-between;align-items:center;width:100%;padding:.85rem 1.1rem;display:flex}.rp-faculty-header:hover{background:#f0f4fb}.rp-faculty-info{flex-direction:column;gap:.15rem;display:flex}.rp-faculty-info strong{color:#1f2933;font-size:1rem}.rp-chevron{color:#7b8794;font-size:.7rem}.rp-faculty-body{border-top:1px solid #e4e9f0;flex-direction:column;gap:.65rem;padding:.75rem 1.1rem;display:flex}.rp-faculty-student{align-items:flex-start;gap:.75rem;display:flex}.rp-faculty-courses{flex-wrap:wrap;flex:1;gap:.35rem;display:flex}.rp-course-chip{color:#2563eb;background:#eff6ff;border-radius:99px;padding:.15rem .65rem;font-size:.78rem;font-weight:600}.rp-muted{color:#7b8794;margin:0;font-size:.88rem}.rp-small{font-size:.78rem}.rp-empty-li{padding:.5rem 0}.admin-page{flex-direction:column;flex:1;gap:1.5rem;width:100%;max-width:980px;margin:0 auto;padding:2rem 1.5rem 4rem;display:flex}.admin-tabs{background:#fff;border-radius:14px;flex-wrap:wrap;gap:.5rem;padding:.6rem;display:flex;box-shadow:0 1px 4px #0000000f}.admin-tab{color:#52606d;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:.4rem;padding:.6rem 1.1rem;font-size:.92rem;font-weight:600;display:inline-flex}.admin-tab:hover{color:#1f2933;background:#f4f6f8}.admin-tab.active{color:#fff;background:#2563eb}.admin-title{color:#1f2933;margin:0;font-size:1.7rem}.admin-actions{flex-wrap:wrap;gap:1rem;display:flex}.admin-action-btn{color:#1f2933;cursor:pointer;background:#fff;border:1px solid #cbd2d9;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:.6rem;min-width:220px;padding:1.1rem 1.5rem;font-size:1rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex}.admin-action-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px #0f172a1a}.admin-action-btn.primary{color:#fff;background:#2563eb;border-color:#0000}.admin-card{background:#fff;border-radius:14px;flex-direction:column;gap:.75rem;padding:1.5rem;display:flex;box-shadow:0 1px 4px #0000000f}.admin-card h2{color:#1f2933;margin:0;font-size:1.15rem}.admin-card-subtitle{color:#7b8794;margin:-.4rem 0 .25rem;font-size:.88rem}.admin-row-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.admin-row{border-top:1px solid #e4e7eb;align-items:center;gap:1rem;padding:1rem 0;display:flex}.admin-row:first-child{border-top:none}.admin-row-icon{color:#52606d;background:#eef2f7;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;font-weight:700;display:flex}.admin-row-body{flex-direction:column;flex:1;gap:.2rem;display:flex}.admin-row-body strong{color:#1f2933;font-size:.98rem}.admin-row-body p{color:#7b8794;margin:0;font-size:.85rem}.admin-row-actions{flex-shrink:0;align-items:center;gap:1rem;font-size:.85rem;display:flex}.admin-row-actions a,.admin-row-action-link,.admin-row-delete,.admin-edit-btn{align-items:center;gap:.3rem;display:inline-flex}.admin-row-actions a,.admin-row-action-link{color:#2563eb;font-weight:600;text-decoration:none}.admin-row-actions a:hover{text-decoration:underline}.admin-row-delete,.admin-row-save,.admin-row-cancel,.admin-edit-btn{cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;font-weight:600}.admin-row-delete{color:#dc2626}.admin-edit-btn,.admin-row-save{color:#2563eb}.admin-row-cancel{color:#7b8794}.admin-row-save,.admin-row-cancel,.admin-edit-btn{border:1px solid;border-radius:8px;padding:.4rem .9rem}.admin-category-textarea{resize:vertical;border:1px solid #cbd2d9;border-radius:8px;width:100%;padding:.6rem;font-family:inherit;font-size:.85rem}.admin-empty{text-align:center;color:#7b8794;padding:1.5rem 0}.admin-form{flex-direction:column;gap:1.1rem;max-width:520px;display:flex}.admin-form label{color:#1f2933;flex-direction:column;gap:.4rem;font-size:.9rem;font-weight:600;display:flex}.admin-form input,.admin-form textarea{border:1px solid #cbd2d9;border-radius:10px;padding:.7rem 1rem;font-family:inherit;font-size:.95rem}.admin-form .admin-action-btn{align-self:flex-start;min-width:160px}.create-course-card{background:#fff;border-radius:14px;flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex;box-shadow:0 1px 4px #0000000f}.create-course-toolbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.back-to-panel-link{color:#52606d;cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;padding:0;font-size:.9rem;font-weight:600;display:inline-flex}.back-to-panel-link:hover{color:#1f2933}.create-course-submit{flex:none;min-width:auto;padding:.65rem 1.25rem;font-size:.9rem}.create-course-submit-bottom{flex:none;align-self:flex-start;min-width:200px;margin-top:.5rem}.create-course-form{flex-direction:column;gap:1.25rem;display:flex}.create-course-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.create-course-form label{color:#1f2933;flex-direction:column;gap:.4rem;font-size:.9rem;font-weight:600;display:flex}.create-course-form input,.create-course-form select,.create-course-form textarea{color:#1f2933;border:1px solid #cbd2d9;border-radius:10px;padding:.7rem 1rem;font-family:inherit;font-size:.92rem;font-weight:400}.char-counter{color:#9aa5b1;align-self:flex-end;font-size:.78rem;font-weight:400}.field-hint{color:#2563eb;font-size:.8rem;font-weight:400}.image-dropzone{text-align:center;background:#f9fafb;border:1px dashed #cbd2d9;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;padding:1.75rem 1.5rem;display:flex}.image-dropzone-icon{color:#9aa5b1;background:#eef2f7;border-radius:999px;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.image-dropzone-text{color:#52606d;margin:0;font-size:.9rem;font-weight:600}.image-dropzone-hint{color:#9aa5b1;margin:0;font-size:.78rem;font-weight:400}.image-preview{object-fit:cover;border-radius:10px;max-width:100%;max-height:220px}.image-dropzone-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.select-file-btn{color:#1f2933;cursor:pointer;background:#fff;border:1px solid #cbd2d9;border-radius:8px;padding:.5rem 1.1rem;font-size:.85rem;font-weight:600}.select-file-btn:hover{background:#f4f6f8}.file-name{color:#7b8794;font-size:.82rem;font-weight:400}.hidden-file-input{display:none}@media (width<=640px){.create-course-grid{grid-template-columns:1fr}}.course-info-edit-form{background:#f8fafc;border:1px solid #e4e9f0;border-radius:12px;flex-direction:column;gap:1.1rem;padding:1.25rem;display:flex}.course-info-edit-form label{color:#1f2933;flex-direction:column;gap:.4rem;font-size:.9rem;font-weight:600;display:flex}.course-info-edit-form input,.course-info-edit-form select,.course-info-edit-form textarea{color:#1f2933;border:1px solid #cbd2d9;border-radius:10px;padding:.7rem 1rem;font-family:inherit;font-size:.92rem;font-weight:400}.cr-titulo.cr-h1{color:#1f2933;text-align:center;margin:0 0 .5rem;font-size:2rem;font-weight:800;line-height:1.25}.cr-titulo.cr-h2{color:#1f2933;text-align:center;margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.cr-titulo.cr-h3{color:#1f2933;text-align:center;margin:0 0 .5rem;font-size:1.15rem;font-weight:700}.cr-subtitulo{color:#3a5a8c;text-align:center;margin:0 0 .75rem;font-size:1.15rem;font-weight:500;line-height:1.4}.cr-texto{color:#3d4f5c;margin:0 0 .5rem;font-size:1rem;line-height:1.75}.cr-cita{background:#f0f6ff;border-left:4px solid #2563eb;border-radius:0 10px 10px 0;margin:0 0 .5rem;padding:.75rem 1.25rem}.cr-cita p{color:#1f2933;margin:0 0 .3rem;font-size:1.05rem;font-style:italic;line-height:1.6}.rt-bold{color:#1d4ed8;font-weight:700}.rt-underline{-webkit-text-decoration:underline #2563eb;text-decoration:underline #2563eb;text-decoration-thickness:2px}.rt-highlight{color:#1f2933;background:#fef08a;border-radius:4px;padding:.05em .3em;font-weight:600}.cr-destacado{text-align:left;border:1px solid #0000;border-radius:10px;align-items:flex-start;gap:.75rem;margin:0 0 .5rem;padding:.9rem 1.1rem;display:flex}.cr-destacado-icon{flex-shrink:0;font-size:1.2rem;line-height:1.4}.cr-destacado-title{margin:0 0 .2rem;font-weight:700}.cr-destacado-text{margin:0;line-height:1.65}.cr-destacado-info{color:#1e3a8a;background:#eff6ff;border-color:#bfdbfe}.cr-destacado-success{color:#14532d;background:#f0fdf4;border-color:#bbf7d0}.cr-destacado-warning{color:#78350f;background:#fffbeb;border-color:#fde68a}.cr-destacado-danger{color:#7f1d1d;background:#fef2f2;border-color:#fecaca}.cr-cita cite{color:#52606d;font-size:.85rem;font-style:normal}.cr-imagen{text-align:center;margin:0 auto .5rem}.cr-imagen-left{text-align:left;max-width:220px;margin-right:auto}.cr-imagen-right{text-align:right;max-width:220px;margin-left:auto}.cr-imagen-left img,.cr-imagen-right img{max-width:100%}.cr-imagen img{border-radius:10px;max-width:100%;box-shadow:0 4px 18px #0f172a1a}.cr-imagen figcaption{color:#7b8794;margin-top:.5rem;font-size:.82rem;font-style:italic}.cr-video-wrapper{border-radius:12px;height:0;margin-bottom:.5rem;padding-bottom:56.25%;position:relative;overflow:hidden}.cr-video-wrapper iframe{width:100%;height:100%;position:absolute;inset:0}.cr-lista{color:#3d4f5c;margin:0 0 .5rem 1.25rem;padding:0;line-height:1.75}.cr-lista li{margin-bottom:.3rem}.cr-pregunta{background:#f8fafc;border:1px solid #e4e9f0;border-radius:12px;flex-direction:column;gap:.75rem;margin-bottom:.5rem;padding:1.1rem 1.25rem;display:flex}.cr-pregunta-text{color:#1f2933;margin:0;font-size:.98rem;font-weight:600}.cr-resultado{background:#f8fafc;border:1px solid #e4e9f0;border-radius:12px;margin-bottom:.5rem;padding:1.25rem}.cr-resultado-title{text-align:center;color:#1f2933;margin:0 0 1rem;font-weight:700}.cr-resultado-chart{justify-content:space-around;align-items:flex-end;gap:1rem;height:180px;display:flex}.cr-resultado-bar-wrap{flex-direction:column;flex:1;align-items:center;gap:.5rem;height:100%;display:flex}.cr-resultado-bar-track{flex:1;align-items:flex-end;width:100%;display:flex}.cr-resultado-bar{background:linear-gradient(#60a5fa,#2563eb);border-radius:6px 6px 0 0;justify-content:center;align-items:flex-start;width:100%;min-height:22px;display:flex}.cr-resultado-bar span{color:#fff;margin-top:2px;font-size:.75rem;font-weight:700}.cr-resultado-label{color:#52606d;text-align:center;font-size:.78rem}.cr-pregunta-grid{border:1px solid #cbd2d9;gap:1px;margin-bottom:.5rem;display:grid}.cr-pregunta-grid-cell{background:#fff;border:1px solid #cbd2d9;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.cr-pregunta-grid-cell .cr-pregunta-text{text-align:center;font-weight:700}.cr-pregunta-grid-cell textarea{resize:vertical;background:#f3f0e8;border:1px solid #cbd2d9;border-radius:6px;padding:.5rem;font-family:inherit}.cr-likert th,.cr-likert td{text-align:center}.cr-likert th:first-child,.cr-likert td:first-child{text-align:left}.cr-likert-cell input{width:18px;height:18px}.cr-opciones{flex-direction:column;gap:.5rem;display:flex}.cr-opcion{color:#1f2933;cursor:pointer;align-items:center;gap:.6rem;font-size:.92rem;display:flex}.cr-opciones-row{border:1px solid #cbd2d9;display:flex}.cr-opcion-box{text-align:center;color:#1f2933;cursor:pointer;border-right:1px solid #cbd2d9;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.6rem .75rem;font-size:.88rem;display:flex}.cr-opcion-box:last-child{border-right:none}.cr-opcion-box.cr-opcion-selected{background:#fff3b0}.cr-pregunta-input{resize:vertical;color:#1f2933;border:1px solid #cbd2d9;border-radius:8px;padding:.65rem .85rem;font-family:inherit;font-size:.92rem}.cr-pregunta-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.cr-tabla{border-collapse:collapse;width:100%;margin-bottom:.5rem;font-size:.9rem}.cr-tabla th{color:#1f2933;text-align:left;white-space:pre-line;background:#f4f6f8;border:1px solid #e4e9f0;padding:.65rem .9rem;font-weight:700}.cr-tabla td{color:#3d4f5c;white-space:pre-line;border:1px solid #e4e9f0;padding:.55rem .9rem}.cr-tabla td input{color:#3d4f5c;background:0 0;border:none;width:100%;font-family:inherit;font-size:.9rem}.cr-tabla td input:focus{outline:none}.cr-tabla-rowlabel{color:#1f2933;white-space:nowrap;background:#f4f6f8;font-weight:600}.cr-apel-group{border-bottom:1px solid #e4e9f0;margin-bottom:1.25rem;padding-bottom:1rem}.cr-apel-group:last-child{border-bottom:none}.cr-apel-table{width:100%}.cr-apel-table th{text-align:center}.cr-apel-scale-hints-cell{background:#fff!important;border-top:none!important;padding:.4rem .6rem 0!important}.cr-apel-scale-hints{justify-content:space-between;display:flex}.cr-apel-scale-hint{color:#16a34a;font-size:.78rem;font-weight:600}.cr-apel-opt-text{text-align:left}.cr-apel-radio{cursor:pointer;background:#fff;border:2px solid #c8d3dc;border-radius:50%;width:1.1rem;height:1.1rem;padding:0}.cr-apel-radio:hover:not(:disabled){border-color:#4f46e5}.cr-apel-radio.checked{background:#4f46e5;border-color:#4f46e5;box-shadow:inset 0 0 0 3px #fff}.cr-apel-radio:disabled{opacity:.35;cursor:not-allowed}.cr-apel-row{align-items:center;gap:.75rem;padding:.4rem 0;display:flex}.cr-apel-letter{color:#4f46e5;background:#e0e7ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;font-size:.8rem;font-weight:700;display:inline-flex}.cr-apel-text{color:#3d4f5c;flex:1;font-size:.9rem}.cr-apel-input{text-align:center;border:1px solid #e4e9f0;border-radius:6px;width:3.5rem;padding:.3rem .5rem;font-family:inherit;font-size:.9rem}.cr-apel-input:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 3px #4f46e51a}.cr-separador{border:none;border-top:1px solid #e4e9f0;margin:.5rem 0}.cr-recurso{color:#2563eb;background:#eef4ff;border:1px solid #bcd2f7;border-radius:10px;align-items:center;gap:.6rem;padding:.65rem 1.1rem;font-size:.92rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.cr-recurso:hover{background:#dbeafe}.cr-recurso-icon{font-size:1rem}.cr-pregunta input,.cr-pregunta textarea,.cr-pregunta-grid textarea,.cr-tabla input,.cr-apel-opt-text,.cr-resultado-label,.cr-pregunta{text-align:left}.cr-imagen,.cr-video-wrapper{max-width:100%}@media (width<=600px){.cr-titulo.cr-h1{font-size:1.5rem}.cr-titulo.cr-h2{font-size:1.25rem}.cr-titulo.cr-h3{font-size:1.05rem}.cr-tabla{font-size:.8rem}.cr-tabla th,.cr-tabla td{padding:.45rem .5rem}.cr-apel-radio{width:.95rem;height:.95rem}.cr-pregunta-grid{grid-template-columns:1fr!important}}.afi-overlay{z-index:1000;background:#0f172a8c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.afi-modal{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:640px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0f172a33}.afi-modal-header{border-bottom:1px solid #e4e9f0;padding:1.5rem 1.75rem .75rem}.afi-modal-title{color:#1f2933;margin:0 0 .4rem;font-size:1.25rem;font-weight:700}.afi-modal-subtitle{color:#e07b00;background:#fff8ed;border:1px solid #fde68a;border-radius:8px;margin:0;padding:.6rem .9rem;font-size:.9rem}.afi-modal-body{flex:1;padding:1.5rem 1.75rem;overflow-y:auto}.afi-notice-uanl{color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin:0 0 1rem;padding:.6rem .9rem;font-size:.95rem;font-weight:600}.afi-notice-text{color:#3d4f5c;text-align:justify;margin:0 0 1rem;font-size:.96rem;line-height:1.7}.afi-form{flex-direction:column;gap:1rem;display:flex}.afi-field{flex-direction:column;gap:.35rem;display:flex}.afi-field label{color:#1f2933;font-size:.88rem;font-weight:600}.afi-field input,.afi-field textarea{color:#1f2933;resize:vertical;border:1px solid #cbd2d9;border-radius:8px;padding:.6rem .85rem;font-family:inherit;font-size:.92rem;transition:border-color .15s}.afi-field input:focus,.afi-field textarea:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.afi-field-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.afi-required{color:#dc2626}.afi-error{color:#dc2626;font-size:.8rem}.afi-divider{border:none;border-top:1px solid #e4e9f0;margin:.5rem 0}.afi-section-label{color:#1f2933;margin:0 0 .25rem;font-weight:700}.afi-modal-footer{border-top:1px solid #e4e9f0;flex-wrap:wrap;justify-content:flex-end;gap:.75rem;padding:1rem 1.75rem;display:flex}.afi-btn-primary{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:.65rem 1.4rem;font-size:.93rem;font-weight:600;transition:background .15s}.afi-btn-primary:hover:not(:disabled){background:#1d4ed8}.afi-btn-primary:disabled{opacity:.6;cursor:not-allowed}.afi-btn-secondary{color:#52606d;cursor:pointer;background:#fff;border:1px solid #cbd2d9;border-radius:8px;padding:.65rem 1.2rem;font-size:.93rem;font-weight:600;transition:background .15s}.afi-btn-secondary:hover{background:#f4f6f8}.afi-done{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem 1.75rem;display:flex}.afi-done-icon{font-size:3rem}.afi-done h2{color:#1f2933;margin:0;font-size:1.3rem;font-weight:700}.afi-done p{color:#52606d;max-width:420px;margin:0;font-size:.95rem;line-height:1.6}@media (width<=500px){.afi-modal-body{padding:1.25rem}.afi-modal-footer{flex-direction:column;padding:.75rem 1.25rem}.afi-field-row{grid-template-columns:1fr}.afi-btn-primary,.afi-btn-secondary{text-align:center;width:100%}}.course-layout{grid-template-columns:285px 1fr;align-items:start;min-height:calc(100vh - 64px);display:grid}.course-sidebar{background:#fff;border-right:1px solid #e4e9f0;flex-direction:column;height:calc(100vh - 64px);display:flex;position:sticky;top:64px;overflow-y:auto}.course-sidebar-info{border-bottom:1px solid #e4e9f0;flex-direction:column;gap:.55rem;padding:1.25rem;display:flex}.course-sidebar-thumb{aspect-ratio:16/9;object-fit:cover;border-radius:10px;width:100%}.course-sidebar-thumb-placeholder{aspect-ratio:16/9;border-radius:10px;justify-content:center;align-items:center;width:100%;font-size:2rem;display:flex}.course-sidebar-title{color:#1f2933;font-size:.92rem;line-height:1.4}.course-progress-bar-wrap{flex-direction:column;gap:.3rem;margin-top:.25rem;display:flex}.course-progress-bar{background:#e4e9f0;border-radius:99px;height:6px;overflow:hidden}.course-progress-fill{background:linear-gradient(90deg,#2563eb,#1d4ed8);border-radius:99px;height:100%;transition:width .4s}.course-progress-label{color:#7b8794;font-size:.75rem;font-weight:500}.course-certificate-btn{color:#fff;cursor:pointer;background:linear-gradient(90deg,#d4af37,#b8932c);border:none;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;margin-top:.5rem;padding:.6rem .8rem;font-size:.85rem;font-weight:700;transition:opacity .15s;display:flex}.course-certificate-btn:hover{opacity:.9}.course-certificate-btn:disabled{opacity:.6;cursor:not-allowed}.cert-modal-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cert-modal{text-align:center;background:#fff;border-radius:18px;flex-direction:column;align-items:center;gap:1rem;width:90%;max-width:420px;padding:2.5rem 2rem;display:flex;box-shadow:0 8px 40px #0000002e}.cert-modal-icon{font-size:3rem}.cert-modal h2{color:#1f2933;margin:0;font-size:1.3rem}.cert-modal p{color:#52606d;margin:0;font-size:.95rem}.cert-modal-btn{cursor:pointer;border:none;border-radius:10px;width:100%;padding:.75rem 1.5rem;font-size:.95rem;font-weight:700}.cert-modal-btn.primary{color:#fff;background:#2563eb}.cert-modal-btn.primary:hover{background:#1d4ed8}.cert-modal-btn.primary:disabled{opacity:.6;cursor:not-allowed}.cert-modal-btn.secondary{color:#52606d;background:#f4f6f8}.cert-modal-btn.secondary:hover{background:#e4e9f0}.course-sidebar-nav-header{color:#1f2933;background:#f8fafc;border-bottom:1px solid #e4e9f0;align-items:center;gap:.5rem;padding:.85rem 1.25rem;font-size:.88rem;font-weight:700;display:flex}.course-sidebar-nav-header svg{color:#2563eb}.course-sidebar-nav{flex:1;padding:.75rem 0;overflow-y:auto}.course-sidebar-empty{color:#9aa5b1;padding:1rem 1.25rem;font-size:.85rem}.course-block-group{margin-bottom:.15rem}.course-block-btn{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.6rem;width:100%;padding:.65rem 1.25rem;display:flex}.course-block-btn:hover{background:#f4f6f8}.course-block-badge{color:#fff;white-space:nowrap;background:#2563eb;border-radius:6px;flex-shrink:0;padding:.18rem .5rem;font-size:.68rem;font-weight:700}.course-block-label{color:#1f2933;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.88rem;font-weight:600;overflow:hidden}.course-subtopic-list{margin:0;padding:0 0 .25rem;list-style:none}.course-subtopic-btn{cursor:pointer;text-align:left;color:#52606d;background:0 0;border:none;align-items:center;gap:.55rem;width:100%;padding:.5rem 1rem .5rem 2.25rem;font-size:.84rem;display:flex}.course-subtopic-btn:hover{color:#1f2933;background:#f4f6f8}.course-subtopic-btn.active{color:#2563eb;background:#eef4ff;font-weight:600}.course-subtopic-index{opacity:.65;flex-shrink:0;font-size:.7rem;font-weight:700}.course-subtopic-text{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.course-subtopic-check{color:#16a34a;flex-shrink:0;display:flex}.course-main{background:#fafbfc;min-height:calc(100vh - 64px);padding:3rem 4rem 4rem}@media (width<=860px){.course-layout{grid-template-columns:1fr}.course-sidebar{border-bottom:1px solid #e4e9f0;border-right:none;height:auto;position:static}.course-main{padding:2rem 1.5rem}}@media (width<=600px){.course-main{padding:1.25rem 1rem}.course-content{max-width:100%}.course-block-title{font-size:1.5rem}.course-subtopic-heading{font-size:1rem}.course-nav-footer{flex-direction:column;gap:.75rem}.course-nav-left,.course-nav-right{flex:none;justify-content:center;width:100%}.course-nav-btn{max-width:100%}.course-complete-btn{justify-content:center;width:100%}}.course-content{max-width:760px;margin:0 auto}.course-block-title{color:#1f2933;margin:0 0 .5rem;font-size:2rem;font-weight:800;line-height:1.25}.course-subtopic-heading{color:#3a5a8c;text-align:center;margin:0 0 1.5rem;font-size:1.15rem;font-weight:500;line-height:1.4}.course-divider{border:none;border-top:1px solid #e4e9f0;margin:0 0 1.5rem}.course-description-text{color:#3d4f5c;margin:0 0 1.5rem;font-size:1rem;line-height:1.75}.course-content-list{flex-direction:column;align-items:center;gap:1.25rem;width:100%;margin-top:1.5rem;display:flex}.course-content-item{border-radius:10px;width:100%;max-width:100%;transition:box-shadow .2s,background .2s;overflow-x:auto}.course-content-item.pending{background:#fef2f2;box-shadow:0 0 0 2px #ef4444}.course-nav-center{flex-direction:column;align-items:center;gap:.5rem;display:flex}.course-pending-warning{color:#dc2626;text-align:center;margin:0;font-size:.85rem;font-weight:600}.course-nav-footer{border-top:1px solid #e4e9f0;justify-content:space-between;align-items:center;gap:1rem;margin-top:3rem;padding-top:1.5rem;display:flex}.course-nav-left,.course-nav-right{flex:1;display:flex}.course-nav-right{justify-content:flex-end}.course-nav-btn{color:#52606d;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#fff;border:1px solid #cbd2d9;border-radius:10px;max-width:200px;padding:.65rem 1.25rem;font-size:.88rem;font-weight:600;overflow:hidden}.course-nav-btn:hover{background:#f4f6f8}.course-nav-btn.primary{color:#fff;background:#2563eb;border-color:#0000}.course-nav-btn.primary:hover{background:#1d4ed8}.course-complete-btn{color:#16a34a;cursor:pointer;background:#fff;border:2px solid #16a34a;border-radius:10px;flex-shrink:0;align-items:center;gap:.5rem;padding:.65rem 1.4rem;font-size:.9rem;font-weight:700;transition:background .15s,color .15s;display:inline-flex}.course-complete-btn:hover{background:#f0fdf4}.course-complete-btn.completed{color:#fff;background:#16a34a}.course-complete-btn.completed:hover{background:#15803d}.course-empty-state{color:#9aa5b1;justify-content:center;align-items:center;min-height:300px;display:flex}.course-error,.course-loading{justify-content:center;align-items:center;min-height:200px;display:flex}*{box-sizing:border-box}@keyframes fade-in-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:.5s ease-out both fade-in-up}body{color:#1f2933;background:#f4f6f8;margin:0;font-family:system-ui,-apple-system,sans-serif}.navbar{color:#fff;background:#2563eb;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.navbar .brand{color:#fff;font-size:1.25rem;font-weight:700;text-decoration:none}.nav-actions{align-items:center;gap:1rem;display:flex}.nav-actions button{color:#2563eb;cursor:pointer;background:#fff;border:none;border-radius:4px;padding:.4rem .8rem}.page{max-width:800px;margin:2rem auto;padding:0 1rem}.activity-form,.inline-form{flex-direction:column;gap:.75rem;display:flex}.inline-form{flex-direction:row;margin-bottom:1.5rem}label{flex-direction:column;gap:.25rem;font-size:.9rem;display:flex}input,textarea,select,button{border:1px solid #cbd2d9;border-radius:4px;padding:.5rem;font-size:1rem}button{color:#fff;cursor:pointer;background:#2563eb;border:none;width:fit-content}button:hover{background:#1d4ed8}.error{color:#dc2626}.success{color:#16a34a}.muted{color:#7b8794;font-size:.9rem}.course-list,.activity-list{flex-direction:column;gap:1rem;padding:0;list-style:none;display:flex}.course-card{background:#fff;border-radius:8px;padding:1rem;transition:transform .25s,box-shadow .25s;box-shadow:0 1px 3px #00000014}.course-card:hover{transform:translateY(-4px)scale(1.02);box-shadow:0 14px 28px #0f172a1f}.course-card a{color:#1f2933;text-decoration:none}.badge{color:#166534;background:#dcfce7;border-radius:4px;padding:.2rem .5rem;font-size:.8rem;display:inline-block}.question-editor,.question-block{border:1px solid #e4e7eb;border-radius:6px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.option-row{align-items:center;gap:.5rem;display:flex}.options-editor,.options-list{flex-direction:column;gap:.5rem;display:flex}.correct-label{flex-direction:row;align-items:center;gap:.25rem;font-size:.85rem}
