:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{place-items:center;min-width:320px;min-height:100vh;margin:0;display:flex}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.jf-profile{position:relative}.jf-header .jf-profile-trigger{align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:var(--space-1)var(--space-3)var(--space-1)var(--space-1);border-radius:var(--radius-full);color:var(--color-text);background:0 0;border:1px solid #0000;display:flex}.jf-header .jf-profile-trigger:hover,.jf-header .jf-profile-trigger[aria-expanded=true]{background:var(--color-surface-muted)}.jf-profile-avatar{border-radius:var(--radius-full);background:var(--color-primary);width:36px;height:36px;color:var(--color-on-primary);font-size:var(--font-size-sm);flex-shrink:0;place-items:center;font-weight:600;display:grid;position:relative}.jf-profile-avatar-lg{width:48px;height:48px;font-size:var(--font-size-md)}.jf-profile .jf-account-name{font-weight:500;font-size:var(--font-size-md);text-overflow:ellipsis;white-space:nowrap;max-width:192px;overflow:hidden}.jf-profile-trigger>svg{color:var(--color-text-muted)}.jf-profile-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.jf-session-status{border:2px solid var(--color-surface);border-radius:var(--radius-full);background:var(--color-live);width:12px;height:12px;position:absolute;bottom:-1px;right:-1px}.jf-session-status--warn{background:var(--color-accent)}.jf-session-status--danger{background:var(--color-danger)}.jf-profile-panel{right:0;top:calc(100% + var(--space-2));z-index:50;gap:var(--space-5);width:min(352px,calc(100vw - 2*var(--space-4)));padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:absolute}.jf-identity{align-items:center;gap:var(--space-3);min-width:0;display:flex}.jf-identity>div{min-width:0}.jf-profile-panel p,.jf-profile-panel dl,.jf-profile-panel dd{margin:0}.jf-panel-name{overflow-wrap:anywhere;font-weight:600}.jf-panel-email{font-size:var(--font-size-sm);color:var(--color-text-muted);overflow-wrap:anywhere}.jf-today{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-muted);flex-direction:column;display:flex}.jf-session-label{font-size:var(--font-size-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);font-weight:600}.jf-profile-panel .jf-today-left{margin-top:var(--space-1);align-items:center;gap:var(--space-2);font-size:var(--font-size-lg);color:var(--color-primary);font-weight:600;display:flex}.jf-session-dot{border-radius:var(--radius-full);background:var(--color-live);flex-shrink:0;width:8px;height:8px}.jf-session-facts{gap:var(--space-2);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;flex-direction:column;display:flex}.jf-session-facts>div{justify-content:space-between;gap:var(--space-4);display:flex}.jf-session-facts dt{color:var(--color-text-muted)}.jf-session-facts dd{text-align:right;font-weight:600}.jf-session-meter{border-radius:var(--radius-full);background:var(--color-surface);height:6px;overflow:hidden}.jf-session-meter span{background:var(--color-live);border-radius:inherit;height:100%;display:block}.jf-today--warn .jf-session-dot,.jf-today--warn .jf-session-meter span{background:var(--color-accent)}.jf-today--danger .jf-session-dot,.jf-today--danger .jf-session-meter span{background:var(--color-danger)}.jf-today--danger .jf-today-left{color:var(--color-danger)}.jf-profile .jf-back-portal{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height);border-radius:var(--radius-md);color:var(--color-primary);font-weight:500;text-decoration:none;display:flex}.jf-back-portal:hover{background:var(--color-surface-muted)}.jf-header .jf-profile-logout{justify-content:center;align-items:center;gap:var(--space-2);width:100%;min-height:var(--control-height);padding:0 var(--space-5);border-radius:var(--radius-md);background:var(--color-danger);color:var(--color-on-danger);border:0;font-weight:600;display:flex}.jf-header .jf-profile-logout:hover{background:var(--color-danger-hover)}@media not (min-width:1180px){.jf-profile .jf-account-name{display:none}}@media not (min-width:640px){.jf-profile-panel{inset-inline:var(--space-4);top:calc(var(--header-height) + var(--space-2));width:auto;max-height:calc(100dvh - var(--header-height) - var(--space-6));overscroll-behavior:contain;position:fixed;overflow-y:auto}}.jf-profile-trigger>svg{transition:transform var(--duration-normal)var(--easing-out)}.jf-profile-panel{transform-origin:100% 0}.jf-panel-in{animation:jf-panel-in .28s var(--easing-out)both}.jf-panel-in>*{animation:jf-panel-item .36s var(--easing-out)both}.jf-panel-in>:nth-child(2){animation-delay:50ms}.jf-panel-in>:nth-child(3){animation-delay:.1s}.jf-panel-in>:nth-child(n+4){animation-delay:.15s}.jf-panel-in .jf-session-meter span{animation:jf-meter-in .7s var(--easing-out).16s both}.jf-panel-out{animation:.16s ease-in both jf-panel-out}@keyframes jf-panel-in{0%{opacity:0;transform:translateY(-6px)scale(.96)}}@keyframes jf-panel-item{0%{opacity:0;transform:translateY(6px)}}@keyframes jf-meter-in{0%{width:0}}@keyframes jf-panel-out{to{opacity:0;transform:translateY(-4px)scale(.98)}}.jf-session-status{transition:background-color var(--duration-slow)var(--easing-standard)}.jf-session-status--danger{animation:1.6s ease-in-out infinite jf-latido}@keyframes jf-latido{50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--color-danger)25%,transparent)}}.jf-header .jf-profile-logout{cursor:pointer;box-shadow:0 0 0 0 color-mix(in srgb,var(--color-danger)0%,transparent);transition:background-color .2s,transform .15s}.jf-header .jf-profile-logout:hover{animation:2.2s ease-out infinite jf-logout-onda}.jf-header .jf-profile-logout:active{transform:scale(.99)}.jf-header .jf-profile-logout.is-pressed{animation:.75s ease-out jf-logout-onda}@keyframes jf-logout-onda{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--color-danger)32%,transparent)}to{box-shadow:0 0 0 14px color-mix(in srgb,var(--color-danger)0%,transparent)}}@media not (min-width:640px){.jf-profile-panel{transform-origin:top}}@media (prefers-reduced-motion:reduce){.jf-panel-in,.jf-panel-in>*,.jf-panel-in .jf-session-meter span,.jf-panel-out,.jf-session-status--danger,.jf-header .jf-profile-logout,.jf-header .jf-profile-logout:hover,.jf-header .jf-profile-logout.is-pressed{transition:none;animation:none}}.jf-avisos .jf-aviso-toast{border:1px solid var(--color-border,#d9e3ee);border-radius:var(--radius-md,14px);background:var(--color-surface,#fff);max-width:min(26rem,100vw - 2rem);color:var(--color-text,#0b1f33);font:500 var(--font-size-sm,.875rem)/1.45 var(--font-sans,"Onest Variable",system-ui,sans-serif);padding:.5rem .75rem;box-shadow:0 8px 24px #062c5b1a,0 2px 6px #062c5b0f}.jf-avisos .jf-aviso-toast>div[role]{overflow-wrap:anywhere;margin:.25rem .5rem}.jf-aviso-cerrar{border-radius:var(--radius-full,999px);width:28px;height:28px;color:var(--color-text-muted,#4a5d72);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;margin-left:.25rem;padding:0;display:inline-grid}.jf-aviso-cerrar:hover{background:var(--color-surface-muted,#eaf2fa)}.jf-aviso-cerrar:focus-visible{outline:2px solid var(--color-primary,#062c5b);outline-offset:2px}.jf-charts{gap:var(--space-8);padding-block:var(--space-7);border-bottom:1px solid var(--color-border);grid-template-columns:.9fr 1.1fr;display:grid}.jf-charts h2{margin-bottom:var(--space-5)}.jf-donut-layout{align-items:center;gap:var(--space-5);min-height:216px;display:flex}.jf-donut{flex-shrink:0;width:180px;height:180px;position:relative}.jf-donut svg{width:100%;height:100%;display:block}.jf-donut-track{stroke:var(--color-surface-ice)}.jf-donut-suspended{stroke:var(--color-danger)}.jf-donut-active{stroke:var(--color-primary)}.jf-donut-label{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.jf-donut-label strong{font-size:var(--font-size-2xl);color:var(--color-primary);font-variant-numeric:tabular-nums;font-weight:600}.jf-donut-label span{font-size:var(--font-size-sm);color:var(--color-text-muted)}.jf-chart-legend{gap:var(--space-5);flex-direction:column;flex:1;margin:0;display:flex}.jf-chart-legend>div{gap:var(--space-1);flex-direction:column;display:flex}.jf-chart-legend dt{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);display:flex}.jf-chart-legend dd{padding-left:var(--space-4);color:var(--color-primary);font-size:var(--font-size-lg);font-variant-numeric:tabular-nums;margin:0;font-weight:600}.jf-legend-dot{border-radius:var(--radius-full);background:var(--color-primary);flex-shrink:0;width:8px;height:8px;display:inline-block}.jf-legend-dot-danger{background:var(--color-danger)}.jf-bars{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.jf-bar-label{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-1);font-size:var(--font-size-sm);display:flex}.jf-bar-label>span{overflow-wrap:anywhere}.jf-bar-label strong{font-variant-numeric:tabular-nums;color:var(--color-primary);flex-shrink:0;font-weight:600}.jf-bar-track{border-radius:var(--radius-full);background:var(--color-surface-muted);height:6px;overflow:hidden}.jf-bar-track span{border-radius:inherit;background:var(--color-primary);height:100%;display:block}.jf-chart-empty{color:var(--color-text-muted);padding-block:var(--space-6);font-size:var(--font-size-sm);margin:0}.jf-overview-heading{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.jf-connection{align-items:center;gap:var(--space-2);min-height:32px;padding:var(--space-1)var(--space-3);border-radius:var(--radius-full);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--font-size-sm);display:inline-flex}.jf-connection--conectado{background:var(--color-success-bg);color:var(--color-success)}.jf-connection--parcial{background:var(--color-warning-bg);color:var(--color-warning)}.jf-connection--sin-conexion,.jf-connection--error-api{background:var(--color-danger-bg);color:var(--color-danger)}@media not (min-width:900px){.jf-donut-layout{gap:var(--space-4);flex-wrap:wrap}.jf-donut{width:160px;height:160px}}@media not (min-width:760px){.jf-charts{gap:var(--space-7);grid-template-columns:1fr}.jf-donut-layout{flex-wrap:nowrap;min-height:auto}}@media not (min-width:640px){.jf-charts{padding-block:var(--space-6)}}.jf-est{max-width:var(--content-max-width);color:var(--color-text);margin-inline:auto}.jf-est h1{margin:0 0 var(--space-6);color:var(--color-primary);font-size:var(--font-size-3xl);letter-spacing:-.02em;font-weight:600;line-height:1.25}.jf-est h2,.jf-est h3{color:var(--color-primary);letter-spacing:-.015em;margin:0;font-weight:600;line-height:1.25}.jf-est h2{font-size:var(--font-size-xl)}.jf-est h3{font-size:var(--font-size-lg)}.jf-oculto,.jf-est .jf-oculto{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;min-height:0;margin:-1px;padding:0;position:absolute;overflow:hidden}.jf-tabular{font-variant-numeric:tabular-nums}.jf-tenue{color:var(--color-text-muted)}.jf-girar{animation:.9s linear infinite jf-girar}@keyframes jf-girar{to{transform:rotate(360deg)}}.jf-est input{width:100%;min-height:var(--control-height);padding:var(--space-2)var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;box-shadow:none;margin:0}.jf-est input::placeholder{color:var(--color-text-muted)}.jf-est input:focus{border-color:var(--color-border-strong);box-shadow:none;outline:none}.jf-est input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.jf-etiqueta{margin-bottom:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text);font-weight:600;display:block}.jf-ayuda{margin:var(--space-2)0 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.jf-campo-error{margin:var(--space-2)0 0;font-size:var(--font-size-sm);color:var(--color-danger)}.jf-campo.is-error input{border:2px solid var(--color-danger)}.jf-est .jf-btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-5);border-radius:var(--radius-md);color:var(--color-primary);font:600 var(--font-size-md)/1.25 var(--font-sans);white-space:nowrap;cursor:pointer;transition:background var(--duration-fast),transform var(--duration-fast);background:0 0;border:1px solid #0000;display:inline-flex}.jf-est .jf-btn:active:not(:disabled){transform:translateY(1px)}.jf-est .jf-btn:disabled{opacity:.55;cursor:not-allowed}.jf-est .jf-btn-primario{background:var(--color-primary);color:var(--color-on-primary)}.jf-est .jf-btn-primario:hover:not(:disabled){background:var(--color-primary-hover)}.jf-est .jf-btn-secundario{background:var(--color-surface);border-color:var(--color-border-strong)}.jf-est .jf-btn-secundario:hover:not(:disabled),.jf-est .jf-btn-fantasma:hover:not(:disabled),.jf-est .jf-btn-icono:hover:not(:disabled){background:var(--color-surface-muted);border-color:#0000}.jf-est .jf-btn-peligro-fantasma{color:var(--color-danger)}.jf-est .jf-btn-peligro-fantasma:hover:not(:disabled){background:var(--color-danger-bg);border-color:#0000}.jf-est .jf-btn-icono{flex-shrink:0;width:40px;height:40px;min-height:40px;padding:0}.jf-combo{position:relative}.jf-combo-campo{align-items:center;display:flex;position:relative}.jf-combo-campo>svg{left:var(--space-4);color:var(--color-text-muted);pointer-events:none;position:absolute}.jf-est .jf-combo-campo input{padding-left:calc(var(--space-4) + 18px + var(--space-3))}.jf-combo-campo>.jf-btn-icono{right:var(--space-3);position:absolute}.jf-combo-panel{z-index:30;top:calc(100% + var(--space-2));max-height:min(420px,60dvh);padding:var(--space-2);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);position:absolute;left:0;right:0;overflow-y:auto}.jf-combo-panel[hidden]{display:none}.jf-combo-panel ul{margin:0;padding:0;list-style:none}.jf-combo-panel li{align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2)var(--space-3);border-radius:var(--radius-sm);cursor:pointer;display:flex}.jf-combo-panel li.is-activa{background:var(--color-surface-muted)}.jf-combo-mensaje,.jf-combo-pie{padding:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.jf-combo-pie{border-top:1px solid var(--color-border);margin-top:var(--space-1)}.jf-opcion-texto{flex-direction:column;flex:1;min-width:0;display:flex}.jf-opcion-nombre{color:var(--color-primary);font-weight:600}.jf-opcion-datos{gap:var(--space-3);min-width:0;font-size:var(--font-size-sm);color:var(--color-text-muted);display:flex}.jf-opcion-nombre,.jf-opcion-datos,.jf-opcion-correo,.jf-opcion-linea{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.jf-est mark{color:inherit;text-underline-offset:3px;background:0 0;font-weight:700;text-decoration:underline;text-decoration-thickness:2px}.jf-buscador{margin-bottom:var(--space-6)}.jf-est .jf-buscador input{border-radius:var(--radius-lg);background:var(--color-surface-muted);min-height:64px;font-size:var(--font-size-lg);padding-left:calc(var(--space-5) + 22px + var(--space-3));padding-right:calc(var(--space-3) + 40px + var(--space-3));border:0}.jf-buscador .jf-combo-campo>svg{left:var(--space-5);color:var(--color-primary)}.jf-buscador .jf-combo-panel{border-radius:var(--radius-lg)}.jf-avatar{border-radius:var(--radius-full);background:var(--color-surface-muted);width:64px;height:64px;color:var(--color-primary);font-size:var(--font-size-xl);flex-shrink:0;place-items:center;font-weight:600;display:grid}.jf-avatar.is-suspendido{background:var(--color-danger-bg);color:var(--color-danger)}.jf-avatar-sm{width:40px;height:40px;font-size:var(--font-size-sm)}.jf-chip{padding:var(--space-1)var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-sm);white-space:nowrap;align-items:center;font-weight:600;display:inline-flex}.jf-chip-exito{background:var(--color-success-bg);color:var(--color-success)}.jf-chip-peligro{background:var(--color-danger-bg);color:var(--color-danger)}.jf-estado{align-items:center;gap:var(--space-3);color:var(--color-text-muted);display:flex}.jf-aviso{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2)var(--space-2)var(--space-2)var(--space-4);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.jf-aviso-peligro{background:var(--color-danger-bg);color:var(--color-danger)}.jf-aviso-texto{color:var(--color-warning)}.jf-ficha{border-top:1px solid var(--color-border);padding-top:var(--space-6)}.jf-ficha[aria-busy=true]{opacity:.7;transition:opacity var(--duration-fast)}.jf-ficha-cabecera{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.jf-ficha-titulo{align-items:center;gap:var(--space-2)var(--space-3);flex-wrap:wrap;flex:260px;min-width:0;display:flex}.jf-ficha-titulo h2{overflow-wrap:anywhere}.jf-ficha-acciones{gap:var(--space-2);display:flex}.jf-datos{gap:var(--space-4)var(--space-5);margin:var(--space-6)0 0;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.jf-datos div{min-width:0}.jf-datos dt{font-size:var(--font-size-sm);color:var(--color-text-muted)}.jf-datos dd{margin:var(--space-1)0 0;font-weight:500}.jf-correo{overflow-wrap:anywhere}.jf-relativo{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:400;display:block}.jf-edicion{gap:var(--space-4)var(--space-5);margin-top:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;display:grid}.jf-campo-clave{align-items:center;display:flex;position:relative}.jf-est .jf-campo-clave input{padding-right:calc(40px + var(--space-3))}.jf-campo-clave .jf-btn-icono{position:absolute;right:2px}.jf-edicion-botones{gap:var(--space-3);grid-column:1/-1;display:flex}.jf-ficha-cuerpo{gap:var(--space-8);margin-top:var(--space-7);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;display:grid}.jf-cursos h3,.jf-panel-matricula h3{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.jf-conteo{padding:0 var(--space-2);border-radius:var(--radius-full);background:var(--color-surface-muted);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.jf-lista-cursos{margin:0;padding:0;list-style:none}.jf-lista-cursos li{align-items:center;gap:var(--space-3);min-height:64px;padding:var(--space-2)0;border-bottom:1px solid var(--color-border);display:flex}.jf-curso-texto{flex-direction:column;flex:1;min-width:0;display:flex}.jf-curso-texto strong{color:var(--color-primary);overflow-wrap:anywhere;font-weight:600}.jf-curso-texto span{font-size:var(--font-size-sm);color:var(--color-text-muted)}.jf-vacio{align-items:center;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface-muted);color:var(--color-text-muted);margin:0;display:flex}.jf-panel-matricula{padding:var(--space-6);border-radius:var(--radius-lg);background:var(--color-surface-muted)}.jf-panel-matricula .jf-combo-campo>svg{color:var(--color-primary)}.jf-matricula-botones{gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.jf-matricula-botones .jf-btn{flex:140px}@media (max-width:900px){.jf-ficha-cuerpo{gap:var(--space-6);grid-template-columns:1fr}}@media (max-width:640px){.jf-est h1{font-size:var(--font-size-2xl);margin-bottom:var(--space-5)}.jf-est .jf-buscador input{min-height:56px;font-size:var(--font-size-md)}.jf-avatar{width:52px;height:52px;font-size:var(--font-size-lg)}.jf-ficha-acciones{width:100%}.jf-ficha-acciones .jf-btn{flex:1}.jf-datos,.jf-edicion{grid-template-columns:1fr}.jf-edicion-botones .jf-btn{flex:1}.jf-panel-matricula{padding:var(--space-5)}.jf-opcion-correo{display:none}}.jf-alta form{margin:0}.jf-segmento{gap:var(--space-1);margin:0 0 var(--space-6);padding:var(--space-1);border-radius:var(--radius-full);background:var(--color-surface-muted);border:0;display:inline-flex}.jf-segmento label{min-height:var(--control-height);padding:0 var(--space-5);border-radius:var(--radius-full);color:var(--color-primary);cursor:pointer;transition:background var(--duration-fast);align-items:center;font-weight:500;display:inline-flex}.jf-segmento label:hover{background:var(--color-surface-ice)}.jf-segmento label.is-activo{background:var(--color-primary);color:var(--color-on-primary);font-weight:600}:is(.jf-segmento label:has(:focus-visible),.jf-roles label:has(:focus-visible)){outline:2px solid var(--color-primary);outline-offset:2px}.jf-alta-cuerpo{gap:var(--space-8);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;display:grid}.jf-alta-datos{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.jf-alta-ancho{grid-column:1/-1}.jf-opcional{color:var(--color-text-muted);font-weight:400}.jf-campo-estado{align-items:center;display:flex;position:relative}.jf-est .jf-campo-estado input{padding-right:calc(var(--space-4) + 20px + var(--space-2));font-variant-numeric:tabular-nums}.jf-campo-icono{right:var(--space-4);color:var(--color-text-muted);display:flex;position:absolute}.jf-ok{color:var(--color-success)}.jf-mal{color:var(--color-danger)}.jf-campo-ok,.jf-campo-aviso{margin:var(--space-2)0 0;font-size:var(--font-size-sm)}.jf-campo-ok{color:var(--color-success)}.jf-campo-aviso{color:var(--color-warning)}.jf-alta-datos .jf-ayuda:empty{min-height:1.55em}.jf-est .jf-alta-subtitulo{font-size:var(--font-size-lg);margin-bottom:var(--space-4)}.jf-chips{gap:var(--space-2);margin:var(--space-4)0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.jf-chips li{align-items:center;gap:var(--space-1);min-height:36px;padding:0 var(--space-1)0 var(--space-3);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-primary);font-size:var(--font-size-sm);font-weight:600;display:inline-flex}.jf-chips li:not(:has(button)){padding-right:var(--space-3)}.jf-est .jf-chips button{border-radius:var(--radius-full);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.jf-est .jf-chips button:hover{background:var(--color-danger-bg);color:var(--color-danger)}.jf-resultado .jf-chips li{background:var(--color-surface-muted)}.jf-roles{gap:var(--space-2);margin:var(--space-6)0 0;border:0;padding:0;display:grid}.jf-roles label{align-items:flex-start;gap:var(--space-3);padding:var(--space-3)var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;border:1px solid #0000;display:flex}.jf-roles label.is-activo{border-color:var(--color-primary)}.jf-est .jf-roles input{width:18px;height:18px;min-height:18px;accent-color:var(--color-primary);flex-shrink:0;margin:3px 0 0;padding:0}.jf-est .jf-roles input:focus-visible{outline:none}.jf-roles label>span{flex-direction:column;display:flex}.jf-roles strong{color:var(--color-primary);font-weight:600}.jf-roles label>span>span{font-size:var(--font-size-sm);color:var(--color-text-muted)}.jf-alta-clave{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin:var(--space-6)0 0;padding-top:var(--space-4);border-top:1px solid var(--color-surface-ice);display:flex}.jf-alta-clave dt{font-size:var(--font-size-sm);color:var(--color-text-muted)}.jf-alta-clave dd{color:var(--color-primary);overflow-wrap:anywhere;margin:0;font-weight:600}.jf-alta-botones{gap:var(--space-3);margin-top:var(--space-7);padding-top:var(--space-5);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.jf-resultado-cabecera{align-items:center;gap:var(--space-3);display:flex}.jf-resultado .jf-datos{margin-top:var(--space-5)}.jf-clave{align-items:center;gap:var(--space-2);display:flex}.jf-clave .jf-btn-icono{margin-block:-8px}.jf-resultado-cursos{margin-top:var(--space-7)}.jf-resultado-cursos h3{align-items:center;gap:var(--space-2);display:flex}.jf-rol{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-left:auto;font-weight:500}.jf-resultado .jf-aviso{margin-top:var(--space-4)}@media (max-width:900px){.jf-alta-cuerpo{gap:var(--space-6);grid-template-columns:1fr}}@media (max-width:640px){.jf-segmento{display:flex}.jf-segmento label{flex:1;justify-content:center}.jf-alta-datos{gap:var(--space-4);grid-template-columns:1fr}.jf-alta-botones .jf-btn{flex:100%}}.jf-lote-destino{gap:var(--space-5)var(--space-8);margin-bottom:var(--space-6);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;display:grid}.jf-lote-destino>.jf-interruptor{margin-top:calc(var(--font-size-sm)*1.55 + var(--space-2))}.jf-interruptor{align-items:center;gap:var(--space-3);min-height:var(--control-height);cursor:pointer;display:flex;position:relative}.jf-est .jf-interruptor input{opacity:0;width:44px;height:24px;min-height:0;margin:0;padding:0;position:absolute}.jf-interruptor-pista{border-radius:var(--radius-full);background:var(--color-border-strong);width:44px;height:24px;transition:background var(--duration-fast);flex-shrink:0;position:relative}.jf-interruptor-pista:after{content:"";border-radius:var(--radius-full);background:var(--color-surface);width:18px;height:18px;transition:transform var(--duration-fast)var(--easing-out);position:absolute;top:3px;left:3px}.jf-interruptor input:checked+.jf-interruptor-pista{background:var(--color-primary)}.jf-interruptor input:checked+.jf-interruptor-pista:after{transform:translate(20px)}.jf-interruptor input:focus-visible+.jf-interruptor-pista{outline:2px solid var(--color-primary);outline-offset:2px}.jf-interruptor>span:last-child{flex-direction:column;display:flex}.jf-interruptor strong{color:var(--color-primary);font-weight:600}.jf-interruptor>span:last-child>span{font-size:var(--font-size-sm);color:var(--color-text-muted)}.jf-zona{align-items:center;gap:var(--space-3);padding:var(--space-7)var(--space-5);border:2px dashed var(--color-surface-ice);border-radius:var(--radius-lg);background:var(--color-surface-muted);color:var(--color-primary);text-align:center;transition:border-color var(--duration-fast);flex-direction:column;display:flex}.jf-zona.is-encima{border-color:var(--color-primary)}.jf-zona-titulo{font-size:var(--font-size-lg);margin:0;font-weight:600}.jf-zona-botones{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.jf-est .jf-enlace{color:var(--color-primary);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.jf-lote-pegar textarea{width:100%;margin:0 0 var(--space-4);padding:var(--space-3)var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:400 var(--font-size-sm)/1.55 var(--font-sans);font-variant-numeric:tabular-nums;resize:vertical;tab-size:16;display:block}.jf-lote-pegar textarea:focus{border-color:var(--color-border-strong);box-shadow:none;outline:none}.jf-lote-pegar textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.jf-lote-archivo{align-items:center;gap:var(--space-3);padding:var(--space-2)var(--space-2)var(--space-2)var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-primary);flex-wrap:wrap;display:flex}.jf-lote-archivo>span{overflow-wrap:anywhere;flex:1;min-width:0}.jf-lote-vista{margin-top:var(--space-7)}.jf-lote-vista-cabecera{align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.jf-lote-vista[aria-busy=true] .jf-tabla-marco{opacity:.6}.jf-filtros{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.jf-est .jf-filtros button{align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-4);border-radius:var(--radius-full);background:var(--color-surface-muted);color:var(--color-primary);font:500 var(--font-size-sm)/1 var(--font-sans);cursor:pointer;border:1px solid #0000;display:inline-flex}.jf-est .jf-filtros button:hover{border-color:var(--color-surface-ice)}.jf-est .jf-filtros button[aria-pressed=true]{background:var(--color-primary);color:var(--color-on-primary)}.jf-est .jf-filtros button span{font-weight:700}.jf-tono-exito{--tono:var(--color-success);--tono-fondo:var(--color-success-bg)}.jf-tono-peligro{--tono:var(--color-danger);--tono-fondo:var(--color-danger-bg)}.jf-tono-aviso{--tono:var(--color-warning);--tono-fondo:var(--color-warning-bg)}.jf-tono-info{--tono:var(--color-primary);--tono-fondo:var(--color-surface-ice)}.jf-tono-neutro{--tono:var(--color-text-muted);--tono-fondo:var(--color-surface-muted)}.jf-chip[class*=jf-tono-]{background:var(--tono-fondo);color:var(--tono)}.jf-est .jf-filtros button[class*=jf-tono-]:not([aria-pressed=true]) span{color:var(--tono)}.jf-tabla-marco{border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);transition:opacity var(--duration-fast);overflow-x:auto}.jf-tabla{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.jf-tabla th{padding:var(--space-3)var(--space-4);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--font-size-xs);letter-spacing:.04em;text-align:left;text-transform:uppercase;font-weight:600}.jf-tabla td{padding:var(--space-3)var(--space-4);border-top:1px solid var(--color-border);vertical-align:top}.jf-tabla td:first-child{width:4.5rem;color:var(--color-text-muted)}.jf-nota{margin-top:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-muted);display:block}.jf-nota-peligro{color:var(--color-danger)}.jf-lote-accion{align-items:center}.jf-desm-config{gap:var(--space-5)var(--space-8);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;display:grid}.jf-est .jf-desm-modo{margin-top:0}.jf-desm-salen{color:var(--color-danger);font-weight:700}.jf-tabla-cursos td:not(:first-child){width:9rem}.jf-tabla-cursos td:first-child{width:auto;color:var(--color-primary)}.jf-est .jf-btn-peligro{background:var(--color-danger);color:var(--color-on-danger)}.jf-est .jf-btn-peligro:hover:not(:disabled){background:var(--color-danger-hover)}.jf-progreso{max-width:640px;padding:var(--space-6);border-radius:var(--radius-lg);background:var(--color-surface-muted)}.jf-progreso h2{margin-bottom:var(--space-5)}.jf-barra{border-radius:var(--radius-full);background:var(--color-surface-ice);height:12px;overflow:hidden}.jf-barra span{border-radius:inherit;background:var(--color-primary);height:100%;transition:width var(--duration-fast);display:block}.jf-progreso p.jf-tabular{margin:var(--space-3)0 0;color:var(--color-primary);font-weight:600}@media (max-width:760px){.jf-lote-destino{grid-template-columns:1fr}.jf-lote-destino>.jf-interruptor{margin-top:0}}@media (max-width:640px){.jf-zona{padding:var(--space-5)var(--space-4)}.jf-zona-botones,.jf-zona-botones .jf-btn{width:100%}.jf-tabla thead{display:none}.jf-tabla tr{gap:var(--space-2)var(--space-4);padding:var(--space-3)var(--space-4);border-top:1px solid var(--color-border);grid-template-columns:1fr 1fr;display:grid}.jf-tabla tbody tr:first-child{border-top:0}.jf-tabla td{border:0;padding:0}.jf-tabla td:first-child{width:auto}.jf-tabla td:before{content:attr(data-titulo);font-size:var(--font-size-xs);color:var(--color-text-muted);display:block}.jf-tabla td[data-titulo=Nombre],.jf-tabla td[data-titulo=Estado],.jf-tabla td[data-titulo=Resultado]{grid-column:1/-1}.jf-lote-accion .jf-btn{flex:100%}.jf-tabla-cursos tr{grid-template-columns:repeat(3,1fr)}.jf-tabla-cursos td:not(:first-child){width:auto}.jf-tabla-cursos td[data-titulo=Curso],.jf-tabla-cursos td[data-titulo=Estado]{grid-column:1/-1}}@media (max-width:760px){.jf-desm-config{grid-template-columns:1fr}}.jf-elim-aviso{margin:0 0 var(--space-5);padding:var(--space-3)var(--space-4)}.jf-elim-curso{max-width:560px}.jf-elim-omitidos{margin:0 0 var(--space-3)}.jf-tabla-elim td.jf-elim-marca{width:3rem}.jf-est .jf-elim-marca input{width:20px;height:20px;min-height:20px;accent-color:var(--color-danger);cursor:pointer;margin:0;padding:0}.jf-tabla tr.is-excluida td:not(.jf-elim-marca){opacity:.5;text-decoration:line-through}@media (max-width:640px){.jf-tabla-elim tr{grid-template-columns:2rem 1fr 1fr;grid-template-areas:"marca nombre nombre"".cedula cursos"".acceso estado"}.jf-tabla-elim td.jf-elim-marca{grid-area:marca;width:auto}.jf-tabla-elim td.jf-elim-marca:before,.jf-tabla-elim td[data-titulo=Nombre]:before{content:none}.jf-tabla-elim td[data-titulo=Nombre]{color:var(--color-primary);grid-area:nombre;font-weight:600}.jf-tabla-elim td[data-titulo=Cédula]{grid-area:cedula}.jf-tabla-elim td[data-titulo=Cursos]{grid-area:cursos}.jf-tabla-elim td[data-titulo=Último\ acceso]{grid-area:acceso}.jf-tabla-elim td[data-titulo=Estado]{grid-area:estado}}.jf-aulas-volver{margin-bottom:var(--space-3)}.jf-aulas-meta{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.jf-aulas>.jf-aulas-meta{margin:calc(var(--space-2)*-1)0 var(--space-6)}.jf-aulas .jf-progreso{margin-bottom:var(--space-6)}.jf-aulas .jf-progreso h2{align-items:center;gap:var(--space-2);display:flex}.jf-aulas-barra{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.jf-aulas-barra .jf-filtros{align-items:center}.jf-aulas-cursos{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.jf-aulas-curso{padding:var(--space-4)var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.jf-aulas-curso.is-error{border-color:color-mix(in srgb,var(--color-danger)35%,var(--color-border));box-shadow:0 1px 3px color-mix(in srgb,var(--color-danger)10%,transparent)}.jf-aulas-curso-titulo h2{align-items:center;gap:var(--space-2);display:flex}.jf-aulas-alerta{color:var(--color-danger);flex-shrink:0}.jf-aulas-curso-cabecera{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.jf-aulas-curso-titulo h2{font-size:var(--font-size-lg);color:var(--color-primary);overflow-wrap:anywhere;margin:0}.jf-aulas-avance{margin:var(--space-2)0 0;font-variant-numeric:tabular-nums}.jf-aulas-items{gap:var(--space-2);margin:var(--space-3)0 0;padding:0;list-style:none;display:grid}.jf-aulas-item{gap:var(--space-1)var(--space-3);padding:var(--space-2)var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-muted);grid-template-columns:96px minmax(0,1fr);display:grid}.jf-aulas-item.is-error{background:var(--color-danger-bg)}.jf-aulas-item-rol{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:600}.jf-aulas-item-motivo{color:var(--color-text-muted);font-size:var(--font-size-sm);display:block}.jf-aulas-item.is-error .jf-aulas-item-motivo{color:var(--color-danger)}.jf-aulas-opciones{align-items:center;gap:var(--space-2);flex-wrap:wrap;grid-column:2;display:flex}.jf-aulas-usuario{margin-left:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;font-weight:400}.jf-aulas-buscar{flex-basis:100%}.jf-aulas-buscar form{gap:var(--space-2);flex-wrap:wrap;display:flex}.jf-aulas-buscar input{flex:220px;min-width:0}.jf-aulas-resultados{gap:var(--space-2);margin:var(--space-2)0 0;padding:0;list-style:none;display:grid}.jf-aulas-resultados li{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.jf-aulas-obs{margin-top:var(--space-3)}.jf-aulas-obs summary{color:var(--color-primary);cursor:pointer;font-weight:600}.jf-aulas-acciones{align-items:center;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.jf-aulas-historial{margin-top:var(--space-8)}.jf-aulas-historial h2{align-items:center;gap:var(--space-2);display:flex}.jf-aulas-historial ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.jf-aulas-historial button{align-items:center;gap:var(--space-1)var(--space-3);width:100%;padding:var(--space-3)var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;grid-template-columns:minmax(0,1fr) auto;display:grid}.jf-aulas-historial button:hover{border-color:var(--color-primary)}.jf-aulas-historial button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.jf-aulas-historial-archivo{color:var(--color-primary);overflow-wrap:anywhere;font-weight:600}.jf-aulas-historial .jf-aulas-meta{grid-column:1}.jf-aulas-historial .jf-chip{grid-area:1/2/span 2}@media (max-width:640px){.jf-aulas-item{grid-template-columns:minmax(0,1fr)}.jf-aulas-opciones{grid-column:1}}.jf-est .jf-aulas-opciones .jf-btn{max-width:100%;height:auto;min-height:var(--control-height);white-space:normal;text-align:left;overflow-wrap:anywhere;padding-block:var(--space-2);flex-wrap:wrap;justify-content:flex-start}.jf-est .jf-aulas-opciones .jf-btn svg{flex-shrink:0}.jf-aulas-opciones .jf-btn .jf-aulas-usuario{flex-basis:100%;margin-left:26px}.jf-aulas-opcion-nombre{flex:1 1 0;min-width:0}.jf-aulas-previa{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);padding:var(--space-4)var(--space-5);border:1px solid var(--color-surface-ice);border-radius:var(--radius-lg);background:var(--color-surface-muted);flex-wrap:wrap;display:flex}.jf-aulas-previa>div{flex:360px;min-width:0}.jf-aulas-previa h2{align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);font-size:var(--font-size-lg);color:var(--color-primary);display:flex}.jf-aulas-previa p{color:var(--color-text-muted);margin:0}.jf-aulas-encabezado{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.jf-aulas-encabezado h1{overflow-wrap:anywhere;flex:320px;min-width:0}.jf-aulas-progreso-pie{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.jf-aulas-progreso-pie .jf-ayuda{margin:0}.jf-aulas-crear{padding:var(--space-3)var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex-basis:100%}.jf-aulas-crear-campos{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.jf-aulas-crear-campos label{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.jf-aulas-crear-campos input{width:100%;min-width:0}.jf-aulas-crear .jf-ayuda{margin:var(--space-2)0 var(--space-3);font-variant-numeric:tabular-nums}.jf-aulas-crear .jf-aulas-crear-error{color:var(--color-danger)}.jf-aulas-crear-botones{gap:var(--space-2);flex-wrap:wrap;display:flex}.jf-clonar-cursos{gap:var(--space-5);grid-template-columns:minmax(0,1fr) auto minmax(0,1.3fr);align-items:start;display:grid}.jf-clonar-flecha{margin-top:calc(var(--font-size-sm)*1.55 + var(--space-2) + 8px);color:var(--color-primary)}.jf-clonar-plantilla{align-items:baseline;gap:var(--space-1)var(--space-2);margin:0 0 var(--space-3);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.jf-clonar-plantilla strong{color:var(--color-primary)}.jf-est .jf-clonar-enlace{align-items:center;gap:var(--space-1);color:var(--color-primary);font-size:var(--font-size-sm);text-underline-offset:3px;margin-left:auto;font-weight:600;text-decoration:underline;display:inline-flex}.jf-lote-vista .jf-aviso{margin-bottom:var(--space-3)}.jf-clonar-curso{color:var(--color-primary);overflow-wrap:anywhere;font-weight:600}.jf-tabla-clonar td.jf-elim-marca{width:3rem}.jf-tabla-clonar .jf-elim-marca input{accent-color:var(--color-primary)}.jf-chip svg{margin-right:var(--space-1)}.jf-clonar-progreso{max-width:none;margin-bottom:var(--space-5)}.jf-clonar-lista{border-top:1px solid var(--color-border);margin:0;padding:0;list-style:none}.jf-clonar-lista li{align-items:center;gap:var(--space-2)var(--space-3);min-height:56px;padding:var(--space-2)var(--space-2);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.jf-clonar-lista li.is-actual{background:var(--color-surface-muted)}.jf-clonar-lista .jf-clonar-curso{flex:1;min-width:12rem}.jf-clonar-lista .jf-btn-icono{margin-block:-4px}.jf-est .jf-clonar-comprobar{min-height:36px;padding:0 var(--space-3);font-size:var(--font-size-sm)}.jf-clonar-nota{flex-basis:100%;margin-top:0}@media (max-width:760px){.jf-clonar-cursos{gap:var(--space-4);grid-template-columns:1fr}.jf-clonar-flecha{margin:0 auto;transform:rotate(90deg)}}@media (max-width:640px){.jf-tabla-clonar tr{grid-template-columns:2rem 1fr 1fr;grid-template-areas:"marca curso curso"".cuestionarios estado"}.jf-tabla-clonar td.jf-elim-marca{grid-area:marca;width:auto}.jf-tabla-clonar td.jf-elim-marca:before,.jf-tabla-clonar td[data-titulo=Curso\ destino]:before{content:none}.jf-tabla-clonar td[data-titulo=Curso\ destino]{grid-area:curso}.jf-tabla-clonar td[data-titulo=Cuestionarios]{grid-area:cuestionarios}.jf-tabla-clonar td[data-titulo=Estado]{grid-area:estado}.jf-est .jf-clonar-enlace{margin-left:0}.jf-clonar-lista .jf-clonar-curso{flex-basis:100%;min-width:0}}.jf-clonar-apartados{margin-bottom:var(--space-7)}.jf-ca-paso{padding-bottom:var(--space-6);margin-bottom:var(--space-6);border-bottom:1px solid var(--color-border)}.jf-est .jf-ca-paso h2{margin-bottom:var(--space-4);font-size:var(--font-size-lg)}.jf-ca-plantilla{max-width:560px}.jf-ca-actividades{margin-top:var(--space-5)}.jf-ca-actividades-cabecera{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.jf-ca-filtro{width:min(100%,280px)}.jf-ca-seccion{margin:0 0 var(--space-4);border:0;padding:0}.jf-ca-seccion legend{margin-bottom:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:600}.jf-ca-actividad{align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);cursor:pointer;display:flex}.jf-ca-actividad:hover,.jf-ca-actividad.is-elegida{background:var(--color-surface-muted)}.jf-ca-actividad.is-bloqueada{cursor:not-allowed;opacity:.65}.jf-est .jf-ca-actividad input{width:20px;height:20px;min-height:20px;accent-color:var(--color-primary);flex-shrink:0;margin:2px 0 0;padding:0}.jf-ca-actividad-texto{flex-direction:column;min-width:0;display:flex}.jf-ca-actividad-texto strong{color:var(--color-primary);overflow-wrap:anywhere;font-weight:600}.jf-ca-actividad-texto>span{font-size:var(--font-size-sm);color:var(--color-text-muted)}.jf-ca-actividad-texto .jf-ca-motivo{color:var(--color-warning)}.jf-ca-destino{gap:var(--space-5)var(--space-8);grid-template-columns:minmax(0,1fr) 220px;align-items:start;display:grid}.jf-ca-opciones{gap:var(--space-5)var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.jf-est .jf-ca-opciones .jf-roles{margin-top:0}.jf-ca-opciones .jf-roles label{background:var(--color-surface-muted)}.jf-ca-opciones .jf-campo{margin-top:var(--space-1)}.jf-tabla-ca td:first-child{width:30%;color:inherit}.jf-ca-momento{gap:var(--space-4);margin-top:var(--space-5);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface-muted);display:grid}.jf-ca-momento-resumen,.jf-ca-momento .jf-campo-error{align-items:center;gap:var(--space-2);margin:0;font-weight:600;display:flex}.jf-ca-momento-resumen{color:var(--color-primary)}.jf-ca-intentos{padding:var(--space-3)var(--space-4);flex-direction:column;align-items:flex-start}.jf-ca-confirmar{align-items:center;gap:var(--space-2);cursor:pointer;font-weight:600;display:flex}.jf-est .jf-ca-confirmar input{width:18px;height:18px;min-height:18px;accent-color:var(--color-danger);margin:0;padding:0}.jf-ca-seg-cabecera{flex-wrap:wrap}.jf-ca-seg-detalle{margin:0 0 var(--space-4);color:var(--color-text-muted)}.jf-est .jf-ca-seg-detalle a{color:var(--color-primary);font-weight:600}.jf-ca-historial{margin-top:var(--space-8)}.jf-est .jf-ca-historial h2{align-items:center;gap:var(--space-2);font-size:var(--font-size-lg);display:flex}.jf-est .jf-ca-lote{min-width:0;padding:var(--space-1)0;text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;display:flex}.jf-ca-lote strong{color:var(--color-primary);overflow-wrap:anywhere;font-weight:600}.jf-ca-lote span{font-size:var(--font-size-sm);color:var(--color-text-muted)}.jf-est .jf-ca-lote:hover strong{text-underline-offset:3px;text-decoration:underline}.jf-paginacion{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.jf-paginacion>span{font-size:var(--font-size-sm);color:var(--color-text-muted)}.jf-paginacion-botones{gap:var(--space-1);flex-wrap:wrap;display:flex}.jf-est .jf-paginacion-botones button{border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-primary);font:600 var(--font-size-sm)/1 var(--font-sans);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;padding:0;display:grid}.jf-est .jf-paginacion-botones button:hover:not(:disabled){background:var(--color-surface-muted)}.jf-est .jf-paginacion-botones button[aria-current=page]{background:var(--color-primary);color:var(--color-on-primary)}.jf-est .jf-paginacion-botones button:disabled{opacity:.4;cursor:not-allowed}@media (max-width:760px){.jf-ca-destino,.jf-ca-opciones{grid-template-columns:1fr}}@media (max-width:520px){.jf-paginacion{flex-direction:column;align-items:stretch}.jf-paginacion-botones{justify-content:space-between}}@media (max-width:640px){.jf-clonar-apartados{margin-bottom:var(--space-5)}.jf-tabla-ca td:first-child{width:auto}.jf-tabla-ca td[data-titulo=Curso],.jf-tabla-ca td[data-titulo=Qué\ pasará]{grid-column:1/-1}}.jf-vacio-panel{margin-top:var(--space-5);justify-items:center;gap:var(--space-3);padding:var(--space-8)var(--space-6);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);color:var(--color-text-muted);text-align:center;display:grid}.jf-vacio-panel svg{color:var(--color-primary)}.jf-vacio-panel p{max-width:32ch;margin:0}.jf-est .jf-ver-mas{align-items:center;gap:var(--space-1);min-height:40px;margin-right:var(--space-2);padding:0 var(--space-3);border-radius:var(--radius-full);color:var(--color-primary);font:600 var(--font-size-sm)/1 var(--font-sans);white-space:nowrap;cursor:pointer;background:0 0;border:0;display:inline-flex}.jf-est button.jf-ver-mas:hover{background:var(--color-surface-ice)}.jf-ver-mas svg{transition:transform var(--duration-fast)}.jf-ver-mas[aria-expanded=true] svg{transform:rotate(180deg)}.jf-est .jf-ver-mas-fijo{color:var(--color-text-muted);cursor:default;font-weight:500}.jf-ca-layout{gap:var(--space-8);grid-template-columns:minmax(0,1fr) minmax(340px,420px);align-items:start;display:grid}.jf-est .jf-ca-layout h2{margin-bottom:var(--space-4);font-size:var(--font-size-lg)}.jf-ca-lista{min-width:0}.jf-ca-lista>.jf-aviso,.jf-ca-lista>.jf-estado{margin-top:var(--space-4)}.jf-ca-lateral{gap:var(--space-6);min-width:0;display:grid}.jf-ca-lateral>section+section{padding-top:var(--space-6);border-top:1px solid var(--color-border)}.jf-est .jf-ca-lateral .jf-roles{margin-top:0;margin-bottom:var(--space-4)}.jf-ca-lateral .jf-roles label{background:var(--color-surface-muted)}.jf-ca-lateral .jf-ca-numero{max-width:220px;margin-top:var(--space-4)}.jf-ca-lateral .jf-ca-momento{padding:var(--space-4);margin-top:0}.jf-ca-revision-cabecera{justify-content:space-between;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.jf-ca-lateral .jf-ca-intentos{margin-bottom:var(--space-3)}.jf-ca-plan li{min-height:48px}.jf-ca-plan .jf-clonar-curso{min-width:0}.jf-ca-boton{gap:var(--space-2);margin-top:var(--space-5);display:grid}.jf-est .jf-ca-boton .jf-btn{width:100%}.jf-seg-que{gap:var(--space-3);margin-bottom:var(--space-5);padding:var(--space-4)var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);display:grid}.jf-seg-actividades,.jf-seg-datos,.jf-seg-cola{flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.jf-seg-actividades{gap:var(--space-2);flex-direction:column}.jf-seg-actividades li{align-items:center;gap:var(--space-2);color:var(--color-primary);flex-wrap:wrap;display:flex}.jf-seg-actividades strong{overflow-wrap:anywhere;font-weight:600}.jf-seg-etiqueta{padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--color-surface-ice);font-size:var(--font-size-xs);font-weight:600}.jf-seg-datos{gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted)}.jf-seg-datos li{padding:2px var(--space-3);border-radius:var(--radius-full);background:var(--color-surface-muted)}.jf-est .jf-seg-datos a{color:var(--color-primary);font-weight:600}.jf-seg-progreso{gap:var(--space-2);margin-bottom:var(--space-5);display:grid}.jf-seg-cifra{color:var(--color-text-muted);margin:0}.jf-seg-cifra strong{color:var(--color-primary);font-size:var(--font-size-2xl);font-weight:700;display:inline-block}.jf-seg-salta{animation:jf-seg-salta .4s var(--easing-out)}@keyframes jf-seg-salta{40%{transform:scale(1.25)}}.jf-seg-ahora{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);padding:var(--space-4)var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface-ice);color:var(--color-primary);animation:jf-seg-entra .45s var(--easing-out);display:flex}.jf-seg-ahora>span{flex:1;min-width:0;display:grid}.jf-seg-rotulo{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-weight:600}.jf-seg-ahora .jf-clonar-curso{font-size:var(--font-size-lg)}@keyframes jf-seg-entra{0%{opacity:0;transform:translate(24px)}}.jf-seg-ultimo{align-items:center;gap:var(--space-2);margin:0 0 var(--space-5);padding:var(--space-1)var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600;animation:5s forwards jf-seg-sale;display:inline-flex}@keyframes jf-seg-sale{0%{opacity:0;transform:translateY(-6px)}8%,70%{opacity:1;transform:none}to{opacity:0;transform:translateY(6px)}}.jf-seg-bloque{margin-bottom:var(--space-5)}.jf-est .jf-seg-bloque h3{align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:600;display:flex}.jf-est .jf-seg-bloque h3.jf-seg-titulo-peligro{color:var(--color-danger)}.jf-seg-cola{gap:var(--space-2)}.jf-seg-cola li{padding:var(--space-1)var(--space-3);border-radius:var(--radius-full);border:1px dashed var(--color-border-strong);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:600}.jf-seg-cola li.jf-seg-mas{color:var(--color-primary);border-style:solid}.jf-seg-terminados{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}@media (max-width:1023px){.jf-ca-layout{gap:var(--space-6);flex-direction:column;display:flex}.jf-ca-lista,.jf-ca-lateral{width:100%}.jf-ca-lista{padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border)}}@media (prefers-reduced-motion:reduce){.jf-seg-salta,.jf-seg-ahora{animation:none}.jf-seg-ultimo{animation:5s step-end forwards jf-seg-sale-quieto}@keyframes jf-seg-sale-quieto{to{opacity:0}}}.jf-rn{gap:var(--space-5);grid-template-columns:minmax(0,1fr);display:grid}.jf-est .jf-rn h2{font-size:var(--font-size-lg)}.jf-rn-eleccion{gap:var(--space-4)var(--space-5);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:start;display:grid}.jf-rn-eleccion>:only-child{max-width:560px}.jf-rn-eleccion .jf-ayuda{margin-top:var(--space-2)}.jf-est .jf-rn-simulador input::placeholder{color:var(--color-text)}.jf-rn-actual{color:var(--color-primary);font-weight:700}.jf-rn-cursos{border:0;min-width:0;margin:0;padding:0}.jf-rn-cursos .jf-filtros,.jf-rn-simuladores .jf-ca-actividades-cabecera h2{margin:0}.jf-rn-lista{margin:0 0 var(--space-4);border-top:1px solid var(--color-border);padding:0;list-style:none}.jf-rn-lista li{border-bottom:1px solid var(--color-border)}.jf-est .jf-rn-lista button{align-items:center;gap:var(--space-3);width:100%;min-height:52px;padding:var(--space-2)var(--space-3);color:var(--color-text);font:500 var(--font-size-md)/1.4 var(--font-sans);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.jf-est .jf-rn-lista button:hover{background:var(--color-surface-muted)}.jf-est .jf-rn-lista button:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.jf-rn-lista svg{color:var(--color-primary);flex-shrink:0}.jf-rn-reporte{gap:var(--space-4);min-width:0;scroll-margin-top:calc(var(--header-height,84px) + var(--space-4));grid-template-columns:minmax(0,1fr);display:grid}.jf-est .jf-rn-reporte h2{overflow-wrap:anywhere}.jf-rn-subtitulo{align-items:center;gap:var(--space-2);margin:calc(var(--space-3)*-1)0 0;color:var(--color-text-muted);font-size:var(--font-size-sm);display:flex}.jf-rn-resumen{align-items:center;gap:var(--space-3)var(--space-6);padding:var(--space-4)var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface-muted);flex-wrap:wrap;display:flex}.jf-rn-resumen p{align-items:center;gap:var(--space-2);color:var(--color-text-muted);margin:0;display:flex}.jf-rn-resumen strong{color:var(--color-primary);font-size:var(--font-size-xl)}.jf-est .jf-rn-intento{background:var(--color-surface);margin:0 0 0 auto}.jf-est .jf-rn-intento label{min-height:40px;padding:0 var(--space-4);font-size:var(--font-size-sm)}.jf-rn-herramientas{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.jf-rn-herramientas .jf-filtros{margin:0}.jf-rn-buscar{width:min(100%,280px)}.jf-est .jf-rn-buscar input{padding-right:calc(var(--space-3) + 40px)}.jf-rn-buscar input::-webkit-search-cancel-button{appearance:none}.jf-est .jf-rn-excel{background:var(--color-success);color:var(--color-on-primary);border:0;margin-left:auto}.jf-est .jf-rn-excel:hover:not(:disabled){background:color-mix(in srgb,var(--color-success)82%,#000)}.jf-est .jf-rn-excel:focus-visible{outline:2px solid var(--color-success);outline-offset:2px}.jf-nota-valor{min-width:3.25rem;padding:2px var(--space-2);border-radius:var(--radius-full);text-align:center;font-weight:700;display:inline-block}.jf-nota-valor.is-baja{background:var(--color-danger-bg);color:var(--color-danger)}.jf-nota-valor.is-media{background:var(--color-warning-bg);color:var(--color-warning)}.jf-nota-valor.is-alta{background:var(--color-success-bg);color:var(--color-success)}.jf-nota-valor.is-grande{padding:var(--space-1)var(--space-3);font-size:var(--font-size-lg)}.jf-rn-marco{max-height:min(70dvh,760px);position:relative;overflow:auto}.jf-rn-marco.is-cargando{opacity:.6}.jf-rn-tabla{border-collapse:separate;border-spacing:0;width:100%;min-width:max-content;font-size:var(--font-size-sm)}.jf-rn-tabla th,.jf-rn-tabla td{padding:var(--space-3)var(--space-4);white-space:nowrap;vertical-align:middle}.jf-rn-tabla thead th{background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--font-size-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.jf-rn-tabla td{border-top:1px solid var(--color-border);text-align:center}.jf-rn-tabla thead th{z-index:2;text-align:center;position:sticky;top:0}.jf-rn-tabla tfoot th,.jf-rn-tabla tfoot td{z-index:2;border-top:2px solid var(--color-border-strong);background:var(--color-surface-muted);position:sticky;bottom:0}.jf-rn-tabla .jf-rn-fija{z-index:1;min-width:15rem;max-width:22rem;padding:var(--space-2)var(--space-4);background:var(--color-surface);box-shadow:inset -1px 0 0 var(--color-border);text-align:left;white-space:normal;position:sticky;left:0}.jf-rn-tabla tbody th.jf-rn-fija,.jf-rn-tabla tfoot th.jf-rn-fija{border-top:1px solid var(--color-border);color:var(--color-text);font-size:var(--font-size-sm);letter-spacing:normal;text-transform:none;font-weight:500}.jf-rn-tabla thead .jf-rn-fija,.jf-rn-tabla tfoot .jf-rn-fija{z-index:3;background:var(--color-surface-muted)}.jf-rn-tabla tfoot th.jf-rn-fija{color:var(--color-primary);font-weight:700}.jf-rn-tabla .jf-rn-global{box-shadow:inset -1px 0 0 var(--color-border)}.jf-rn-fecha{color:var(--color-text-muted)}.jf-rn-tabla tbody tr:hover>*{background:var(--color-surface-muted)}.jf-rn-tabla tr.is-sin-intento .jf-rn-nombre{color:var(--color-text-muted)}.jf-rn-tabla tr.is-mejor>*{background:var(--color-success-bg)}.jf-rn-tabla tr.is-peor>*{background:var(--color-danger-bg)}.jf-rn-tabla .jf-rn-fija .jf-chip{margin-left:var(--space-2);padding:0 var(--space-2);font-size:var(--font-size-xs)}.jf-est .jf-rn-orden{align-items:center;gap:var(--space-1);min-height:32px;margin:calc(var(--space-1)*-1)calc(var(--space-2)*-1);padding:0 var(--space-2);border-radius:var(--radius-sm);color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;display:inline-flex}.jf-est .jf-rn-orden:hover{background:var(--color-surface-ice);color:var(--color-primary)}.jf-est .jf-rn-orden:focus-visible{outline:2px solid var(--color-primary);outline-offset:0}.jf-rn-orden-icono{opacity:.45}th[aria-sort] .jf-rn-orden{color:var(--color-primary)}.jf-est .jf-rn-nombre{color:var(--color-text);font:inherit;text-align:left;background:0 0;border:0;padding:0}.jf-est button.jf-rn-nombre{color:var(--color-primary);cursor:pointer;font-weight:600}.jf-est button.jf-rn-nombre:hover{text-underline-offset:3px;text-decoration:underline}.jf-est button.jf-rn-nombre:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}.jf-rn-sin-filas{padding:var(--space-5);text-align:center;margin:0}@media (max-width:760px){.jf-rn-eleccion{grid-template-columns:1fr}.jf-rn-resumen{padding:var(--space-4)}.jf-est .jf-rn-intento{width:100%;margin:0}.jf-est .jf-rn-intento label{padding:0 var(--space-2);flex:1;justify-content:center}.jf-rn-buscar{width:100%}.jf-rn-herramientas .jf-filtros{flex:100%}.jf-est .jf-rn-excel{margin-left:0}.jf-rn-tabla .jf-rn-fija{min-width:9.5rem;max-width:11rem;padding:var(--space-2)var(--space-3)}.jf-rn-tabla .jf-rn-fija .jf-chip{margin:var(--space-1)0 0}}.jf-fh{position:relative}.jf-est .jf-fh-boton{align-items:center;gap:var(--space-2);width:100%;min-height:var(--control-height);padding:0 var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-primary);font:600 var(--font-size-md)/1 var(--font-sans);text-align:left;cursor:pointer;display:inline-flex}.jf-est .jf-fh-boton:hover{border-color:var(--color-primary)}.jf-est .jf-fh-boton[aria-expanded=true]{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.jf-est .jf-fh-boton:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.jf-fh-vacio{color:var(--color-text-muted);font-weight:400}.jf-fh-panel{top:calc(100% + var(--space-2));z-index:30;width:320px;max-width:calc(100vw - 2*var(--space-4));padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg);animation:jf-fh-aparece var(--duration-fast)var(--easing-out);position:absolute;left:0}@keyframes jf-fh-aparece{0%{opacity:0;transform:translateY(-4px)}}.jf-fh-mes{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.jf-fh-mes strong{color:var(--color-primary);font-weight:600}.jf-fh-mes strong:first-letter{text-transform:uppercase}.jf-est .jf-fh-mes button{border-radius:var(--radius-full);width:36px;height:36px;color:var(--color-primary);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.jf-est .jf-fh-mes button:hover{background:var(--color-surface-ice)}.jf-fh-semana,.jf-fh-dias{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.jf-fh-semana span{padding:var(--space-1)0;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:600}.jf-est .jf-fh-dias button{aspect-ratio:1;border-radius:var(--radius-full);min-height:0;color:var(--color-text);font:500 var(--font-size-sm)/1 var(--font-sans);cursor:pointer;background:0 0;border:0;padding:0}.jf-est .jf-fh-dias button:hover{background:var(--color-surface-ice)}.jf-est .jf-fh-dias button.es-otro-mes{color:var(--color-text-muted);opacity:.55}.jf-est .jf-fh-dias button.es-hoy{box-shadow:inset 0 0 0 1px var(--color-primary);color:var(--color-primary);font-weight:700}.jf-est .jf-fh-dias button[aria-pressed=true]{background:var(--color-primary);color:var(--color-on-primary);opacity:1}.jf-est .jf-fh-dias button:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.jf-fh-hora{align-items:center;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border);display:flex}.jf-fh-hora .jf-etiqueta{margin:0 var(--space-1)0 0}.jf-est .jf-fh-hora select{width:auto;min-height:40px;padding:0 var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-primary);font:600 var(--font-size-sm)/1 var(--font-sans);font-variant-numeric:tabular-nums;margin:0}.jf-est .jf-fh-hora select:focus{border-color:var(--color-primary);outline:2px solid var(--color-primary);outline-offset:0;box-shadow:none}.jf-est .jf-fh-listo{min-height:40px;padding:0 var(--space-4);margin-left:auto}@media (prefers-reduced-motion:reduce){.jf-fh-panel{animation:none}}.jf-doc-layout{gap:var(--space-8);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;display:grid}.jf-est .jf-doc-layout h2{font-size:var(--font-size-lg)}.jf-est .jf-doc-layout h3{margin-bottom:var(--space-3);font-size:var(--font-size-md)}.jf-doc-lista,.jf-doc-ficha{min-width:0}.jf-doc-ficha{top:calc(var(--header-height,84px) + var(--space-4));max-height:calc(100dvh - var(--header-height,84px) - var(--space-8));scroll-margin-top:calc(var(--header-height,84px) + var(--space-4));position:sticky;overflow-y:auto}.jf-doc-ficha>.jf-vacio-panel{margin-top:0}.jf-doc-lista-cabecera{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.jf-doc-buscar{margin-bottom:var(--space-3)}.jf-est .jf-doc-buscar input{padding-right:calc(var(--space-3) + 40px)}.jf-doc-buscar input::-webkit-search-cancel-button{appearance:none}.jf-doc-personas{gap:var(--space-2);margin:0 0 var(--space-4);padding:0;list-style:none;display:grid}.jf-est .jf-doc-personas button{align-items:center;gap:var(--space-3);width:100%;min-height:64px;padding:var(--space-3)var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;transition:background var(--duration-fast),box-shadow var(--duration-fast),border-color var(--duration-fast);display:flex}.jf-est .jf-doc-personas button:hover{border-color:var(--color-surface-ice);box-shadow:0 6px 18px #062c5b14}.jf-est .jf-doc-personas button.is-elegido{background:var(--color-surface-muted);box-shadow:none;border-color:#0000}.jf-est .jf-doc-personas button.is-elegido .jf-avatar{background:var(--color-primary);color:var(--color-on-primary)}.jf-est .jf-doc-personas button.is-elegido .jf-chip{background:var(--color-surface)}.jf-est .jf-doc-personas button:focus{outline:none}.jf-est .jf-doc-personas button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.jf-doc-flecha{color:var(--color-border-strong);transition:transform var(--duration-fast),color var(--duration-fast);flex-shrink:0}.jf-doc-personas button:hover .jf-doc-flecha,.jf-doc-personas button.is-elegido .jf-doc-flecha{color:var(--color-primary);transform:translate(2px)}.jf-doc-persona{flex:1;min-width:0;display:grid}.jf-doc-nombre{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.jf-doc-datos{align-items:center;gap:0 var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm);flex-wrap:wrap;margin:0;display:flex}.jf-doc-otros{margin-top:var(--space-2)}.jf-doc-ficha-cuerpo{gap:var(--space-6);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);display:grid}.jf-est .jf-doc-volver{margin:calc(var(--space-2)*-1)0 calc(var(--space-4)*-1)calc(var(--space-3)*-1);justify-self:start;display:none}.jf-doc-cabecera{align-items:center;gap:var(--space-4);min-width:0;display:flex}.jf-doc-cabecera>div{min-width:0}.jf-est .jf-doc-cabecera h2{margin-bottom:var(--space-1);font-size:var(--font-size-xl);overflow-wrap:anywhere}.jf-est .jf-doc-copiar{width:32px;height:32px;min-height:32px}.jf-doc-correo{overflow-wrap:anywhere}.jf-doc-cursos{border-top:1px solid var(--color-border);margin:0;padding:0;list-style:none}.jf-doc-cursos li{align-items:center;gap:var(--space-2)var(--space-3);min-height:52px;padding:var(--space-2)0;border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.jf-doc-cursos .jf-clonar-curso{flex:1;min-width:10rem;display:grid}.jf-doc-cursos a{align-items:center;gap:var(--space-1);color:var(--color-primary);font-weight:600;text-decoration:none;display:inline-flex}.jf-doc-cursos a:hover{text-decoration:underline}.jf-doc-cursos .jf-tenue{font-size:var(--font-size-sm)}.jf-doc-roles{gap:var(--space-1);display:flex}.jf-doc-otros-cursos{margin-top:var(--space-4)}.jf-doc-otros-cursos summary{min-height:40px;padding:var(--space-2)0;color:var(--color-primary);font-weight:600;font-size:var(--font-size-sm);cursor:pointer}.jf-doc-asignar{gap:var(--space-4);padding-top:var(--space-5);border-top:1px solid var(--color-border);display:grid}.jf-est .jf-doc-asignar h3{margin:0}.jf-est .jf-doc-rol{justify-self:start;margin:0}.jf-est .jf-doc-ejecutar{width:100%}.jf-doc-trabajo{gap:var(--space-3);display:grid}.jf-doc-trabajo>p{align-items:center;gap:var(--space-2);color:var(--color-primary);margin:0;font-weight:600;display:flex}.jf-doc-trabajo .jf-ver-mas{justify-self:start}@media (max-width:1023px){.jf-doc-layout{gap:var(--space-6);grid-template-columns:minmax(0,1fr)}.jf-doc-ficha{max-height:none;position:static;overflow:visible}.jf-est .jf-doc-volver{display:inline-flex}}@media (max-width:640px){.jf-doc-ficha-cuerpo{padding:var(--space-4)}.jf-doc-cabecera .jf-avatar{width:52px;height:52px;font-size:var(--font-size-lg)}}.jf-aa-layout{gap:var(--space-8);grid-template-columns:minmax(0,1fr) minmax(340px,420px);align-items:start;display:grid}.jf-est .jf-aa-layout h2{margin-bottom:var(--space-4);font-size:var(--font-size-lg)}.jf-aa-lista{min-width:0}.jf-aa-cuestionarios{margin-top:var(--space-5)}.jf-aa-cuestionarios>.jf-aviso,.jf-aa-cuestionarios>.jf-estado{margin-bottom:var(--space-3)}.jf-aa-lateral{gap:var(--space-6);min-width:0;display:grid}.jf-est .jf-aa-config>.jf-ayuda{margin:calc(var(--space-2)*-1)0 var(--space-4)}.jf-est .jf-chips-mas button{width:auto;padding:0 var(--space-2);border-radius:var(--radius-full);color:var(--color-primary);font:600 var(--font-size-sm)/1 var(--font-sans)}.jf-est .jf-chips-mas button:hover{background:var(--color-surface-ice);color:var(--color-primary)}.jf-chips li.jf-chips-mas{background:0 0;padding:0}.jf-aa-todos{min-height:40px}.jf-est .jf-aa-todos input{accent-color:var(--color-primary)}.jf-aa-grupos{border-top:1px solid var(--color-border);margin:0;padding:0;list-style:none}.jf-aa-grupos>li{align-items:center;gap:0 var(--space-3);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.jf-aa-grupos>li.is-elegido{background:var(--color-surface-muted)}.jf-aa-grupo{border-radius:0;flex:1;min-width:0}.jf-aa-grupos>li.is-elegido .jf-aa-grupo:hover{background:0 0}.jf-aa-detalle{margin:0 0 var(--space-3);padding:0 var(--space-3)0 calc(var(--space-3)*2 + 20px);flex-basis:100%;list-style:none}.jf-aa-detalle li{gap:0 var(--space-3);padding:var(--space-2)0;border-top:1px dashed var(--color-border);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.jf-aa-detalle li .jf-clonar-curso{min-width:12rem}.jf-aa-detalle li span{color:var(--color-text-muted)}.jf-aa-campos{gap:var(--space-3);display:grid}.jf-aa-campo{min-width:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin:0}.jf-aa-campo legend{float:left;width:100%;margin-bottom:var(--space-3);padding:0}.jf-aa-campo legend+*{clear:both}.jf-aa-campo .jf-filtros{margin-bottom:0}.jf-aa-fecha{margin-top:var(--space-3)}.jf-aa-numero{align-items:center;gap:var(--space-2);margin-top:var(--space-3);display:flex}.jf-est .jf-aa-numero input{width:8rem}.jf-aa-matriz{margin:var(--space-4)0 var(--space-5)}.jf-aa-matriz table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.jf-aa-matriz th,.jf-aa-matriz td{padding:var(--space-2)var(--space-3);border-top:1px solid var(--color-border)}.jf-aa-matriz tbody th{text-align:left;color:var(--color-text);font-weight:500}.jf-aa-matriz td{text-align:center}.jf-est .jf-aa-matriz thead button{min-height:40px;padding:var(--space-1)var(--space-2);border-radius:var(--radius-md);color:var(--color-primary);font:600 var(--font-size-xs)/1.3 var(--font-sans);cursor:pointer;background:0 0;border:0}.jf-est .jf-aa-matriz thead button:hover{background:var(--color-surface-ice)}.jf-est .jf-aa-matriz input{width:20px;height:20px;min-height:20px;accent-color:var(--color-primary);margin:0;padding:0}.jf-aa-corto{display:none}.jf-aa-resumen{gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);display:grid}.jf-aa-resumen-titulo{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.jf-aa-resumen-titulo p{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.jf-aa-resumen-titulo strong{color:var(--color-primary)}.jf-est .jf-aa-restablecer{min-height:36px;margin-right:calc(var(--space-2)*-1);padding:0 var(--space-2);border-radius:var(--radius-md);color:var(--color-primary);font:600 var(--font-size-sm)/1 var(--font-sans);cursor:pointer;background:0 0;border:0}.jf-est .jf-aa-restablecer:hover:not(:disabled){background:var(--color-surface-ice)}.jf-est .jf-aa-resumen .jf-btn-primario{width:100%}.jf-aa-frases,.jf-aa-errores{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.jf-aa-errores{flex-direction:column}.jf-est .jf-aa-editar{align-items:center;gap:var(--space-2);min-height:36px;margin-top:var(--space-3);padding:0 var(--space-2);border-radius:var(--radius-md);color:var(--color-primary);font:600 var(--font-size-sm)/1 var(--font-sans);cursor:pointer;background:0 0;border:0;display:inline-flex}.jf-est .jf-aa-editar:hover{background:var(--color-surface-ice)}.jf-est .jf-aa-campo .jf-filtros button:disabled{opacity:.5;cursor:not-allowed}.jf-aa-resultado{margin-top:var(--space-8)}.jf-dialogo{width:min(820px,calc(100vw - 2*var(--space-4)));max-height:calc(100vh - 2*var(--space-6));padding:var(--space-6);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-lg);border:0;margin:auto}.jf-dialogo::backdrop{background:var(--color-overlay)}.jf-dialogo-cabecera{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.jf-est .jf-dialogo h2{font-size:var(--font-size-xl);margin:0}.jf-dialogo>.jf-ayuda{margin:0}.jf-dialogo-botones{justify-content:flex-end;gap:var(--space-3);display:flex}@media (max-width:1023px){.jf-aa-layout{gap:var(--space-6);flex-direction:column;display:flex}.jf-aa-lateral,.jf-aa-aplicar{display:contents}.jf-aa-lista,.jf-aa-config{width:100%}.jf-aa-lista{padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border)}.jf-est .jf-aa-aplicar>h2{display:none}.jf-aa-resumen{bottom:var(--space-3);z-index:20;gap:var(--space-3);width:100%;padding:var(--space-4);box-shadow:var(--shadow-lg);border:0;position:sticky}}@media (max-width:760px){.jf-aa-resumen .jf-aa-frases{display:none}.jf-dialogo{padding:var(--space-4)}.jf-aa-largo{display:none}.jf-aa-corto{display:inline}.jf-aa-matriz table{table-layout:fixed;font-size:var(--font-size-xs)}.jf-aa-matriz thead th:first-child{width:36%}.jf-aa-matriz th,.jf-aa-matriz td{padding:var(--space-2)2px;-webkit-hyphens:auto;hyphens:auto}.jf-aa-matriz tbody th{padding-left:var(--space-2)}.jf-est .jf-aa-matriz thead button{width:100%;padding:var(--space-1)0;-webkit-hyphens:auto;hyphens:auto;font-size:.6875rem}.jf-aa-detalle{padding-left:var(--space-3)}.jf-aa-detalle li .jf-clonar-curso{flex-basis:100%;min-width:0}}.jf-par{gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:minmax(0,1fr);display:grid}.jf-par-paralelos{gap:var(--space-4);display:grid}.jf-par-paralelos[aria-busy=true] .jf-par-lista{opacity:.7}.jf-par-paralelos>.jf-ayuda{margin:0}.jf-par-grupo{gap:var(--space-2);display:grid}.jf-par-grupo-cabecera{justify-content:space-between;align-items:baseline;gap:var(--space-1)var(--space-3);flex-wrap:wrap;display:flex}.jf-par-grupo-titulo{color:var(--color-primary);font-size:var(--font-size-sm);overflow-wrap:anywhere;font-weight:600}.jf-par-lista{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.jf-par-curso{align-items:center;gap:var(--space-1)var(--space-3);min-height:var(--control-height);padding:var(--space-1)var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast);flex-wrap:wrap;display:flex}.jf-par-curso:hover{background:var(--color-surface-muted)}.jf-par-curso.is-activo{border-color:var(--color-primary);background:var(--color-surface-muted)}.jf-par-curso:has(:focus-visible){outline:2px solid var(--color-primary);outline-offset:2px}.jf-est .jf-par-curso input{width:18px;height:18px;min-height:18px;accent-color:var(--color-primary);flex:none;margin:0;padding:0}.jf-par-nombre{min-width:12rem;color:var(--color-text);font-size:var(--font-size-sm);overflow-wrap:anywhere;flex:1;font-weight:600}.jf-par-curso .jf-chip{font-size:var(--font-size-xs);font-variant-numeric:tabular-nums}.jf-par-ampliar{justify-self:start}.jf-par-nota{gap:var(--space-2);padding:var(--space-3)var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-primary);font-size:var(--font-size-sm);display:flex}.jf-par-nota svg{flex:none;margin-top:2px}.jf-activar .jf-tono-aviso{--tono-fondo:color-mix(in srgb,var(--color-warning)10%,var(--color-surface))}.jf-br-entrada{gap:var(--space-6);display:grid}.jf-br-entrada>section+section{padding-top:var(--space-6);border-top:1px solid var(--color-border)}.jf-br-entrada .jf-aviso,.jf-br-entrada .jf-estado{margin-top:var(--space-3)}.jf-est .jf-br-entrada textarea{width:100%;min-height:7.5rem;padding:var(--space-3)var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:400 var(--font-size-md)/1.6 var(--font-sans);resize:vertical;margin:0;display:block}.jf-est .jf-br-entrada textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary);outline:none}.jf-br-faltan{gap:var(--space-2);margin:var(--space-3)0 0;padding:0;list-style:none;display:grid}.jf-br-faltan li{align-items:center;gap:var(--space-2);padding:var(--space-3)var(--space-4);border-radius:var(--radius-md);background:var(--color-warning-bg);color:var(--color-warning);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.jf-br-faltan li>span{flex:1;min-width:12rem}.jf-est .jf-br-sugerencia{min-height:32px;padding:0 var(--space-3);border:1px solid var(--color-warning);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-warning);font:600 var(--font-size-sm)/1 var(--font-sans);cursor:pointer;overflow-wrap:anywhere}.jf-est .jf-br-sugerencia:hover{background:var(--color-warning);color:var(--color-surface)}.jf-br-se-borra{color:var(--color-danger);font-weight:600}.jf-br-total{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.jf-br-total strong{color:var(--color-danger)}.jf-est .jf-br-resumen .jf-btn-peligro{width:100%}@media (max-width:1023px){.jf-borrar .jf-aa-resumen{border:1px solid var(--color-border);box-shadow:none;position:static}.jf-est.jf-borrar .jf-aa-aplicar>h2{display:block}}.jf-curso-cabecera{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.jf-curso-buscador{margin-bottom:var(--space-4)}.jf-est .jf-curso-buscador input::-webkit-search-cancel-button{display:none}.jf-curso-filtros{align-items:center;gap:var(--space-3)var(--space-6);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.jf-curso-filtros .jf-segmento{margin:0}.jf-segmento-conteo{margin-left:var(--space-2);font-size:var(--font-size-sm);opacity:.8;font-weight:500}.jf-curso-resumen{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.jf-curso-vacio{flex-wrap:wrap;justify-content:space-between}.jf-curso-grupo{margin-top:var(--space-6)}.jf-est .jf-curso-grupo h3{align-items:baseline;gap:var(--space-1)var(--space-2);margin-bottom:var(--space-2);font-size:var(--font-size-md);flex-wrap:wrap;display:flex}.jf-curso-contexto{color:var(--color-text-muted);font-weight:400}.jf-curso-lista{border-top:1px solid var(--color-border);margin:0;padding:0;list-style:none}.jf-curso-fila{border-bottom:1px solid var(--color-border)}.jf-curso-fila.is-marcada{background:var(--color-surface-muted)}.jf-curso-principal{align-items:flex-start;gap:var(--space-3);min-height:64px;padding:var(--space-3)var(--space-2);display:flex}.jf-est .jf-curso-marca{width:20px;height:20px;min-height:20px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0;margin:2px 0 0;padding:0}.jf-curso-texto{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.jf-curso-corto{align-items:center;gap:var(--space-2);color:var(--color-primary);overflow-wrap:anywhere;flex-wrap:wrap;font-weight:600;display:flex}.jf-curso-corto .jf-chip{font-size:var(--font-size-xs);padding-block:0}.jf-curso-nombre{font-size:var(--font-size-sm);color:var(--color-text)}.jf-curso-docentes{font-size:var(--font-size-sm);color:var(--color-text-muted)}.jf-curso-acciones{gap:var(--space-1);flex-shrink:0;display:flex}.jf-est a.jf-btn{text-decoration:none}.jf-curso-abrir svg{transition:transform var(--duration-fast)}.jf-curso-abrir.is-abierto svg{transform:rotate(180deg)}.jf-curso-detalle{margin:0 var(--space-2)var(--space-4)calc(var(--space-2) + 20px + var(--space-3));padding:var(--space-4)var(--space-5);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border)}.jf-curso-detalle .jf-estado,.jf-curso-detalle .jf-campo-error{margin:0}.jf-curso-cifras{gap:var(--space-3)var(--space-7);flex-wrap:wrap;margin:0;display:flex}.jf-curso-cifras dt{font-size:var(--font-size-sm);color:var(--color-text-muted)}.jf-curso-cifras dd{color:var(--color-primary);font-size:var(--font-size-xl);margin:0;font-weight:600}.jf-curso-cifras dd.jf-curso-fechas{font-size:var(--font-size-md);font-weight:500}.jf-curso-equipo{gap:var(--space-2);margin:var(--space-4)0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.jf-curso-equipo li{padding:var(--space-1)var(--space-3);border-radius:var(--radius-full);background:var(--color-surface-muted);font-size:var(--font-size-sm);color:var(--color-primary);font-weight:500}.jf-curso-equipo li span{margin-left:var(--space-1);color:var(--color-text-muted);font-weight:400}.jf-curso-barra{bottom:var(--space-4);z-index:20;justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-6);padding:var(--space-3)var(--space-3)var(--space-3)var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg);color:var(--color-primary);flex-wrap:wrap;display:flex;position:sticky}.jf-curso-barra>span{margin-right:auto}.jf-curso-barra-botones{gap:var(--space-2);display:flex}@media (max-width:640px){.jf-curso-filtros .jf-segmento{width:100%}.jf-curso-filtros .jf-segmento label{padding:0 var(--space-2);font-size:var(--font-size-sm)}.jf-segmento-conteo{display:none}.jf-curso-principal{flex-wrap:wrap}.jf-curso-texto{flex-basis:calc(100% - 20px - var(--space-3))}.jf-curso-acciones{width:100%;margin-top:calc(-1*var(--space-2));justify-content:flex-end}.jf-curso-detalle{margin-left:var(--space-2);padding:var(--space-4)}.jf-curso-barra{padding-left:var(--space-4);row-gap:var(--space-2)}.jf-curso-barra-botones{order:2;width:100%}.jf-curso-barra-botones .jf-btn-primario{padding-inline:var(--space-3);flex:1}}.jf-nov-titulo{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.jf-est .jf-nov-titulo h1{margin:0}.jf-nov-layout{gap:var(--space-8);grid-template-columns:minmax(260px,300px) minmax(0,1fr);align-items:start;display:grid}.jf-nov-filtros{top:calc(var(--header-height,84px) + var(--space-4));gap:var(--space-5);min-width:0;display:grid;position:sticky}.jf-nov-grupo{border:0;min-width:0;margin:0;padding:0}.jf-nov-grupo .jf-filtros{margin:0}.jf-nov-fechas{align-items:center;gap:var(--space-2)var(--space-3);margin-top:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm);grid-template-columns:auto minmax(0,1fr);display:grid}.jf-nov-fechas .jf-fh{min-width:0}.jf-est .jf-nov-buscar input{padding-right:calc(var(--space-3) + 40px)}.jf-nov-buscar input::-webkit-search-cancel-button{appearance:none}.jf-nov-resumen{padding-top:var(--space-4);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.jf-nov-resumen strong{color:var(--color-primary)}.jf-nov-feed{min-width:0;scroll-margin-top:calc(var(--header-height,84px) + var(--space-4))}.jf-nov-feed>.jf-vacio-panel{margin-top:0}.jf-nov-dias{gap:var(--space-6);transition:opacity var(--duration-fast);display:grid}.jf-nov-dias.is-cargando{opacity:.6}.jf-est .jf-nov-dia>h2{margin:0 0 var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.jf-nov-hilos{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.jf-nov-hilo{gap:var(--space-2);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);display:grid}.jf-nov-curso{align-items:center;gap:var(--space-2)var(--space-3);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.jf-est .jf-nov-hilo h3{margin:var(--space-1)0 0;color:var(--color-text);font-size:var(--font-size-lg);overflow-wrap:anywhere}.jf-nov-autor{align-items:center;gap:var(--space-1)var(--space-2);font-size:var(--font-size-sm);flex-wrap:wrap;font-weight:600;display:flex}.jf-nov-autor time{font-weight:400}.jf-est .jf-nov-avatar{width:28px;height:28px;font-size:var(--font-size-xs)}.jf-nov-mensaje{margin:var(--space-1)0 0;color:var(--color-text);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.jf-nov-mensaje.is-recortado{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.jf-est .jf-nov-leer{margin-left:calc(var(--space-3)*-1);justify-self:start}.jf-nov-acciones{align-items:center;gap:var(--space-2)var(--space-4);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.jf-est .jf-nov-acciones .jf-ver-mas{margin-left:calc(var(--space-3)*-1)}.jf-nov-girada{transform:rotate(180deg)}.jf-nov-adjuntos{align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);display:inline-flex}.jf-nov-moodle{align-items:center;gap:var(--space-1);color:var(--color-primary);font-size:var(--font-size-sm);margin-left:auto;font-weight:600;text-decoration:none;display:inline-flex}.jf-nov-moodle:hover{text-decoration:underline}.jf-nov-respuestas{gap:var(--space-2);margin:var(--space-2)0 0;padding:0;list-style:none;display:grid}.jf-nov-respuestas li{gap:var(--space-1);padding:var(--space-3)var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-muted);display:grid}.jf-nov-dialogo{width:min(640px,calc(100vw - 2*var(--space-4)))}.jf-nov-dialogo[open]{gap:var(--space-4);display:grid}.jf-nov-estado{gap:var(--space-3);transition:opacity var(--duration-fast);display:grid}.jf-nov-estado.is-cargando{opacity:.6}.jf-nov-cifra{align-items:center;gap:var(--space-3);padding:var(--space-4)var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface-muted);color:var(--color-text-muted);margin:0;display:flex}.jf-nov-cifra strong{color:var(--color-primary);font-size:var(--font-size-2xl)}.jf-nov-cifra svg{color:var(--color-success);flex-shrink:0}.jf-est .jf-nov-estado .jf-etiqueta,.jf-nov-faltan{margin:0}.jf-nov-faltan li{background:var(--color-surface-muted)}.jf-nov-confirmar{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-muted);display:grid}.jf-nov-confirmar p{margin:0;font-weight:600}.jf-nov-trabajo{gap:var(--space-2);display:grid}.jf-nov-trabajo>p{align-items:center;gap:var(--space-2);color:var(--color-primary);margin:0;font-weight:600;display:flex}.jf-nov-lista{border-top:1px solid var(--color-border);max-height:240px;margin:0;padding:0;list-style:none;overflow-y:auto}.jf-nov-lista li{align-items:center;gap:var(--space-2)var(--space-3);min-height:44px;padding:var(--space-2)0;border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.jf-nov-lista .jf-clonar-curso{flex:1;min-width:8rem}@media (max-width:1023px){.jf-nov-layout{gap:var(--space-6);grid-template-columns:minmax(0,1fr)}.jf-nov-filtros{position:static}}@media (max-width:640px){.jf-nov-hilo{padding:var(--space-4)}.jf-nov-moodle{margin-left:0}.jf-est .jf-dialogo-botones{flex-wrap:wrap}.jf-est .jf-nov-dialogo .jf-dialogo-botones .jf-btn{flex:100%}}.jf-est.jf-auditoria>h1{margin-bottom:var(--space-6)}.jf-aud-personas{gap:var(--space-1);max-height:320px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.jf-est .jf-aud-personas button{align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:var(--space-1)var(--space-3);border-radius:var(--radius-md);color:var(--color-text);font:inherit;font-size:var(--font-size-sm);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.jf-est .jf-aud-personas button:hover{background:var(--color-surface-muted)}.jf-est .jf-aud-personas button[aria-pressed=true]{background:var(--color-surface-muted);color:var(--color-primary);font-weight:600}.jf-est .jf-aud-personas button[aria-pressed=true] .jf-avatar{background:var(--color-primary);color:var(--color-on-primary)}.jf-est .jf-aud-personas .jf-avatar-sm{width:28px;height:28px;font-size:var(--font-size-xs)}.jf-aud-persona-nombre{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.jf-est .jf-filtros .jf-aud-filtro-fallidos:not([aria-pressed=true]){color:var(--color-danger)}.jf-est .jf-aud-tope{margin-bottom:var(--space-4);padding:var(--space-3)var(--space-4);background:var(--color-warning-bg);color:var(--color-warning);justify-content:flex-start}.jf-aud-filas{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);margin:0;padding:0;list-style:none}.jf-aud-fila{gap:var(--space-3);padding:var(--space-3)var(--space-4);grid-template-columns:4.75rem 32px minmax(0,1fr);align-items:start;display:grid}.jf-aud-fila+.jf-aud-fila{border-top:1px solid var(--color-border)}.jf-aud-hora{color:var(--color-text-muted);font-size:var(--font-size-sm);padding-top:6px}.jf-aud-icono{border-radius:var(--radius-full);background:var(--tono-fondo);width:32px;height:32px;color:var(--tono);place-items:center;display:grid}.jf-aud-cuerpo{gap:var(--space-1);min-width:0;padding-top:4px;display:grid}.jf-aud-accion{color:var(--color-text);overflow-wrap:anywhere;margin:0}.jf-est .jf-aud-quien{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.jf-est .jf-aud-quien:hover{text-decoration:underline}.jf-aud-fallidos .jf-aud-accion{color:var(--color-danger)}.jf-aud-datos{align-items:center;gap:var(--space-1)var(--space-3);font-size:var(--font-size-sm);flex-wrap:wrap;margin:0;display:flex}.jf-aud-datos .jf-chip{font-size:var(--font-size-xs);padding-block:0}.jf-aud-detalle{color:var(--color-warning);font-weight:600}.jf-est .jf-aud-ver{margin-left:calc(var(--space-3)*-1);justify-self:start}.jf-aud-lista{gap:var(--space-1)var(--space-4);padding:var(--space-3)var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-muted);font-size:var(--font-size-sm);grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));margin:0;list-style:none;display:grid}.jf-aud-lista li{overflow-wrap:anywhere}.jf-dialogo.jf-aud-historial{border-radius:0;width:min(560px,100vw);max-width:100vw;height:100dvh;max-height:none;margin:0 0 0 auto;overflow-y:auto}.jf-aud-historial[open]{align-content:start;gap:var(--space-5);display:grid}.jf-est .jf-aud-historial h3,.jf-aud-historial h3{margin:0 0 var(--space-2);color:var(--color-primary);font-size:var(--font-size-sm);font-weight:700}.jf-aud-historial .jf-aud-fila{padding:var(--space-2)var(--space-3);grid-template-columns:3rem 32px minmax(0,1fr)}@media (max-width:640px){.jf-aud-fila,.jf-aud-historial .jf-aud-fila{padding:var(--space-3);grid-template-columns:32px minmax(0,1fr)}.jf-aud-hora{font-size:var(--font-size-xs);grid-column:1/-1;padding-top:0}.jf-aud-ip{display:none}}.jf-conv{--conv-aviso-fondo:color-mix(in srgb,var(--color-warning)9%,var(--color-surface))}.jf-conv .jf-tono-aviso{--tono-fondo:var(--conv-aviso-fondo)}.jf-est .jf-conv-intro{max-width:62ch;margin:calc(var(--space-6)*-1 + var(--space-2))0 var(--space-6);color:var(--color-text-muted)}.jf-conv-layout{gap:var(--space-7);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;display:grid}.jf-conv-form{gap:var(--space-6);min-width:0;display:grid}.jf-conv-paso{gap:var(--space-4);min-width:0;display:grid}.jf-est .jf-conv-paso h2{align-items:center;gap:var(--space-3);font-size:var(--font-size-lg);display:flex}.jf-conv-num{border-radius:var(--radius-full);background:var(--color-surface-muted);width:28px;height:28px;color:var(--color-primary);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;flex:none;place-items:center;font-weight:700;display:inline-grid}.jf-conv-paso .jf-campo-error,.jf-conv-paso .jf-ayuda{margin-top:var(--space-2)}.jf-conv-rango{border:0;min-width:0;margin:0;padding:0}.jf-conv-rango .jf-segmento{margin-bottom:0}.jf-conv-numeros{gap:var(--space-4);margin-top:var(--space-4);grid-template-columns:repeat(2,minmax(0,12rem));display:grid}.jf-conv-accion{align-items:center;margin-top:0}.jf-conv-error{margin-top:calc(var(--space-3)*-1)}.jf-conv-desplegable{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.jf-conv-desplegable>summary{align-items:center;gap:var(--space-3);min-height:var(--control-height);padding:var(--space-3)var(--space-4);border-radius:var(--radius-lg);color:var(--color-primary);cursor:pointer;list-style:none;display:flex}.jf-conv-desplegable>summary::-webkit-details-marker{display:none}.jf-conv-desplegable>summary:hover{background:var(--color-surface-muted)}.jf-conv-desplegable>summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.jf-conv-summary-texto{align-items:baseline;gap:var(--space-1)var(--space-3);flex-wrap:wrap;flex:1;min-width:0;display:flex}.jf-conv-summary-texto .jf-tenue{font-size:var(--font-size-sm)}.jf-conv-flecha{transition:transform var(--duration-fast);flex:none}.jf-conv-desplegable[open]>summary .jf-conv-flecha{transform:rotate(180deg)}.jf-conv-desplegable-cuerpo{justify-items:start;gap:var(--space-3);padding:0 var(--space-4)var(--space-4);display:grid}.jf-conv-desplegable-cuerpo>.jf-ayuda{margin:0}.jf-est .jf-conv code{padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--color-surface-muted);color:var(--color-primary);font-size:.9em}.jf-conv-mapa{width:100%;padding:var(--space-3)var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:400 var(--font-size-sm)/1.6 ui-monospace,"Cascadia Mono",Consolas,monospace;resize:vertical;margin:0;display:block}.jf-conv-mapa:focus{border-color:var(--color-border-strong);box-shadow:none;outline:none}.jf-conv-mapa:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.jf-conv-mapa:disabled{opacity:.6}.jf-conv-aviso{background:var(--conv-aviso-fondo);width:100%;color:var(--color-warning)}.jf-conv-guia{top:var(--space-5);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface-muted);position:sticky}.jf-est .jf-conv-guia h2{margin-bottom:var(--space-3);font-size:var(--font-size-lg)}.jf-conv-guia ul{gap:var(--space-3);padding-left:var(--space-5);font-size:var(--font-size-sm);margin:0;line-height:1.5;display:grid}.jf-conv-guia li::marker{color:var(--color-primary)}.jf-conv-guia .jf-ayuda{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-surface-ice)}.jf-conv-resultado{gap:var(--space-5);margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-border);scroll-margin-top:var(--space-5);grid-template-columns:minmax(0,1fr);display:grid}.jf-conv-resultado[aria-busy=true]>:not(.jf-lote-vista-cabecera){opacity:.6}.jf-conv-resultado .jf-lote-vista-cabecera{margin:0}.jf-conv-cifras{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.jf-conv-cifras>div{align-content:start;gap:var(--space-1);min-width:0;display:grid}.jf-conv-cifras dt{color:var(--color-text-muted);font-size:var(--font-size-sm)}.jf-conv-cifras dd{color:var(--color-primary);font-size:var(--font-size-2xl);margin:0;font-weight:600;line-height:1.15}.jf-conv-cifras .jf-tono-aviso dd,.jf-conv-cifras .jf-tono-exito dd{color:var(--tono)}.jf-conv-cifras .jf-nota{margin:0}.jf-conv-ok{align-items:center;gap:var(--space-3);padding:var(--space-3)var(--space-4);border-radius:var(--radius-md);background:var(--color-success-bg);color:var(--color-success);font-weight:500;display:flex}.jf-conv-descarga{gap:var(--space-3);flex-wrap:wrap;display:flex}.jf-est .jf-conv-descarga .jf-btn-primario{max-width:100%;padding-block:var(--space-2);white-space:normal;overflow-wrap:anywhere;text-align:left}.jf-conv-preguntas,.jf-conv-form,.jf-conv-paso{grid-template-columns:minmax(0,1fr)}.jf-conv-titulos{gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--conv-aviso-fondo);grid-template-columns:minmax(0,1fr);display:grid}.jf-conv-titulos-cabecera{gap:var(--space-3);color:var(--color-warning);display:flex}.jf-conv-titulos-cabecera svg{flex:none;margin-top:2px}.jf-est .jf-conv-titulos h3{color:var(--color-warning);font-size:var(--font-size-md)}.jf-conv-titulos-cabecera .jf-ayuda{margin-top:var(--space-1);color:var(--color-text)}.jf-conv-titulos ul{gap:var(--space-2);width:100%;margin:0;padding:0;list-style:none;display:grid}.jf-conv-titulos li{align-items:center;gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(8rem,12rem);display:grid}.jf-conv-titulos label{overflow-wrap:anywhere;min-width:0}.jf-est .jf-conv-titulos code{background:var(--color-surface)}.jf-est .jf-conv-titulos>.jf-btn{max-width:100%;padding-block:var(--space-2);white-space:normal;justify-self:start}.jf-conv-titulos-cabecera>div{min-width:0}.jf-conv-preguntas{gap:var(--space-3);display:grid}.jf-conv-preguntas .jf-filtros{margin-bottom:0}.jf-conv-lista{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.jf-conv-pregunta{gap:var(--space-3);padding:var(--space-4)var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);display:grid}.jf-conv-pregunta.is-revisar{border-color:color-mix(in srgb,var(--color-warning)35%,var(--color-border))}.jf-conv-pregunta.is-bloqueante{border-color:color-mix(in srgb,var(--color-danger)45%,var(--color-border))}.jf-conv-pregunta-cabecera{align-items:center;gap:var(--space-2)var(--space-3);color:var(--color-primary);flex-wrap:wrap;display:flex}.jf-conv-con-tabla{align-items:center;gap:var(--space-1);margin:0;display:inline-flex}.jf-conv-enunciado{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.55}.jf-conv-opciones{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.jf-conv-opciones li{align-items:flex-start;gap:var(--space-2);padding:var(--space-1)var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm);overflow-wrap:anywhere;display:flex}.jf-conv-imagenes{gap:var(--space-2);flex-wrap:wrap;display:flex}.jf-conv-imagenes img{object-fit:contain;max-width:min(100%,22rem);max-height:11rem;padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);display:block}.jf-conv-imagenes-opcion img{max-width:min(100%,14rem);max-height:7rem}.jf-conv-opciones li>span:last-child:has(.jf-conv-imagenes){gap:var(--space-1);display:grid}.jf-conv-opciones li>span:last-child{white-space:pre-line;font-variant-numeric:tabular-nums}.jf-conv-opciones li>svg,.jf-conv-punto{flex:none;margin-top:3px}.jf-conv-punto{border:1.5px solid var(--color-border-strong);border-radius:var(--radius-full);width:16px;height:16px}.jf-conv-opciones li.is-correcta{background:var(--color-success-bg);color:var(--color-success);font-weight:600}.jf-conv-advertencias{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.jf-conv-advertencias li{align-items:flex-start;gap:var(--space-2);padding:var(--space-2)var(--space-3);border-radius:var(--radius-md);background:var(--tono-fondo);color:var(--tono);font-size:var(--font-size-sm);font-weight:500;display:flex}.jf-conv-advertencias svg{flex:none;margin-top:2px}.jf-conv-codigo{max-height:32rem;padding:var(--space-4);border-top:1px solid var(--color-border);background:var(--color-surface-muted);color:var(--color-text);font:400 var(--font-size-xs)/1.55 ui-monospace,"Cascadia Mono",Consolas,monospace;white-space:pre;margin:0;overflow:auto}@media (max-width:900px){.jf-conv-layout{grid-template-columns:minmax(0,1fr)}.jf-conv-guia{position:static}.jf-conv-cifras{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.jf-conv-numeros{grid-template-columns:repeat(2,minmax(0,1fr))}.jf-conv-titulos li{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}.jf-conv-descarga .jf-btn,.jf-conv-accion .jf-btn{width:100%}.jf-conv-pregunta{padding:var(--space-4)}}.jf-subir{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);grid-template-columns:minmax(0,1fr);display:grid}.jf-subir-cabecera{gap:var(--space-3);color:var(--color-primary);display:flex}.jf-subir-cabecera svg{flex:none;margin-top:2px}.jf-subir-cabecera>div{min-width:0}.jf-subir-cabecera .jf-ayuda{margin-top:var(--space-1);max-width:70ch}.jf-subir-lista{gap:var(--space-2);display:grid}.jf-subir-lista[aria-busy=true] .jf-subir-opciones{opacity:.6}.jf-subir-lista-cabecera{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.jf-subir-lista-cabecera .jf-etiqueta{margin:0}.jf-subir-opciones{gap:var(--space-2);max-height:22rem;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.jf-subir-opcion{justify-content:space-between;align-items:center;gap:var(--space-1)var(--space-3);min-height:var(--control-height);padding:var(--space-2)var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast);flex-wrap:wrap;display:flex}.jf-subir-opcion:hover{background:var(--color-surface-muted)}.jf-subir-opcion.is-activo{border-color:var(--color-primary);background:var(--color-surface-muted);box-shadow:inset 3px 0 0 var(--color-primary)}.jf-subir-opcion.is-bloqueado{color:var(--color-text-muted)}.jf-subir-opcion:has(:focus-visible){outline:2px solid var(--color-primary);outline-offset:2px}.jf-subir-opcion-nombre{min-width:0;color:var(--color-primary);overflow-wrap:anywhere;font-weight:600}.jf-subir-opcion.is-bloqueado .jf-subir-opcion-nombre{color:var(--color-text-muted)}.jf-subir-opcion-dato{align-items:center;gap:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;display:inline-flex}.jf-subir-opcion-dato.jf-tono-peligro{color:var(--tono)}.jf-subir-estado{gap:var(--space-1);padding:var(--space-3)var(--space-4);border-radius:var(--radius-md);background:var(--tono-fondo);color:var(--tono);font-weight:500;display:grid}.jf-subir-estado .jf-nota{overflow-wrap:anywhere;margin:0;font-weight:400}.jf-subir-accion{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.jf-subir-listo{justify-items:start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-success-bg);display:grid}.jf-subir-listo-titulo{align-items:flex-start;gap:var(--space-2);color:var(--color-success);display:flex}.jf-subir-listo-titulo svg{flex:none}.jf-subir-listo .jf-ayuda{margin:0}.jf-subir-pendientes{width:100%;padding:var(--space-3)var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-sm)}.jf-subir-pendientes p{margin:0 0 var(--space-2)}.jf-subir-pendientes ul{gap:var(--space-1);padding-left:var(--space-5);margin:0;display:grid}.jf-subir-pendientes a{color:var(--color-primary);font-weight:600}@media (max-width:640px){.jf-subir{padding:var(--space-4)}.jf-subir-accion .jf-btn,.jf-subir-listo .jf-btn{width:100%}}.jf-per-titulo{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.jf-est .jf-per-titulo h1{margin:0}.jf-per-resumen{justify-content:space-between;align-items:center;gap:var(--space-3)var(--space-4);margin-bottom:var(--space-6);padding:var(--space-4)var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface-muted);flex-wrap:wrap;display:flex}.jf-per-resumen p{margin:0}.jf-per-resumen strong{color:var(--color-primary);font-size:var(--font-size-xl)}.jf-per-avance{align-items:center;gap:var(--space-2);margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-xs);display:flex}.jf-per-avance .jf-barra{flex:1;max-width:140px;height:6px}.jf-per-avance .jf-chip{margin-left:var(--space-1);flex-shrink:0}.jf-est .jf-per-completar{margin-bottom:var(--space-5)}.jf-per-agregar{gap:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);display:grid}.jf-per-opciones{gap:var(--space-4)var(--space-6);flex-wrap:wrap;display:flex}.jf-est .jf-per-segmento{margin:0}.jf-est .jf-per-segmento label{white-space:nowrap}.jf-est .jf-per-segmento legend{margin-bottom:var(--space-2)}.jf-per-botones{justify-content:flex-end;gap:var(--space-2);display:flex}.jf-per-cobertura{gap:var(--space-3);display:grid}.jf-per-cifra{align-items:baseline;gap:var(--space-2);color:var(--color-text-muted);flex-wrap:wrap;margin:0;display:flex}.jf-per-cifra strong{color:var(--color-primary);font-size:var(--font-size-2xl)}.jf-per-cifra .jf-chip{align-self:center;margin-left:auto}.jf-est .jf-per-cobertura+section h3{margin-bottom:var(--space-2)}.jf-per-secundarias{gap:var(--space-2)var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.jf-est .jf-per-secundarias .jf-ver-mas{margin-left:calc(var(--space-3)*-1)}.jf-est .jf-per-peligro{color:var(--color-danger)}.jf-per-trabajo{gap:var(--space-3);margin-bottom:var(--space-6);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);display:grid}.jf-per-trabajo-cabecera{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.jf-est .jf-per-trabajo h2{align-items:center;gap:var(--space-2);font-size:var(--font-size-lg);margin:0;display:flex}.jf-per-trabajo-cifras{align-items:center;gap:var(--space-2);color:var(--color-primary);flex-wrap:wrap;margin:0;font-weight:600;display:flex}.jf-per-detalle{max-height:320px;overflow-y:auto}@media (max-width:1023px){.jf-personal .jf-doc-ficha>.jf-vacio-panel{display:none}}@media (max-width:640px){.jf-per-resumen{padding:var(--space-4)}.jf-est .jf-per-resumen .jf-btn{width:100%}.jf-per-trabajo{padding:var(--space-4)}}:root{--jf-blue:#003566;--jf-yellow:#ffc300;--bg-gray:#f4f6f8;--text-dark:#333}body{background-color:var(--bg-gray);color:var(--text-dark);margin:0;padding:0;font-family:Segoe UI,system-ui,sans-serif}.dashboard-container{width:100vw;height:100vh;display:flex;overflow:hidden}.sidebar{position:relative;overflow:hidden}.brand{flex-direction:column;display:flex}.brand img{filter:drop-shadow(0 0 10px #ffc3004d);transition:transform .5s}.brand:hover img{transform:scale(1.05)rotate(-2deg)}.brand h2{letter-spacing:2px;color:#fff9;text-transform:uppercase;margin-top:15px;font-size:.9rem;font-weight:600}.menu-items{flex-direction:column;flex:1;gap:10px;display:flex}.menu-btn{color:#a0aec0;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:12px;padding:14px 20px;font-size:.95rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.menu-btn:hover{color:#fff;background:#ffffff14;transform:translate(5px)}.menu-btn.active{color:#002549;background:linear-gradient(90deg,#ffc300 0%,#ffd54f 100%);font-weight:800;box-shadow:0 4px 15px #ffc30066}.menu-btn svg{transition:transform .3s}.menu-btn:hover svg{transform:scale(1.1)}.logout-btn{border-top:1px solid #ffffff1a;margin-top:auto;padding-top:20px}.logout-btn:hover{color:#fff!important}.main-content{background-image:radial-gradient(#e0e0e0 1px,#0000 1px);background-size:20px 20px;flex:1;padding:40px;overflow-y:auto}.page-title{color:var(--jf-blue);margin-bottom:25px;animation:.5s fadeIn}.card{background:#fff;border:1px solid #00000005;border-radius:12px;margin-bottom:25px;padding:25px;animation:.5s cubic-bezier(.16,1,.3,1) slideUp;box-shadow:0 4px 20px #0000000d}.search-group{gap:10px;display:flex}input,textarea,select{box-sizing:border-box;border:2px solid #eee;border-radius:8px;width:100%;margin-bottom:15px;padding:10px 12px;font-family:inherit;font-size:.95rem;transition:border .3s,box-shadow .3s}input:focus,textarea:focus{border-color:var(--jf-blue);outline:none;box-shadow:0 0 0 3px #0035661a}.btn-primary{background-color:var(--jf-blue);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-weight:700;transition:transform .2s,background .3s}.courses-header{color:var(--jf-blue);align-items:center;gap:10px;margin-top:20px;margin-bottom:15px;font-size:1.1rem;font-weight:700;display:flex}.course-list{padding:0;list-style:none}.course-item{border-left:5px solid var(--jf-yellow);background-color:#fafafa;border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:15px 20px;transition:transform .2s;display:flex;box-shadow:0 2px 5px #00000008}.course-item:hover{background:#fff;transform:translate(5px)}.course-info strong{color:var(--jf-blue);font-size:1.05rem}.course-info span{color:#666;margin-left:8px;font-size:.95rem}.user-header{align-items:center;gap:20px;margin-bottom:20px;display:flex}.avatar-circle{width:60px;height:60px;color:var(--jf-blue);background:#eee;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.badge{text-transform:uppercase;border-radius:20px;padding:4px 12px;font-size:.8rem;font-weight:700}.badge.green{color:#2e7d32;background:#e8f5e9}.badge.red{color:#c62828;background:#ffebee}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.stat-card{border-left:5px solid var(--jf-blue);background:#fff;border-radius:10px;flex-direction:column;justify-content:space-between;padding:20px;transition:transform .2s;display:flex;box-shadow:0 4px 15px #0000000d}.stat-card:hover{transform:translateY(-5px)}.stat-card h3{color:#666;text-transform:uppercase;letter-spacing:1px;margin:0;font-size:.9rem}.stat-card .number{color:var(--jf-blue);margin:10px 0;font-size:2.5rem;font-weight:700}.stat-card .subtext{color:#888;font-size:.8rem}.stat-card.yellow{border-left-color:var(--jf-yellow)}.stat-card.red{border-left-color:#d32f2f}.stat-card.green{border-left-color:#2e7d32}.section-title{color:var(--jf-blue);border-bottom:2px solid #eee;margin-bottom:15px;padding-bottom:10px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}.login-wrapper{z-index:1000;justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:relative;top:0;left:0;overflow:hidden}.background-layer{z-index:1;background-color:#0000;background-image:radial-gradient(circle at 30% 30%,#00356655,#0000),radial-gradient(circle at 70% 70%,#ffc30033,#0000),linear-gradient(135deg,#001a33,#002549,#003566);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:200% 200%;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;width:100%;height:100%;animation:13s infinite bgMove;position:absolute}@keyframes bgMove{0%{background-position:0 40%}50%{background-position:100% 60%}to{background-position:0 40%}}.particles{z-index:2;pointer-events:none;opacity:2;background-image:radial-gradient(#ffc300 2px,#0000 3px),radial-gradient(#ffd54f 2px,#0000 3px);background-size:250px 250px,500px 500px;width:100%;height:100%;animation:35s linear infinite particleFloat;position:absolute}@keyframes particleFloat{0%{background-position:0 0,0 0}to{background-position:300px 600px,-400px 300px}}.login-card{z-index:3;-webkit-backdrop-filter:blur(18px)saturate(180%);backdrop-filter:blur(18px)saturate(180%);opacity:0;background:#ffffff14;border:1px solid #ffffff2e;border-radius:20px;width:420px;padding:45px 40px;animation:.8s forwards fadeUp;position:relative;transform:translateY(40px);box-shadow:0 15px 55px #00000073}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}.logo-container{justify-content:center;margin-bottom:15px;display:flex}.logo-premium{object-fit:contain;width:180px;height:110px;animation:4s ease-in-out infinite float,5s ease-in-out infinite goldGlow}@keyframes goldGlow{0%,to{filter:drop-shadow(0 0 4px #ffc300aa)}50%{filter:drop-shadow(0 0 14px #ffc300)}}.title-premium{color:#fff;text-align:center;font-size:2rem;font-weight:700}.subtitle-premium{color:#dbe5ff;text-align:center;margin-bottom:25px;font-size:1rem}.input-block{flex-direction:column;margin-bottom:22px;display:flex}.input-block label{color:#fffe;margin-bottom:5px;font-size:.9rem}.input-block input{color:#fff;background:#ffffff1a;border:1px solid #fff3;border-radius:12px;padding:14px;font-size:1rem;transition:all .25s}.input-block input::placeholder{color:#b8c1d9}.input-block input:focus{background:#ffffff29;border-color:#ffc300;outline:none;box-shadow:0 0 10px #ffc30088}.error-premium{color:#c62828;background:#ffebee;border:1px solid #ffcdd2;border-radius:12px;margin-bottom:20px;padding:12px;font-weight:500}.btn-premium{color:#003566;cursor:pointer;background:linear-gradient(135deg,#ffc300,#fd5);border:none;border-radius:14px;width:100%;padding:14px;font-size:1.1rem;font-weight:700;transition:all .25s;box-shadow:0 6px 18px #ffc30055}.btn-premium:hover{transform:translateY(-3px);box-shadow:0 10px 25px #ffc30088}.btn-premium:active{transform:scale(.97)}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:30px;display:grid}.stat-card-premium{border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border);background:#fff;align-items:center;gap:20px;padding:25px;transition:transform .2s,box-shadow .2s;display:flex}.stat-card-premium:hover{box-shadow:var(--shadow-md);transform:translateY(-5px)}.stat-icon{border-radius:12px;justify-content:center;align-items:center;width:60px;height:60px;font-size:24px;display:flex}.bg-blue-light{color:var(--primary);background:#e3f2fd}.bg-yellow-light{color:#f57f17;background:#fff8e1}.bg-green-light{color:#2e7d32;background:#e8f5e9}.bg-red-light{color:#c62828;background:#ffebee}.stat-content h3{color:var(--primary);margin:0;font-size:2rem;font-weight:700}.stat-content p{color:var(--text-muted);margin:0;font-size:.9rem;font-weight:500}.menu-items{scrollbar-width:none;-ms-overflow-style:none}.menu-items::-webkit-scrollbar{display:none}.login-fireflies-bg{background-color:#020617;background-image:radial-gradient(circle at 20% 30%,#ffc30026 0%,#0000 8%),radial-gradient(circle at 80% 20%,#ffc3001a 0%,#0000 8%),radial-gradient(circle at 50% 80%,#ffc30026 0%,#0000 10%),radial-gradient(circle at 10% 90%,#ffc3001a 0%,#0000 6%),radial-gradient(circle at 90%,#ffc3001f 0%,#0000 9%);background-size:150% 150%;justify-content:center;align-items:center;width:100%;height:100vh;animation:25s ease-in-out infinite alternate moveFireflies;display:flex;position:fixed;top:0;left:0}@keyframes moveFireflies{0%{background-position:0 0}50%{background-position:50% 100%}to{background-position:100%}}.login-card-clean{z-index:10;-webkit-backdrop-filter:blur(30px);background:#0f172abf;border:1px solid #ffffff1a;border-radius:24px;width:100%;max-width:420px;padding:60px 45px;position:relative;box-shadow:0 40px 80px -20px #000000b3}.input-group-clean{margin-bottom:25px}.label-clean{color:#94a3b8;margin-bottom:8px;padding-left:5px;font-size:.9rem;font-weight:500;display:block}.input-field-clean{color:#fff;background:#ffffff08;border:1px solid #ffffff26;border-radius:12px;outline:none;width:100%;padding:16px 20px;font-size:1rem;transition:all .3s}.input-field-clean:focus{background:#ffc3000d;border-color:#ffc300;box-shadow:0 0 20px #ffc3001a}.input-field-clean::placeholder{color:#475569}.captcha-clean-container{background:#ffc3000d;border:1px solid #ffc30033;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:30px;padding:15px 20px;display:flex}.captcha-box-clean{color:#fff;text-align:center;-moz-appearance:textfield;background:#ffffff0d;border:1px solid #ffc300;border-radius:8px;outline:none;width:70px;height:45px;font-size:1.2rem;font-weight:700}.captcha-box-clean::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.captcha-box-clean::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.captcha-box-clean:focus{box-shadow:0 0 10px #ffc30033}.btn-glow{color:#020617;cursor:pointer;background:#ffc300;border:none;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;padding:18px;font-size:1.05rem;font-weight:800;transition:all .3s;display:flex;box-shadow:0 5px 15px #ffc30033}.btn-glow:hover{background:#ffca2c;transform:translateY(-3px);box-shadow:0 15px 30px #ffc30066}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background:#0f172a99;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-card{text-align:center;background:#fff;border-radius:16px;width:90%;max-width:450px;padding:30px;animation:.3s cubic-bezier(.175,.885,.32,1.275) scaleUp;box-shadow:0 20px 50px #00000040}.modal-buttons{justify-content:center;gap:15px;margin-top:25px;display:flex}.btn-modal-cancel{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:8px;padding:12px 20px;font-weight:600;transition:all .2s}.btn-modal-cancel:hover{background:#e2e8f0}.btn-modal-confirm{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:8px;padding:12px 25px;font-weight:600;transition:all .2s;box-shadow:0 4px 15px #ef44444d}.btn-modal-confirm:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ef444466}@keyframes scaleUp{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.skeleton{background:linear-gradient(90deg,#e2e8f0 0,#f1f5f9 50%,#e2e8f0 100%) 0 0/200% 100%;border-radius:8px;animation:1.5s linear infinite shimmer}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.sk-text{width:70%;height:1rem;margin-bottom:8px}.sk-title{width:40%;height:2rem;margin-bottom:10px}.sk-avatar{border-radius:50%;width:50px;height:50px}.sk-card{width:100%;height:120px}.dashboard-container{background:linear-gradient(135deg,#001d3d 0%,#003566 60%,#001a33 100%)}.main-content{background:#ffffff08!important}@font-face{font-family:Onest Variable;src:url(/brand/onest-latin-wght-normal.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}.moodle-app{--color-primary:#062c5b;--color-primary-hover:#041f42;--color-on-primary:#fff;--color-accent:#f5a623;--color-accent-hover:#e8961a;--color-bg:#fbfcfa;--color-surface:#fff;--color-surface-muted:#eaf2fa;--color-surface-ice:#d6e5f3;--color-text:#0b1f33;--color-text-muted:#4a5d72;--color-border:#d9e3ee;--color-focus:#8f5400;--color-danger:#b0261e;--color-danger-bg:#fdecea;--color-danger-hover:#8e1f18;--color-on-danger:#fff;--color-success:#1b6e30;--color-success-bg:#e6f4ea;--color-warning:#7a4d00;--color-border-strong:#66788b;--color-legacy-bg:#003566;--font-sans:"Onest Variable",system-ui,sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-2xl:1.75rem;--font-size-3xl:2.25rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--space-10:4rem;--radius-sm:8px;--radius-md:14px;--radius-lg:24px;--radius-full:999px;--shadow-lg:0 20px 48px #062c5b2e;--control-height:44px;--content-max-width:1152px;--duration-fast:.12s;--easing-out:cubic-bezier(.16,1,.3,1);background:var(--color-bg);width:100%;min-height:100dvh;color:var(--color-text);font:400 var(--font-size-md)/1.55 var(--font-sans);text-align:left;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html:has(.moodle-app){height:auto;overflow:auto}body:has(.moodle-app){background:0 0;height:auto;display:block;overflow:visible}#root:has(.moodle-app){width:100%;max-width:none;height:auto;margin:0;padding:0;overflow:visible}.moodle-app *,.moodle-app :before,.moodle-app :after{box-sizing:border-box}.moodle-app button,.moodle-app summary,.moodle-app a{-webkit-tap-highlight-color:transparent}.moodle-app ::selection{background:var(--color-accent);color:var(--color-primary)}.moodle-app :focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.moodle-app{scrollbar-color:var(--color-text-muted)var(--color-surface-muted);scrollbar-width:thin}.moodle-app h1,.moodle-app h2{text-wrap:balance}.moodle-app .moodle-main{min-width:0;padding:var(--space-8)var(--space-6)var(--space-10);min-height:calc(100dvh - 84px);overflow:visible}.moodle-app .jf-home-surface{background:var(--color-bg)!important}.moodle-app .jf-legacy-surface{background:var(--color-legacy-bg)!important}.jf-header{z-index:100;background:var(--color-surface);border-bottom:1px solid var(--color-border);position:relative}.jf-header-inner{max-width:1280px;min-height:84px;padding-inline:var(--space-6);align-items:center;gap:var(--space-5);margin-inline:auto;display:flex}.jf-header button,.jf-header summary,.jf-home button{font:inherit;color:var(--color-primary);cursor:pointer;box-shadow:none;border:0}.jf-header button:hover,.jf-home button:hover{border-color:#0000}.jf-header summary{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:var(--control-height);border-radius:var(--radius-md);padding:var(--space-2)var(--space-3);font-size:var(--font-size-sm);font-weight:500;list-style:none;display:flex}.jf-header summary::-webkit-details-marker{display:none}.jf-header summary:hover,.jf-nav-link:hover{background:var(--color-surface-muted)}.jf-header summary svg{flex-shrink:0}.jf-header details[open]>summary>svg:last-child{transform:rotate(180deg)}.jf-header .jf-brand{align-items:center;gap:var(--space-3);text-align:left;white-space:nowrap;border-radius:var(--radius-sm);background:0 0;padding:0;display:flex}.jf-brand img{object-fit:contain;width:44px;height:44px}.jf-brand span{font-size:var(--font-size-md);line-height:1.25}.jf-brand strong{font-weight:650;font-size:var(--font-size-lg);display:block}.jf-mobile-nav{margin-inline:auto}.jf-mobile-nav>summary{display:none}.jf-mobile-nav::details-content{content-visibility:visible}.jf-mobile-nav:not([open])>.jf-nav,.jf-nav{align-items:center;gap:var(--space-1);display:flex}.jf-header .jf-nav-link{padding:var(--space-2)var(--space-3);min-height:var(--control-height);font-size:var(--font-size-sm);border-radius:var(--radius-md);background:0 0;font-weight:500}.jf-header .is-active{background:var(--color-surface-muted);color:var(--color-primary);font-weight:650}.jf-dropdown{position:relative}.jf-dropdown-panel{top:calc(100% + var(--space-3));min-width:240px;padding:var(--space-2);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-lg);position:absolute;left:0}.jf-dropdown-panel button,.jf-dropdown-panel a{align-items:center;gap:var(--space-3);text-align:left;width:100%;min-height:var(--control-height);padding:var(--space-3);font-size:var(--font-size-sm);border-radius:var(--radius-sm);color:var(--color-primary);background:0 0;text-decoration:none;display:flex}.jf-dropdown-panel button:hover,.jf-dropdown-panel a:hover{background:var(--color-surface-muted)}.jf-profile{margin-left:auto}.jf-profile>summary{background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-full);padding-inline:var(--space-4)}.jf-profile>summary:hover{background:var(--color-primary-hover)}.jf-account-name{text-overflow:ellipsis;white-space:nowrap;max-width:135px;overflow:hidden}.jf-profile .jf-dropdown-panel{left:auto;right:0}.jf-profile-role{margin:var(--space-2)var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm)}.jf-dropdown-panel .jf-logout{color:var(--color-danger)}.jf-dropdown-panel .jf-logout:hover{background:var(--color-danger-bg)}.jf-skip{top:var(--space-2);left:var(--space-4);background:var(--color-primary);color:var(--color-on-primary);padding:var(--space-3);border-radius:var(--radius-sm);z-index:200;position:absolute;transform:translateY(-200%)}.jf-skip:focus{transform:none}.jf-home{max-width:var(--content-max-width);margin-inline:auto}.jf-home-heading{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-7);display:flex}.jf-home-heading h1{color:var(--color-primary);font-size:var(--font-size-3xl);letter-spacing:-.02em;margin:0;font-weight:600;line-height:1.25}.jf-date{color:var(--color-text-muted);font-size:var(--font-size-sm)}.jf-overview{padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border)}.jf-figures{gap:var(--space-5);grid-template-columns:repeat(4,1fr);margin:0;display:grid}.jf-figures>div{gap:var(--space-2);flex-direction:column;display:flex}.jf-figures dt{color:var(--color-text-muted);font-size:var(--font-size-sm)}.jf-figures dd{color:var(--color-primary);font-size:var(--font-size-3xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:0;font-weight:550;line-height:1.2}.jf-refresh{margin-top:var(--space-5);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.jf-refresh>span{color:var(--color-text-muted);font-size:var(--font-size-sm)}.jf-home .jf-button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:var(--space-2)var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:0 0;font-weight:550;display:inline-flex}.jf-home .jf-button:hover{background:var(--color-surface-muted)}.jf-home button:disabled{opacity:.55;cursor:wait}.jf-workspace{gap:var(--space-8);margin-block:var(--space-8);grid-template-columns:1.2fr 1fr;align-items:stretch;display:grid}.jf-home h2{font-size:var(--font-size-xl);color:var(--color-primary);letter-spacing:-.015em;margin:0;font-weight:600;line-height:1.25}.jf-students{padding:var(--space-6);background:var(--color-surface-muted);border-radius:var(--radius-lg)}.jf-students h2{margin-bottom:var(--space-5)}.jf-home .jf-student-primary{align-items:center;gap:var(--space-3);text-align:left;width:100%;font-size:var(--font-size-lg);border-radius:var(--radius-md);background:0 0;min-height:64px;padding:0;font-weight:550;display:flex}.jf-open{background:var(--color-accent);border-radius:var(--radius-full);width:52px;height:52px;transition:transform var(--duration-fast)var(--easing-out),background var(--duration-fast);flex-shrink:0;place-items:center;margin-left:auto;display:grid}.jf-student-primary:hover .jf-open{background:var(--color-accent-hover);transform:translate(2px,-2px)}.jf-student-secondary{gap:var(--space-1);margin-top:var(--space-5);flex-direction:column;display:flex}.jf-student-secondary button{align-items:center;gap:var(--space-3);min-height:var(--control-height);padding:var(--space-2)0;text-align:left;border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:0 0;display:flex}.jf-student-secondary button svg:last-child{margin-left:auto}.jf-student-secondary button:hover{text-underline-offset:4px;text-decoration:underline}.jf-academic{padding-block:var(--space-6)}.jf-academic h2{margin-bottom:var(--space-4)}.jf-home .jf-task{align-items:center;gap:var(--space-4);width:100%;min-height:64px;padding:var(--space-3)var(--space-2);border-bottom:1px solid var(--color-border);text-align:left;background:0 0;border-radius:0;display:flex}.jf-task span{flex:1}.jf-home .jf-task:hover{background:var(--color-surface-muted);border-bottom-color:var(--color-border)}.jf-course-line{align-items:center;gap:var(--space-3);padding-top:var(--space-5);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.jf-course-line h2{align-items:center;gap:var(--space-3);font-size:var(--font-size-lg);margin-right:auto;display:flex}.jf-workspace-academico{grid-template-columns:1fr;max-width:760px}@media (max-width:1180px){.jf-account-name{display:none}.jf-header-inner{gap:var(--space-4)}}@media (max-width:900px){.jf-header-inner{min-height:76px}.jf-mobile-nav{margin-left:auto;margin-right:0}.jf-mobile-nav>summary{display:flex}.jf-mobile-nav:not([open])::details-content{content-visibility:hidden}.jf-mobile-nav:not([open])>.jf-nav{display:none}.jf-mobile-nav[open]>.jf-nav{display:flex}.jf-nav{padding:var(--space-4);background:var(--color-surface);box-shadow:var(--shadow-lg);flex-direction:column;align-items:stretch;max-height:calc(100dvh - 76px);position:absolute;top:100%;left:0;right:0;overflow-y:auto}.jf-nav .jf-dropdown-panel{box-shadow:none;background:var(--color-surface-muted);margin-top:var(--space-1);position:static}.jf-profile{margin-left:0}.jf-workspace{gap:var(--space-6)}}@media (max-width:760px){.jf-workspace{gap:var(--space-4);grid-template-columns:1fr}.jf-academic{padding-block:var(--space-4)}}@media (max-width:640px){.jf-header-inner{padding-inline:var(--space-4);gap:var(--space-2)}.jf-brand span{font-size:var(--font-size-sm)}.jf-brand strong{font-size:var(--font-size-md)}.jf-brand img{width:36px;height:36px}.jf-header .jf-brand{gap:var(--space-2)}.jf-header .jf-profile>summary{padding-inline:var(--space-3)}.moodle-app .moodle-main{padding:var(--space-6)var(--space-4)var(--space-8)}.jf-home-heading{align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-6);flex-direction:column}.jf-home-heading h1{font-size:var(--font-size-2xl)}.jf-figures{row-gap:var(--space-6);grid-template-columns:repeat(2,1fr)}.jf-figures dd{font-size:var(--font-size-2xl)}.jf-refresh{align-items:center}.jf-refresh>span{max-width:65%}.jf-students{padding:var(--space-5)}.jf-workspace{margin-block:var(--space-6)}.jf-student-primary>svg{display:none}.jf-course-line{align-items:stretch;gap:var(--space-2);flex-direction:column}.jf-course-line h2{margin-bottom:var(--space-2)}.jf-course-line .jf-button{justify-content:space-between}}@media (prefers-reduced-motion:reduce){.moodle-app *,.moodle-app :before,.moodle-app :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.moodle-app{--color-live:#4cd08a;--color-on-danger:#fff;--color-danger-hover:#951f18;--color-info:#0b5cad;--color-success:#1b6e30;--color-success-bg:#e6f4ea;--color-warning:#7a4d00;--color-warning-bg:#fff3d6;--color-overlay:#0b1f338c;--font-size-xs:.75rem;--header-height:84px}.jf-header{z-index:40;border-bottom-color:#0000;position:sticky;top:0}.jf-header-inner{align-items:center;gap:var(--space-4);height:var(--header-height);min-height:var(--header-height);max-width:none;padding:0 var(--space-7);grid-template-columns:1fr auto 1fr;display:grid}.jf-header .jf-brand{flex:none;justify-self:start}.jf-header .jf-brand .jf-owl{width:auto;height:44px;transition:transform var(--duration-fast)var(--easing-out);display:block}.jf-brand:hover .jf-owl{transform:rotate(-6deg)scale(1.05)}.jf-header .jf-nav{justify-self:center;align-items:center;gap:var(--space-1);display:flex}.jf-header .jf-nav-link,.jf-header .jf-nav summary{min-height:var(--control-height);padding:0 var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-md);font-weight:500}.jf-header .jf-nav .is-active{color:var(--color-primary);background:var(--color-surface-muted);font-weight:600}.jf-header-end{justify-self:end;align-items:center;gap:var(--space-3);display:flex}.jf-header .jf-menu-toggle{width:var(--control-height);height:var(--control-height);border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-primary);border:0;flex-shrink:0;place-items:center;padding:0;display:none}.jf-header button:focus:not(:focus-visible){outline:none}.jf-nav-scrim{display:none}@supports (animation-timeline:scroll()){.jf-header{animation:linear both jf-header-edge;animation-timeline:scroll();animation-range:0 64px}}@keyframes jf-header-edge{to{border-bottom-color:var(--color-border)}}@media not (min-width:900px){.jf-header-inner{padding:0 var(--space-4);gap:var(--space-2);grid-template-columns:auto 1fr auto}.jf-header .jf-brand .jf-owl{height:36px}.jf-header-end{grid-column:3}.jf-header .jf-menu-toggle{display:grid}.jf-header .jf-nav{width:100%;top:var(--header-height);z-index:35;padding:var(--space-3)var(--space-4)var(--space-5);justify-self:stretch;gap:var(--space-1);background:var(--color-surface);box-shadow:var(--shadow-lg);max-height:calc(100dvh - var(--header-height));flex-direction:column;align-items:stretch;display:none;position:fixed;left:0;right:0;overflow-y:auto}.jf-header .jf-nav.is-open{display:flex}.jf-header .jf-nav-link,.jf-header .jf-nav summary{min-height:48px;font-size:var(--font-size-lg)}.jf-nav-scrim{inset:var(--header-height)0 0;z-index:30;background:var(--color-overlay);display:block;position:fixed}}@media (prefers-reduced-motion:reduce){.jf-header{animation:none}}.moodle-app{--duration-normal:.2s;--duration-slow:.32s;--easing-standard:cubic-bezier(.2,0,0,1)}.jf-header .jf-nav summary>svg{transition:transform var(--duration-normal)var(--easing-out)}.jf-header .jf-dropdown[open]:not(.is-cerrando)>summary>svg{transform:rotate(180deg)}.jf-header .jf-dropdown-panel{border:1px solid var(--color-border);border-radius:var(--radius-lg);transform-origin:0 0}.jf-header .jf-dropdown[open]>.jf-dropdown-panel{animation:jf-panel-in .24s var(--easing-out)both}.jf-header .jf-dropdown.is-cerrando>.jf-dropdown-panel{animation:.16s ease-in both jf-panel-out}@media not (min-width:900px){.jf-header .jf-dropdown-panel{border-radius:var(--radius-md);border:0}.jf-header .jf-nav.is-open{animation:jf-panel-in .24s var(--easing-out)both;transform-origin:top}}@media (prefers-reduced-motion:reduce){.jf-header .jf-dropdown[open]>.jf-dropdown-panel,.jf-header .jf-dropdown.is-cerrando>.jf-dropdown-panel,.jf-header .jf-nav.is-open,.jf-header .jf-nav summary>svg{transition:none;animation:none}}.jf-header .jf-nav-insignia{background:var(--color-danger);min-width:20px;height:20px;color:var(--color-on-danger);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;margin-left:6px;padding:0 6px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}
