@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff")}:root{color:#111827;font-synthesis:none;--brand:#4c1d95;--muted:#6b7280;--border:#e5e7eb;--radius:12px;background:#f9fafb;font-family:Inter,system-ui,sans-serif;font-size:14px;line-height:1.5}*{box-sizing:border-box}body,h1,h2,h3,p{margin:0}h1{font-size:24px;font-weight:700;line-height:32px}h2{font-size:20px;line-height:28px}h3{font-size:16px;line-height:22px}button,input,select{font:inherit}button{background:var(--brand);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:8px;min-height:40px;padding:9px 16px;font-weight:500}button:hover:not(:disabled){background:#5b21b6}button:disabled{opacity:.6;cursor:wait}button.secondary{color:var(--brand);border-color:var(--brand);background:#fff}button.secondary:hover:not(:disabled){background:#f5f3ff}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #a78bfa}input,select{border:1px solid var(--border);color:#111827;background:#fff;border-radius:8px;width:100%;min-width:0;height:40px;padding:9px 12px}input[readonly]{color:var(--muted);background:#f9fafb}input[aria-invalid=true]{border-color:#dc2626}input::placeholder{color:var(--muted)}select{appearance:none;background-image:url(/figma/chevron.svg);background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.muted,.caption{color:var(--muted)}.caption{font-size:12px}.field{flex-direction:column;gap:5px;min-width:0;font-weight:500;display:flex}.field input,.field select{font-weight:400}.field-error{color:#b91c1c;font-size:12px}.actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:20px;display:flex}.actions.start{justify-content:flex-start}.card{border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:28px}.stack{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.center{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.feedback{white-space:normal;overflow-wrap:anywhere;border-radius:8px;align-items:flex-start;gap:12px;max-width:100%;margin:0 0 18px;padding:18px;display:flex}.feedback>div{min-width:0}.feedback strong{margin-bottom:3px;font-weight:600;display:block}.feedback .status-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:12px;height:12px;margin-top:5px}.success{color:#15803d;background:#f0fdf4}.warning{color:#a16207;background:#fffbeb}.danger{color:#b91c1c;background:#fef2f2}.info{color:#1d4ed8;background:#eff6ff}.feedback>div>div{color:#111827;font-size:13px;line-height:1.6}.loading{color:var(--muted);align-items:center;gap:12px;padding:20px 0;display:flex}.spinner{border:2px solid var(--border);border-top-color:var(--brand);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-page{grid-template-columns:5fr 7fr;min-height:100vh;display:grid}.brand-panel{background:var(--brand);color:#fff;flex-direction:column;gap:24px;padding:96px 12%;display:flex}.login-brand{font-size:20px;font-weight:600}.school-card{background:#5b21b6;border-radius:12px;flex-direction:column;gap:12px;min-height:170px;padding:24px;display:flex}.login-area{justify-content:center;align-items:center;padding:40px;display:flex}.login-card{border:1px solid var(--border);background:#fff;border-radius:12px;flex-direction:column;gap:20px;width:456px;max-width:100%;min-height:520px;padding:36px 40px;display:flex;box-shadow:0 1px 4px #11182714}.login-card .field{margin-bottom:12px}.login-card .feedback{margin:0}.login-card .actions{margin-top:0}.app-shell{grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);background:#fff;flex-direction:column;justify-content:space-between;display:flex}.sidebar-top{padding:24px 16px}.brand{color:var(--brand);font-size:24px;font-weight:700}.sidebar nav{margin-top:24px}.sidebar nav button{text-align:left;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:13px;display:flex}.sidebar nav img{display:block}.sidebar-footer{background:#f3f4f6;padding:20px}.sidebar-footer span{margin-top:4px;display:block}.topbar{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:16px;height:64px;padding:0 24px;display:flex}.topbar>strong{font-size:16px}.topbar>div{align-items:center;gap:16px;display:flex}.text-button{color:var(--brand);background:0 0;padding:8px 0}.text-button:hover:not(:disabled){background:0 0;text-decoration:underline}.workspace main{max-width:1600px;margin:0 auto;padding:24px}.breadcrumb{height:36px;color:var(--muted);align-items:center;gap:12px;margin-bottom:18px;font-size:13px;display:flex}.page-heading{margin-bottom:18px}.page-heading p{margin-top:4px}.session-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 16px;min-height:238px;padding:28px;display:grid}.grade-context{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 12px;padding:24px 20px 36px;display:grid}.evaluations-selector{max-width:320px;margin-bottom:18px}.published-notice{color:#5279d7;background:#eff6ff;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:14px 16px;font-size:12px;display:flex}.published-badge{color:#65a878;background:#ecfdf5;border-radius:999px;flex-shrink:0;padding:4px 9px;font-weight:600}.evaluations-card{margin-bottom:16px}.evaluations-card th,.evaluations-card td{padding:16px}.evaluations-card tbody tr{height:56px}.evaluations-card th:first-child{width:22%}.evaluations-card th:nth-child(2){width:46%}.evaluations-card th:nth-child(3){width:10%}.achievement{text-align:center;border-radius:999px;min-width:32px;padding:4px 8px;font-size:11px;font-weight:600;display:inline-block}.achievement-ad{background:var(--brand);color:#fff}.achievement-a{color:#65a878;background:#ecfdf5}.achievement-b{color:#d59b22;background:#fffbeb}.achievement-c{color:#ef7777;background:#fef2f2}.unpublished-badge{color:var(--muted);background:#f3f4f6}.grading-table{margin-bottom:10px}.grading-table th,.grading-table td{padding:14px 16px}.level-options{flex-wrap:wrap;gap:18px;display:flex}.level-options label{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.level-options input{accent-color:var(--brand)}.summary-card{margin-bottom:18px}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0;display:grid}.summary-item{background:#f3f4f6;border-radius:10px;flex-direction:column;gap:8px;padding:18px;display:flex}.progress-copy{color:#65a878;font-size:12px}.grading-scale{color:#5279d7;background:#eff6ff;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0;padding:14px;font-size:12px;display:flex}.grading-scale strong{font-weight:600}.scale-badge{text-align:center;border-radius:999px;min-width:28px;padding:4px 7px;font-size:11px;font-weight:600}.scale-ad{background:var(--brand);color:#fff}.scale-a{color:#65a878;background:#ecfdf5}.scale-b{color:#d59b22;background:#fffbeb}.scale-c{color:#ef7777;background:#fef2f2}.table-card{border:1px solid var(--border);border-radius:var(--radius);background:#fff;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th,td{padding:16px 20px}thead{background:#f3f4f6}thead th{padding-top:14px;padding-bottom:14px;font-weight:500}tbody th{min-width:200px;font-weight:400}tbody th small{color:var(--muted);margin-top:2px;font-size:11px;display:block}tbody tr+tr{border-top:1px solid #f3f4f6}td:last-child{width:22%;min-width:160px}.choices{border:0;gap:12px;min-width:360px;margin:0;padding:0;display:flex}.choice{cursor:pointer;white-space:nowrap;align-items:center;gap:10px;padding:8px 0;display:flex;position:relative}.choice input{opacity:0;cursor:pointer;width:20px;height:20px;margin:0;position:absolute;left:0}.radio-icon{justify-content:center;align-items:center;width:20px;height:20px;display:flex}.radio-icon img{display:block}.choice:has(input:focus-visible){border-radius:4px;outline:3px solid #a78bfa}.observation{font-size:12px}.badges{flex-wrap:wrap;gap:12px;margin:18px 0;display:flex}.badge{border-radius:99px;padding:5px 10px;font-size:12px}.summary{grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0;display:grid}.metric{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;min-height:150px;padding:20px;display:flex}.metric span{color:var(--muted)}.metric strong{color:#111827;font-size:24px}.audit-info{color:#1d4ed8;border-radius:var(--radius);background:#eff6ff;padding:16px 20px}.modal-backdrop{z-index:10;background:#11182766;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{max-width:480px;box-shadow:0 12px 40px #11182733}.modal p{margin-top:12px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1100px){.login-area{padding:28px}.brand-panel{padding:72px 32px}.app-shell{grid-template-columns:210px minmax(0,1fr)}.session-form{grid-template-columns:repeat(2,minmax(0,1fr))}.choices{gap:8px;min-width:330px}th,td{padding:16px 12px}}@media (width<=700px){.login-page{grid-template-columns:1fr}.brand-panel{gap:12px;padding:28px}.school-card{display:none}.login-area{padding:24px 16px}.login-card{min-height:0;padding:28px 24px}.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border)}.sidebar-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.sidebar-top>.caption,.sidebar-footer{display:none}.sidebar nav{margin:0}.topbar{flex-wrap:wrap;height:auto;min-height:64px;padding:12px 20px}.topbar>div{gap:12px}.workspace main{padding:20px 16px}.session-form{grid-template-columns:1fr;gap:20px;padding:20px}.summary{gap:8px}.metric{min-height:110px;padding:14px}h1{font-size:22px}.actions{gap:8px}.actions button{flex-grow:1}.choice{min-height:44px}.table-card{margin-right:0}}.brand-panel,.login-area,.workspace{min-width:0}.login-page{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}@media (width<=700px){.login-page{grid-template-columns:minmax(0,1fr)}.login-card{width:100%}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.admin-content{flex-direction:column;gap:24px;display:flex}.admin-content>button{align-self:flex-start}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.admin-form h2{margin-bottom:20px}.admin-form fieldset{border:0;min-width:0;margin:0;padding:0}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.form-wide{grid-column:1/-1}.admin-grid .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rule-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.academic-section{border-bottom:1px solid var(--border);margin-bottom:56px;padding-bottom:36px}.academic-section .admin-form{margin-bottom:24px}.academic-section .table-card{margin-bottom:0}.rule-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px;padding:16px;display:grid}.rule-options{border:0;margin:0;padding:0}.rule-options legend{margin-bottom:4px;font-weight:600}.rule-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.rule-choice{border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:14px;display:flex}.rule-choice:has(input:checked){border-color:var(--brand);background:#f5f3ff}.rule-choice input{width:18px;height:18px;accent-color:var(--brand);margin:2px 0 0}.rule-choice strong,.rule-choice small{display:block}.rule-choice small{color:var(--muted);margin-top:4px;font-size:12px}.rule-tie-list{flex-wrap:wrap;gap:18px;margin-top:8px;display:flex}.preview-card{color:#5279d7;background:#eff6ff;border-radius:10px;flex-direction:column;gap:8px;padding:16px;display:flex}.preview-evidence{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.status-active,.status-inactive{border-radius:999px;padding:4px 9px;font-size:12px;font-weight:600;display:inline-block}.status-active{color:#15803d;background:#ecfdf5}.status-inactive{color:var(--muted);background:#f3f4f6}.rule-actions{flex-wrap:wrap;gap:8px;display:flex}.rule-actions button{min-height:34px;padding:6px 10px;font-size:12px}.danger-button{color:#b91c1c;background:#fff;border-color:#fecaca}.danger-button:hover:not(:disabled){background:#fef2f2}.checkbox{cursor:pointer;align-items:center;gap:10px;min-height:40px;display:inline-flex}.checkbox input{width:18px;height:18px;accent-color:var(--brand);margin:0}.admin-form .roles{flex-wrap:wrap;gap:12px 28px;display:flex}.roles legend{padding-bottom:8px;font-weight:500}.sidebar nav{flex-direction:column;gap:6px;display:flex}.sidebar nav img{width:16px;height:16px}.sidebar .nav-item{color:#374151;background:0 0}.sidebar .nav-item:hover{background:#f5f3ff}.step-card{color:inherit;flex-direction:column;gap:12px;text-decoration:none;display:flex}.step-card:hover{border-color:#a78bfa}.step-card>span{color:var(--brand);font-size:24px;font-weight:700}.step-card strong,a{color:var(--brand)}.button-link{background:var(--brand);color:#fff;border-radius:8px;padding:10px 16px;text-decoration:none;display:inline-block}.catalog-section{flex-direction:column;gap:12px;min-width:0;display:flex}.admin-table td{vertical-align:top;overflow-wrap:anywhere}.admin-table small{color:var(--muted);display:block}.admin-table pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:420px;font-size:12px}.auditoria-filtros{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:16px;margin-bottom:24px;display:grid}.auditoria-cambio{overflow-wrap:anywhere;flex-direction:column;gap:4px;font-size:12px;display:flex}.portal-table pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:420px;font-size:12px}@media (width<=1279px){.auditoria-filtros{grid-template-columns:repeat(2,minmax(0,1fr))}}.schedule-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.schedule-matrix{table-layout:fixed;min-width:1120px}.schedule-matrix th,.schedule-matrix td{vertical-align:top;width:auto;min-width:0;padding:12px}.schedule-matrix th:first-child{width:76px}.schedule-matrix caption{text-align:left;padding:16px;font-weight:600}.schedule-block{border-left:3px solid var(--brand);overflow-wrap:anywhere;background:#f5f3ff;border-radius:6px;flex-direction:column;gap:4px;margin-bottom:8px;padding:10px;font-size:12px;display:flex}.schedule-block small{color:var(--muted)}.setup-page{flex-direction:column;gap:24px;max-width:980px;margin:0 auto;padding:48px 24px;display:flex}@media (width<=1100px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.admin-grid,.form-grid,.admin-grid .form-grid,.rule-filters,.rule-choice-grid,.schedule-filters,.grade-context{grid-template-columns:minmax(0,1fr)}.published-notice{flex-direction:column;align-items:flex-start}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.card{padding:20px}}.portal-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.portal-selector{max-width:420px;margin-bottom:24px}.portal-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.portal-summary-card{flex-direction:column;gap:12px;min-height:170px;padding:20px;display:flex}.portal-summary-card strong{overflow-wrap:anywhere;font-size:18px}.portal-historial{margin-top:32px}.portal-historial h2{margin-bottom:16px}.portal-table td:last-child{width:auto}.pagination{flex-wrap:wrap;align-items:center;gap:16px;margin:16px 0;display:flex}.horario-filters{grid-template-columns:repeat(2,minmax(0,320px));gap:12px;margin-bottom:24px;display:grid}.horario-perfil{max-width:280px;margin-bottom:24px}.pagination label{align-items:center;gap:8px;display:flex}.pagination select{width:80px}.badge{border-radius:8px;padding:4px 8px;font-size:12px;font-weight:600;display:inline-block}.horario-personal{table-layout:fixed;width:100%;min-width:760px}.horario-personal th:first-child{width:120px}.horario-personal td{vertical-align:top;border:1px solid var(--border);height:84px;padding:10px}.horario-personal tbody th{color:var(--muted);vertical-align:top;background:#f3f4f6;padding:10px;font-size:12px;font-weight:400}.horario-block{overflow-wrap:anywhere;flex-direction:column;gap:4px;display:flex}.horario-block strong{font-size:14px;font-weight:500}.horario-block span{color:var(--muted);font-size:12px}.horario-tone-0{background:#eff6ff}.horario-tone-1{background:#f0fdf4}.horario-tone-2{background:#fffbeb}.horario-note{margin-top:16px}@media (width<=900px){.portal-summary{grid-template-columns:1fr}.portal-summary-card{min-height:auto}}@media (width<=700px){.horario-filters{grid-template-columns:1fr}.portal-heading{align-items:flex-start}}.confirmation-dialog{border:1px solid var(--border);color:#111827;border-radius:12px;width:min(520px,100% - 48px);padding:24px}.confirmation-dialog::backdrop{background:#11182766}.confirmation-dialog h2{margin-bottom:16px}.destructive{background:#dc2626}.destructive:hover:not(:disabled){background:#b91c1c}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.required-mark{color:#dc2626}.password-card{border:1px solid var(--border);background:#fff;border-radius:12px;width:456px;max-width:100%;padding:32px;box-shadow:0 1px 4px #11182714}.password-card .page-heading{margin:16px 0 24px}.password-card .card{border:0;padding:0}.password-card .form-grid{grid-template-columns:minmax(0,1fr)}.password-card>.text-button{margin-top:16px}.pagos-filtros{grid-template-columns:repeat(2,minmax(0,320px));gap:12px;margin:24px 0 0;display:grid}.pagos-nota{margin-top:24px}.pago-resultado{gap:20px;max-width:720px}.pago-detalle{grid-template-columns:max-content minmax(0,1fr);gap:8px 16px;margin:0 0 16px;display:grid}.pago-detalle dt{color:var(--muted)}.pago-detalle dd{overflow-wrap:anywhere;margin:0}.pago-en-curso{white-space:nowrap}.pago-simulacion{border-top:1px dashed var(--border);flex-direction:column;gap:8px;padding-top:16px;display:flex}@media (width<=700px){.pagos-filtros{grid-template-columns:1fr}.tabla-apilable{background:0 0;border:0}.tabla-apilable thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.tabla-apilable tbody tr{border:1px solid var(--border);border-radius:var(--radius);background:#fff;margin-bottom:12px;padding:12px 16px;display:block}.tabla-apilable td,.tabla-apilable td:last-child{text-align:right;border:0;justify-content:space-between;align-items:center;gap:16px;width:auto;padding:6px 0;display:flex}.tabla-apilable td:before{content:attr(data-label);color:var(--muted);text-align:left}.tabla-apilable td[colspan]{text-align:left;display:block}.tabla-apilable td[colspan]:before{content:none}}
