@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}: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}.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{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.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{background:var(--brand);color:#fff;border-radius:999px;justify-content:center;align-items:center;padding:.85rem 1.25rem;font-weight:700;display:inline-flex}.btn-navbar:hover,.btn-navbar:focus-visible{background:var(--brand-strong)}.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-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}.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,.form-grid select{width:100%;color:var(--text);font:inherit;background:#ffffff0d;border:1px solid #ffffff24;border-radius:18px;padding:.95rem 1rem}.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{background:var(--brand);color:#fff;box-shadow:0 24px 60px #4f8cff2e}.btn-primary:hover,.btn-primary:focus-visible{background:var(--brand-strong);transform:translateY(-1px)}.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}.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-gallery.showcase{grid-template-columns:1fr;gap:1rem;display:grid}.campus-main-image{background:#ffffff0f;border:1px solid #ffffff24;border-radius:28px;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;margin-top:.9rem;padding:1rem 1.2rem;font-size:1rem}.campus-thumbnails{grid-template-columns:repeat(3,minmax(0,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-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.campus-gallery{grid-template-columns:1fr}}.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}@media (width<=1040px){.schedule-grid,.service-grid,.plantel-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}}@media (width<=760px){.schedule-grid,.service-grid,.plantel-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,.oferta-grid{grid-template-columns:1fr}}.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}.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{gap:1rem}main{padding:1rem}.hero-panels{grid-template-columns:1fr 1fr}}@media (width<=700px){.topbar{flex-direction:column;align-items:stretch;gap:1rem}.topbar nav{justify-content:center}.hero-page{padding-top:1.5rem}.hero-copy{padding:1.75rem 1rem}.hero-panels{grid-template-columns:1fr}.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}
