:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--ui-surface-dark:#0f172a;--ui-surface-elevated:#111c33;--ui-border-soft:#94a3b847;--ui-text-soft:#e5e7eb;--ui-text-muted:#bfdbfe;--ui-focus-ring:#60a5fa57}.ui-time-input{background:var(--ui-surface-elevated);border:1px solid var(--ui-border-soft);color:var(--ui-text-soft);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f87171' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.8v4.8l3.2 1.9'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem 1rem;padding-right:2.8rem}.ui-time-input:focus-visible{outline:2px solid var(--ui-focus-ring);border-color:#60a5fa80}.ui-time-input::-webkit-calendar-picker-indicator{opacity:.01;cursor:pointer;width:1.6rem;height:1.6rem}.ui-hint{color:var(--ui-text-muted);font-size:.76rem}:root{--bg-start:#05091f;--bg-end:#020206;--text:#fff;--muted:#ffffffb8;--muted-strong:#ffffffe0;--brand:#4f8cff;--brand-strong:#3d72ff;--surface:#ffffff14;--border:#ffffff24;--shadow:0 28px 90px #0f172a2e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--text);background:radial-gradient(circle at top left, #4f8cff2e, transparent 28%), linear-gradient(180deg, var(--bg-start), var(--bg-end));min-height:100vh;margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}img,iframe,video{max-width:100%}.layout{min-height:100vh}.topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;background:#030716c2;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:1.25rem 2rem;display:flex;position:sticky;top:0}.topbar-login{justify-content:center}.topbar h1{margin:0;font-size:1.25rem;font-weight:700}.topbar h1 a,.topbar a{color:var(--text);text-decoration:none}.topbar nav,.topbar-nav{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.nav-section-link{white-space:nowrap}.topbar-nav-wrapper{align-items:center;gap:.75rem;margin-left:auto;display:flex;position:relative}.mobile-menu-toggle{color:var(--text);font:inherit;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff29;border-radius:12px;padding:.55rem .85rem;font-weight:600;display:none}.mobile-menu-toggle:hover,.mobile-menu-toggle:focus-visible{background:#4f8cff29;border-color:#4f8cff80}.compact-login-short{color:#fff;white-space:nowrap;background:#4f8cff2e;border:1px solid #4f8cff57;border-radius:999px;padding:.52rem .86rem;font-size:.88rem;font-weight:700;text-decoration:none;display:none}.compact-login-short:hover,.compact-login-short:focus-visible{background:#4f8cff47}.topbar a{color:var(--muted);font-size:.98rem;font-weight:500;transition:color .18s,transform .18s}.topbar a:hover,.topbar a:focus-visible{color:var(--text);transform:translateY(-1px)}.btn-navbar{color:#fff;background:linear-gradient(145deg,#5a95ff,#3f78ff);border:1px solid #8bbbff66;border-radius:999px;justify-content:center;align-items:center;padding:.85rem 1.25rem;font-weight:700;transition:transform .18s,box-shadow .18s,filter .18s;display:inline-flex;box-shadow:0 14px 30px #2e64ff4d,inset 0 1px #fff3}.btn-navbar:hover,.btn-navbar:focus-visible{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 18px 34px #2e64ff5c,inset 0 1px #ffffff3d}.menu-login-link{white-space:nowrap;margin-left:.2rem}.link-button{color:#fff;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:8px;padding:.4rem .65rem}.link-button:hover{background:#ffffff14}main{max-width:1240px;margin:0 auto;padding:1.25rem}.hero-copy,.modelo-section,.oferta-section,.schedule-section,.service-section,.plantel-section,.institucional-section,.card-panel{margin-inline:auto}.hero-page{place-items:center;min-height:calc(100vh - 5rem);padding:2rem 1.25rem 3rem;display:grid}.auth-shell{place-items:center;width:100%;min-height:calc(100vh - 8rem);padding:2rem 0 3rem;display:grid}.auth-card{background:#ffffff0f;border:1px solid #ffffff24;border-radius:32px;width:min(100%,560px);padding:2rem;box-shadow:0 28px 80px #060a1a33}.registration-card{background:linear-gradient(145deg,#0f1f4cd1,#ffffff0f);width:min(100%,620px);box-shadow:0 28px 90px #060a1a4d}.registration-card h2{max-width:15ch}.registration-form{margin-top:1.75rem}.registration-form label{background:#ffffff09;border:1px solid #ffffff14;border-radius:16px;padding:.85rem 1rem}.registration-form .btn-primary{min-height:3.25rem;font-size:1rem}.registration-login-prompt{color:var(--muted);text-align:center;margin:1.5rem 0 0}.registration-login-prompt a{color:#9fc1ff;font-weight:700;text-decoration:none}.registration-login-prompt a:hover,.registration-login-prompt a:focus-visible{color:#fff;text-decoration:underline}.auth-recovery-toggle{color:#9fc1ff;cursor:pointer;font:inherit;background:0 0;border:0;margin:1.25rem auto 0;font-weight:700;display:block}.auth-recovery-toggle:hover,.auth-recovery-toggle:focus-visible{color:#fff;text-decoration:underline}.auth-recovery-form{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:18px;gap:.9rem;margin-top:1rem;padding:1rem;display:grid}.auth-recovery-heading{gap:.25rem;display:grid}.auth-recovery-heading strong{color:var(--text);font-size:1rem}.auth-recovery-heading span{color:var(--muted);font-size:.88rem;line-height:1.5}.auth-recovery-field{color:var(--muted-strong);gap:.45rem;font-weight:600}.auth-recovery-field input{background:#05091f73;border-color:#9fc1ff47;min-height:3rem}.auth-recovery-field input:focus{border-color:#9fc1ffb8;box-shadow:0 0 0 3px #4f8cff24}.auth-recovery-submit{width:100%;min-height:3rem}.auth-recovery-feedback{margin:0}.director-page{scroll-behavior:smooth;gap:1.25rem;padding-bottom:3rem;display:grid}.director-quick-nav{z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);scrollbar-width:thin;background:#060c1fe0;border:1px solid #ffffff1a;border-radius:16px;gap:.45rem;padding:.55rem;display:flex;position:sticky;top:.75rem;overflow-x:auto;box-shadow:0 14px 36px #00000029}.director-quick-nav a{color:var(--muted);white-space:nowrap;border-radius:10px;flex:none;padding:.55rem .8rem;font-size:.86rem;font-weight:700;text-decoration:none}.director-quick-nav a:hover,.director-quick-nav a:focus-visible{color:var(--text);background:#4f8cff2e}.director-hero,.director-section{background:#ffffff0e;border:1px solid #ffffff1f;border-radius:24px;box-shadow:0 22px 60px #060a1a29}.director-hero{background:linear-gradient(135deg,#143778d1,#ffffff0f);justify-content:space-between;align-items:center;gap:1.5rem;padding:1.75rem;display:flex}.director-hero-actions{justify-items:end;gap:.6rem;display:grid}.director-sync-text{color:#ffffffbd;font-size:.82rem;font-weight:600}.director-hero h2{margin:.25rem 0 .6rem}.director-hero p:last-child,.director-section>p,.director-action-card>p{color:var(--muted)}.director-section{padding:1.35rem;scroll-margin-top:5rem}.director-section h3{margin:0 0 .45rem}.director-metric-grid,.director-action-grid{gap:1rem;display:grid}.director-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.director-metric{text-align:left;color:inherit;cursor:pointer;background:#08102b94;border:1px solid #0000;border-radius:18px;gap:.35rem;padding:1rem;transition:transform .2s,border-color .2s,box-shadow .2s;display:grid}.director-metric:hover,.director-metric:focus-visible,.director-metric.is-active{border-color:#8bbbff8a;transform:translateY(-2px);box-shadow:0 14px 30px #050c1e4d}.director-metric span{color:var(--muted);font-size:.86rem}.director-metric strong{font-size:1.8rem}.director-metric small{color:#d9e4ffc7;font-size:.79rem}.director-metric.is-alert{background:linear-gradient(145deg,#5b141442,#08102b94);border-color:#f8717173}.director-metric.is-warn{background:linear-gradient(145deg,#5a46143d,#08102b94);border-color:#fbbf2473}.director-metric-badge{border-radius:999px;width:fit-content;padding:.22rem .55rem;font-size:.72rem;font-style:normal;font-weight:700}.director-metric-badge.is-ok{color:#b8f7dc;background:#34d39924}.director-metric-badge.is-warn{color:#ffe49e;background:#fbbf2424}.director-metric-badge.is-alert{color:#ffc0c0;background:#f8717129}.director-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.director-action-card{align-content:start;gap:.7rem;display:grid}.director-action-card .form-grid{margin-top:.25rem}.director-action-card input,.director-action-card select,.director-action-card textarea{min-height:3rem}.director-action-card textarea{resize:none;min-height:5rem;color:var(--text);font:inherit;appearance:none;background:#ffffff0d;border:1px solid #ffffff24;border-radius:18px;padding:.95rem 1rem}.director-combobox,.director-date-field{gap:.45rem;display:grid;position:relative}.director-combobox>label,.director-date-field>label{color:var(--muted-strong);font-size:.88rem;font-weight:700}.director-combobox-menu{z-index:20;background:#0f172a;border:1px solid #94a3b847;border-radius:14px;gap:.25rem;max-height:220px;padding:.4rem;display:grid;position:absolute;top:calc(100% + .25rem);left:0;right:0;overflow-y:auto;box-shadow:0 18px 40px #00000052}.director-combobox-menu button{color:var(--text);text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:10px;gap:.15rem;padding:.65rem .7rem;display:grid}.director-combobox-menu button:hover,.director-combobox-menu button:focus-visible{background:#4f8cff33}.director-combobox-menu small{color:var(--muted);font-size:.78rem}.director-field-error{color:#ffb4b4;margin:-.4rem 0 0;font-size:.78rem}.director-folio-user-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.director-folio-pill{color:#dbeafe;background:#0f172ab8;border:1px solid #94a3b86b;border-radius:999px;align-items:center;min-height:1.9rem;padding:.2rem .62rem;font-size:.76rem;font-weight:700;display:inline-flex}.director-folio-pill-institucional{color:#bbf7d0;border-color:#4ade8094}.director-folio-pill-gmail{color:#fef3c7;border-color:#fbbf2494}.director-folio-pill-otro{color:#fecaca;border-color:#f8717185}.director-folio-input-row{grid-template-columns:1fr auto;align-items:center;gap:.55rem;display:grid}.director-folio-input-row .btn-secondary{white-space:nowrap;height:42px;min-height:42px}.director-folio-table-wrap{gap:.5rem;margin-top:.8rem;display:grid}.director-folio-table-wrap h4{margin:0;font-size:.96rem}.director-conceptos-layout{grid-template-columns:1fr;align-items:start;gap:.9rem;display:grid}.director-segmented{border:1px solid #94a3b83d;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.director-segmented button{color:#cbd5e1;cursor:pointer;min-height:2.8rem;font:inherit;background:#0f172aa6;border:0;font-weight:700}.director-segmented button.is-active{color:#eff6ff;background:#3b82f647}.director-conceptos-actions{flex-wrap:wrap;gap:.55rem;display:flex}.director-subrama-indent{color:#bfdbfe;margin-left:1rem;display:inline-flex}.director-ajuste-chip{border-radius:999px;align-items:center;min-height:1.45rem;padding:0 .45rem;font-size:.72rem;font-weight:700;display:inline-flex}.director-ajuste-chip.is-descuento{color:#bbf7d0;background:#22c55e33}.director-ajuste-chip.is-penalizacion{color:#fecaca;background:#ef444433}.director-concepto-actions-cell{flex-wrap:wrap;gap:.4rem;display:flex}.director-folio-table-caption{color:var(--muted);margin:0;font-size:.8rem}.director-folio-filter-row{grid-template-columns:230px 1fr;gap:.6rem;display:grid}.director-folio-filter-row input,.director-folio-filter-row select{color:#f9fafb;background:#1f2937;border:1px solid #374151;min-height:2.8rem}.director-conceptos-layout .form-grid input,.director-conceptos-layout .form-grid select,.director-conceptos-layout .form-grid textarea,.director-conceptos-layout .director-folio-input-row input,.director-conceptos-layout .director-folio-filter-row input,.director-conceptos-layout .director-folio-filter-row select,.director-folio-filter-row input,.director-folio-filter-row select{color:#f9fafb;background:#1f2937;border:1px solid #374151}.director-conceptos-layout .form-grid input::placeholder,.director-conceptos-layout .director-folio-filter-row input::placeholder,.director-folio-filter-row input::placeholder{color:#9ca3af}.director-folio-table-scroll{background:#1f2937;border:1px solid #374151;border-radius:14px;overflow-x:auto}.director-folio-table-scroll table{table-layout:auto;border-collapse:collapse;width:100%;min-width:0}.director-folio-table-scroll th{color:#9ca3af;background:#ffffff0a;border-color:#374151;font-weight:700}.director-folio-table-scroll td{color:#f9fafb;border-color:#374151}.director-folio-table-scroll th,.director-folio-table-scroll td{padding:.72rem .75rem}.director-folio-table-scroll tbody tr:nth-child(2n){background:#ffffff05}.director-conceptos-layout .director-folio-table-scroll{overflow-x:hidden}.director-folio-role-chip{color:#dbeafe;background:#3b82f61f;border:1px solid #60a5fa66;border-radius:999px;align-items:center;min-height:1.7rem;padding:0 .55rem;font-size:.74rem;font-weight:700;display:inline-flex}@media (width<=720px){.director-folio-input-row,.director-folio-filter-row,.director-conceptos-layout{grid-template-columns:1fr}}.director-combobox-empty{color:var(--muted);margin:0;padding:.55rem .65rem;font-size:.8rem}.director-date-trigger{min-height:3rem;color:var(--text);text-align:left;cursor:pointer;font:inherit;background:#0f172a;border:1px solid #94a3b847;border-radius:16px;padding:.8rem 1rem}.director-date-trigger:hover,.director-date-trigger:focus-visible{border-color:#9fc1ffb8;box-shadow:0 0 0 3px #4f8cff24}.director-calendar{z-index:25;background:#0f172a;border:1px solid #94a3b847;border-radius:18px;padding:.75rem;position:absolute;top:calc(100% + .3rem);left:0;box-shadow:0 20px 48px #00000059}.director-calendar input[type=time],.director-time-input{color:#e5e7eb;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#111c33;border:1px solid #94a3b847;border-radius:12px;width:100%;margin-top:.6rem;padding:.7rem .8rem;box-shadow:inset 0 1px #ffffff0f}.director-calendar input[type=time]:focus-visible,.director-time-input:focus-visible{border-color:#60a5fa80;outline:2px solid #60a5fa57}.director-calendar input[type=time]::-webkit-calendar-picker-indicator{opacity:.01;cursor:pointer;width:1.6rem;height:1.6rem}.director-time-input::-webkit-calendar-picker-indicator{opacity:.01;cursor:pointer;width:1.6rem;height:1.6rem}.director-time-hint{color:#bfdbfe;margin-top:.4rem;font-size:.76rem}.director-calendar .rdp-root{--rdp-accent-color:#60a5fa;--rdp-accent-background-color:#60a5fa33;--rdp-day_button-border-radius:10px;--rdp-day_button-height:2.1rem;--rdp-day_button-width:2.1rem;--rdp-disabled-opacity:.35;--rdp-outside-opacity:.5;color:#e5e7eb;margin:0}.director-calendar .rdp-root,.director-calendar .rdp-months,.director-calendar .rdp-month,.director-calendar .rdp-weeks,.director-calendar .rdp-week,.director-calendar .rdp-weekdays,.director-calendar .rdp-month_grid,.director-calendar .rdp-day{background:#0f172a}.director-calendar .rdp-month_caption,.director-calendar .rdp-weekday,.director-calendar .rdp-button_previous,.director-calendar .rdp-button_next{color:#cbd5e1}.director-calendar .rdp-nav button,.director-calendar .rdp-button_previous,.director-calendar .rdp-button_next,.director-calendar .rdp-day_button{background:0 0}.director-calendar .rdp-button:hover:not([disabled]),.director-calendar .rdp-day_button:hover:not([disabled]){background:#94a3b829}.director-calendar .rdp-day_button{color:#e5e7eb;border:1px solid #0000}.director-calendar .rdp-selected .rdp-day_button{border-color:#60a5fa8c}.director-audit-feed{gap:.6rem;margin-top:.55rem;display:grid}.director-audit-item{background:#070e256b;border:1px solid #ffffff1f;border-radius:14px;gap:.38rem;padding:.8rem .9rem;display:grid}.director-audit-item header{justify-content:space-between;align-items:center;gap:.7rem;display:flex}.director-audit-item header strong{font-size:.9rem}.director-audit-item header span{color:var(--muted);font-size:.75rem}.director-audit-item p,.director-audit-item small,.director-audit-empty{margin:0}.director-audit-empty{color:var(--muted)}.director-toast-stack{z-index:60;pointer-events:none;gap:.75rem;width:min(100%,390px);display:grid;position:fixed;top:5.75rem;right:1.25rem}.director-feedback{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto;margin:0;box-shadow:0 20px 48px #03071647}.director-modal-overlay{z-index:70;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#040816a8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.director-modal{background:#080f26fa;border:1px solid #ffffff29;border-radius:20px;gap:.9rem;width:min(100%,620px);padding:1.3rem;display:grid;box-shadow:0 22px 60px #00000061}.director-modal h4,.director-modal p{margin:0}.director-modal p{color:var(--muted);line-height:1.6}.director-modal-actions{justify-content:flex-end;gap:.65rem;display:flex}.director-action-card button:disabled,.director-hero button:disabled{cursor:wait;opacity:.62}.director-critical-card{background:linear-gradient(145deg,#78490f33,#ffffff0e);border-color:#fbbf245c}.director-audit-card{border-color:#34d3994d}.director-audit-badge{color:#b8f7dc;background:#34d3991f;border-radius:999px;width:fit-content;padding:.45rem .7rem;font-size:.84rem;font-weight:700}.auth-eyebrow{color:var(--brand);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .8rem;font-size:.82rem;font-weight:700}.auth-card h2{margin:0;font-size:clamp(2rem,4vw,2.8rem);line-height:1.05}.auth-intro{color:var(--muted);margin:1rem 0 1.8rem;line-height:1.8}.form-grid{gap:1rem;display:grid}.form-grid label{color:var(--muted-strong);gap:.55rem;font-weight:600;display:grid}.field-group{gap:.55rem;display:grid}.field-group-error input{border-color:#f871718c;outline:2px solid #f8717124}.field-group-success input{border-color:#34d39973}.form-grid input{width:100%;color:var(--text);font:inherit;background:#ffffff0d;border:1px solid #ffffff24;border-radius:18px;padding:.95rem 1rem}.form-grid select{width:100%;color:var(--text);font:inherit;appearance:none;background:#0f172a;border:1px solid #ffffff24;border-radius:18px;padding:.95rem 1rem}.form-grid select option,.form-grid select optgroup{color:#e5e7eb;background:#0f172a}.form-grid input::placeholder{color:#ffffff6b}.form-grid input:focus,.form-grid select:focus{border-color:#4f8cff66;outline:2px solid #4f8cff59}.password-field{grid-template-columns:1fr auto;align-items:center;gap:.75rem;display:grid}.password-toggle{width:3.3rem;height:3.3rem;color:var(--text);cursor:pointer;background:linear-gradient(#ffffff14,#ffffff08);border:1px solid #ffffff24;border-radius:16px;place-items:center;padding:0;transition:transform .18s,background .18s,border-color .18s;display:inline-grid;box-shadow:inset 0 1px #ffffff14}.password-toggle:hover,.password-toggle:focus-visible{background:linear-gradient(#4f8cff38,#4f8cff14);border-color:#4f8cff66;transform:translateY(-1px)}.password-toggle-icon{width:1.2rem;height:1.2rem}.field-help{color:#ffffff9e;font-size:.92rem;font-weight:500;line-height:1.5}.field-help-error{color:#fecaca}.auth-submit{cursor:pointer;background:linear-gradient(135deg,#5ea2ff 0%,#2f6fff 52%,#184bd6 100%);border:0;border-radius:18px;width:100%;padding:1.05rem 1.4rem;transition:transform .18s,box-shadow .18s,filter .18s;position:relative;overflow:hidden;box-shadow:0 18px 38px #2f6fff52,inset 0 1px #ffffff2e}.auth-submit:before{content:"";background:linear-gradient(120deg,#0000 20%,#ffffff2e 50%,#0000 80%);transition:transform .26s;position:absolute;inset:0;transform:translate(-120%)}.auth-submit:hover,.auth-submit:focus-visible{filter:saturate(1.08);transform:translateY(-2px);box-shadow:0 24px 44px #2f6fff66,inset 0 1px #ffffff38}.auth-submit:hover:before,.auth-submit:focus-visible:before{transform:translate(120%)}.auth-submit:disabled{opacity:.78;cursor:wait;transform:none;box-shadow:0 14px 28px #2f6fff33}.error-box,.ok-box{border-radius:18px;margin:0;padding:.95rem 1rem;line-height:1.65}.error-box{color:#fecaca;background:#dc262624;border:1px solid #f8717152}.ok-box{color:#bbf7d0;background:#10b98124;border:1px solid #34d39952}.auth-switch{color:var(--muted);margin:1.4rem 0 0}.auth-switch a{color:var(--text);font-weight:700;text-decoration:none}.auth-switch a:hover,.auth-switch a:focus-visible{text-decoration:underline}.hero{place-items:center;width:min(100%,1100px);display:grid}.hero-copy{text-align:center;padding:2.5rem 2rem}.hero-badge{color:var(--text);text-transform:uppercase;letter-spacing:.18em;background:#4f8cff24;border-radius:999px;justify-content:center;align-items:center;padding:.75rem 1.15rem;font-size:.8rem;font-weight:700;display:inline-flex}.hero h1{letter-spacing:-.05em;color:var(--text);margin:1.4rem 0 1rem;font-size:clamp(2.8rem,5vw,4.8rem);font-weight:800;line-height:.98}.hero-subtitle{max-width:48rem;color:var(--muted);margin:0 auto 2.5rem;font-size:1.05rem;line-height:1.9}.hero-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.btn{border-radius:999px;justify-content:center;align-items:center;padding:1rem 1.75rem;font-weight:700;text-decoration:none;transition:transform .18s,background-color .18s,border-color .18s;display:inline-flex}.btn-primary,.btn-secondary{min-height:3rem;font:inherit;letter-spacing:.01em;cursor:pointer;border-radius:14px;font-weight:700;transition:transform .18s,box-shadow .18s,border-color .18s,filter .18s}.btn-primary{color:#fff;background:linear-gradient(145deg,#5a95ff,#3f78ff);border:1px solid #8bbbff6b;box-shadow:0 16px 36px #2e64ff59,inset 0 1px #ffffff38}.btn-primary:hover,.btn-primary:focus-visible{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 20px 40px #2e64ff6b,inset 0 1px #ffffff42}.btn-primary:active{filter:brightness(.98);transform:translateY(0)}.btn-secondary{color:#dbe7ff;background:linear-gradient(145deg,#111c33,#0f172a);border:1px solid #94a3b861;box-shadow:0 12px 28px #02061757,inset 0 1px #ffffff1f}.btn-secondary:hover,.btn-secondary:focus-visible{color:#fff;border-color:#9fc1ff85;transform:translateY(-1px);box-shadow:0 16px 30px #0206176b,inset 0 1px #ffffff2e}.btn-secondary:active{transform:translateY(0)}.btn-outline{color:var(--text);background:0 0;border:1px solid #ffffffb8}.btn-outline:hover,.btn-outline:focus-visible{background:#ffffff14;transform:translateY(-1px)}.hero-panels{grid-template-columns:1fr;gap:1rem;width:min(100%,1100px);margin-top:2.5rem;display:grid}.hero-panels-campus{grid-template-columns:1fr}.feature-card{background:#ffffff0d;border:1px solid #ffffff1f;border-radius:24px;padding:1.75rem;box-shadow:inset 0 0 0 1px #ffffff05}.institucional-section{background:#ffffff0d;border:1px solid #ffffff1f;border-radius:32px;width:min(100%,1100px);margin-top:2.5rem;padding:2rem;box-shadow:0 28px 80px #060a1a2e}.institucional-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem;display:grid}.institution-card{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:22px;padding:1.6rem;box-shadow:inset 0 0 0 1px #ffffff05}.institution-card h3{letter-spacing:-.02em;margin:0 0 .85rem;font-size:1.1rem}.institution-card p{color:var(--muted);margin:0;line-height:1.85}.pillar-list{gap:1rem;display:grid}.pillar-list div{gap:.3rem;display:grid}.pillar-list strong{color:var(--text);display:block}.pillar-list span{color:var(--muted);line-height:1.8}@media (width<=900px){.institucional-grid{grid-template-columns:1fr}}.campus-card{gap:1.25rem;display:grid}.campus-intro h2{margin:0 0 .8rem}.campus-intro p{color:var(--muted);margin:0;line-height:1.8}.campus-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.campus-group-card{background:#ffffff0a;border:1px solid #ffffff1f;border-radius:24px;gap:1rem;padding:1.2rem;display:grid}.campus-group-licenciaturas{box-shadow:inset 0 0 0 1px #4f8cff29}.campus-group-prepa{box-shadow:inset 0 0 0 1px #48c7a833}.campus-group-header{gap:.45rem;display:grid}.campus-group-header h3{margin:0;font-size:1.2rem}.campus-group-header p{color:var(--muted);margin:0;line-height:1.7}.campus-group-badge{letter-spacing:.04em;text-transform:uppercase;width:fit-content;color:var(--text);border-radius:999px;padding:.35rem .7rem;font-size:.78rem;font-weight:700;display:inline-flex}.campus-group-licenciaturas .campus-group-badge{background:#4f8cff38;border:1px solid #4f8cff6b}.campus-group-prepa .campus-group-badge{background:#48c7a833;border:1px solid #48c7a866}.campus-gallery.showcase{grid-template-columns:1fr;grid-template-areas:"main""caption""thumbs";gap:1rem;display:grid}.campus-main-image{background:#ffffff0f;border:1px solid #ffffff24;border-radius:28px;grid-area:main;overflow:hidden}.campus-main-image img{object-fit:contain;width:100%;height:auto;display:block}.campus-main-caption{color:var(--text);text-align:center;background:#060919d9;border-radius:18px;grid-area:caption;margin-top:.9rem;padding:1rem 1.2rem;font-size:1rem}.campus-thumbnails{grid-area:thumbs;grid-template-columns:repeat(auto-fit,minmax(98px,1fr));gap:.9rem;display:grid}.thumbnail-button{cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:18px;padding:0;transition:transform .18s,border-color .18s,box-shadow .18s;display:block;overflow:hidden}.thumbnail-button:hover,.thumbnail-button:focus-visible{border-color:#4f8cff47;transform:translateY(-2px);box-shadow:0 16px 40px #0000001f}.thumbnail-button.active{border-color:#4f8cffcc}.thumbnail-button img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}@media (width<=900px){.campus-groups{grid-template-columns:1fr}}@media (width<=620px){.campus-intro{text-align:center}.campus-group-header{text-align:center;justify-items:center}.campus-group-card{border-radius:20px;padding:1rem}.campus-main-image{border-radius:18px}.campus-main-caption{margin-top:0;padding:.85rem 1rem;font-size:.93rem}.campus-thumbnails{scroll-snap-type:x mandatory;grid-template-columns:none;grid-auto-columns:minmax(96px,1fr);grid-auto-flow:column;padding-bottom:.35rem;overflow-x:auto}.campus-thumbnails::-webkit-scrollbar{height:6px}.campus-thumbnails::-webkit-scrollbar-thumb{background:#ffffff38;border-radius:999px}.thumbnail-button{scroll-snap-align:start}.thumbnail-button img{aspect-ratio:16/11}}@media (width<=940px) and (orientation:landscape){.campus-group-card{padding:1rem}.campus-gallery.showcase{grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);grid-template-areas:"main thumbs""caption thumbs";align-items:start;column-gap:.85rem}.campus-main-image img{object-fit:cover;width:100%;max-height:50vh}.campus-main-caption{text-align:left;margin-top:0;padding:.75rem .9rem}.campus-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr));max-height:calc(50vh + 4rem);padding-right:.2rem;overflow:hidden auto}}@media (width<=740px) and (orientation:landscape){.campus-group-header p{display:none}.campus-main-image img{max-height:56vh}}.oferta-section{background:#ffffff0d;border:1px solid #ffffff1f;border-radius:32px;width:min(100%,1100px);margin-top:2.5rem;padding:2rem;box-shadow:0 28px 80px #060a1a2e}.section-header{max-width:760px;margin-bottom:1.75rem}.section-header h2{margin:1rem 0 .75rem;font-size:clamp(1.75rem,2.5vw,2.4rem);line-height:1.1}.section-header p{color:var(--muted);margin:0;line-height:1.8}.oferta-grid{grid-template-columns:minmax(210px,280px) 1fr;gap:1.25rem;display:grid}.oferta-list{gap:.75rem;display:grid}.oferta-item{width:100%;color:var(--text);text-align:left;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:18px;padding:1rem;font-weight:600;transition:transform .18s,background-color .18s,border-color .18s}.modelo-section{background:#ffffff0d;border:1px solid #ffffff1f;border-radius:32px;margin-top:2rem;padding:2rem;box-shadow:0 28px 80px #060a1a2e}.section-subheader{gap:.75rem;display:grid}.section-subheader h3{margin:0;font-size:clamp(1.45rem,2vw,1.9rem)}.modelo-parameters{background:#ffffff12;border:1px solid #ffffff1f;border-radius:24px;gap:.9rem;margin-top:1.5rem;padding:1.5rem;display:grid}.modelo-parameters div{gap:.3rem;display:grid}.modelo-parameters strong{color:var(--text)}.modelo-parameters span{color:var(--muted)}.program-grid{grid-template-columns:repeat(3,minmax(240px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.program-card{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:24px;gap:1rem;padding:1.5rem;display:grid;box-shadow:inset 0 0 0 1px #ffffff05}.program-card h4{margin:0;font-size:1.05rem}.program-status{color:var(--brand);font-size:.95rem;font-weight:700}.program-card p{color:var(--muted);margin:0;line-height:1.85}.program-card footer{color:var(--muted);gap:.45rem;font-size:.95rem;display:grid}.schedule-section,.service-section{background:#ffffff0d;border:1px solid #ffffff1f;border-radius:32px;width:min(100%,1100px);margin-top:2.5rem;padding:2rem;box-shadow:0 28px 80px #060a1a2e}.schedule-grid,.service-grid{grid-template-columns:repeat(3,minmax(240px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.schedule-card,.service-card{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:24px;gap:1rem;padding:1.5rem;display:grid;box-shadow:inset 0 0 0 1px #ffffff05}.schedule-card h3,.service-card h3{margin:0;font-size:1.1rem}.schedule-label{color:var(--text);background:#4f8cff24;border-radius:999px;align-items:center;padding:.5rem .9rem;font-size:.82rem;font-weight:700;display:inline-flex}.schedule-time{color:var(--brand);font-size:1.25rem;font-weight:700}.service-icon{background:#4f8cff29;border-radius:18px;place-items:center;width:3rem;height:3rem;font-size:1.6rem;display:grid}.service-card p,.schedule-card p{color:var(--muted);margin:0;line-height:1.8}.plantel-section{background:#ffffff0d;border:1px solid #ffffff1f;border-radius:32px;width:min(100%,1100px);margin-top:2.5rem;padding:2rem;box-shadow:0 28px 80px #060a1a2e}.plantel-grid{grid-template-columns:repeat(2,minmax(240px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.plantel-card{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:24px;gap:1rem;padding:1.5rem;display:grid;box-shadow:inset 0 0 0 1px #ffffff05}.plantel-card-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.plantel-card h3{margin:0;font-size:1.1rem}.plantel-level{color:var(--brand);margin:.35rem 0 0;font-weight:700}.plantel-address{color:var(--text);margin:0;font-weight:600}.map-link{color:var(--text);background:#4f8cff29;border-radius:999px;justify-content:center;align-items:center;padding:.75rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}.map-link:hover,.map-link:focus-visible{background:#4f8cff42}.contact-section{width:min(100%,1100px);margin-top:2.5rem}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.contact-card{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:22px;gap:.75rem;padding:1.3rem;display:grid}.contact-card h3{margin:0;font-size:1.05rem}.contact-card p{color:var(--muted);margin:0;line-height:1.75}.contact-link-primary{width:fit-content;color:var(--text);letter-spacing:.01em;background:#4f8cff2e;border:1px solid #4f8cff57;border-radius:999px;justify-content:center;align-items:center;padding:.7rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}.contact-link-primary:hover,.contact-link-primary:focus-visible{background:#4f8cff42}.contact-social-list{gap:.65rem;display:grid}.contact-social-link{color:var(--text);background:#ffffff08;border:1px solid #ffffff1f;border-radius:14px;padding:.7rem .85rem;text-decoration:none;transition:border-color .18s,background-color .18s}.contact-social-link:hover,.contact-social-link:focus-visible{background:#4f8cff1f;border-color:#4f8cff59}@media (width<=1040px){.schedule-grid,.service-grid,.plantel-grid,.contact-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}}@media (width<=760px){.schedule-grid,.service-grid,.plantel-grid,.contact-grid{grid-template-columns:1fr}}@media (width<=1020px){.program-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}}@media (width<=760px){.modelo-section,.oferta-section,.hero-panels{padding:1.25rem}.program-grid{grid-template-columns:1fr}.oferta-grid{grid-template-columns:1fr;gap:1rem}.oferta-list{scroll-snap-type:x mandatory;grid-auto-columns:minmax(150px,1fr);grid-auto-flow:column;padding-bottom:.35rem;overflow-x:auto}.oferta-list::-webkit-scrollbar{height:6px}.oferta-list::-webkit-scrollbar-thumb{background:#ffffff38;border-radius:999px}.oferta-item{scroll-snap-align:start;border-radius:14px;min-height:3.2rem;padding:.75rem .85rem;transform:none}.oferta-viewer{min-height:auto}}.oferta-item:hover,.oferta-item:focus-visible{background:#ffffff14;transform:translate(2px)}.oferta-item.active{background:#4f8cff2e;border-color:#4f8cff59}.oferta-viewer{gap:1rem;min-height:520px;display:grid}.viewer-header{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:18px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.viewer-header span{color:var(--muted)}.viewer-header strong{color:var(--text)}.oferta-iframe{background:#0a0f23;border:none;border-radius:24px;width:100%;min-height:520px;box-shadow:inset 0 0 0 1px #ffffff14}.oferta-mobile-card{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:20px;gap:1rem;padding:1.2rem;display:grid}.oferta-mobile-card p{color:var(--muted);margin:0;line-height:1.8}.oferta-mobile-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.oferta-mobile-btn{text-align:center;width:100%}.feature-card h2{margin:0 0 .75rem;font-size:1.15rem;font-weight:700}.feature-card p{color:var(--muted);margin:0;line-height:1.85}@media (width<=940px){.topbar{padding:1rem 1.25rem}.topbar nav,.topbar-nav{gap:1rem}main{padding:1rem}.hero-panels{grid-template-columns:1fr 1fr}.hero-panels-campus{grid-template-columns:1fr}}@media (width<=940px) and (orientation:landscape){.hero-panels-campus{grid-template-columns:1fr}}@media (width<=860px),(width<=1024px) and (orientation:landscape){.compact-login-short,.mobile-menu-toggle{justify-content:center;align-items:center;display:inline-flex}.topbar-nav{opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:30;background:#060c1ff2;border:1px solid #0000;border-radius:16px;flex-direction:column;align-items:stretch;gap:.35rem;width:min(86vw,340px);max-height:0;padding:0;transition:max-height .22s,opacity .22s,transform .22s,padding .22s;position:absolute;top:calc(100% + .55rem);right:0;overflow:hidden;transform:translateY(-8px);box-shadow:0 18px 46px #00000047}.nav-section-link{white-space:normal}.topbar-nav.is-open{opacity:1;pointer-events:auto;border-color:#ffffff1f;max-height:70vh;padding:.75rem;overflow-y:auto;transform:translateY(0)}.topbar-nav.is-auth-nav{opacity:1;pointer-events:auto;width:auto;max-height:none;box-shadow:none;background:0 0;border:0;padding:0;position:static;transform:none}.topbar-nav.is-auth-nav .nav-section-link{width:auto}.topbar-nav a,.topbar-nav .link-button,.topbar-nav .btn-navbar{text-align:left;border-radius:12px;justify-content:flex-start;width:100%;padding:.75rem .85rem}.topbar-nav .btn-navbar{text-align:center;justify-content:center}.menu-login-link{margin-left:0}.topbar-nav.is-open .menu-login-link{z-index:2;position:sticky;bottom:0;box-shadow:0 -8px 18px #060c1f75}}@media (width<=1024px) and (orientation:landscape){.topbar{padding:.7rem .95rem}.compact-login-short{padding:.48rem .72rem;font-size:.83rem}.topbar h1{font-size:1rem}.topbar-nav{width:min(95vw,720px)}.topbar-nav.is-open{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:.45rem;max-height:58vh;padding:.55rem;display:grid}.topbar-nav.is-open .nav-section-link{grid-column:auto}.topbar-nav.is-open .btn-navbar,.topbar-nav.is-open .link-button{grid-column:1/-1}.topbar-nav.is-open a,.topbar-nav.is-open .link-button,.topbar-nav.is-open .btn-navbar{min-height:2.5rem;padding:.6rem .7rem}}@media (width<=700px){.topbar{gap:.8rem;padding:.95rem}.topbar h1{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.hero-page{padding-top:1.5rem}.topbar h1{font-size:1.05rem}.director-hero{flex-direction:column;align-items:stretch;padding:1.25rem}.director-hero-actions{justify-items:stretch}.director-sync-text{text-align:center}.director-hero .btn-secondary{width:100%}.director-metric-grid,.director-action-grid{grid-template-columns:1fr}.director-section{border-radius:18px;padding:1rem}.director-quick-nav{margin-inline:-.15rem;top:.45rem}.topbar nav,.topbar-nav{gap:.65rem}.topbar-nav-wrapper{width:auto;margin-left:auto}.topbar-nav.is-auth-nav{opacity:0;pointer-events:none;background:#060c1ff2;border:1px solid #0000;width:min(86vw,340px);max-height:0;padding:0;position:absolute;transform:translateY(-8px);box-shadow:0 18px 46px #00000047}.topbar-nav.is-auth-nav.is-open{opacity:1;pointer-events:auto;border-color:#ffffff1f;max-height:70vh;padding:.75rem;transform:translateY(0)}.topbar-nav.is-auth-nav .nav-section-link{width:100%}.hero-copy{text-align:center;padding:1.75rem 1rem}.hero h1{font-size:clamp(1.9rem,11vw,2.5rem);line-height:1.04}.hero-subtitle{font-size:.96rem;line-height:1.7}.hero-panels{grid-template-columns:1fr}.section-header,.student-hero,.teacher-hero,.admin-hero{text-align:center}.student-profile-card{text-align:center;justify-items:center}.material-actions,.admin-inline-actions,.hero-actions{justify-content:center}.auth-card{border-radius:24px;padding:1.4rem}}.table-wrap{overflow-x:auto}.admin-page{gap:1.5rem;padding-bottom:3rem;display:grid}.admin-hero{gap:.8rem;display:grid}.admin-section{gap:1rem;display:grid}.admin-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.admin-form-grid h4,.admin-inline-filters h4{grid-column:1/-1;margin:0}.admin-form-wide{grid-column:span 2}.admin-inline-filters{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.admin-inline-filters button{height:3.3rem}.admin-subsection-anchor{position:relative;top:-90px}.admin-subsection-title{border-top:1px dashed #ffffff2e;margin-top:.35rem;padding-top:1rem}.admin-toast-stack{top:6.15rem;right:1rem}.admin-page .table-wrap{background:#040a1ec7;border:1px solid #ffffff1f;border-radius:20px;box-shadow:inset 0 1px #ffffff0d}.admin-page table{border-collapse:separate;border-spacing:0;width:100%;color:var(--text);background:0 0}.admin-page th,.admin-page td{text-align:left;vertical-align:middle;border:0;border-bottom:1px solid #ffffff14;padding:.72rem .8rem}.admin-page th{z-index:1;text-transform:uppercase;letter-spacing:.04em;color:#ffffffbd;background:linear-gradient(#1d3b82b8,#14275cb8);font-size:.84rem;position:sticky;top:0}.admin-page tbody tr:nth-child(2n){background:#ffffff08}.admin-page tbody tr:hover{background:#4f8cff14}.admin-btn{letter-spacing:.01em;color:#fff;border:0;border-radius:14px;padding:.72rem 1rem;font-weight:700;transition:transform .16s,box-shadow .16s,filter .16s}.admin-btn:hover,.admin-btn:focus-visible{transform:translateY(-1px)}.admin-btn-save,.admin-btn-save-payment{background:linear-gradient(135deg,#3c8dff 0%,#1f65f0 100%);box-shadow:0 10px 26px #1f65f04d}.admin-btn-save-payment{background:linear-gradient(135deg,#17a1a6 0%,#0f7e9b 100%);box-shadow:0 10px 26px #0f7e9b47}.admin-btn-validate{background:linear-gradient(135deg,#0ea66f 0%,#0b8c62 100%);box-shadow:0 10px 22px #0b8c623d}.admin-btn-authorize{background:linear-gradient(135deg,#5b71f5 0%,#3851d8 100%);box-shadow:0 10px 22px #3851d83d}.admin-btn-consult{background:linear-gradient(135deg,#ec9a28 0%,#cf7f16 100%);box-shadow:0 10px 22px #cf7f163d}.admin-btn-backup{background:linear-gradient(135deg,#7b51d4 0%,#5c39b8 100%);box-shadow:0 10px 22px #5c39b83d}.admin-page select{appearance:none;background-color:#0c173ae6;background-image:linear-gradient(45deg,#0000 50%,#ffffffbf 50%),linear-gradient(135deg,#ffffffbf 50%,#0000 50%);background-position:calc(100% - 18px) calc(1.2em + 1px),calc(100% - 12px) calc(1.2em + 1px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;border:1px solid #5f96ff47;border-radius:16px;padding-right:2.4rem;box-shadow:inset 0 1px #ffffff0f}.admin-page select:hover,.admin-page select:focus-visible{border-color:#5f96ff80;box-shadow:inset 0 0 0 1px #5f96ff38,0 0 0 3px #5f96ff24}.admin-page select option,.admin-page select optgroup{color:#eef4ff;background:#0f1f4f}.admin-page select option:checked{color:#fff;background:#2f6fff}.admin-page input[type=date],.admin-page input[type=datetime-local],.admin-date-input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:linear-gradient(#ffffff17,#ffffff0a);border-color:#5f96ff59}.admin-page input[type=date]::-webkit-calendar-picker-indicator{filter:invert()opacity(.8);cursor:pointer}.admin-page input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert()opacity(.8);cursor:pointer}.student-page{gap:1.5rem;padding-bottom:3rem;display:grid}.card-panel{background:#ffffff0d;border:1px solid #ffffff1f;border-radius:28px;padding:1.75rem;box-shadow:0 24px 70px #060a1a29}.student-hero{gap:1.4rem;display:grid}.student-profile-card{grid-template-columns:auto 1fr;align-items:center;gap:1.25rem;display:grid}.student-avatar{background:linear-gradient(135deg,#5ea2ff47,#184bd62e);border:1px solid #ffffff29;border-radius:26px;place-items:center;width:6.4rem;height:6.4rem;display:grid;overflow:hidden}.student-avatar img{object-fit:cover;width:100%;height:100%}.student-avatar span{font-size:2.2rem;font-weight:800}.student-profile-copy h2{margin:.25rem 0 .4rem;font-size:clamp(2rem,4vw,3rem)}.student-profile-copy p{color:var(--muted);margin:0}.student-eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--brand);margin:0;font-size:.8rem;font-weight:700}.student-meta-grid,.student-summary-grid,.payment-summary-grid,.quick-access-panel,.schedule-dashboard-grid,.info-grid,.student-card-grid{gap:1rem;display:grid}.student-meta-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:1rem}.student-meta-grid div,.summary-card,.info-card,.student-feature-card,.bimestre-card,.student-schedule-card,.integration-banner,.progress-banner{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:22px}.student-meta-grid div{gap:.35rem;padding:1rem;display:grid}.student-meta-grid strong,.summary-card span,.official-schedule-item span,.material-type{color:#ffffffbd;font-size:.88rem}.student-meta-grid span,.summary-card strong,.card-topline strong{color:var(--text)}.student-summary-grid,.payment-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.summary-card{gap:.55rem;padding:1.2rem;display:grid}.summary-card strong{font-size:1.7rem}.summary-card p,.info-card p,.student-feature-card p,.integration-banner p,.official-schedule-item small,.mini-row small,.empty-state,.student-loading{color:var(--muted);margin:0;line-height:1.75}.quick-access-panel{grid-template-columns:repeat(6,minmax(0,1fr))}.quick-link{color:var(--text);text-align:center;background:#4f8cff1f;border:1px solid #4f8cff38;border-radius:18px;padding:1rem 1.1rem;font-weight:700;text-decoration:none}.quick-link:hover,.quick-link:focus-visible{background:#4f8cff33}.schedule-dashboard-grid{grid-template-columns:1.15fr .85fr}.student-schedule-card,.info-card,.student-feature-card,.integration-banner,.progress-banner{padding:1.2rem}.section-heading{gap:.45rem;margin-bottom:1rem;display:grid}.section-heading h3,.subject-block h4,.student-feature-card h5,.info-card h4,.official-schedule-item strong,.progress-banner strong{margin:0}.section-heading-inline{grid-template-columns:1fr auto;align-items:center}.bimestre-stack,.official-schedule-list,.detail-list,.subject-block{gap:.9rem;display:grid}.mini-row{border-top:1px solid #ffffff14;gap:.2rem;padding-top:.8rem;display:grid}.official-schedule-item{background:#ffffff0a;border-radius:18px;gap:.25rem;padding:.95rem 1rem;display:grid}.student-section{gap:1rem;display:grid}.subject-block h4{font-size:1.05rem}.student-card-grid,.info-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.student-feature-card{gap:.95rem;display:grid}.compact-card{gap:.75rem}.card-topline{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.status-pill,.material-type{text-transform:capitalize;border-radius:999px;justify-content:center;align-items:center;padding:.45rem .8rem;font-weight:700;display:inline-flex}.status-pendiente,.status-en_curso{color:#fcd34d;background:#f59e0b29}.status-entregada,.status-cursada,.status-pagado,.status-calificada{color:#86efac;background:#10b98129}.status-fuera_de_tiempo,.status-vencido,.status-reprobado{color:#fca5a5;background:#ef444424}.material-type{color:#bfdbfe;background:#4f8cff24}.detail-list div{gap:.2rem;display:grid}.detail-list strong{color:var(--text)}.detail-list span,.detail-list a,.material-actions a,.student-feature-card a{color:var(--muted);text-decoration:none}.detail-list a:hover,.detail-list a:focus-visible,.material-actions a:hover,.material-actions a:focus-visible,.student-feature-card a:hover,.student-feature-card a:focus-visible{color:var(--text);text-decoration:underline}.delivery-box{border-top:1px solid #ffffff14;gap:.75rem;padding-top:.8rem;display:grid}.delivery-box label{color:var(--muted-strong);gap:.45rem;font-weight:600;display:grid}.delivery-box input{width:100%;color:var(--text);background:#ffffff0a;border:1px solid #ffffff1f;border-radius:16px;padding:.9rem 1rem}.mini-action-button{border:0;border-radius:16px;width:fit-content;min-width:11rem;padding:.85rem 1rem}.integration-banner{gap:.5rem;display:grid}.slim-banner{margin-bottom:.2rem}.material-actions{flex-wrap:wrap;gap:1rem;display:flex}.admin-inline-actions{flex-wrap:wrap;gap:.6rem;display:flex}.admin-filter-row{grid-template-columns:minmax(0,2fr) repeat(2,minmax(180px,.8fr));gap:.9rem;margin-bottom:1rem;display:grid}.admin-filter-chip-bar{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.admin-filter-chip{color:var(--text);cursor:pointer;background:#4f8cff1f;border:1px solid #5f96ff3d;border-radius:999px;padding:.55rem .9rem}.admin-chip-clear{border-radius:999px}.admin-filter-field{color:var(--muted-strong);gap:.45rem;font-weight:600;display:grid}.admin-filter-field-small{min-width:0}.table-wrap input,.table-wrap select{width:100%;min-height:2.5rem;color:var(--text);background:#ffffff0d;border:1px solid #ffffff1f;border-radius:14px;padding:.7rem .85rem}.admin-read-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-banner{gap:.85rem;display:grid}.progress-bar{background:#ffffff14;border-radius:999px;width:100%;height:.9rem;overflow:hidden}.progress-bar span{border-radius:inherit;background:linear-gradient(90deg,#5ea2ff,#184bd6);height:100%;display:block}.student-toast-stack{z-index:40;pointer-events:none;gap:.75rem;width:min(100%,380px);display:grid;position:fixed;top:5.75rem;right:1.25rem}.student-feedback{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto;width:100%;margin:0;box-shadow:0 20px 48px #03071647}.student-loading{width:min(100%,1100px)}.dark-table table{color:var(--text);background:#ffffff0a}.dark-table th,.dark-table td{border-color:#ffffff14}.dark-table th{background:#ffffff14}@media (width<=1100px){.student-meta-grid,.student-summary-grid,.payment-summary-grid,.student-card-grid,.info-grid,.quick-access-panel,.admin-read-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-filter-row{grid-template-columns:1fr}.admin-filter-chip-bar{align-items:stretch}.schedule-dashboard-grid{grid-template-columns:1fr}}.teacher-page{gap:1.5rem;padding-bottom:3rem;display:grid}.teacher-hero{gap:1.25rem;display:grid}.teacher-subtitle{color:var(--muted);margin:0;line-height:1.8}.teacher-summary-grid,.teacher-card-grid{gap:1rem;display:grid}.teacher-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.teacher-section{gap:1rem;display:grid}.teacher-form textarea,.teacher-form select,.teacher-grade-grid textarea,.teacher-grade-grid input{width:100%;color:var(--text);font:inherit;background:#ffffff0d;border:1px solid #ffffff24;border-radius:16px;padding:.95rem 1rem}.teacher-datetime-field{position:relative}.teacher-datetime-input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:linear-gradient(#ffffff14,#ffffff0a);padding-right:3.25rem}.teacher-datetime-input::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:3.25rem;height:calc(100% - 1.9rem);position:absolute;right:0}.teacher-datetime-field:after{content:"";pointer-events:none;background-color:#0000;background-image:linear-gradient(#ffffff1f,#ffffff0d),radial-gradient(circle at 50% 32%,#ffffffe0 .08rem,#0000 .09rem),linear-gradient(#ffffffc7,#ffffffc7);background-position:50%,.28rem .23rem,50% .42rem;background-repeat:no-repeat;background-size:100% 100%,.16rem .16rem,.65rem .12rem;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #ffffff38;border-radius:.35rem;width:1.15rem;height:1.15rem;position:absolute;bottom:.95rem;right:1rem;box-shadow:inset 0 1px #ffffff14}.teacher-datetime-input:hover,.teacher-datetime-input:focus-visible{border-color:#4f8cff61;box-shadow:inset 0 0 0 1px #4f8cff24}.teacher-select-wrap{position:relative}.teacher-select-wrap:after{content:"";pointer-events:none;border-bottom:2px solid #ffffffb8;border-right:2px solid #ffffffb8;width:.65rem;height:.65rem;position:absolute;top:50%;right:1rem;transform:translateY(-70%)rotate(45deg)}.teacher-select-wrap select{appearance:none;cursor:pointer;background:linear-gradient(#ffffff14,#ffffff0a);padding-right:3rem}.teacher-select-wrap select:hover,.teacher-select-wrap select:focus-visible{border-color:#4f8cff61;box-shadow:inset 0 0 0 1px #4f8cff24}.teacher-custom-select{position:relative}.teacher-custom-select-trigger{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:linear-gradient(#ffffff14,#ffffff0a);border:1px solid #ffffff24;border-radius:16px;justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 1rem;display:flex}.teacher-custom-select-trigger:after{content:"";border-bottom:2px solid #ffffffb8;border-right:2px solid #ffffffb8;width:.65rem;height:.65rem;transition:transform .18s;transform:rotate(45deg)}.teacher-custom-select-trigger.open:after{transform:rotate(-135deg)}.teacher-custom-select-trigger:hover,.teacher-custom-select-trigger:focus-visible{border-color:#4f8cff61;box-shadow:inset 0 0 0 1px #4f8cff24}.teacher-custom-select-menu{z-index:25;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#080e23f5;border:1px solid #ffffff1f;border-radius:18px;gap:.35rem;padding:.5rem;display:grid;position:absolute;top:calc(100% + .45rem);left:0;right:0;box-shadow:0 20px 48px #00000042}.teacher-custom-select-option{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:14px;padding:.9rem .95rem}.teacher-custom-select-option:hover,.teacher-custom-select-option:focus-visible,.teacher-custom-select-option.selected{background:#4f8cff29}.teacher-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-action-button,.teacher-secondary-action{letter-spacing:0;color:#fff;border-radius:16px;min-width:12.5rem;padding:.95rem 1.25rem;font-weight:700;transition:transform .18s,box-shadow .18s,border-color .18s,background-color .18s}.teacher-action-button{background:#3f79ff;box-shadow:0 10px 24px #2f6fff2e}.teacher-action-button:hover,.teacher-action-button:focus-visible{background:#316aee;transform:translateY(-1px);box-shadow:0 14px 28px #2f6fff38}.teacher-secondary-action{background:#ffffff12;border-color:#ffffff24;box-shadow:0 8px 18px #080e231f}.teacher-secondary-action:hover,.teacher-secondary-action:focus-visible{background:#ffffff1a;border-color:#fff3;transform:translateY(-1px);box-shadow:0 12px 22px #080e2326}.teacher-card,.teacher-list-item{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:22px;gap:.55rem;padding:1.2rem;display:grid}.teacher-card strong,.teacher-list-item strong{margin:0}.teacher-card span,.teacher-card p,.teacher-list-item p{color:var(--muted);margin:0}.teacher-card a,.teacher-list-item a{color:var(--text);text-decoration:none}.teacher-card a:hover,.teacher-card a:focus-visible,.teacher-list-item a:hover,.teacher-list-item a:focus-visible{text-decoration:underline}.teacher-list{gap:1rem;display:grid}.teacher-evaluation-card{gap:.8rem}.teacher-grade-grid{gap:.8rem;display:grid}.teacher-feedback{margin:0}@media (width<=1020px){.teacher-summary-grid,.teacher-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.teacher-summary-grid,.teacher-card-grid,.student-profile-card,.section-heading-inline,.student-meta-grid,.student-summary-grid,.payment-summary-grid,.student-card-grid,.info-grid,.quick-access-panel{grid-template-columns:1fr}.card-topline{flex-direction:column;align-items:flex-start}.card-panel{padding:1.25rem}.student-toast-stack{width:auto;top:7.5rem;left:1rem;right:1rem}.admin-form-grid,.admin-inline-filters{grid-template-columns:1fr}.admin-form-wide{grid-column:auto}}@media (width<=1020px){.admin-form-grid,.admin-inline-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}table{border-collapse:collapse;background:#fff;width:100%}th,td{border:1px solid var(--border);text-align:left;padding:.55rem}th{background:#eef3fb}@media (width<=700px){main{padding:.75rem}.auth-shell{padding:1rem 0 2rem}.auth-card{border-radius:20px;padding:1.1rem}.viewer-header{text-align:left;grid-template-columns:1fr;align-items:flex-start}.oferta-iframe{border-radius:16px;min-height:65vh}.oferta-mobile-actions{grid-template-columns:1fr}.admin-page th,.admin-page td,th,td{white-space:nowrap;padding:.5rem .55rem;font-size:.86rem}}@media (width<=480px){.hero-copy,.modelo-section,.oferta-section,.schedule-section,.service-section,.plantel-section,.institucional-section,.card-panel{border-radius:18px;padding:1rem}.topbar{padding:.85rem}.topbar nav a,.topbar-nav a,.btn-navbar{font-size:.92rem}.oferta-section{padding:.95rem}.oferta-list{grid-auto-columns:minmax(132px,1fr)}.viewer-header{border-radius:14px;padding:.85rem 1rem}.oferta-mobile-card{border-radius:16px;padding:1rem}}.rdp-root{--rdp-accent-color:blue;--rdp-accent-background-color:#f0f0ff;--rdp-day-height:44px;--rdp-day-width:44px;--rdp-day_button-border-radius:100%;--rdp-day_button-border:2px solid transparent;--rdp-day_button-height:42px;--rdp-day_button-width:42px;--rdp-selected-border:2px solid var(--rdp-accent-color);--rdp-disabled-opacity:.5;--rdp-outside-opacity:.75;--rdp-today-color:var(--rdp-accent-color);--rdp-dropdown-gap:.5rem;--rdp-months-gap:2rem;--rdp-nav_button-disabled-opacity:.5;--rdp-nav_button-height:2.25rem;--rdp-nav_button-width:2.25rem;--rdp-nav-height:2.75rem;--rdp-range_middle-background-color:var(--rdp-accent-background-color);--rdp-range_middle-color:inherit;--rdp-range_start-color:white;--rdp-range_start-background:linear-gradient(var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50%);--rdp-range_start-date-background-color:var(--rdp-accent-color);--rdp-range_end-background:linear-gradient(var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50%);--rdp-range_end-color:white;--rdp-range_end-date-background-color:var(--rdp-accent-color);--rdp-week_number-border-radius:100%;--rdp-week_number-border:2px solid transparent;--rdp-week_number-height:var(--rdp-day-height);--rdp-week_number-opacity:.75;--rdp-week_number-width:var(--rdp-day-width);--rdp-weeknumber-text-align:center;--rdp-weekday-opacity:.75;--rdp-weekday-padding:.5rem 0rem;--rdp-weekday-text-align:center;--rdp-gradient-direction:90deg;--rdp-animation_duration:.3s;--rdp-animation_timing:cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction:-90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity:unset}.rdp-root{box-sizing:border-box;position:relative}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{cursor:pointer;font:inherit;color:inherit;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius);background:0 0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;white-space:nowrap;border:0;align-items:center;display:inline-flex;position:relative}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{cursor:pointer;font:inherit;color:inherit;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:relative}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{fill:var(--rdp-accent-color);display:inline-block}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform-origin:50%;transform:rotate(180deg)}.rdp-dropdowns{align-items:center;gap:var(--rdp-dropdown-gap);display:inline-flex;position:relative}.rdp-dropdown{z-index:2;opacity:0;appearance:none;width:100%;cursor:inherit;line-height:inherit;border:none;margin:0;padding:0;position:absolute;inset-block:0;inset-inline-start:0}.rdp-dropdown_root{align-items:center;display:inline-flex;position:relative}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{height:var(--rdp-nav-height);align-content:center;font-size:large;font-weight:700;display:flex}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{inset-inline-start:0;height:var(--rdp-nav-height);display:inline-flex;position:absolute;top:0}.rdp-root[data-nav-layout=around] .rdp-button_next{inset-inline-end:0;height:var(--rdp-nav-height);justify-content:center;display:inline-flex;position:absolute;top:0}.rdp-months{gap:var(--rdp-months-gap);flex-wrap:wrap;max-width:fit-content;display:flex;position:relative}.rdp-month_grid{border-collapse:collapse}.rdp-nav{height:var(--rdp-nav-height);align-items:center;display:flex;position:absolute;inset-block-start:0;inset-inline-end:0}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform);font-size:smaller;font-weight:500}.rdp-week_number{opacity:var(--rdp-week_number-opacity);height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align);font-size:small;font-weight:400}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-size:large;font-weight:700}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}
