@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap";.login-page{box-sizing:border-box;background:#263b82;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:35px;font-family:Inter,Segoe UI,Arial,sans-serif;display:flex}.login-card{background:#fff;border-radius:18px;grid-template-columns:390px 1fr;width:min(1000px,100%);height:600px;display:grid;overflow:hidden;box-shadow:0 25px 60px #08143c4d}.login-panel{box-sizing:border-box;background:#fff;flex-direction:column;padding:30px 35px;display:flex;position:relative}.login-brand{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;margin-top:5px;margin-bottom:12px;display:flex}.login-logo{object-fit:contain;width:105px;height:105px;margin-bottom:2px}.brand-title{color:#263b82;letter-spacing:8px;margin-left:8px;font-size:38px;font-weight:900;line-height:.95;display:block}.brand-subtitle{color:#263b82;letter-spacing:5px;margin-top:8px;font-size:11px;font-weight:700;display:block}.login-content{width:100%;max-width:280px;margin:auto}.user-icon{background:#263b82;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;margin:0 auto 22px;display:flex}.user-icon svg{stroke:#fff;stroke-width:1.4px;width:34px;height:34px}.login-form{width:100%}.input-group{box-sizing:border-box;border:1.5px solid #333;border-radius:18px;align-items:center;width:100%;height:34px;margin-bottom:12px;transition:all .2s;display:flex}.input-group:focus-within{border-color:#263b82;box-shadow:0 0 0 3px #263b821a}.input-icon{flex-shrink:0;justify-content:center;align-items:center;width:35px;display:flex}.input-icon svg{stroke:#222;stroke-width:1.4px;width:15px;height:15px}.input-group input{color:#222;letter-spacing:.3px;background:0 0;border:none;outline:none;width:100%;height:100%;padding:0 12px 0 0;font-size:9px;font-weight:600}.input-group input::placeholder{color:#444;opacity:1}.error-message{text-align:center;color:#d32f2f;margin:7px 0;font-size:10px;font-weight:600}.login-button{color:#fff;letter-spacing:.7px;cursor:pointer;background:#263b82;border:none;border-radius:17px;width:100%;height:34px;font-size:9px;font-weight:800;transition:transform .2s,background .2s,box-shadow .2s}.login-button:hover{background:#1d2e69;transform:translateY(-1px);box-shadow:0 5px 12px #263b8240}.login-button:active{transform:translateY(0)}.login-options{justify-content:space-between;align-items:center;margin-top:9px;font-size:8px;display:flex}.login-options label{color:#555;cursor:pointer;align-items:center;gap:4px;display:flex}.login-options input{width:9px;height:9px;margin:0}.login-options a{color:#555;text-decoration:none}.login-options a:hover{color:#263b82;text-decoration:underline}.login-dots{justify-content:center;align-items:center;gap:4px;margin-top:auto;display:flex}.login-dots span{background:#222;border-radius:50%;width:4px;height:4px}.login-dots span:nth-child(2){width:5px;height:5px}.welcome-panel{background:#102d61;position:relative;overflow:hidden}.welcome-background{object-fit:cover;z-index:0;filter:brightness(.55);width:100%;height:100%;position:absolute;inset:0;transform:scale(1.02)}.welcome-overlay{z-index:1;pointer-events:none;background:linear-gradient(90deg,#0c2d5fa6,#10306059);position:absolute;inset:0}.welcome-content{z-index:3;box-sizing:border-box;color:#fff;flex-direction:column;height:100%;padding:25px 30px;display:flex;position:relative}.welcome-panel:before{content:"";filter:blur(7px);opacity:.85;background:linear-gradient(110deg,#ffffff0d,#ffe6aed9,#ffffff14);border-radius:45%;width:270px;height:650px;position:absolute;top:-100px;left:100px;transform:rotate(15deg)}.welcome-panel:after{content:"";filter:blur(3px);opacity:.9;background:linear-gradient(130deg,#4fa9d0,#23528e);border-radius:50%;width:250px;height:520px;position:absolute;bottom:-180px;right:-80px;transform:rotate(-20deg)}.welcome-top{letter-spacing:.5px;justify-content:space-between;align-items:center;font-size:7px;display:flex}.welcome-top>span{font-weight:700}.welcome-links{opacity:.8;gap:20px;display:flex}.welcome-center{max-width:320px;margin:auto 0 auto 35px}.welcome-center h1{letter-spacing:-2px;margin:0 0 12px;font-size:clamp(42px,5vw,68px);font-weight:800;line-height:.95}.welcome-center p{color:#ffffffe0;max-width:260px;margin:0 0 10px;font-size:11px;line-height:1.7}.welcome-small{color:#ffffffa6;font-size:8px;line-height:1.5;display:block}.welcome-bottom{letter-spacing:.5px;opacity:.7;justify-content:space-between;font-size:7px;display:flex}.proyecto-banner{text-align:center;justify-content:center;align-items:center;width:100%;margin-top:12px;display:flex}.proyecto-banner-text{box-shadow:none;background:0 0;border-radius:0;min-width:0;padding:8px 20px}.proyecto-banner-text span{color:#ffffffc7;font-size:9px;font-weight:500;line-height:1.5;display:block}.proyecto-banner-text b{color:#72ddd6;font-weight:700}.proyecto-banner-text small{color:#ffffff7a;margin-top:2px;font-size:8px;display:block}.dashboard-admin{width:100%}.dashboard-header{justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:38px;display:flex}.dashboard-label{color:#087c78;letter-spacing:1.6px;font-size:11px;font-weight:800}.dashboard-header h1{color:#102f50;margin:8px 0 10px;font-size:34px;font-weight:800}.dashboard-header p{color:#71839a;margin:0;font-size:15px}.dashboard-year{background:#fff;border:1px solid #e4eaf1;border-radius:17px;align-items:center;gap:13px;min-width:210px;padding:15px 20px;display:flex;box-shadow:0 8px 25px #102f500d}.dashboard-year-icon{color:#087c78;background:#e7f6f3;border-radius:13px;justify-content:center;align-items:center;width:47px;height:47px;display:flex}.dashboard-year div:last-child{flex-direction:column;gap:4px;display:flex}.dashboard-year span{color:#7b8da3;letter-spacing:1px;font-size:10px;font-weight:800}.dashboard-year strong{color:#102f50;font-size:15px}.dashboard-section-title{margin-bottom:19px}.dashboard-section-title span{color:#8092a7;letter-spacing:1.5px;font-size:10px;font-weight:800}.dashboard-section-title h2{color:#102f50;margin:7px 0 0;font-size:21px}.dashboard-cards{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.dashboard-card{background:#fff;border:1px solid #e4eaf1;border-radius:17px;min-height:125px;padding:22px;position:relative;overflow:hidden;box-shadow:0 8px 25px #102f500b}.dashboard-card:before{content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.dashboard-card.teal:before{background:#087c78}.dashboard-card.blue:before{background:#387cff}.dashboard-card.purple:before{background:#8c54ef}.dashboard-card.yellow:before{background:#dfa01d}.dashboard-card.green:before{background:#18a66b}.dashboard-card.orange:before{background:#ef753b}.card-icon{border-radius:11px;justify-content:center;align-items:center;width:38px;height:38px;margin-bottom:11px;font-size:16px;display:flex}.teal .card-icon{color:#087c78;background:#e8f7f5}.blue .card-icon{color:#387cff;background:#edf3ff}.purple .card-icon{color:#8c54ef;background:#f3efff}.yellow .card-icon{color:#dfa01d;background:#fff6e4}.green .card-icon{color:#18a66b;background:#eaf8f1}.orange .card-icon{color:#ef753b;background:#fff1e9}.dashboard-card>span{color:#8191a4;letter-spacing:1px;font-size:10px;font-weight:800;position:absolute;top:30px;left:72px}.dashboard-card strong{color:#102f50;margin-top:7px;font-size:32px;font-weight:800;line-height:1;display:block}.dashboard-card p{color:#8a9bad;margin:7px 0 0;font-size:12px}.quick-title{margin-top:40px}.dashboard-quick{grid-template-columns:repeat(2,1fr);gap:17px;display:grid}.dashboard-quick button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e4eaf1;border-radius:15px;align-items:center;gap:15px;width:100%;min-height:88px;padding:17px 19px;transition:all .2s;display:flex;box-shadow:0 7px 20px #102f5009}.dashboard-quick button:hover{transform:translateY(-2px);box-shadow:0 12px 27px #102f5012}.quick-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:45px;height:45px;display:flex}.quick-icon.purple{color:#8553e9;background:#f2edff}.quick-icon.blue{color:#387cff;background:#edf3ff}.quick-icon.teal{color:#087c78;background:#e8f7f5}.quick-icon.orange{color:#ef753b;background:#fff1e9}.dashboard-quick button div:nth-child(2){flex:1}.dashboard-quick strong{color:#102f50;font-size:14px}.dashboard-quick p{color:#8191a4;margin:4px 0 0;font-size:12px}.dashboard-quick button>span:last-child{color:#94a3b4;font-size:21px}.dashboard-loading{color:#71839a;padding:30px}@media (width<=1000px){.dashboard-cards{grid-template-columns:repeat(2,1fr)}}@media (width<=750px){.dashboard-header{flex-direction:column}.dashboard-year{box-sizing:border-box;width:100%}.dashboard-cards,.dashboard-quick{grid-template-columns:1fr}}:root{--ink:#172a3b;--muted:#70808f;--line:#e6edef;--surface:#fff;--canvas:#f5f8f9;--teal:#1e0f76;--teal-light:#e8f6f3;--blue:#2563eb;--blue-light:#edf3ff;--amber:#d97706;--amber-light:#fff6e8;--navy:#102d43;--navy-light:#193b52;--shadow:0 12px 35px #1e3a480f}body{background:var(--canvas);color:var(--ink);margin:0;font-family:DM Sans,sans-serif}button{cursor:pointer;font-family:inherit}.maestro-layout{background:var(--canvas);min-height:100vh}.brand-logo{background:#3449c2;border-radius:9px;place-items:center;width:34px;height:34px;display:grid;overflow:hidden}.brand-name{color:#fff;font-family:Plus Jakarta Sans,sans-serif;font-size:22px;font-weight:800}.sidebar-profile{background:var(--navy-light);border:1px solid #2a2869;border-radius:13px;align-items:center;gap:10px;padding:11px;display:flex}.profile-avatar{width:36px;height:36px;color:var(--teal);background:#ddf4ee;border-radius:50%;place-items:center;font-size:11px;font-weight:800;display:grid}.profile-info strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.profile-more{color:#838db1;background:0 0;border:none;margin-left:auto;font-size:14px}.sidebar-nav{margin-top:25px}.nav-item{color:#b5cdd3;text-align:left;background:0 0;border:none;border-radius:9px;align-items:center;gap:13px;width:100%;margin:3px 0;padding:11px 13px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.nav-icon{color:#7fa8b5;text-align:center;width:18px;font-size:17px}.nav-badge{color:#bac1f1;background:#2d3d78;border-radius:5px;margin-left:auto;padding:2px 6px;font-size:10px;font-weight:800}.help-circle{color:#9cace0;background:#2d3773;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.help-content button{color:#6291ce;background:0 0;border:none;margin-top:7px;padding:0;font-size:11px;font-weight:700}.logout-button{color:#7883ab;background:0 0;border:none;font-size:18px;transition:all .2s}.maestro-main{min-height:100vh;margin-left:250px}.breadcrumb strong{color:var(--ink)}.topbar-icon{color:#667b87;background:0 0;border:none;width:32px;height:32px;font-size:21px;position:relative}.dashboard-content{max-width:1450px;margin:0 auto;padding:38px 40px 50px}.dashboard-eyebrow,.section-eyebrow{color:var(--teal);letter-spacing:1.4px;font-size:10px;font-weight:800}.dashboard-heading h1{letter-spacing:-.7px;margin:7px 0 5px;font-family:Plus Jakarta Sans,sans-serif;font-size:31px;font-weight:800}.dashboard-heading p{color:var(--muted);margin:0;font-size:14px}.dashboard-primary-button{background:var(--teal);color:#fff;border:none;border-radius:8px;padding:11px 17px;font-size:13px;font-weight:700;transition:all .2s;box-shadow:0 6px 15px #0f766e29}.dashboard-primary-button span{margin-left:10px}.section-heading h2,.courses-header h2{margin:5px 0 0;font-family:Plus Jakarta Sans,sans-serif;font-size:20px;font-weight:700}.stat-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:13px;align-items:center;gap:14px;padding:18px;display:flex}.stat-icon{border-radius:11px;place-items:center;width:43px;height:43px;font-size:19px;display:grid}.stat-content strong{color:var(--ink);margin-top:2px;font-family:Plus Jakarta Sans,sans-serif;font-size:20px;font-weight:800;display:block}.view-all-button{color:var(--teal);background:0 0;border:none;font-size:12px;font-weight:700}.course-level{color:var(--teal);text-transform:uppercase;letter-spacing:.9px;font-size:9px;font-weight:800}.course-card-body h3{margin:5px 0 4px;font-family:Plus Jakarta Sans,sans-serif;font-size:16px;font-weight:700}.course-card-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:11px 16px;display:flex}.course-card-footer button{color:var(--teal);background:0 0;border:none;font-size:11px;font-weight:700}.empty-courses h3{margin:0;font-size:14px}@media (width<=1150px){.maestro-sidebar{width:215px}.maestro-main{margin-left:215px}.dashboard-content{padding:30px}.course-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=850px){.stats-grid{grid-template-columns:1fr}.dashboard-heading{flex-direction:column;align-items:flex-start}.dashboard-primary-button{width:100%}}@media (width<=700px){.maestro-sidebar{display:none}.maestro-main{margin-left:0}.maestro-topbar{padding:0 18px}.dashboard-content{padding:25px 16px 35px}.dashboard-heading h1{font-size:25px}.course-grid{grid-template-columns:1fr}.courses-section{padding:18px}.courses-header{flex-direction:column;align-items:flex-start;gap:15px}}.admin-layout{--admin-blue:#0b239c;--admin-blue-dark:#071a78;--admin-navy:#0c2034;--admin-bg:#f4f7fb;--admin-border:#e4eaf1;--admin-text:#102a43;--admin-muted:#71839a;background:var(--admin-bg);min-height:100vh;display:flex}.sidebar{color:#fff;z-index:1000;background:linear-gradient(#0b25a8 0%,#071d91 100%);flex-direction:column;width:308px;transition:width .25s,transform .25s;display:flex;position:fixed;top:0;bottom:0;left:0;box-shadow:4px 0 18px #071d5b1f}.sidebar-header{padding:24px 20px 20px}.logo-area{text-align:center;flex-direction:column;align-items:center;display:flex}.logo-img{object-fit:contain;background:#fff;border-radius:16px;width:92px;height:92px;padding:7px;box-shadow:0 6px 18px #00000024}.logo-area h2{letter-spacing:-.3px;margin:15px 0 4px;font-size:19px;font-weight:750}.sidebar-role{color:#ffffffb8;margin:0;font-size:13px}.sidebar-menu{scrollbar-width:thin;flex:1;padding:12px 14px 20px;overflow-y:auto}.sidebar-section{margin-bottom:22px}.shell-section-label{letter-spacing:1.3px;text-transform:uppercase;color:#ffffff7a;margin:0 14px 9px;font-size:11px;font-weight:800}.sidebar-menu a{color:#ffffffc7;border-radius:11px;align-items:center;gap:13px;min-height:46px;margin-bottom:4px;padding:0 14px;font-size:14px;font-weight:550;text-decoration:none;transition:background .18s,color .18s,transform .18s;display:flex;position:relative}.sidebar-menu a svg{opacity:.82;flex-shrink:0}.sidebar-menu a:hover{color:#fff;background:#ffffff17;transform:translate(2px)}.sidebar-menu a.active{color:#fff;background:#ffffff26;font-weight:700;box-shadow:inset 3px 0 #42c8ff}.sidebar-menu a.active svg{opacity:1}.shell-user-avatar{color:#07305b;background:#3dc4f4;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;font-weight:800;display:grid}.shell-user-meta{flex-direction:column;min-width:0;display:flex}.shell-user-meta .role{color:#ffffff9e;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;overflow:hidden}.main-content{flex-direction:column;width:calc(100% - 308px);min-height:100vh;margin-left:308px;transition:margin-left .25s,width .25s;display:flex}.topbar{border-bottom:1px solid var(--admin-border);z-index:900;background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;height:80px;padding:0 32px;display:flex;position:sticky;top:0}.toggle-btn{width:42px;height:42px;color:var(--admin-blue);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;transition:background .18s;display:grid}.toggle-btn:hover{background:#f0f4ff}.topbar-title{flex-direction:column;display:flex}.topbar-title h3{color:var(--admin-text);margin:0;font-size:19px;font-weight:750}.topbar-title span{color:var(--admin-muted);margin-top:2px;font-size:12px}.user-info{flex-direction:column;align-items:flex-end;display:flex}.user-name{color:var(--admin-text);font-size:14px;font-weight:750}.user-role{color:var(--admin-muted);margin-top:2px;font-size:11px}.topbar-avatar{color:#087d78;background:#e7f6f4;border-radius:50%;place-items:center;width:42px;height:42px;font-size:14px;font-weight:800;display:grid}.topbar-actions{gap:4px;margin-left:6px;display:flex}.action-icon-btn{color:#718096;cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;width:38px;height:38px;transition:background .18s,color .18s;display:grid}.action-icon-btn:hover{color:var(--admin-blue);background:#f2f5f9}.action-icon-btn.logout:hover{color:#d64545;background:#fff1f1}.content{background:linear-gradient(#f5f7fb 0%,#f8fafc 100%);flex:1;padding:0}.content-inner{box-sizing:border-box;width:100%;max-width:1500px;margin:0 auto;padding:32px 38px 50px}.admin-layout.collapsed .sidebar{width:82px}.admin-layout.collapsed .main-content{width:calc(100% - 82px);margin-left:82px}.admin-layout.collapsed .logo-area{padding-top:3px}.admin-layout.collapsed .logo-img{border-radius:11px;width:50px;height:50px}.admin-layout.collapsed .sidebar-header{padding-left:14px;padding-right:14px}.admin-layout.collapsed .sidebar-menu{padding-left:10px;padding-right:10px}.admin-layout.collapsed .sidebar-menu a.active{box-shadow:none}.admin-layout.collapsed .shell-sidebar-footer{padding:10px}.admin-layout.collapsed .shell-user-card{justify-content:center;padding:7px}.shell-backdrop{display:none}@media (width<=900px){.sidebar{width:290px;transform:translate(-100%)}.admin-layout.mobile-open .sidebar{transform:translate(0)}.admin-layout.collapsed .sidebar{width:290px}.main-content,.admin-layout.collapsed .main-content{width:100%;margin-left:0}.shell-backdrop{z-index:950;background:#05122673;position:fixed;inset:0}.admin-layout.mobile-open .shell-backdrop{display:block}.topbar{height:70px;padding:0 18px}.topbar-title h3{font-size:16px}.topbar-title span,.user-info{display:none}.content-inner{padding:24px 18px 40px}}@media (width<=560px){.topbar{padding:0 13px}.topbar-left{gap:10px}.topbar-actions{margin-left:0}.topbar-avatar{width:36px;height:36px}.action-icon-btn{width:34px;height:34px}.content-inner{padding:20px 13px 35px}}.boletin-tabla,.reporte-header,.reporte-info{page-break-inside:avoid;break-inside:avoid}.reporte-tabla-formal{border-collapse:collapse;table-layout:fixed;background:#fff;width:100%;margin-top:18px;font-size:13px}.reporte-tabla-formal th,.reporte-tabla-formal td{text-align:center;vertical-align:middle;color:#000;border:1px solid #333;padding:7px 6px}.reporte-tabla-formal thead th{font-weight:700}.reporte-tabla-formal tbody td:first-child{text-align:left;width:220px;font-style:italic}.asignaturas-cell{width:220px;font-size:15px}.titulo-competencias{font-size:16px;font-weight:800}.observaciones-cell{width:180px;font-size:15px}.reporte-info{border:1px solid #333;border-bottom:none;grid-template-columns:1fr 180px;margin-top:16px;display:grid}.reporte-info div{border-bottom:1px solid #333;padding:8px}.reporte-info div:nth-child(odd){border-right:1px solid #333}.reporte-header{display:center;text-align:center;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.fecha-reporte{font-weight:600}.boletin-tabla{table-layout:fixed;width:100%;margin-top:0;font-size:13px;border-collapse:collapse!important;border:1px solid #000!important}.boletin-tabla th,.boletin-tabla td{text-align:center;vertical-align:middle;color:#000;padding:6px;background:#fff!important;border:1px solid #000!important}.boletin-tabla td:first-child{text-align:left;font-style:italic}.boletin-tabla .asignaturas{width:230px;font-weight:700}.boletin-tabla .observaciones{width:180px;font-weight:700}.boletin-tabla .titulo-competencias{font-size:15px;font-weight:700}.icon-container{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;display:flex}.info-item{align-items:center;gap:14px;font-size:1.05rem;display:flex}.info-text{align-items:center;display:flex}.icon-container-materia{color:#0284c7;background-color:#e0f2fe;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:1rem;display:flex}.curso-icon{color:#0284c7;background-color:#e0f2fe}.nivel-icon{color:#7c3aed;background-color:#f3e8ff}.anio-icon{color:#16a34a;background-color:#dcfce7}.eval-icon{color:#d97706;background-color:#fef3c7}.icon-back{font-size:.9rem}.info-grid{flex-direction:column;gap:16px;width:100%;display:flex}.info-item{align-items:center;gap:16px;width:100%;display:flex}.info-text{align-items:center;font-size:1.05rem;line-height:1;display:flex}.info-text span{color:#1e4a9a;margin-right:6px;font-weight:700}.info-text span:after{content:":"}.info-text strong{color:#334155;font-weight:600}.icon-container{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.icon-container svg{width:18px;height:18px;display:block}.materia-header{align-items:center;gap:14px;margin-bottom:24px;display:flex}.icon-container-materia{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.icon-container-materia svg{width:16px;height:16px;display:block}.periodo-card{background-color:#fff;border:1px solid #f1f5f9;border-radius:16px;flex-direction:column;gap:10px;margin-top:20px;margin-bottom:25px;padding:24px 30px;display:flex}.periodo-card label{color:#334155;font-size:.95rem;font-weight:600}.periodo-card select{color:#1e293b;background-color:#fff;border:1px solid #cbd5e1;border-radius:10px;outline:none;width:100%;max-width:300px;padding:10px 14px;font-size:.95rem}.asignacion-page{color:#333;background-color:#f8fafc;padding:30px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.btn-volver{color:#1e40af;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;margin-bottom:25px;padding:10px 20px;font-size:16px;font-weight:600;transition:background-color .2s,border-color .2s}.btn-volver:hover{background-color:#f1f5f9;border-color:#94a3b8}.titulo-page{color:#1f2937;margin-bottom:25px;font-size:32px;font-weight:700}.info-curso-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:25px;padding:28px}.info-curso-card h2{color:#111;margin-bottom:20px;font-size:26px;font-weight:700}.info-grid{flex-direction:column;gap:16px;display:flex}.info-item{font-size:18px;line-height:1.5}.info-item span{color:#1e40af;font-weight:700}.info-item strong{color:#374151;margin-left:4px;font-weight:600}.periodo-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:25px;padding:28px}.periodo-card label{color:#4b5563;margin-bottom:12px;font-size:18px;font-weight:600;display:block}.periodo-card select{color:#1f2937;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;max-width:340px;padding:12px 16px;font-size:17px}.mensaje-periodo{color:#4b5563;text-align:center;background-color:#f1f5f9;border-radius:8px;margin-top:40px;padding:24px;font-size:18px}*{box-sizing:border-box}body{background:#f4f6fb;margin:0;font-family:Arial,sans-serif}.admin-layout{width:100vw;height:100vh;display:flex;overflow:hidden}.sidebar{color:#fff;background:#011da5;flex-direction:column;width:260px;min-width:260px;height:100vh;transition:width .3s,min-width .3s;display:flex;overflow:hidden}.sidebar-header{border-bottom:1px solid #ffffff1a;flex-direction:column;justify-content:center;align-items:center;padding:20px 15px;display:flex}.logo-area{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.sidebar .logo-img{border-radius:8px;width:100%;max-width:110px;height:auto}.sidebar h2{letter-spacing:1px;margin:5px 0 0;font-size:18px}.sidebar-menu{flex-direction:column;flex:1;gap:6px;padding:15px 10px;display:flex;overflow-y:auto}.sidebar-menu a{color:#fff;white-space:nowrap;border-radius:10px;align-items:center;gap:12px;padding:12px;text-decoration:none;transition:background .2s;display:flex}.sidebar-menu a.active,.sidebar-menu a:hover{background:#ffffff2e}.main-content{flex-direction:column;flex:1;height:100vh;display:flex;overflow:hidden}.topbar{background:#fff;border-bottom:1px solid #ddd;justify-content:space-between;align-items:center;height:70px;padding:0 28px;display:flex}.topbar-left{align-items:center;gap:15px;display:flex}.topbar-left h3{color:#1e293b;margin:0}.toggle-btn{color:#011da5;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:8px;transition:background-color .2s;display:flex}.toggle-btn:hover{background-color:#f1f5f9}.topbar-right{align-items:center;display:flex}.user-profile{align-items:center;gap:15px;display:flex}.data-table button{cursor:pointer;border:none;border-radius:7px;margin-right:8px;padding:7px 12px}.data-table button:first-child{color:#000;background:#ffc107}.data-table button:last-child{color:#fff;background:#dc3545}.user-info{text-align:right;flex-direction:column;display:flex}.user-name{color:#1e293b;font-weight:600}.user-role{color:#64748b;font-size:.8rem}.topbar-actions{gap:8px;display:flex}.action-icon-btn{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:8px;transition:background .2s;display:flex}.action-icon-btn:hover{color:#1e293b;background-color:#f1f5f9}.action-icon-btn.logout:hover{color:#ef4444}.content{flex:1;padding:28px;overflow-y:auto}.card-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.card{background:#fff;border-radius:16px;padding:22px;box-shadow:0 4px 14px #00000014}.card p{color:#011da5;margin:10px 0 0;font-size:32px;font-weight:700}.form-card{background:#fff;border-radius:14px;gap:12px;margin-bottom:24px;padding:18px;display:flex;box-shadow:0 4px 14px #00000014}.form-card input,.form-card select{border:1px solid #ccc;border-radius:8px;padding:10px}.form-card button{color:#fff;cursor:pointer;background:#011da5;border:none;border-radius:8px;padding:10px 16px}.data-table{border-collapse:collapse;background:#fff;border-radius:14px;width:100%;overflow:hidden;box-shadow:0 4px 14px #00000014}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #eee;padding:14px}.data-table th{color:#fff;background:#011da5}.reportes-container{flex-direction:column;gap:20px;display:flex}.reportes-view-header{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.reportes-grid-niveles{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:25px;display:grid}.card-reporte-modulo{background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;padding:24px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 14px #0000000f}.card-reporte-modulo.primaria{border-top:4px solid #3b82f6}.card-reporte-modulo.secundaria{border-top:4px solid #10b981}.card-reporte-modulo.politecnico{border-top:4px solid #8b5cf6}.modulo-badge{text-transform:uppercase;border-radius:20px;padding:4px 8px;font-size:11px;font-weight:700;position:absolute;top:15px;right:15px}.badge-primaria{color:#2563eb;background:#eff6ff}.badge-secundaria{color:#059669;background:#ecfdf5}.badge-politecnico{color:#7c3aed;background:#f5f3ff}.modulo-desc{color:#64748b;min-height:38px;margin:5px 0 15px;font-size:13px}.form-row-reporte{flex-wrap:wrap;align-items:center;gap:15px;display:flex}.form-row-reporte select{flex:1;min-width:200px}.form-vertical-reporte{flex-direction:column;gap:12px;display:flex}.btn-primario{color:#fff;cursor:pointer;background:#011da5;border:none;border-radius:8px;padding:10px 20px;font-weight:600}.btn-accion-modulo{color:#1e293b;cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;padding:10px;font-weight:500;transition:all .2s}.btn-accion-modulo:hover{color:#000;background:#e2e8f0}.btn-accion-modulo.btn-anual{color:#011da5;background:#fff;border:1px dashed #011da5}.btn-accion-modulo.btn-anual:hover{background:#eff6ff}.pendientes-seccion{background:#fff7ed;border:1px solid #fed7aa}.btn-pendiente{color:#fff;cursor:pointer;background:#ea580c;border:none;border-radius:8px;padding:10px 20px;font-weight:600}.btn-pendiente:hover{background:#c2410c}.btn-print-main{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:8px;padding:12px 18px;font-weight:700}.badge-curso-tabla{color:#334155;background:#f1f5f9;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:500}.estado-pendiente-tag{color:#dc2626;background:#fee2e2;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:700}.modulo-header{justify-content:space-between;align-items:center;display:flex}.competencia-card{border-radius:22px;padding:24px;box-shadow:0 12px 30px #00000014}.modal-contenido button{margin-top:15px}.modulo-competencias{margin-top:25px}.modulo-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.modulo-header h2{color:#001fa8;font-size:26px;font-weight:800}.btn-ayuda{cursor:pointer;background:#fff;border:none;border-radius:16px;padding:14px 18px;font-size:28px;box-shadow:0 12px 28px #00000021}.modulo-form{border-radius:18px;grid-template-columns:280px 1fr 1fr auto;align-items:center;gap:14px;padding:22px;display:grid}.modulo-form h3{color:#001fa8;font-size:18px;font-weight:800}.modulo-form select,.modulo-form input{border:1px solid #d1d5db;border-radius:12px;height:46px;padding:0 14px}.modulo-form button,.acciones-calificaciones button{color:#fff;cursor:pointer;background:#001fa8;border:none;border-radius:10px;padding:13px 18px;font-weight:700}.competencias-grid{grid-template-columns:repeat(auto-fit,minmax(430px,1fr));gap:24px;margin-top:25px;display:grid}.competencia-card{background:#fff;border-radius:22px;padding:24px;box-shadow:0 14px 35px #00000014}.competencia-card h3{color:#001fa8;font-size:18px;font-weight:800}.contador-actividades{color:#001fa8;margin:18px 0;font-size:22px;font-weight:800}.sin-actividades{color:#6b7280;font-size:22px;font-weight:700}.actividad-box{margin-top:20px}.actividad-box h4{margin-bottom:12px;font-size:16px;font-weight:800}.tabla-notas{border-radius:12px;overflow:hidden}.tabla-notas input{text-align:center;border:1px solid #b7c3ff;border-radius:8px;width:80px;height:34px}.acciones-calificaciones{gap:12px;margin-top:22px;display:flex}.modal-ayuda{z-index:1000;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-contenido{background:#fff;border-radius:20px;width:460px;padding:28px;box-shadow:0 15px 45px #00000040}.modal-contenido h3{color:#001fa8;margin-bottom:14px}.modal-contenido button{color:#fff;background:#001fa8;border:none;border-radius:10px;margin-top:15px;padding:12px 20px}.auditoria-card{background:#fff;border-radius:18px;margin-top:24px;padding:24px;box-shadow:0 10px 28px #00000014}.auditoria-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.auditoria-header h2{color:#0f172a;margin:0}.auditoria-header p{color:#64748b;margin:6px 0 0}.auditoria-total{color:#b91c1c;background:#fee2e2;border-radius:999px;padding:10px 16px;font-weight:800}.auditoria-table{border-collapse:collapse;width:100%}.auditoria-table th{color:#fff;text-align:left;background:#011da5;padding:14px}.auditoria-table td{border-bottom:1px solid #e5e7eb;padding:14px}.nivel-tag{color:#1d4ed8;background:#eff6ff;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700}.fila-pendiente{background:#fef2f2}.fila-pendiente:hover{background:#fee2e2}.fila-completada{background:#f0fdf4}.fila-completada:hover{background:#dcfce7}.estado-pendiente{color:#fff;background:#dc2626;border-radius:999px;padding:6px 12px;font-weight:700}.estado-ok{color:#fff;background:#16a34a;border-radius:999px;padding:6px 12px;font-weight:700}.auditoria-vacio{text-align:center;color:#059669;padding:24px;font-weight:800}:root{--shell-brand:#011da5;--shell-brand-600:#0b2fc4;--shell-brand-700:#011a8f;--shell-brand-900:#01115e;--shell-accent:#38bdf8;--shell-surface:#f4f6fb;--shell-card:#fff;--shell-border:#e5e9f2;--shell-text:#1e293b;--shell-muted:#64748b;--shell-sidebar-w:264px;--shell-sidebar-rail:78px}.admin-layout{background:var(--shell-surface);width:100%;height:100vh;min-height:100vh;color:var(--shell-text);display:flex;overflow:hidden}.admin-layout .sidebar{width:var(--shell-sidebar-w);min-width:var(--shell-sidebar-w);background:linear-gradient(180deg, var(--shell-brand) 0%, var(--shell-brand-900) 100%);color:#fff;z-index:40;flex-direction:column;height:100vh;transition:width .25s,min-width .25s,transform .25s;display:flex;overflow:hidden;box-shadow:2px 0 18px #01115e2e}.admin-layout.collapsed .sidebar{width:var(--shell-sidebar-rail);min-width:var(--shell-sidebar-rail)}.admin-layout .sidebar-header{border-bottom:1px solid #ffffff1f;justify-content:center;align-items:center;min-height:132px;padding:20px 16px;display:flex}.admin-layout .logo-area{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.admin-layout .sidebar .logo-img{background:#ffffffeb;border-radius:12px;width:100%;max-width:96px;height:auto;padding:6px}.admin-layout .sidebar h2{letter-spacing:.4px;margin:4px 0 0;font-size:16px;font-weight:700}.admin-layout .sidebar-role{color:#ffffffb8;margin:0;font-size:12px;font-weight:500}.admin-layout.collapsed .sidebar-header{min-height:72px;padding:14px 8px}.admin-layout .sidebar-menu{flex-direction:column;flex:1;gap:2px;padding:14px 12px 8px;display:flex;overflow:hidden auto}.admin-layout .sidebar-menu::-webkit-scrollbar{width:6px}.admin-layout .sidebar-menu::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}.shell-section-label{letter-spacing:1.2px;text-transform:uppercase;color:#ffffff80;white-space:nowrap;padding:14px 12px 6px;font-size:10.5px;font-weight:700}.admin-layout .sidebar-menu a{color:#ffffffdb;white-space:nowrap;border-radius:10px;align-items:center;gap:12px;padding:11px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background .18s,color .18s;display:flex;position:relative}.admin-layout .sidebar-menu a svg{flex-shrink:0}.admin-layout .sidebar-menu a:hover{color:#fff;background:#ffffff1f}.admin-layout .sidebar-menu a.active{color:#fff;background:#ffffff29;font-weight:600}.admin-layout .sidebar-menu a.active:before{content:"";background:var(--shell-accent);border-radius:0 4px 4px 0;width:4px;height:22px;position:absolute;top:50%;left:-12px;transform:translateY(-50%)}.admin-layout.collapsed .sidebar-menu a{justify-content:center;padding:12px 0}.admin-layout.collapsed .shell-section-label{display:none}.admin-layout.collapsed .sidebar-menu a.active:before{left:0}.shell-sidebar-footer{border-top:1px solid #ffffff1f;padding:12px}.shell-user-card{background:#ffffff14;border-radius:10px;align-items:center;gap:10px;padding:8px;display:flex}.shell-user-avatar{background:var(--shell-accent);width:38px;height:38px;color:var(--shell-brand-900);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.shell-user-meta{flex-direction:column;display:flex;overflow:hidden}.shell-user-meta .name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.shell-user-meta .role{color:#ffffffb3;white-space:nowrap;font-size:11.5px}.admin-layout.collapsed .shell-user-meta{display:none}.admin-layout.collapsed .shell-user-card{justify-content:center}.admin-layout .main-content{flex-direction:column;flex:1;min-width:0;height:100vh;display:flex;overflow:hidden}.admin-layout .topbar{background:var(--shell-card);border-bottom:1px solid var(--shell-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;height:68px;padding:0 24px;display:flex}.admin-layout .topbar-left{align-items:center;gap:14px;min-width:0;display:flex}.admin-layout .topbar-left h3{color:var(--shell-text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:17px;font-weight:700;overflow:hidden}.admin-layout .toggle-btn{color:var(--shell-brand);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:8px;transition:background-color .18s;display:flex}.admin-layout .toggle-btn:hover{background-color:#eef1fb}.shell-year-badge{color:var(--shell-brand);background:#eef1fb;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.admin-layout .topbar-right{align-items:center;gap:16px;display:flex}.admin-layout .user-profile{align-items:center;gap:14px;display:flex}.admin-layout .user-info{text-align:right;flex-direction:column;line-height:1.25;display:flex}.admin-layout .user-name{color:var(--shell-text);font-size:14px;font-weight:600}.admin-layout .user-role{color:var(--shell-muted);font-size:12px}.admin-layout .topbar-actions{gap:6px;display:flex}.admin-layout .action-icon-btn{cursor:pointer;color:var(--shell-muted);background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:9px;transition:background .18s,color .18s,border-color .18s;display:flex}.admin-layout .action-icon-btn:hover{color:var(--shell-brand);border-color:var(--shell-border);background-color:#eef1fb}.admin-layout .action-icon-btn.logout:hover{color:#ef4444;background-color:#fee2e2;border-color:#fecaca}.admin-layout .content{background:var(--shell-surface);flex:1;padding:28px;overflow-y:auto}.shell-backdrop{z-index:35;background:#0f172a73;display:none;position:fixed;inset:0}@media (width<=900px){.admin-layout .sidebar{width:var(--shell-sidebar-w);min-width:var(--shell-sidebar-w);position:fixed;top:0;left:0;transform:translate(-100%)}.admin-layout.mobile-open .sidebar{transform:translate(0)}.admin-layout.collapsed .sidebar{width:var(--shell-sidebar-w);min-width:var(--shell-sidebar-w)}.admin-layout.collapsed .shell-section-label{display:block}.admin-layout.collapsed .sidebar-menu a{justify-content:flex-start;padding:11px 12px}.admin-layout.collapsed .shell-user-meta{display:flex}.admin-layout.mobile-open .shell-backdrop{display:block}.admin-layout .topbar{padding:0 16px}.admin-layout .topbar-left h3{font-size:15px}.admin-layout .content{padding:18px}.admin-layout .user-info,.shell-year-badge span{display:none}}.maestro-menu-toggle,.maestro-menu-overlay{display:none}@media (width<=700px){.maestro-layout .maestro-main{margin-left:0;padding-top:60px}.maestro-menu-toggle{top:calc(10px + env(safe-area-inset-top,0px));z-index:120;background:var(--navy,#102d43);color:#fff;border:none;border-radius:12px;place-items:center;width:42px;height:42px;font-size:20px;display:grid;position:fixed;left:12px;box-shadow:0 6px 18px #102d4340}.maestro-menu-overlay{z-index:90;background:#0c203473;display:block;position:fixed;inset:0}.maestro-layout .maestro-sidebar{width:min(280px,85vw);padding-top:calc(64px + env(safe-area-inset-top,0px));transition:transform .25s;display:flex;overflow-y:auto;transform:translate(-100%)}.maestro-layout .maestro-sidebar.abierto{transform:translate(0);box-shadow:0 0 40px #0000004d}}@media print{.maestro-menu-toggle,.maestro-menu-overlay{display:none!important}}:root{--notif-azul:#0b239c;--notif-azul-oscuro:#071a78;--notif-texto:#102a43;--notif-muted:#5f7189;--notif-borde:#e4eaf1;--notif-exito:#12a150;--notif-exito-suave:#e8f8ef;--notif-error:#d64545;--notif-error-suave:#fff1f1;--notif-advertencia:#e09b12;--notif-advertencia-suave:#fff7e6;--notif-info:#0b239c;--notif-info-suave:#eef2ff;--toastify-font-family:inherit;--toastify-toast-bd-radius:14px;--toastify-toast-width:380px;--toastify-toast-min-height:64px;--toastify-z-index:10000;--toastify-color-light:#fff;--toastify-text-color-light:var(--notif-texto);--toastify-color-success:var(--notif-exito);--toastify-color-error:var(--notif-error);--toastify-color-warning:var(--notif-advertencia);--toastify-color-info:var(--notif-info);--toastify-color-progress-success:var(--notif-exito);--toastify-color-progress-error:var(--notif-error);--toastify-color-progress-warning:var(--notif-advertencia);--toastify-color-progress-info:var(--notif-info)}.Toastify__toast.notificacion{border:1px solid var(--notif-borde);color:var(--notif-texto);background:#fff;border-radius:14px;padding:14px 16px 14px 18px;font-size:14px;font-weight:500;line-height:1.45;position:relative;overflow:hidden;box-shadow:0 12px 32px #0c203424,0 2px 6px #0c20340f}.Toastify__toast.notificacion:before{content:"";background:var(--notif-acento,var(--notif-info));width:5px;position:absolute;inset:0 auto 0 0}.Toastify__toast.notificacion .Toastify__toast-icon{width:36px;height:36px;color:var(--notif-acento,var(--notif-info));background:var(--notif-acento-suave,var(--notif-info-suave));border-radius:10px;flex-shrink:0;place-items:center;margin-inline-end:12px;display:grid}.Toastify__toast.notificacion.Toastify__toast--success{--notif-acento:var(--notif-exito);--notif-acento-suave:var(--notif-exito-suave)}.Toastify__toast.notificacion.Toastify__toast--error{--notif-acento:var(--notif-error);--notif-acento-suave:var(--notif-error-suave)}.Toastify__toast.notificacion.Toastify__toast--warning{--notif-acento:var(--notif-advertencia);--notif-acento-suave:var(--notif-advertencia-suave)}.Toastify__toast.notificacion.Toastify__toast--info,.Toastify__toast.notificacion.Toastify__toast--default{--notif-acento:var(--notif-info);--notif-acento-suave:var(--notif-info-suave)}.Toastify__toast.notificacion .Toastify__close-button{color:var(--notif-muted);opacity:.6;align-self:flex-start}.Toastify__toast.notificacion .Toastify__close-button:hover{opacity:1}.Toastify__toast.notificacion .Toastify__progress-bar{height:3px}@media (width<=480px){.Toastify__toast-container{padding:8px}.Toastify__toast.notificacion{border-radius:12px;margin-bottom:8px}}.confirmacion-overlay{z-index:10001;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c203473;place-items:center;padding:16px;animation:.18s ease-out confirmacion-fade;display:grid;position:fixed;inset:0}.confirmacion-dialogo{--conf-acento:var(--notif-advertencia);--conf-acento-suave:var(--notif-advertencia-suave);width:100%;max-width:420px;color:var(--notif-texto);text-align:center;background:#fff;border-radius:18px;padding:28px 28px 24px;animation:.22s cubic-bezier(.2,.9,.3,1.2) confirmacion-entrada;position:relative;box-shadow:0 24px 60px #0c203447}.confirmacion-peligro{--conf-acento:var(--notif-error);--conf-acento-suave:var(--notif-error-suave)}.confirmacion-info{--conf-acento:var(--notif-azul);--conf-acento-suave:var(--notif-info-suave)}.confirmacion-exito{--conf-acento:var(--notif-exito);--conf-acento-suave:var(--notif-exito-suave)}.confirmacion-cerrar{width:32px;height:32px;color:var(--notif-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;display:grid;position:absolute;top:12px;right:12px}.confirmacion-cerrar:hover{color:var(--notif-texto);background:#f2f5f9}.confirmacion-icono{width:60px;height:60px;color:var(--conf-acento);background:var(--conf-acento-suave);box-shadow:0 0 0 8px color-mix(in srgb, var(--conf-acento-suave) 50%, transparent);border-radius:50%;place-items:center;margin:0 auto 16px;display:grid}.confirmacion-dialogo h3{color:var(--notif-texto);margin:0 0 8px;font-size:19px;font-weight:700}.confirmacion-dialogo p{color:var(--notif-muted);white-space:pre-line;overflow-wrap:anywhere;margin:0 0 24px;font-size:14.5px;line-height:1.55}.confirmacion-acciones{gap:10px;display:flex}.confirmacion-btn{min-height:44px;font:inherit;cursor:pointer;border-radius:10px;flex:1;padding:0 18px;font-size:14.5px;font-weight:600;transition:background .15s,transform .1s,box-shadow .15s}.confirmacion-btn:active{transform:scale(.98)}.confirmacion-btn-cancelar{border:1px solid var(--notif-borde);color:var(--notif-texto);background:#fff}.confirmacion-btn-cancelar:hover{background:#f4f7fb}.confirmacion-btn-confirmar{background:var(--conf-acento);color:#fff;box-shadow:0 6px 16px color-mix(in srgb, var(--conf-acento) 30%, transparent);border:1px solid #0000}.confirmacion-btn-confirmar:hover{filter:brightness(.95)}.confirmacion-btn:focus-visible{outline:3px solid color-mix(in srgb, var(--conf-acento) 35%, transparent);outline-offset:2px}@media (width<=420px){.confirmacion-acciones{flex-direction:column-reverse}}@keyframes confirmacion-fade{0%{opacity:0}}@keyframes confirmacion-entrada{0%{opacity:0;transform:translateY(12px)scale(.96)}}.filtros-busqueda{background:#fff;border:1px solid #e4eaf1;border-radius:14px;margin:20px 0 14px;padding:16px 18px;box-shadow:0 4px 14px #0c20340a}.filtros-fila{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.filtros-buscador{color:#71839a;background:#f8fafc;border:1px solid #d7e0ea;border-radius:10px;flex:260px;align-items:center;gap:8px;min-height:42px;padding:0 12px;display:flex}.filtros-buscador:focus-within{background:#fff;border-color:#0b239c;box-shadow:0 0 0 3px #0b239c1a}.filtros-buscador input{min-width:0;font:inherit;color:#102a43;background:0 0;border:none;outline:none;flex:1;font-size:14px}.filtros-select{flex-direction:column;flex:0 180px;gap:4px;min-width:140px;display:flex}.filtros-select span{letter-spacing:.4px;text-transform:uppercase;color:#71839a;font-size:11px;font-weight:700}.filtros-select select{min-height:42px;font:inherit;color:#102a43;cursor:pointer;background:#fff;border:1px solid #d7e0ea;border-radius:10px;padding:0 10px;font-size:14px}.filtros-select select:focus{border-color:#0b239c;outline:none;box-shadow:0 0 0 3px #0b239c1a}.filtros-resumen{color:#71839a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;font-size:13px;display:flex}.filtros-resumen strong{color:#102a43}.filtros-limpiar{color:#0b239c;font:inherit;cursor:pointer;background:#f0f4ff;border:none;border-radius:8px;align-items:center;gap:4px;padding:6px 10px;font-size:13px;font-weight:600;display:inline-flex}.filtros-limpiar:hover{background:#e3eaff}@media (width<=600px){.filtros-select{flex:calc(50% - 6px);min-width:0}}.paginacion{color:#71839a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:14px 0;font-size:13px;display:flex}.paginacion-resumen strong{color:#102a43}.paginacion-botones{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.paginacion-botones button{color:#102a43;min-width:34px;height:34px;font:inherit;cursor:pointer;background:#fff;border:1px solid #d7e0ea;border-radius:8px;justify-content:center;align-items:center;padding:0 8px;font-size:13px;display:inline-flex}.paginacion-botones button:hover:not(:disabled){color:#0b239c;border-color:#0b239c}.paginacion-botones button.activa{color:#fff;background:#0b239c;border-color:#0b239c;font-weight:700}.paginacion-botones button:disabled{opacity:.45;cursor:default}.paginacion-salto{padding:0 4px}.paginacion-tamano{align-items:center;gap:6px;display:flex}.paginacion-tamano select{height:34px;font:inherit;color:#102a43;background:#fff;border:1px solid #d7e0ea;border-radius:8px;padding:0 8px;font-size:13px}.reporte-primaria-anual{color:#000;page-break-after:always;background:#fff;width:1100px;margin:0 auto 35px;padding:20px 26px;font-family:Arial,sans-serif}.rpa-header{grid-template-columns:220px 1fr 230px;align-items:start;display:grid}.rpa-logo{object-fit:contain;width:170px;height:70px}.rpa-titulo{text-align:center;line-height:1.1}.rpa-titulo h2,.rpa-titulo h3{margin:3px 0}.rpa-grado{text-align:center;color:var(--acento);font-weight:700}.rpa-icono{color:#c9b0dd;font-size:42px;line-height:1}.rpa-grado h2{margin:0;font-size:23px}.rpa-grado h3{margin:0;font-size:16px}.rpa-nombre-container{align-items:end;margin-top:8px;margin-bottom:8px;display:flex}.rpa-nombre-label{background:var(--suave);text-align:center;border-top:5px solid #555;width:220px;padding:8px;font-weight:700}.rpa-nombre-linea{border-bottom:1px solid #222;flex:1;margin-left:10px;padding-bottom:4px;padding-left:15px;font-size:14px}.rpa-barra{background:var(--barra);color:#fff;text-align:center;margin-bottom:8px;padding:5px;font-weight:700}.rpa-tabla{border-collapse:collapse;width:100%;font-size:10px}.rpa-tabla th,.rpa-tabla td{text-align:center;border:1px solid #222;padding:4px}.rpa-tabla th{background:var(--suave);font-weight:700}.rpa-area-vertical{background:var(--suave);writing-mode:vertical-rl;width:30px;font-weight:700;transform:rotate(180deg)}.rpa-materia{width:145px;font-weight:700;text-align:left!important}.rpa-tabla .vertical{writing-mode:vertical-rl;background:var(--suave);width:28px;transform:rotate(180deg)}.rpa-observaciones{border-collapse:collapse;width:100%;margin-top:18px;font-size:12px}.rpa-observaciones td{border:1px solid #222;height:36px}.rpa-observaciones-title{background:var(--suave);writing-mode:vertical-rl;text-align:center;width:28px;font-weight:700;transform:rotate(180deg)}.rpa-periodo-label{background:var(--suave);text-align:center;width:35px;font-weight:700}.rpa-footer{grid-template-columns:1.2fr .45fr 1.75fr;gap:22px;margin-top:14px;display:grid}.rpa-asistencia,.rpa-escala{border-collapse:collapse;width:100%;font-size:10px}.rpa-asistencia th,.rpa-asistencia td,.rpa-escala th,.rpa-escala td{text-align:center;border:1px solid #222;padding:5px}.rpa-asistencia th,.rpa-escala th{background:var(--suave)}.rpa-leyenda{border:1px solid #222;padding:6px;font-size:9px}.rpa-leyenda strong{text-align:center;display:block}.rpa-leyenda p{margin:2px 0}.rpa-escala td:last-child{text-align:left}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.no-print,aside,nav,body>header{display:none!important}body{background:#fff!important}.reporte-primaria-anual{page-break-after:always;break-after:page;width:100%;margin:0;padding:0}}.reportes-anuales-secundaria{background:#fff}.reporte-secundaria-anual{color:#000;page-break-after:always;background:#fff;width:1050px;min-height:760px;margin:0 auto 35px;padding:25px 40px;font-family:Arial,sans-serif}.rsa-header{grid-template-columns:220px 1fr 230px;align-items:start;margin-bottom:5px;display:grid}.rsa-logos{align-items:center;display:flex}.rsa-logo-real{object-fit:contain;width:170px;height:70px}.rsa-titulo{text-align:center;line-height:1.1}.rsa-titulo h2,.rsa-titulo h3{margin:3px 0}.rsa-grado{color:var(--acento);justify-content:flex-end;align-items:center;line-height:.9;display:flex}.rsa-numero{font-size:110px;font-weight:900}.rsa-er{vertical-align:top;font-size:28px;font-weight:700}.rsa-grado-texto{color:var(--acento2);font-size:40px;font-weight:900;display:block}.rsa-grado p{text-align:center;color:var(--acento3);margin:0;font-size:14px;font-weight:700}.rsa-nombre-container{align-items:end;margin-top:8px;margin-bottom:4px;display:flex}.rsa-nombre-label{background:var(--label);text-align:center;border-top:5px solid #555;width:220px;padding:8px;font-weight:700}.rsa-nombre-linea{border-bottom:1px solid #222;flex:1;margin-left:10px;padding-bottom:4px;padding-left:15px;font-size:14px}.rsa-tabla{border-collapse:collapse;width:100%;margin-top:5px;font-size:11px}.rsa-tabla th,.rsa-tabla td{text-align:center;border:1px solid #222;padding:5px}.rsa-tabla th{background:var(--th);font-weight:700}.rsa-tabla .rsa-area,.rsa-tabla .materia-nombre{background:var(--area);font-weight:700}.rsa-tabla .materia-nombre{text-align:center;width:150px}.rsa-tabla .vertical{writing-mode:vertical-rl;min-width:32px;height:95px;transform:rotate(180deg)}.rsa-tabla .shaded{background:var(--shaded)}.rsa-firmas{text-align:center;grid-template-columns:1fr 1fr;gap:300px;margin:25px 70px 18px;font-size:13px;display:grid}.rsa-firmas span{border-top:1px solid #000;margin-bottom:3px;display:block}.rsa-firmas p{margin:0}.rsa-bloque-observacion-competencias{grid-template-columns:1.4fr 1fr;gap:5px;margin-top:8px;display:grid}.rsa-observaciones{border:1px solid #222;height:48px;margin-bottom:0;padding:8px}.rsa-competencias{background:#fff;border:1px solid #222;margin:0;padding:6px;font-size:10px}.rsa-competencias p{margin:2px 0}.rsa-footer{grid-template-columns:1fr 1.45fr;gap:5px;margin-top:5px;display:grid}.rsa-situacion,.rsa-leyenda{border:1px solid #222;padding:7px;font-size:11px}.rsa-situacion p{margin:3px 0 0 35px}.rsa-leyenda strong{text-align:center;font-size:14px;display:block}.rsa-leyenda p{margin:5px 0 0;line-height:1.3}.rsa-creditos{text-align:right;color:#bbb;margin-top:8px;font-size:11px}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body{background:#fff!important}.no-print,aside,nav,body>header{display:none!important}.reporte-secundaria-anual{page-break-after:always;break-after:page;border:none;width:100%;min-height:auto;margin:0;padding:0}}.reporte-politecnico-anual{box-sizing:border-box;color:#000;page-break-after:always;background:#fff;width:279mm;min-height:200mm;margin:0 auto;padding:6mm;font-family:Arial,sans-serif}.rpol-header{grid-template-columns:220px 1fr 220px;align-items:start;display:grid}.rpol-logos{gap:12px;display:flex}.rpol-logo-text{border:2px solid var(--circulo);width:65px;height:65px;color:var(--circulo-texto);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.rpol-titulo{text-align:center;line-height:1.1}.rpol-titulo h2,.rpol-titulo h3{margin:3px 0}.rpol-grado{color:var(--acento);justify-content:flex-end;align-items:center;line-height:.9;display:flex}.rpol-numero{font-size:105px;font-weight:900}.rpol-to{font-size:26px;font-weight:700}.rpol-grado-texto{font-size:38px;font-weight:900;display:block}.rpol-grado p{text-align:center;margin:0;font-size:13px;font-weight:700}.rpol-nombre-container{align-items:center;margin-top:6px;display:flex}.rpol-nombre-label{background:var(--label);text-align:center;border-top:5px solid #555;width:220px;padding:8px;font-weight:700}.rpol-nombre-estudiante{margin-left:20px;font-size:16px;font-weight:700}.rpol-tabla,.rpol-tabla-tecnica{border-collapse:collapse;width:100%;margin-top:5px;font-size:10px}.rpol-tabla th,.rpol-tabla td,.rpol-tabla-tecnica th,.rpol-tabla-tecnica td{text-align:center;border:1px solid #222;padding:4px}.rpol-tabla th,.rpol-tabla .rpol-area,.rpol-tabla .materia-nombre,.rpol-tabla-tecnica th{background:var(--th);font-weight:700}.rpol-tabla .materia-nombre{width:145px}.rpol-tabla .vertical{writing-mode:vertical-rl;min-width:30px;height:78px;transform:rotate(180deg)}.rpol-tabla .shaded{background:var(--shaded)}.rpol-tecnicas-title{text-align:center;background:var(--barra);color:#fff;margin:10px 0 4px;padding:4px;font-size:14px}.rpol-firmas{margin:10px 70px 6px}.rpol-firmas span{border-top:1px solid #000;margin-bottom:3px;display:block}.rpol-firmas p{margin:0}.rpol-observaciones{border:1px solid #222;height:38px;margin-bottom:5px;padding:7px}.rpol-footer{grid-template-columns:360px 1fr;gap:5px;display:grid}.rpol-situacion,.rpol-leyenda{border:1px solid #222;padding:7px;font-size:11px}.rpol-situacion p{margin:2px 0 0 35px}.rpol-leyenda strong{text-align:center;display:block}.rpol-creditos{text-align:right;color:#bbb;margin-top:8px;font-size:11px}.rpol-leyenda p{margin:4px 0 0}@media print{html,body,.reportes-politecnico-anual{width:100%!important;margin:0!important;padding:0!important}.reporte-politecnico-anual{box-sizing:border-box!important;page-break-after:always!important;break-after:page!important;width:100%!important;margin:0!important;padding:0!important}.reporte-politecnico-anual .rpol-header{visibility:visible!important;opacity:1!important;height:auto!important;max-height:none!important;display:grid!important;position:relative!important;overflow:visible!important}.reporte-politecnico-anual .rpol-header *{visibility:visible!important}.rpol-firmas{margin-top:6px!important;margin-bottom:5px!important}.rpol-observaciones{height:30px!important;margin-bottom:3px!important;padding:4px!important}.rpol-situacion,.rpol-leyenda{padding:4px!important}.rpol-situacion p{margin:1px 0 0 25px!important}.rpol-creditos{margin-top:2px!important;font-size:8px!important}}.rpol-logos-mir{align-items:center;display:flex}.rpol-logo-real{object-fit:contain;width:170px;height:70px}.rpol-competencias{background:#fff;border:1px solid #222;margin:0;padding:6px;font-size:10px}.rpol-competencias p{margin:2px 0}.reporte-estudiante{box-sizing:border-box;color:#1f2937;background:#fff;border:1px solid #d9dee7;border-radius:10px;width:100%;max-width:1000px;margin:0 auto 20px;padding:18px 20px;font-family:Arial,Helvetica,sans-serif}.reporte-header{text-align:center;margin-bottom:12px;line-height:1.25;position:relative}.reporte-header strong{margin-bottom:5px;font-size:15px;display:block}.reporte-header p{margin:2px 0;font-size:11px}.fecha-reporte{margin-top:6px;font-size:11px;font-weight:700}.reporte-info{border:1px solid #bfc6d1;border-radius:4px;grid-template-columns:1fr 90px;gap:0;margin-bottom:10px;font-size:11px;display:grid;overflow:hidden}.reporte-info>div{border-right:1px solid #bfc6d1;padding:7px 9px}.reporte-info>div:last-child{border-right:none}.boletin-tabla{border-collapse:collapse;table-layout:fixed;width:100%;margin-top:8px;font-size:10px}.boletin-tabla th,.boletin-tabla td{text-align:center;vertical-align:middle;border:1px solid #7d8793;padding:5px 3px;line-height:1.1}.boletin-tabla th{background:#f1f4f7;font-weight:700}.boletin-tabla td:first-child,.boletin-tabla th:first-child{text-align:left;padding-left:7px}.reporte-estudiante>.boletin-tabla:first-of-type th:first-child,.reporte-estudiante>.boletin-tabla:first-of-type td:first-child{width:125px}.reporte-estudiante h3{letter-spacing:.3px;font-size:12px;font-weight:700;margin:14px 0 7px!important}.reporte-estudiante>.boletin-tabla:nth-of-type(2){table-layout:fixed}.reporte-estudiante>.boletin-tabla:nth-of-type(2) th:first-child,.reporte-estudiante>.boletin-tabla:nth-of-type(2) td:first-child{text-align:left;white-space:normal;word-break:break-word;width:105px}.reporte-estudiante>.boletin-tabla:nth-of-type(2) th:not(:first-child),.reporte-estudiante>.boletin-tabla:nth-of-type(2) td:not(:first-child){text-align:center;width:31px;padding:4px 1px;font-size:9px}.reporte-estudiante>.boletin-tabla:nth-of-type(2) th:last-child,.reporte-estudiante>.boletin-tabla:nth-of-type(2) td:last-child{width:42px;font-weight:700}.recorte-texto{color:#8a929d;text-align:right;margin:8px 0 0;font-size:8px}@media print{.no-print,.sidebar,.topbar,aside,nav,header,button{display:none!important}html,body{background:#fff!important;height:auto!important;overflow:visible!important}.admin-layout,.main-content,.content,.reportes-container,#area-impresion,.reportes-print{height:auto!important;display:block!important;position:static!important;overflow:visible!important}.reporte-estudiante{box-sizing:border-box!important;page-break-inside:avoid!important;break-inside:avoid!important;border:1px solid #999!important;border-radius:3mm!important;width:190mm!important;height:87mm!important;margin:0 auto!important;padding:5mm!important;font-family:Arial,Helvetica,sans-serif!important;overflow:hidden!important}.reporte-estudiante:nth-child(3n){page-break-after:always!important;break-after:page!important}.reporte-header{margin-bottom:2mm!important}.reporte-header strong{margin-bottom:1mm!important;font-size:10pt!important}.reporte-header p{margin:.5mm 0!important;font-size:7.5pt!important}.fecha-reporte{margin-top:1mm!important;font-size:7.5pt!important}.reporte-info{grid-template-columns:1fr 18mm!important;margin-bottom:2mm!important;font-size:7.5pt!important}.reporte-info>div{padding:1.5mm 2mm!important}.boletin-tabla{margin-top:1.5mm!important;font-size:6.8pt!important}.boletin-tabla th,.boletin-tabla td{padding:1.2mm .8mm!important;line-height:1!important}.reporte-estudiante>.boletin-tabla:first-of-type th:first-child,.reporte-estudiante>.boletin-tabla:first-of-type td:first-child{width:34mm!important}.reporte-estudiante h3{margin:3mm 0 1.5mm!important;font-size:8pt!important}.reporte-estudiante>.boletin-tabla:nth-of-type(2) th:first-child,.reporte-estudiante>.boletin-tabla:nth-of-type(2) td:first-child{width:27mm!important;font-size:6.5pt!important}.reporte-estudiante>.boletin-tabla:nth-of-type(2) th:not(:first-child),.reporte-estudiante>.boletin-tabla:nth-of-type(2) td:not(:first-child){width:7.7mm!important;padding:1mm .2mm!important;font-size:6.3pt!important}.reporte-estudiante>.boletin-tabla:nth-of-type(2) th:last-child,.reporte-estudiante>.boletin-tabla:nth-of-type(2) td:last-child{width:11mm!important}.recorte-texto{margin:1.5mm 0 0!important;font-size:5.5pt!important}.reporte-politecnico-anual,.reporte-primaria-anual,.reporte-secundaria-anual{page-break-after:always!important;break-after:page!important}.reporte-estudiante{page:boletin}}@page{size:letter landscape;margin:6mm}@page boletin{size:A4 portrait;margin:10mm}.tabla-calificaciones-directas thead th{border-bottom:1px solid var(--mc-border);color:#71838c;letter-spacing:.55px;text-align:center;vertical-align:middle;background:#f6f9fa;height:auto;min-height:55px;padding:15px 16px;font-size:10px;font-weight:800;line-height:1.5}.tabla-calificaciones-directas thead th small{color:#71818e;text-overflow:ellipsis;white-space:normal;overflow-wrap:anywhere;max-width:200px;margin:0 auto;font-size:10px;font-weight:500;line-height:1.5;display:block;overflow:hidden}.tabla-calificaciones-directas thead th:first-child small{margin-left:0}.tabla-calificaciones-directas input::-webkit-inner-spin-button{appearance:none;margin:0}.tabla-calificaciones-directas input::-webkit-outer-spin-button{appearance:none;margin:0}@media (width<=1000px){.modulo-competencias{padding:28px 24px 35px}.captura-directa-info{grid-template-columns:repeat(2,minmax(0,1fr))}.tabla-calificaciones-directas{min-width:600px}}@media (width<=700px){.modulo-competencias{min-height:auto;padding:22px 15px 30px}.modulo-competencias-header{align-items:flex-start;gap:12px;margin-bottom:20px}.modulo-competencias-header h2{letter-spacing:-.35px;font-size:23px}.modulo-competencias-header p{font-size:12px}.modulo-competencias-header button{min-height:37px;padding:0 11px;font-size:11px}.captura-directa-info{gap:9px;margin-bottom:14px}.captura-directa-info span{min-height:78px;padding:13px 11px 12px 14px;font-size:10px}.captura-directa-info span:after{font-size:9px;top:9px;right:9px}.tabla-calificaciones-directas-wrapper{border-radius:10px}.tabla-calificaciones-directas{min-width:570px}.tabla-calificaciones-directas thead th{padding:12px 10px;font-size:9px}.tabla-calificaciones-directas thead th:first-child,.tabla-calificaciones-directas tbody td:first-child{min-width:195px}.tabla-calificaciones-directas tbody td{height:57px;padding:8px 10px}.tabla-calificaciones-directas tbody td input{width:58px;height:33px;font-size:11px}.captura-directa-ayuda{padding:11px 12px;font-size:10px}.modulo-competencias>button{width:100%;min-height:43px}}@media (width<=380px){.modulo-competencias{padding-left:10px;padding-right:10px}.modulo-competencias-header{flex-direction:column;align-items:stretch}.modulo-competencias-header button{align-self:flex-start}.captura-directa-info span{padding-left:11px;padding-right:8px}}.modulo-competencias{--mc-navy:#17324a;--mc-teal:#0f766e;--mc-teal-light:#eaf7f4;--mc-blue:#315f91;--mc-text:#23384a;--mc-muted:#71818e;--mc-border:#e4eaed;--mc-bg:#f7f9fa;--mc-white:#fff;box-sizing:border-box;background:var(--mc-bg);width:100%;min-height:100vh;color:var(--mc-text);padding:34px 38px 42px;font-family:DM Sans,Segoe UI,sans-serif}.modulo-competencias *,.modulo-competencias :before,.modulo-competencias :after{box-sizing:border-box}.modulo-competencias-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;display:flex}.modulo-competencias-header>div{min-width:0}.modulo-competencias-header h2{color:var(--mc-navy);letter-spacing:-.5px;margin:0 0 7px;font-size:28px;font-weight:750;line-height:1.25}.modulo-competencias-header p{color:var(--mc-muted);margin:0;font-size:13px;line-height:1.6}.modulo-competencias-header button{border:1px solid var(--mc-border);background:var(--mc-white);min-height:42px;color:var(--mc-teal);cursor:pointer;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:0 17px;font-family:inherit;font-size:12px;font-weight:700;transition:background .2s,color .2s,border-color .2s,transform .2s;display:inline-flex;box-shadow:0 5px 16px #1432410d}.modulo-competencias-header button:before{content:"↻";font-size:17px;line-height:1}.modulo-competencias-header button:hover:not(:disabled){border-color:var(--mc-teal);background:var(--mc-teal);color:#fff;transform:translateY(-1px)}.modulo-competencias-header button:disabled{opacity:.55;cursor:not-allowed}.captura-directa-info{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.captura-directa-info span{border:1px solid var(--mc-border);background:var(--mc-white);min-height:92px;color:var(--mc-muted);border-radius:12px;flex-direction:column;justify-content:center;gap:7px;padding:17px 18px 16px 20px;font-size:11px;font-weight:600;line-height:1.4;display:flex;position:relative;overflow:hidden;box-shadow:0 5px 20px #1e374609}.captura-directa-info span:before{content:"";background:var(--mc-teal);width:3px;position:absolute;top:0;bottom:0;left:0}.captura-directa-info span:nth-child(2):before{background:var(--mc-blue)}.captura-directa-info span:nth-child(3):before{background:#6b9d8b}.captura-directa-info span:nth-child(4):before{background:#d4a34e}.captura-directa-info span:first-child:after{content:"01"}.captura-directa-info span:nth-child(2):after{content:"02"}.captura-directa-info span:nth-child(3):after{content:"03"}.captura-directa-info span:nth-child(4):after{content:"04"}.captura-directa-info span:after{color:#dce7e8;letter-spacing:.5px;font-size:11px;font-weight:800;position:absolute;top:13px;right:14px}.modulo-competencias>p:not(.captura-directa-ayuda){border:1px solid var(--mc-border);background:var(--mc-white);color:var(--mc-muted);text-align:center;border-radius:12px;margin:0 0 18px;padding:35px 24px;font-size:13px;line-height:1.7}.tabla-calificaciones-directas-wrapper{border:1px solid var(--mc-border);background:var(--mc-white);scrollbar-width:thin;scrollbar-color:#cbd9dc transparent;border-radius:14px;width:100%;overflow-x:auto;box-shadow:0 8px 28px #1e37460d}.tabla-calificaciones-directas-wrapper::-webkit-scrollbar{height:7px}.tabla-calificaciones-directas-wrapper::-webkit-scrollbar-track{background:#f4f7f8}.tabla-calificaciones-directas-wrapper::-webkit-scrollbar-thumb{background:#cbd9dc;border-radius:10px}.tabla-calificaciones-directas-wrapper::-webkit-scrollbar-thumb:hover{background:#9fb8bc}.tabla-calificaciones-directas{border-collapse:separate;border-spacing:0;table-layout:auto;width:100%;min-width:620px;color:var(--mc-text);font-size:12px}.tabla-calificaciones-directas thead th{border-bottom:1px solid var(--mc-border);color:#71838c;letter-spacing:.55px;text-align:center;vertical-align:middle;background:#f6f9fa;height:auto;padding:15px 16px;font-size:10px;font-weight:800;line-height:1.5}.tabla-calificaciones-directas thead th:first-child{z-index:2;text-align:left;background:#f6f9fa;width:32%;min-width:245px;position:sticky;left:0}.tabla-calificaciones-directas thead th strong{color:var(--mc-teal);letter-spacing:.7px;margin-bottom:5px;font-size:11px;font-weight:800;display:block}.tabla-calificaciones-directas thead th small{max-width:200px;color:var(--mc-muted);text-overflow:ellipsis;white-space:normal;overflow-wrap:anywhere;margin:0 auto;font-size:10px;font-weight:500;line-height:1.5;display:block;overflow:hidden}.tabla-calificaciones-directas tbody tr{background:var(--mc-white);transition:background .15s}.tabla-calificaciones-directas tbody tr:hover{background:#fbfdfd}.tabla-calificaciones-directas tbody td{height:62px;color:var(--mc-text);text-align:center;vertical-align:middle;border-bottom:1px solid #edf1f2;padding:10px 16px}.tabla-calificaciones-directas tbody tr:last-child td{border-bottom:none}.tabla-calificaciones-directas tbody td:first-child{z-index:1;background:var(--mc-white);text-align:left;min-width:245px;position:sticky;left:0}.tabla-calificaciones-directas tbody tr:hover td:first-child{background:#fbfdfd}.tabla-calificaciones-directas tbody td:first-child strong{color:var(--mc-text);overflow-wrap:anywhere;font-size:11px;font-weight:650;line-height:1.5;display:block}.tabla-calificaciones-directas tbody td:first-child small{color:#9aa8ad;margin-top:4px;font-size:10px;font-weight:500;line-height:1.4;display:block}.tabla-calificaciones-directas tbody td input{width:68px;height:35px;color:var(--mc-navy);text-align:center;background:#fff;border:1px solid #d9e2e4;border-radius:7px;outline:none;margin:0 auto;padding:0 7px;font-family:inherit;font-size:12px;font-weight:750;transition:border-color .2s,box-shadow .2s,background .2s;display:block}.tabla-calificaciones-directas tbody td input:hover:not(:disabled){border-color:#b8cacc}.tabla-calificaciones-directas tbody td input:focus{border-color:var(--mc-teal);background:#f7fcfb;box-shadow:0 0 0 3px #0f766e17}.tabla-calificaciones-directas tbody td input:disabled{color:#87969d;cursor:not-allowed;background:#f4f7f8;border-color:#e5ebed}.tabla-calificaciones-directas tbody td input::placeholder{color:#b4c0c4}.tabla-calificaciones-directas input::-webkit-inner-spin-button{appearance:none;margin:0}.tabla-calificaciones-directas input::-webkit-outer-spin-button{appearance:none;margin:0}.tabla-calificaciones-directas input[type=number]{appearance:textfield}.captura-directa-ayuda{background:var(--mc-teal-light);color:#54736f;border:1px solid #dcece8;border-radius:9px;align-items:flex-start;gap:10px;margin:15px 0 17px;padding:13px 16px;font-size:11px;line-height:1.7;display:flex}.captura-directa-ayuda:before{content:"i";background:var(--mc-teal);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:1px;font-size:11px;font-weight:800;display:inline-flex}.modulo-competencias>button{background:var(--mc-navy);color:#fff;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:0 21px;font-family:inherit;font-size:12px;font-weight:700;transition:background .2s,transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 5px 14px #17324a1f}.modulo-competencias>button:before{content:"✓";font-size:15px;font-weight:800}.modulo-competencias>button:hover:not(:disabled){background:#0d2538;transform:translateY(-1px);box-shadow:0 7px 18px #17324a2b}.modulo-competencias>button:active:not(:disabled){transform:translateY(0)}.modulo-competencias>button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.modulo-competencias .Toastify__toast{border:1px solid var(--mc-border);border-radius:10px;font-family:DM Sans,Segoe UI,sans-serif;font-size:12px;box-shadow:0 10px 30px #17324a1f}.modulo-competencias .Toastify__toast--success{border-left:4px solid var(--mc-teal)}.modulo-competencias .Toastify__toast--error{border-left:4px solid #c65353}.modulo-competencias .Toastify__toast--warning{border-left:4px solid #d4a34e}.modulo-competencias button:focus-visible,.modulo-competencias input:focus-visible{outline-offset:2px;outline:3px solid #0f766e38}@media (width<=1000px){.modulo-competencias{padding:28px 24px 35px}.captura-directa-info{grid-template-columns:repeat(2,minmax(0,1fr))}.tabla-calificaciones-directas{min-width:600px}}@media (width<=700px){.modulo-competencias{min-height:auto;padding:22px 15px 30px}.modulo-competencias-header{align-items:flex-start;gap:12px;margin-bottom:20px}.modulo-competencias-header h2{letter-spacing:-.35px;font-size:23px}.modulo-competencias-header p{font-size:12px}.modulo-competencias-header button{min-height:37px;padding:0 11px;font-size:11px}.captura-directa-info{gap:9px;margin-bottom:14px}.captura-directa-info span{min-height:78px;padding:13px 11px 12px 14px;font-size:10px}.captura-directa-info span:after{font-size:9px;top:9px;right:9px}.tabla-calificaciones-directas-wrapper{border-radius:10px}.tabla-calificaciones-directas{min-width:570px}.tabla-calificaciones-directas thead th{padding:12px 10px;font-size:9px}.tabla-calificaciones-directas thead th:first-child,.tabla-calificaciones-directas tbody td:first-child{min-width:195px}.tabla-calificaciones-directas tbody td{height:57px;padding:8px 10px}.tabla-calificaciones-directas tbody td input{width:58px;height:33px;font-size:11px}.captura-directa-ayuda{padding:11px 12px;font-size:10px}.modulo-competencias>button{width:100%;min-height:43px}}@media (width<=380px){.modulo-competencias{padding-left:10px;padding-right:10px}.modulo-competencias-header{flex-direction:column;align-items:stretch}.modulo-competencias-header button{align-self:flex-start}.captura-directa-info span{padding-left:11px;padding-right:8px}}.btn-publicar-calificaciones{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-size:14px;font-weight:600;transition:background .2s,transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 3px 8px #2563eb2e}.btn-publicar-calificaciones:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px);box-shadow:0 5px 12px #2563eb40}.btn-publicar-calificaciones:active:not(:disabled){transform:translateY(0)}.btn-publicar-calificaciones:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.ra-page{--ra-navy:#12304a;--ra-navy-dark:#0d263b;--ra-teal:#16877f;--ra-teal-light:#e8f6f4;--ra-blue-light:#eef5fa;--ra-text:#17324d;--ra-muted:#71859a;--ra-border:#e1e9ee;--ra-bg:#f5f8fa;--ra-white:#fff;--ra-success:#2bb58a;--ra-warning:#e6a23c;--ra-danger:#d95c5c;background:var(--ra-bg);min-height:100vh;color:var(--ra-text);box-sizing:border-box;padding:42px 48px 90px;font-family:Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.ra-header{max-width:1500px;margin:0 auto 30px}.ra-eyebrow{color:var(--ra-teal);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:800;display:block}.ra-header h2{color:var(--ra-navy);letter-spacing:-.7px;margin:0;font-size:32px;font-weight:750;line-height:1.2}.ra-header p{color:var(--ra-muted);margin:9px 0 0;font-size:15px;line-height:1.6}.ra-distribution{background:var(--ra-white);border:1px solid var(--ra-border);border-radius:18px;max-width:1500px;margin:0 auto 26px;padding:25px 28px;box-shadow:0 4px 16px #12304a0a}.ra-distribution-header{justify-content:space-between;align-items:center;gap:30px;display:flex}.ra-distribution-header strong{color:var(--ra-navy);font-size:17px;font-weight:700;display:block}.ra-distribution-header p{color:var(--ra-muted);margin:6px 0 0;font-size:13px}.ra-total{text-align:right;min-width:105px}.ra-total strong{font-size:27px;font-weight:750}.ra-total strong span{color:var(--ra-muted);font-size:17px;font-weight:500}.ra-total small{color:var(--ra-muted);margin-top:2px;font-size:11px;display:block}.ra-progress-track{background:#edf2f5;border-radius:999px;height:8px;margin-top:20px;overflow:hidden}.ra-progress-fill{background:var(--ra-teal);border-radius:inherit;height:100%;transition:width .35s,background .25s}.ra-progress-fill.complete{background:var(--ra-success)}.ra-distribution-footer{margin-top:14px}.ra-status{border-radius:8px;align-items:center;gap:8px;padding:7px 11px;font-size:12px;font-weight:600;display:inline-flex}.ra-status span{border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;display:inline-flex}.ra-status.success{color:#187a61;background:#edf9f5}.ra-status.success span{background:#d7f2e9}.ra-status.warning{color:#99641e;background:#fff8ea}.ra-status.warning span{background:#ffedc7}.ra-selector-section{max-width:1500px;margin:0 auto 26px}.ra-section-heading{justify-content:space-between;align-items:flex-end;margin-bottom:13px;display:flex}.ra-section-label{color:var(--ra-teal);letter-spacing:1.4px;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:800;display:block}.ra-section-heading h3,.ra-table-heading h3{color:var(--ra-navy);margin:0;font-size:21px;font-weight:720}.ra-count{color:var(--ra-muted);font-size:12px;font-weight:600}.ra-selector{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;display:grid}.ra-tab{text-align:left;background:var(--ra-white);border:1px solid var(--ra-border);width:100%;color:var(--ra-text);cursor:pointer;border-radius:13px;align-items:center;gap:13px;padding:16px;transition:border-color .2s,box-shadow .2s,transform .2s,background .2s;display:flex;position:relative}.ra-tab:hover{border-color:#c9dcdf;transform:translateY(-1px);box-shadow:0 5px 15px #12304a0f}.ra-tab.active{background:#f1faf8;border-color:#83c9c1;box-shadow:0 0 0 2px #16877f14}.ra-code{background:var(--ra-teal-light);width:43px;height:43px;color:var(--ra-teal);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex}.ra-info{min-width:0}.ra-info strong{color:var(--ra-navy);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;display:block;overflow:hidden}.ra-info small{color:var(--ra-muted);margin-top:4px;font-size:11px;display:block}.ra-check{color:var(--ra-teal);margin-left:auto;font-weight:800}.ra-create-card{background:var(--ra-white);border:1px solid var(--ra-border);border-radius:16px;grid-template-columns:auto minmax(220px,1fr) minmax(190px,250px) 130px auto;align-items:center;gap:14px;max-width:1500px;margin:0 auto 26px;padding:18px 20px;display:grid;box-shadow:0 4px 16px #12304a09}.ra-create-icon{background:var(--ra-teal-light);width:42px;height:42px;color:var(--ra-teal);border-radius:11px;justify-content:center;align-items:center;font-size:22px;font-weight:400;display:flex}.ra-create-title strong{color:var(--ra-navy);font-size:14px;font-weight:700;display:block}.ra-create-title span{color:var(--ra-muted);margin-top:3px;font-size:11px;display:block}.ra-create-card input,.ra-create-card select{box-sizing:border-box;width:100%;min-height:43px;color:var(--ra-text);background:#fbfcfd;border:1px solid #d9e3e8;border-radius:9px;outline:none;padding:0 13px;font-family:inherit;font-size:13px;transition:border-color .2s,box-shadow .2s,background .2s}.ra-create-card input:focus,.ra-create-card select:focus{background:#fff;border-color:#79bbb5;box-shadow:0 0 0 3px #16877f17}.ra-create-button{background:var(--ra-teal);color:#fff;cursor:pointer;border:none;border-radius:9px;min-height:43px;padding:0 17px;font-family:inherit;font-size:12px;font-weight:700;transition:background .2s,transform .2s}.ra-create-button:hover{background:#11756e;transform:translateY(-1px)}.ra-table-card{background:var(--ra-white);border:1px solid var(--ra-border);border-radius:16px;max-width:1500px;margin:0 auto 26px;overflow:hidden;box-shadow:0 4px 16px #12304a09}.ra-table-heading{padding:20px 22px 15px}.ra-table-wrapper{width:100%;overflow-x:auto}.ra-table{border-collapse:collapse;width:100%;font-size:13px}.ra-table thead{background:#f6f9fa}.ra-table th{color:#718697;border-top:1px solid var(--ra-border);border-bottom:1px solid var(--ra-border);text-align:left;text-transform:uppercase;letter-spacing:.7px;padding:11px 18px;font-size:10px;font-weight:800}.ra-table td{color:var(--ra-text);border-bottom:1px solid #edf1f3;padding:14px 18px}.ra-table tbody tr:last-child td{border-bottom:none}.ra-table tbody tr:hover{background:#fbfcfd}.ra-table-code{background:var(--ra-teal-light);color:var(--ra-teal);border-radius:6px;padding:5px 8px;font-size:11px;font-weight:800;display:inline-flex}.ra-table td strong{font-weight:750}.pts{color:var(--ra-muted);margin-left:4px;font-size:11px}.ra-grade-section{background:var(--ra-white);border:1px solid var(--ra-border);border-radius:18px;max-width:1500px;margin:0 auto 26px;overflow:hidden;box-shadow:0 5px 18px #12304a0b}.ra-grade-header{border-bottom:1px solid var(--ra-border);justify-content:space-between;align-items:center;gap:30px;padding:25px 28px;display:flex}.ra-current-code{background:var(--ra-teal-light);color:var(--ra-teal);border-radius:6px;margin-bottom:8px;padding:4px 8px;font-size:10px;font-weight:800;display:inline-flex}.ra-grade-header h3{color:var(--ra-navy);letter-spacing:-.3px;margin:0;font-size:23px;font-weight:730}.ra-grade-header p{color:var(--ra-muted);margin:6px 0 0;font-size:13px}.ra-grade-header p strong{color:var(--ra-text)}.ra-progress-summary{border-left:1px solid var(--ra-border);text-align:right;min-width:120px;padding-left:24px}.ra-progress-summary strong{color:var(--ra-navy);font-size:24px;font-weight:750;display:block}.ra-progress-summary strong span{color:#a0afbb;font-size:14px;font-weight:500}.ra-progress-summary small{color:var(--ra-muted);font-size:10px}.ra-sumative-info{background:#f1f8f7;border:1px solid #d8eeeb;border-radius:12px;align-items:flex-start;gap:14px;margin:20px 28px;padding:16px 18px;display:flex}.ra-sumative-icon{width:36px;height:36px;color:var(--ra-teal);background:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex;box-shadow:0 2px 6px #12304a0f}.ra-sumative-info strong{color:var(--ra-navy);font-size:13px}.ra-sumative-info p{color:#526b7e;margin:5px 0;font-size:12px;line-height:1.55}.ra-sumative-info p strong{color:var(--ra-teal);font-size:inherit}.ra-sumative-info>div:last-child>span{color:#718797;font-size:11px}.ra-sumative-info>div:last-child>span strong{color:var(--ra-text)}.ra-activity-pills{flex-wrap:wrap;gap:8px;padding:0 28px 18px;display:flex}.ra-activity-pill{color:#61788a;background:#f7f9fa;border:1px solid #e4eaed;border-radius:999px;align-items:center;gap:7px;padding:6px 10px;font-size:10px;font-weight:600;display:inline-flex}.ra-activity-pill span{background:var(--ra-teal);border-radius:50%;width:5px;height:5px}.ra-table-wrapper.grades{border-top:1px solid var(--ra-border)}.ra-grades-table{border-collapse:collapse;width:100%;min-width:780px;font-size:12px}.ra-grades-table thead{background:#f7f9fa}.ra-grades-table th{color:#728697;border-bottom:1px solid var(--ra-border);text-align:center;text-transform:uppercase;letter-spacing:.6px;padding:11px 15px;font-size:9px;font-weight:800}.ra-grades-table th.student-column{text-align:left;min-width:230px}.ra-grades-table th.ra-total-column{min-width:105px}.ra-grades-table td{text-align:center;vertical-align:middle;border-bottom:1px solid #edf1f3;padding:12px 15px}.ra-grades-table tbody tr:last-child td{border-bottom:none}.ra-grades-table tbody tr:hover{background:#fbfcfd}.ra-student-cell{align-items:center;gap:10px;display:flex;text-align:left!important}.ra-avatar{background:var(--ra-teal-light);width:34px;height:34px;color:var(--ra-teal);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:800;display:flex}.ra-student-cell strong{color:var(--ra-navy);font-size:12px;font-weight:650;display:block}.ra-student-cell small{color:#8b9ba7;margin-top:2px;font-size:9px;display:block}.ra-grade-cell{min-width:120px}.ra-grade-cell input{box-sizing:border-box;width:54px;height:31px;color:var(--ra-navy);text-align:center;background:#fff;border:1px solid #d6e0e5;border-radius:7px;outline:none;padding:0 6px;font-family:inherit;font-size:12px;font-weight:700;transition:border-color .2s,box-shadow .2s}.ra-grade-cell input:focus{border-color:#79bbb5;box-shadow:0 0 0 3px #16877f14}.ra-grade-cell input::placeholder{color:#a9b5bd}.ra-grade-cell input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ra-grade-cell input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ra-grade-cell input[type=number]{appearance:textfield}.ra-input-limit{color:#9aa9b4;margin-top:3px;font-size:8px;display:block}.ra-save-note{color:var(--ra-teal);cursor:pointer;background:0 0;border:none;margin:4px auto 0;padding:0;font-family:inherit;font-size:9px;font-weight:700;display:block}.ra-save-note:hover{color:var(--ra-navy);text-decoration:underline}.ra-total-cell{min-width:100px;color:var(--ra-navy);background:#fbfcfd;border-left:1px solid #edf1f3}.ra-total-cell strong{font-size:16px;font-weight:750}.ra-total-cell span{color:#8798a5;margin-left:3px;font-size:11px}.ra-total-cell.exceeded{color:var(--ra-danger);background:#fff4f4}.ra-total-cell.exceeded span{color:var(--ra-danger)}.ra-total-cell small{color:var(--ra-danger);margin-top:3px;font-size:8px;font-weight:700;display:block}.ra-empty{text-align:center;border-top:1px solid var(--ra-border);padding:55px 20px}.ra-empty-icon{background:var(--ra-teal-light);width:42px;height:42px;color:var(--ra-teal);border-radius:12px;justify-content:center;align-items:center;margin:0 auto 12px;font-size:21px;display:flex}.ra-empty strong{color:var(--ra-navy);font-size:14px;display:block}.ra-empty p{color:var(--ra-muted);margin:6px 0 0;font-size:12px}.ra-actions{border:1px solid var(--ra-border);background:#fff;border-radius:15px;justify-content:space-between;align-items:center;gap:20px;max-width:1500px;margin:0 auto;padding:17px 20px;display:flex;box-shadow:0 4px 14px #12304a0a}.ra-save-state{color:#718697;align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.ra-save-state span{background:var(--ra-success);border-radius:50%;width:7px;height:7px}.ra-action-buttons{align-items:center;gap:9px;display:flex}.ra-btn{cursor:pointer;border-radius:8px;min-height:40px;padding:0 17px;font-family:inherit;font-size:11px;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s}.ra-btn:hover{transform:translateY(-1px)}.ra-btn.outline{color:var(--ra-teal);background:#fff;border:1px solid #cbdde0}.ra-btn.outline:hover{background:#f5fbfa}.ra-btn.primary{background:var(--ra-navy);border:1px solid var(--ra-navy);color:#fff}.ra-btn.primary:hover{background:var(--ra-navy-dark);box-shadow:0 5px 12px #12304a29}.ra-btn.primary span{margin-left:8px}.Toastify__toast{border-radius:10px!important;font-family:Inter,Segoe UI,sans-serif!important;font-size:12px!important;box-shadow:0 8px 25px #12304a24!important}.Toastify__toast-body{line-height:1.4!important}@media (width<=1100px){.ra-page{padding:30px 25px 70px}.ra-create-card{grid-template-columns:auto 1fr 1fr auto}.ra-create-title{grid-column:span 2}}@media (width<=750px){.ra-page{padding:22px 15px 60px}.ra-header h2{font-size:25px}.ra-distribution-header{align-items:flex-start}.ra-total{min-width:auto}.ra-selector,.ra-create-card{grid-template-columns:1fr}.ra-create-icon{display:none}.ra-create-title{grid-column:auto}.ra-grade-header{flex-direction:column;align-items:flex-start}.ra-progress-summary{border-left:none;border-top:1px solid var(--ra-border);text-align:left;width:100%;padding:12px 0 0}.ra-sumative-info{margin:16px}.ra-activity-pills{padding:0 16px 15px}.ra-actions{flex-direction:column;align-items:stretch}.ra-action-buttons{flex-direction:column;width:100%}.ra-btn{width:100%}}.ra-table-wrapper::-webkit-scrollbar{height:7px}.ra-table-wrapper::-webkit-scrollbar-track{background:#f1f4f6}.ra-table-wrapper::-webkit-scrollbar-thumb{background:#c5d1d8;border-radius:999px}.ra-table-wrapper::-webkit-scrollbar-thumb:hover{background:#aebdc6}:root{--dn-ink:#172a3b;--dn-muted:#70808f;--dn-light-muted:#91a0aa;--dn-line:#e6edef;--dn-surface:#fff;--dn-background:#f6f9fa;--dn-teal:#0f766e;--dn-teal-light:#e8f6f3;--dn-blue:#2563eb;--dn-blue-light:#edf3ff;--dn-amber:#d97706;--dn-amber-light:#fff6e8;--dn-navy:#102d43;--dn-navy-light:#193a50;--dn-green:#32ba87;--dn-shadow:0 14px 38px #1e3a4812}.maestro-layout{background:var(--dn-background);width:100%;min-height:100vh;color:var(--dn-ink);font-family:DM Sans,sans-serif}.maestro-layout *,.maestro-layout :before,.maestro-layout :after{box-sizing:border-box}.maestro-layout button{font-family:inherit}.maestro-sidebar{background:var(--dn-navy);color:#d7e6ea;z-index:1000;flex-direction:column;width:250px;padding:26px 17px 18px;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{align-items:center;gap:10px;padding:0 13px 34px;display:flex}.brand-logo{background:#34c2a4;border-radius:9px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid;overflow:hidden}.brand-logo img{object-fit:contain;width:100%;height:100%}.brand-name{color:#fff;letter-spacing:-.5px;font-family:Plus Jakarta Sans,sans-serif;font-size:22px;font-weight:800}.brand-name strong{color:#54d8ba}.sidebar-profile{background:var(--dn-navy-light);border:1px solid #285068;border-radius:13px;align-items:center;gap:9px;width:100%;padding:11px;display:flex}.profile-avatar{width:35px;height:35px;color:var(--dn-teal);background:#ddf4ee;border-radius:50%;flex-shrink:0;place-items:center;font-size:10px;font-weight:800;display:grid}.profile-info{min-width:0}.profile-info strong{text-overflow:ellipsis;white-space:nowrap;color:#fff;max-width:130px;font-size:12px;font-weight:700;display:block;overflow:hidden}.profile-info span{color:#8aa9b4;margin-top:2px;font-size:11px;display:block}.profile-more{color:#83a5b1;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0;font-size:14px}.sidebar-nav{width:100%;margin-top:25px}.nav-section-title{color:#7094a2;letter-spacing:1.2px;margin:0 13px 9px;font-size:10px;font-weight:800;display:block}.gestion-title{margin-top:28px}.nav-item{color:#b5cdd3;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:13px;width:100%;min-height:42px;margin:3px 0;padding:10px 13px;font-size:13px;font-weight:500;transition:background .2s,color .2s,transform .2s;display:flex}.nav-item:hover{color:#fff;background:#1c435a}.nav-item.active{color:#fff;background:#215269}.nav-icon{color:#7fa8b5;text-align:center;flex-shrink:0;width:18px;font-size:17px}.nav-item.active .nav-icon{color:#66d1b8}.nav-badge{color:#baf1e3;text-align:center;background:#2d786f;border-radius:5px;min-width:21px;margin-left:auto;padding:2px 6px;font-size:10px;font-weight:800}.sidebar-help{background:#214458;border:1px solid #2d5b6c;border-radius:13px;align-items:flex-start;gap:10px;margin-top:auto;padding:14px;display:flex}.help-circle{color:#9ce0d0;background:#2d6673;border-radius:50%;flex-shrink:0;place-items:center;width:29px;height:29px;font-size:13px;font-weight:800;display:grid}.help-content{min-width:0}.help-content strong{color:#fff;font-size:12px;display:block}.help-content span{color:#9bb7be;margin-top:3px;font-size:10px;display:block}.help-content button{color:#62ceb5;cursor:pointer;background:0 0;border:0;margin-top:7px;padding:0;font-size:11px;font-weight:700}.sidebar-footer{color:#6f96a2;justify-content:space-between;align-items:center;padding:18px 9px 0;font-size:10px;display:flex}.logout-button{color:#78a0ab;cursor:pointer;background:0 0;border:0;width:28px;height:28px;font-size:17px;transition:color .2s}.logout-button:hover{color:#fff}.maestro-main{background:var(--dn-background);min-height:100vh;margin-left:250px}.maestro-topbar{border-bottom:1px solid var(--dn-line);background:#fff;justify-content:space-between;align-items:center;height:70px;padding:0 38px;display:flex}.breadcrumb{color:var(--dn-light-muted);align-items:center;gap:10px;font-size:12px;display:flex}.breadcrumb i{color:#bac6ca;font-style:normal}.breadcrumb strong{color:var(--dn-ink);font-weight:600}.topbar-actions{align-items:center;gap:13px;display:flex}.topbar-icon{color:#667b87;cursor:pointer;background:0 0;border:0;width:32px;height:32px;padding:0;font-size:20px;position:relative}.topbar-icon:hover{color:var(--dn-ink)}.notification span{background:#e8745e;border:1px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:3px;right:2px}.top-avatar{width:34px;height:34px;color:var(--dn-teal);background:#d8f1eb;border-radius:50%;place-items:center;font-size:10px;font-weight:800;display:grid}.dashboard-content{width:100%;max-width:1450px;margin:0 auto;padding:36px 40px 50px}.dashboard-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:30px;display:flex}.dashboard-eyebrow,.section-eyebrow{color:var(--dn-teal);letter-spacing:1.4px;font-size:10px;font-weight:800;display:block}.dashboard-heading h1{color:var(--dn-ink);letter-spacing:-.7px;margin:7px 0 5px;font-family:Plus Jakarta Sans,sans-serif;font-size:31px;font-weight:800;line-height:1.2}.dashboard-heading p{color:var(--dn-muted);margin:0;font-size:13px;line-height:1.5}.dashboard-primary-button{background:var(--dn-teal);color:#fff;cursor:pointer;border:0;border-radius:8px;flex-shrink:0;align-items:center;gap:9px;padding:11px 17px;font-size:12px;font-weight:700;transition:transform .2s,background .2s;display:flex;box-shadow:0 7px 17px #0f766e26}.dashboard-primary-button:hover{background:#0c665f;transform:translateY(-1px)}.dashboard-primary-button span{font-size:15px}.summary-section{margin-bottom:30px}.section-heading{margin-bottom:15px}.section-heading h2,.courses-header h2{color:var(--dn-ink);margin:5px 0 0;font-family:Plus Jakarta Sans,sans-serif;font-size:20px;font-weight:700;line-height:1.3}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.stat-card{background:var(--dn-surface);border:1px solid var(--dn-line);min-height:96px;box-shadow:var(--dn-shadow);border-radius:12px;align-items:center;gap:13px;padding:17px;transition:transform .2s,box-shadow .2s;display:flex}.stat-card:hover{transform:translateY(-2px);box-shadow:0 17px 40px #1e3a4817}.stat-icon{border-radius:10px;flex-shrink:0;place-items:center;width:42px;height:42px;font-size:18px;display:grid}.stat-icon.teal{background:var(--dn-teal-light);color:var(--dn-teal)}.stat-icon.blue{background:var(--dn-blue-light);color:var(--dn-blue)}.stat-icon.amber{background:var(--dn-amber-light);color:var(--dn-amber)}.stat-content{min-width:0}.stat-content span{color:var(--dn-muted);font-size:10px;display:block}.stat-content strong{color:var(--dn-ink);margin-top:3px;font-family:Plus Jakarta Sans,sans-serif;font-size:20px;font-weight:800;line-height:1.2;display:block}.stat-content small{color:#9aa8ae;margin-top:3px;font-size:9px;display:block}.courses-section{border:1px solid var(--dn-line);box-shadow:var(--dn-shadow);background:#fff;border-radius:14px;padding:25px}.courses-header{justify-content:space-between;align-items:flex-end;margin-bottom:20px;display:flex}.courses-header p{color:var(--dn-muted);margin:5px 0 0;font-size:12px}.view-all-button{color:var(--dn-teal);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;font-weight:700}.view-all-button:hover{text-decoration:underline}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.course-card{border:1px solid var(--dn-line);background:#fff;border-radius:11px;transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden}.course-card:hover{border-color:#cbdedd;transform:translateY(-3px);box-shadow:0 13px 30px #1e3a4817}.course-card-top{justify-content:space-between;align-items:center;padding:16px 16px 0;display:flex}.course-icon{background:var(--dn-teal-light);width:38px;height:38px;color:var(--dn-teal);border-radius:10px;place-items:center;font-size:17px;display:grid}.course-status{color:#19815e;background:#effaf5;border-radius:20px;align-items:center;gap:5px;padding:5px 8px;font-size:9px;font-weight:700;display:flex}.course-status i{background:var(--dn-green);border-radius:50%;width:6px;height:6px}.course-card-body{padding:14px 16px 17px}.course-level{color:var(--dn-teal);letter-spacing:.9px;text-transform:uppercase;font-size:9px;font-weight:800;display:block}.course-card-body h3{color:var(--dn-ink);text-transform:capitalize;margin:5px 0 4px;font-family:Plus Jakarta Sans,sans-serif;font-size:16px;font-weight:700;line-height:1.25}.course-card-body p{color:var(--dn-muted);margin:0;font-size:11px}.course-card-footer{border-top:1px solid var(--dn-line);justify-content:space-between;align-items:center;min-height:43px;padding:10px 16px;display:flex}.course-card-footer span{color:var(--dn-muted);font-size:10px}.course-card-footer button{color:var(--dn-teal);cursor:pointer;background:0 0;border:0;padding:0;font-size:10px;font-weight:700}.course-card-footer button:hover{text-decoration:underline}.empty-courses{text-align:center;border:1px dashed #ccd9dc;border-radius:12px;padding:45px 20px}.empty-icon{background:var(--dn-teal-light);width:45px;height:45px;color:var(--dn-teal);border-radius:50%;place-items:center;margin:0 auto 10px;font-size:21px;display:grid}.empty-courses h3{color:var(--dn-ink);margin:0;font-size:14px}.empty-courses p{color:var(--dn-muted);margin:5px 0 0;font-size:11px}@media (width<=1200px){.maestro-sidebar{width:225px}.maestro-main{margin-left:225px}.dashboard-content{padding:32px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.maestro-sidebar{width:210px}.maestro-main{margin-left:210px}.dashboard-content{padding:28px 24px 40px}.maestro-topbar{padding:0 24px}.stats-grid{grid-template-columns:1fr}.dashboard-heading{flex-direction:column;align-items:flex-start}.dashboard-primary-button{justify-content:center;width:100%}}@media (width<=700px){.maestro-sidebar{display:none}.maestro-main{margin-left:0}.maestro-topbar{height:62px;padding:0 17px}.breadcrumb{font-size:11px}.topbar-actions{gap:6px}.dashboard-content{padding:25px 16px 35px}.dashboard-heading{margin-bottom:25px}.dashboard-heading h1{font-size:25px}.dashboard-heading p{font-size:12px}.courses-section{padding:18px}.courses-header{flex-direction:column;align-items:flex-start;gap:10px}.course-grid{grid-template-columns:1fr}.stat-card{min-height:88px}}@media (width<=420px){.dashboard-content{padding:22px 13px 30px}.dashboard-heading h1{font-size:22px}.courses-section{padding:15px}.stat-card{padding:14px}.stat-icon{width:38px;height:38px}}.coordinadores-page{width:100%}.coord-header{justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:25px;display:flex}.coord-eyebrow{color:#087c78;letter-spacing:1.5px;font-size:10px;font-weight:800}.coord-header h1{color:#102f50;margin:7px 0;font-size:30px;font-weight:800}.coord-header p{color:#71839a;margin:0;font-size:14px}.coord-primary-btn{color:#fff;cursor:pointer;background:#087c78;border:none;border-radius:10px;justify-content:center;align-items:center;gap:9px;padding:12px 18px;font-size:13px;font-weight:700;transition:all .2s;display:inline-flex}.coord-primary-btn:hover{background:#066c68;transform:translateY(-1px)}.coord-primary-btn:disabled{opacity:.6;cursor:not-allowed}.coord-summary{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px;display:grid}.coord-summary>div{background:#fff;border:1px solid #e4eaf1;border-radius:14px;align-items:center;gap:14px;padding:17px 20px;display:flex}.coord-summary>div>svg{box-sizing:border-box;color:#087c78;background:#e8f7f5;border-radius:11px;width:40px;height:40px;padding:10px}.coord-summary span{color:#8494a7;font-size:11px;display:block}.coord-summary strong{color:#102f50;margin-top:3px;font-size:24px;display:block}.coord-table-card{background:#fff;border:1px solid #e4eaf1;border-radius:17px;overflow:hidden;box-shadow:0 8px 25px #102f500a}.coord-table-header{padding:22px 24px 17px}.coord-table-header h2{color:#102f50;margin:0;font-size:19px}.coord-table-header p{color:#8191a4;margin:5px 0 0;font-size:13px}.coord-filters{grid-template-columns:1fr 220px 220px;gap:10px;padding:0 24px 18px;display:grid}.coord-search{background:#fbfcfd;border:1px solid #dce4ec;border-radius:9px;align-items:center;gap:9px;height:42px;padding:0 13px;display:flex}.coord-search svg{color:#8494a7}.coord-search input{color:#102f50;background:0 0;border:none;outline:none;width:100%}.coord-filters select{color:#53677e;background:#fbfcfd;border:1px solid #dce4ec;border-radius:9px;outline:none;height:42px;padding:0 12px}.coord-table-wrapper{overflow-x:auto}.coord-table{border-collapse:collapse;width:100%}.coord-table th{color:#7a8ca1;text-align:left;letter-spacing:.8px;text-transform:uppercase;background:#f7f9fb;border-top:1px solid #edf1f5;border-bottom:1px solid #edf1f5;padding:12px 24px;font-size:10px;font-weight:800}.coord-table td{color:#4f637a;border-bottom:1px solid #edf1f5;padding:15px 24px;font-size:13px}.coord-table tbody tr:last-child td{border-bottom:none}.coord-table tbody tr:hover{background:#fbfcfd}.coord-user{align-items:center;gap:11px;display:flex}.coord-avatar{color:#087c78;background:#e8f7f5;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-weight:800;display:flex}.coord-user strong{color:#102f50;display:block}.coord-user span{color:#94a3b4;margin-top:3px;font-size:10px;display:block}.coord-role{color:#7350c8;background:#f0edff;border-radius:7px;padding:6px 9px;font-size:11px;font-weight:700;display:inline-flex}.coord-center{align-items:center;gap:8px;display:flex}.coord-center svg{color:#087c78}.coord-status{align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.coord-status>span{border-radius:50%;width:7px;height:7px}.coord-status.active{color:#16845e}.coord-status.active>span{background:#20a874}.coord-status.inactive{color:#9b6a2b}.coord-status.inactive>span{background:#d69b38}.coord-actions{gap:6px;display:flex}.coord-actions button{color:#60748a;cursor:pointer;background:#fff;border:1px solid #dfe6ed;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.coord-actions button:hover{color:#087c78;background:#f3f7fa}.coord-actions button.danger:hover{color:#d65353;background:#fff2f2}.coord-actions button.success:hover{color:#18835e;background:#effaf5}.coord-empty{height:220px;text-align:center!important}.coord-empty svg{color:#b5c1cd;margin:0 auto 10px;font-size:30px;display:block}.coord-empty strong,.coord-empty span{display:block}.coord-empty strong{color:#52677e}.coord-empty span{color:#98a6b5;margin-top:5px;font-size:12px}.coord-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a1e3273;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.coord-modal{background:#fff;border-radius:18px;width:min(520px,100%);overflow:hidden;box-shadow:0 25px 70px #102f5040}.coord-modal-header{border-bottom:1px solid #edf1f5;justify-content:space-between;align-items:flex-start;padding:22px 24px;display:flex}.coord-modal-header span{color:#087c78;letter-spacing:1.4px;font-size:9px;font-weight:800}.coord-modal-header h2{color:#102f50;margin:5px 0 0;font-size:21px}.coord-modal-header>button{color:#687b8e;cursor:pointer;background:#f2f5f7;border:none;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.coord-form{padding:22px 24px}.coord-form label{color:#52677e;margin-bottom:16px;font-size:12px;font-weight:700;display:block}.coord-form input,.coord-form select{box-sizing:border-box;color:#102f50;background:#fbfcfd;border:1px solid #dce4ec;border-radius:9px;outline:none;width:100%;height:43px;margin-top:7px;padding:0 12px;display:block}.coord-form input:focus,.coord-form select:focus{background:#fff;border-color:#087c78}.coord-form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.coord-form-info{color:#087c78;background:#eef8f7;border-radius:9px;align-items:center;gap:9px;margin-top:4px;margin-bottom:20px;padding:12px;font-size:11px;display:flex}.coord-form-info svg{flex-shrink:0}.coord-edit-user{background:#f7f9fb;border-radius:11px;align-items:center;gap:12px;margin-bottom:18px;padding:12px;display:flex}.coord-edit-user strong{color:#102f50;display:block}.coord-edit-user span{color:#8191a4;margin-top:3px;font-size:11px;display:block}.coord-modal-actions{justify-content:flex-end;gap:9px;padding-top:5px;display:flex}.coord-cancel-btn{color:#60748a;cursor:pointer;background:#fff;border:1px solid #dce4ec;border-radius:9px;padding:11px 17px;font-weight:700}.coord-password-modal{text-align:center;background:#fff;border-radius:19px;width:min(430px,100%);padding:30px;box-shadow:0 25px 70px #102f5040}.coord-password-icon{color:#087c78;background:#e8f7f5;border-radius:15px;justify-content:center;align-items:center;width:55px;height:55px;margin:0 auto 15px;font-size:21px;display:flex}.coord-password-modal h2{color:#102f50;margin:6px 0}.coord-password-modal p{color:#8191a4;font-size:13px;line-height:1.5}.coord-password-box{background:#f3faf9;border:1px dashed #9ccfca;border-radius:10px;justify-content:space-between;align-items:center;margin:20px 0;padding:13px 15px;display:flex}.coord-password-box strong{color:#087c78;letter-spacing:1px;font-size:18px}.coord-password-box button{color:#fff;cursor:pointer;background:#087c78;border:none;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.coord-password-close{width:100%}@media (width<=900px){.coord-summary,.coord-filters{grid-template-columns:1fr}.coord-header{flex-direction:column;align-items:flex-start}}@media (width<=600px){.coord-form-grid{grid-template-columns:1fr}.coord-table th,.coord-table td{padding:12px}}.maestro-reportes-page{box-sizing:border-box;background:#f5f9fa;min-height:100%;padding:34px 42px 50px}.reportes-breadcrumb{color:#91a1b2;align-items:center;gap:12px;margin-bottom:34px;font-size:13px;display:flex}.reportes-breadcrumb b{color:#c4ccd3;font-weight:400}.reportes-breadcrumb strong{color:#0d2135;font-weight:700}.reportes-header{margin-bottom:34px}.reportes-eyebrow{color:#007c78;letter-spacing:2px;margin-bottom:8px;font-size:11px;font-weight:800;display:block}.reportes-header h1{color:#0d2135;letter-spacing:-1px;margin:0;font-size:34px;font-weight:800}.reportes-header p{color:#718398;margin:8px 0 0;font-size:15px}.reportes-section{box-sizing:border-box;background:#fff;border:1px solid #e2eaee;border-radius:18px;padding:28px}.reportes-section-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.reportes-section-header span{color:#007c78;letter-spacing:1.8px;font-size:10px;font-weight:800}.reportes-section-header h2{color:#10263a;margin:6px 0 0;font-size:23px}.reportes-count{color:#087d79;background:#eef8f7;border-radius:20px;padding:8px 13px;font-size:12px;font-weight:700}.reportes-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.reporte-curso-card{background:#fff;border:1px solid #dfe8ec;border-radius:15px;transition:all .2s;overflow:hidden}.reporte-curso-card:hover{border-color:#b9dcd9;transform:translateY(-2px);box-shadow:0 10px 25px #0d213512}.reporte-card-top{justify-content:space-between;align-items:center;padding:18px 18px 5px;display:flex}.reporte-icon{color:#087d79;background:#e9f7f6;border-radius:11px;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;display:flex}.reporte-activo{color:#1b9a71;background:#effaf5;border-radius:15px;align-items:center;gap:6px;padding:6px 10px;font-size:10px;font-weight:700;display:flex}.reporte-activo i{background:#32bd8c;border-radius:50%;width:6px;height:6px}.reporte-card-content{padding:14px 18px 22px}.reporte-nivel{color:#07807b;letter-spacing:1.3px;text-transform:uppercase;font-size:10px;font-weight:800}.reporte-card-content h3{color:#10263a;margin:8px 0 4px;font-size:19px}.reporte-card-content p{color:#718398;margin:0;font-size:13px}.reporte-card-footer{border-top:1px solid #e8eef1;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.reporte-card-footer>span{color:#8291a0;font-size:12px}.reporte-card-footer button{color:#087d79;cursor:pointer;background:0 0;border:none;padding:5px 0;font-size:12px;font-weight:800}.reporte-card-footer button span{margin-left:5px;font-size:16px}.reporte-card-footer button:hover{color:#005e5a}.reportes-loading{text-align:center;color:#7c8d9e;padding:50px;font-size:14px}.reportes-empty{text-align:center;padding:60px 20px}.empty-icon{color:#087d79;background:#edf7f6;border-radius:15px;justify-content:center;align-items:center;width:55px;height:55px;margin:auto;font-size:24px;display:flex}.reportes-empty h3{color:#10263a;margin:16px 0 6px}.reportes-empty p{color:#7d8c9b;margin:0;font-size:13px}@media (width<=1100px){.reportes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.maestro-reportes-page{padding:25px 18px}.reportes-grid{grid-template-columns:1fr}.reportes-section-header{flex-direction:column;align-items:flex-start;gap:15px}}.detalle-reportes-page{box-sizing:border-box;color:#10263a;background:#f3f7f8;min-height:100%;padding:28px 38px 55px}.reporte-topbar{justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto 24px;display:flex}.reporte-back-button{color:#087d79;cursor:pointer;background:0 0;border:none;padding:8px 0;font-size:13px;font-weight:750}.reporte-back-button:hover{color:#005f5b}.reporte-topbar-right{align-items:center;gap:13px;display:flex}.reporte-topbar-right>span{color:#80909f;letter-spacing:1.6px;font-size:9px;font-weight:800}.year-badge{color:#087d79;background:#e6f5f4;border-radius:9px;padding:8px 12px;font-size:10px;font-weight:800}.documento-academico{background:#fff;border:1px solid #dce7eb;border-radius:20px;width:min(1180px,100%);margin:0 auto;overflow:hidden;box-shadow:0 14px 40px #10263a12}.documento-portada{justify-content:space-between;align-items:flex-start;gap:30px;padding:38px 46px 30px;display:flex}.documento-brand{align-items:center;gap:12px;display:flex}.brand-mark{color:#087d79;background:#e6f5f4;border-radius:12px;justify-content:center;align-items:center;width:43px;height:43px;font-size:13px;font-weight:900;display:flex}.documento-brand span{color:#087d79;letter-spacing:1.5px;margin-bottom:4px;font-size:8px;font-weight:850;display:block}.documento-brand strong{color:#10263a;font-size:13px;display:block}.documento-titulo{text-align:right}.documento-titulo>span{color:#087d79;letter-spacing:2px;font-size:9px;font-weight:850}.documento-titulo h1{color:#10263a;letter-spacing:-.7px;margin:6px 0 3px;font-size:30px;font-weight:850}.documento-titulo p{color:#718398;margin:0;font-size:13px}.curso-info{border-top:1px solid #e4ecef;border-bottom:1px solid #e4ecef;grid-template-columns:repeat(4,1fr);margin:0 46px;padding:18px 0;display:grid}.curso-info-item{border-right:1px solid #e7edef;padding:0 20px}.curso-info-item:first-child{padding-left:0}.curso-info-item:last-child{border-right:none}.curso-info-item span{color:#8b9aa7;letter-spacing:1.2px;margin-bottom:6px;font-size:8px;font-weight:800;display:block}.curso-info-item strong{color:#10263a;font-size:13px}.lista-heading{justify-content:space-between;align-items:flex-end;margin:34px 46px 20px;display:flex}.lista-heading>div:first-child>span{color:#087d79;letter-spacing:1.7px;font-size:9px;font-weight:850}.lista-heading h2{color:#10263a;margin:5px 0 0;font-size:22px;font-weight:800}.student-count{color:#087d79;background:#f0f7f7;border-radius:15px;padding:7px 11px;font-size:10px;font-weight:750}.estudiantes-lista{flex-direction:column;gap:16px;margin:0 46px;display:flex}.estudiante-card{background:#fff;border:1px solid #e0e9ec;border-radius:14px;overflow:hidden}.estudiante-card-header{background:#fbfcfc;border-bottom:1px solid #e6edef;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;display:flex}.estudiante-identidad{align-items:center;gap:12px;display:flex}.estudiante-avatar{color:#087d79;background:#e7f5f4;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:15px;font-weight:850;display:flex}.estudiante-identidad h3{color:#10263a;margin:0 0 4px;font-size:15px;font-weight:800}.estudiante-identidad span{color:#8493a1;font-size:10px}.resultado-final{text-align:right}.resultado-final span{color:#8a99a6;letter-spacing:1px;margin-bottom:3px;font-size:8px;font-weight:800;display:block}.resultado-final strong{color:#087d79;font-size:22px;font-weight:850}.competencias-grid{grid-template-columns:repeat(3,1fr);gap:10px;padding:16px 20px;display:grid}.competencia-card{background:#fff;border:1px solid #e3eaed;border-radius:10px;padding:12px}.competencia-top{align-items:center;gap:8px;margin-bottom:12px;display:flex}.competencia-number{color:#087d79;background:#e8f6f5;border-radius:8px;justify-content:center;align-items:center;width:27px;height:27px;font-size:9px;font-weight:900;display:flex}.competencia-top>span:last-child{color:#40566a;font-size:10px;font-weight:700}.competencia-bottom{border-top:1px solid #edf1f3;justify-content:space-between;align-items:center;padding-top:9px;display:flex}.competencia-bottom span{color:#8b99a5;font-size:9px}.competencia-bottom strong{color:#10263a;font-size:14px}.periodos-table{border:1px solid #e2e9ec;border-radius:9px;margin:0 20px 20px;overflow:hidden}.periodos-table-header,.periodos-row{grid-template-columns:2fr repeat(3,1fr);display:grid}.periodos-table-header{color:#718392;letter-spacing:1px;background:#f4f8f9;font-size:8px;font-weight:850}.periodos-table-header span,.periodos-row span,.periodos-row strong{border-right:1px solid #e5ecef;padding:9px 12px}.periodos-table-header span:last-child,.periodos-row strong:last-child{border-right:none}.periodos-row{border-top:1px solid #e8eef0}.periodos-row span{color:#5d7080;font-size:10px}.periodos-row strong{color:#10263a;text-align:center;font-size:10px;font-weight:750}.documento-footer{color:#9aa7b2;border-top:1px solid #e4ecef;justify-content:space-between;margin:30px 46px 0;padding:18px 0 25px;font-size:9px;display:flex}.reporte-loading{color:#718398;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:500px;font-size:13px;display:flex}.loading-spinner{border:3px solid #dcebea;border-top-color:#087d79;border-radius:50%;width:28px;height:28px;animation:.8s linear infinite reporte-spin}@keyframes reporte-spin{to{transform:rotate(360deg)}}.reporte-error-box{text-align:center;background:#fff;border:1px solid #e1e9ec;border-radius:15px;max-width:550px;margin:80px auto;padding:35px}.error-icon{color:#d97706;background:#fff3e8;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin:0 auto 12px;font-weight:900;display:flex}.reporte-error-box h2{color:#10263a;margin:0 0 8px;font-size:18px}.reporte-error-box p{color:#7b8b99;margin:0;font-size:13px}.sin-resultados{text-align:center;border:1px dashed #ccdadd;border-radius:14px;padding:55px 20px}.sin-resultados-icon{color:#087d79;background:#eef6f6;border-radius:12px;justify-content:center;align-items:center;width:45px;height:45px;margin:auto;font-size:20px;display:flex}.sin-resultados h3{color:#10263a;margin:13px 0 5px;font-size:15px}.sin-resultados p{color:#8998a5;margin:0;font-size:11px}@media (width<=900px){.detalle-reportes-page{padding:20px}.documento-portada{flex-direction:column}.documento-titulo{text-align:left}.curso-info{grid-template-columns:repeat(2,1fr);gap:15px}.curso-info-item{border-right:none;padding:0}.competencias-grid{grid-template-columns:1fr}}@media (width<=600px){.detalle-reportes-page{padding:14px}.documento-portada,.lista-heading{margin-left:20px;margin-right:20px}.documento-portada{padding:28px 0 25px}.curso-info{grid-template-columns:1fr 1fr;margin:0 20px}.lista-heading{flex-direction:column;align-items:flex-start;gap:15px}.estudiantes-lista{margin:0 20px}.estudiante-card-header{flex-direction:column;align-items:flex-start}.resultado-final{text-align:left}.periodos-table{overflow-x:auto}.periodos-table-header,.periodos-row{min-width:500px}.documento-footer{margin-left:20px;margin-right:20px}}.competencias-page{--comp-primary:#3157d5;--comp-primary-dark:#2445b4;--comp-primary-soft:#eef2ff;--comp-text:#172033;--comp-muted:#667085;--comp-border:#e5e9f2;--comp-surface:#fff;--comp-background:#f6f8fc;--comp-success:#168653;--comp-danger:#c43d4b;color:var(--comp-text);background:var(--comp-background);box-sizing:border-box;width:100%;min-width:0;padding:28px}.competencias-page *,.competencias-page :before,.competencias-page :after{box-sizing:border-box}.competencias-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.competencias-eyebrow{color:var(--comp-primary);letter-spacing:.12em;margin-bottom:8px;font-size:11px;font-weight:800;display:inline-block}.competencias-header h1{color:var(--comp-text);margin:0;font-size:clamp(24px,3vw,32px);font-weight:800;line-height:1.2}.competencias-header p,.competencias-panel-header p{color:var(--comp-muted);margin:8px 0 0;font-size:14px;line-height:1.55}.competencias-btn{min-height:42px;font:inherit;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:9px;padding:10px 16px;font-size:13px;font-weight:700;transition:background .18s,border-color .18s,transform .18s;display:inline-flex}.competencias-btn:active:not(:disabled){transform:translateY(1px)}.competencias-btn:disabled{opacity:.58;cursor:not-allowed}.competencias-btn-primary{color:#fff;background:var(--comp-primary);border-color:var(--comp-primary)}.competencias-btn-primary:hover:not(:disabled){background:var(--comp-primary-dark)}.competencias-btn-secondary{color:#344054;background:#fff;border-color:#d9dfeb}.competencias-btn-secondary:hover:not(:disabled){background:#f8faff;border-color:#b9c6e8}.competencias-tabs{background:#e9edf6;border:1px solid #e1e6f0;border-radius:13px;flex-wrap:wrap;gap:8px;margin-bottom:22px;padding:6px;display:flex}.competencias-tab{color:#58647a;min-height:43px;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:9px;padding:10px 16px;font-size:13px;font-weight:700;transition:all .18s;display:inline-flex}.competencias-tab:hover{color:var(--comp-primary);background:#ffffffa6}.competencias-tab.activa{color:var(--comp-primary);background:#fff;border-color:#e4e9f4;box-shadow:0 2px 5px #1622420f}.competencias-resumen{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px;display:grid}.competencias-stat{background:var(--comp-surface);border:1px solid var(--comp-border);border-radius:14px;align-items:center;gap:14px;min-width:0;padding:20px;display:flex;box-shadow:0 3px 12px #14234606}.competencias-stat-icon{width:46px;height:46px;color:var(--comp-primary);background:var(--comp-primary-soft);border-radius:12px;flex:0 0 46px;place-items:center;display:grid}.competencias-stat-icon.activa{color:var(--comp-success);background:#e9f8f0}.competencias-stat-icon.inactiva{color:#b7791f;background:#fff5df}.competencias-stat span{color:var(--comp-muted);margin-bottom:5px;font-size:12px;font-weight:600;display:block}.competencias-stat strong{color:var(--comp-text);font-size:25px;font-weight:800;display:block}.competencias-asignaciones{gap:20px;min-width:0;display:grid}.competencias-panel{background:var(--comp-surface);border:1px solid var(--comp-border);border-radius:15px;min-width:0;margin-bottom:22px;padding:24px;box-shadow:0 4px 16px #14234609}.competencias-asignaciones .competencias-panel{margin-bottom:0}.competencias-panel-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.competencias-panel-header h2{color:var(--comp-text);margin:0;font-size:17px;font-weight:800;line-height:1.35}.competencias-list-header{align-items:center}.competencias-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 18px;display:grid}.competencias-field{flex-direction:column;gap:8px;min-width:0;display:flex}.competencias-field label{color:#344054;font-size:12px;font-weight:750}.competencias-field input,.competencias-field select,.competencias-search input{width:100%;min-width:0;min-height:44px;color:var(--comp-text);font:inherit;background:#fff;border:1px solid #d8deea;border-radius:9px;outline:none;padding:11px 13px;font-size:13px;transition:border-color .18s,box-shadow .18s}.competencias-field input::placeholder,.competencias-search input::placeholder{color:#98a2b3}.competencias-field input:focus,.competencias-field select:focus,.competencias-search input:focus{border-color:#8299ed;box-shadow:0 0 0 3px #3157d51c}.competencias-field input:disabled,.competencias-field select:disabled{color:#98a2b3;cursor:not-allowed;background:#f2f4f7}.competencias-form-actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:10px;padding-top:2px;display:flex}.competencias-search{color:#7a8497;background:#fff;border:1px solid #d8deea;border-radius:10px;align-items:center;gap:9px;width:min(100%,320px);padding-left:12px;display:flex}.competencias-search:focus-within{border-color:#8299ed;box-shadow:0 0 0 3px #3157d517}.competencias-search input{min-height:40px;box-shadow:none;border:0;padding-left:0}.competencias-search input:focus{box-shadow:none;border:0}.competencias-table-wrapper{border:1px solid var(--comp-border);border-radius:10px;width:100%;overflow-x:auto}.competencias-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%;font-size:13px}.competencias-table thead th{color:#667085;border-bottom:1px solid var(--comp-border);letter-spacing:.035em;white-space:nowrap;background:#f7f9fc;padding:14px 16px;font-size:11px;font-weight:800}.competencias-table tbody td{color:#344054;vertical-align:middle;background:#fff;border-bottom:1px solid #edf0f5;padding:15px 16px}.competencias-table tbody tr:last-child td{border-bottom:0}.competencias-table tbody tr:hover td{background:#fbfcff}.competencias-codigo{color:#344fba;white-space:nowrap;background:#eef2ff;border:1px solid #e0e7ff;border-radius:6px;align-items:center;padding:5px 8px;font-size:11px;font-weight:800;display:inline-flex}.competencias-badge{white-space:nowrap;border-radius:999px;align-items:center;padding:5px 9px;font-size:11px;font-weight:750;display:inline-flex}.competencias-badge.activa{color:#137448;background:#e7f7ee}.competencias-badge.inactiva{color:#a15c12;background:#fff2db}.competencias-row-actions{align-items:center;gap:7px;display:flex}.competencias-icon-btn{color:#58647a;cursor:pointer;background:#fff;border:1px solid #e0e5ee;border-radius:8px;flex:0 0 35px;place-items:center;width:35px;height:35px;transition:all .18s;display:inline-grid}.competencias-icon-btn:hover{color:var(--comp-primary);background:#f0f4ff;border-color:#cbd6ff}.competencias-icon-btn[aria-label^=Quitar]:hover{color:var(--comp-danger);background:#fff0f1;border-color:#f4c5ca}.competencias-empty{text-align:center;font-size:13px;color:var(--comp-muted)!important;padding:30px 16px!important}@media (width<=900px){.competencias-page{padding:22px}.competencias-resumen{gap:12px}.competencias-stat{padding:16px}.competencias-panel{padding:20px}}@media (width<=650px){.competencias-page{padding:15px}.competencias-header{flex-direction:column;align-items:flex-start}.competencias-header>.competencias-btn{align-self:stretch}.competencias-tabs{grid-template-columns:1fr;display:grid}.competencias-tab{justify-content:flex-start}.competencias-resumen{grid-template-columns:1fr}.competencias-stat{padding:15px}.competencias-panel{border-radius:12px;padding:16px}.competencias-panel-header,.competencias-list-header{flex-direction:column;align-items:stretch}.competencias-list-header{gap:14px}.competencias-search{width:100%}.competencias-form{grid-template-columns:1fr}.competencias-form-actions{grid-column:auto}.competencias-form-actions .competencias-btn{width:100%}.competencias-panel-header>.competencias-btn{align-self:flex-start}.competencias-table{min-width:640px}}
