.boton_acceso{width:100%;min-height:56px;display:flex;justify-content:center;align-items:center;padding:14px 24px;margin-bottom:12px;color:#fff;background-color:#a82727;border:none;border-radius:10px;font-size:16px;font-weight:700;text-align:center;text-decoration:none;box-shadow:0 4px 12px #dc262666;transition:all .2s ease-in-out}.boton_acceso:hover{background-color:#a82727;transform:translateY(-2px);box-shadow:0 6px 16px #b91c1c80}.boton_acceso:active{transform:translateY(0)}.home-page{width:100%;min-height:100vh;min-height:100svh;display:flex;justify-content:center;align-items:center;padding:32px 20px;background-position:center;background-repeat:no-repeat;background-size:cover}.home-card{width:100%;max-width:570px;padding:42px;background-color:#fffffff7;border:1px solid rgba(255,255,255,.7);border-radius:20px;text-align:center;box-shadow:0 18px 50px #00000059;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.home-card__logo{display:block;width:180px;max-width:60%;height:auto;margin:0 auto 24px}.home-card__title{margin:0;color:#292929;font-size:clamp(26px,4vw,34px);font-weight:750;line-height:1.2}.home-card__divider{width:70px;height:4px;margin:20px auto;background-color:#a81616;border-radius:999px}.home-card__description{margin:0 0 30px;color:#555;font-size:17px;line-height:1.5}.home-card__buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}@media (max-width: 600px){.home-page{padding:20px 16px}.home-card{padding:32px 22px;border-radius:16px}.home-card__logo{width:150px}.home-card__buttons{grid-template-columns:1fr;gap:14px}}.login-page{min-height:100vh;width:100%;display:flex;justify-content:center;align-items:center;background-size:cover;background-position:center;background-repeat:no-repeat;padding:20px}.login-card{background:#fff;border-radius:16px;padding:32px 28px;width:100%;max-width:380px;box-shadow:0 10px 25px #0000004d;display:flex;flex-direction:column;align-items:center;text-align:center}.login-card__logo{width:100px;height:auto;margin-bottom:16px}.login-card__title{font-size:20px;font-weight:700;color:#1a1a1a;margin:0 0 4px}.login-card__subtitle{font-size:13px;color:#666;margin:0 0 24px}.login-form{width:100%;display:flex;flex-direction:column;gap:16px;text-align:left}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:12px;font-weight:600;color:#333}.input-container{position:relative;display:flex;align-items:center}.form-input{width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s}.form-input:focus{border-color:#8b151b}.toggle-password{position:absolute;right:12px;background:none;border:none;cursor:pointer;color:#666;padding:0;display:flex;align-items:center}.remember-group{display:flex;align-items:center;gap:8px;font-size:12px;color:#555}.btn-submit{width:100%;padding:12px;background-color:#8b151b;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:background-color .2s,transform .1s;margin-top:8px}.btn-submit:hover{background-color:#6f1015}.forgot-link{display:block;text-align:center;font-size:12px;color:#555;text-decoration:none;margin-top:12px}.back-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin-top:20px;font-size:13px;font-weight:600;color:#8b151b;text-decoration:none}.back-link:hover{text-decoration:underline}.apoderado-page{min-height:100vh;width:100%;box-sizing:border-box;padding:0 0 50px;background-size:cover;background-position:center;background-attachment:fixed}.apoderado-page:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:#ffffffbd;z-index:0;pointer-events:none}.apoderado-card{position:relative;z-index:1;width:100%;min-height:100vh;box-sizing:border-box}.apoderado-header{position:relative;z-index:2;width:100%;min-height:315px;box-sizing:border-box;padding:35px 30px 30px;background:#fffffff7;box-shadow:0 2px 12px #0000001f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}.apoderado-header__logo{width:115px;height:115px;object-fit:contain;display:block;flex-shrink:0}.apoderado-header__title{width:100%;margin:4px 0 0;padding:0;color:#17365d;font-size:46px;font-weight:700;line-height:1.15;text-align:center}.apoderado-header__divider{width:85px;height:3px;margin:4px auto;background:#800020;border-radius:3px}.apoderado-header>p{width:100%;max-width:100%;margin:0!important;padding:0;color:#555!important;font-size:17px!important;line-height:1.5;text-align:center;white-space:normal!important;overflow-wrap:anywhere}.apoderado-card>div{box-sizing:border-box}.apoderado-card>div>p{width:min(1350px,calc(100% - 80px));margin-left:auto!important;margin-right:auto!important;box-sizing:border-box}.alumnos-grid{position:relative;z-index:2;width:min(1350px,calc(100% - 80px));margin:30px auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.alumno-card{background:#fffffff7;border:1px solid #e1e1e1;border-radius:14px;padding:22px;box-sizing:border-box;cursor:pointer;box-shadow:0 5px 20px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.alumno-card:hover{transform:translateY(-3px);box-shadow:0 9px 28px #00000029}.alumno-card__nombre{margin:0 0 14px;color:#1f1f1f;font-size:20px;font-weight:700}.alumno-card__info{margin:7px 0;color:#555;font-size:14px}.alumno-card__info strong{color:#222}.btn-back-link{display:block;position:relative;z-index:2;width:min(1350px,calc(100% - 80px));margin:28px auto 18px;padding:0;border:0;background:transparent;color:#800020;font-size:15px;font-weight:700;text-align:left;cursor:pointer}.btn-back-link:hover{text-decoration:underline}.apoderado-card h2{position:relative;z-index:2;width:min(1350px,calc(100% - 80px));margin:0 auto 16px!important;padding:0;box-sizing:border-box;color:#222!important;font-size:32px;line-height:1.25;text-align:left}.apoderado-card h2 small{color:#666!important;font-size:24px}.alumno-resumen{position:relative;z-index:2;width:min(1350px,calc(100% - 80px));margin:0 auto 20px;padding:0;box-sizing:border-box;display:flex;gap:20px;flex-wrap:wrap;color:#555}.alert-repitencia{position:relative;z-index:2;width:min(1350px,calc(100% - 80px));margin:18px auto;padding:14px 18px;box-sizing:border-box;border-radius:10px;background:#fff4f4;border:1px solid #e2b8b8;color:#7a1f1f;font-size:14px;line-height:1.5}.tabs-navigation{position:relative;z-index:2;width:min(1350px,calc(100% - 80px));margin:22px auto 0;display:flex;gap:3px;overflow-x:auto;background:#fffffffa;border:1px solid #e1e1e1;border-bottom:0;border-radius:12px 12px 0 0;scrollbar-width:thin}.tab-btn{flex-shrink:0;border:0;background:transparent;color:#555;padding:16px 18px;cursor:pointer;white-space:nowrap;font-size:13px;font-weight:600;border-bottom:3px solid transparent}.tab-btn:hover{color:#800020;background:#fafafa}.tab-btn.active{color:#800020;border-bottom-color:#800020}.tab-content{position:relative;z-index:2;width:min(1350px,calc(100% - 80px));min-height:380px;margin:0 auto;padding:30px;box-sizing:border-box;background:#fffffffa;border:1px solid #e1e1e1;border-top:0;border-radius:0 0 14px 14px;box-shadow:0 5px 25px #00000014}.tab-content h3{margin:0 0 18px;color:#333;font-size:20px}.tab-content p{color:#666;line-height:1.55}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:12px 14px;border-bottom:1px solid #e5e5e5;text-align:left;font-size:13px}.data-table th{background:#f7f7f7;color:#333;font-weight:700}.data-table td{color:#444}.asistencia-resumen{font-size:15px;margin-bottom:15px}.form-justificativo{width:100%;max-width:850px}.form-group{margin-bottom:18px}.form-group label{display:block;margin-bottom:7px;color:#333;font-size:13px;font-weight:700}.form-input{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #ccc;border-radius:8px;background:#fff;color:#333;font-family:inherit;font-size:14px}.form-input:focus{outline:none;border-color:#800020;box-shadow:0 0 0 2px #8000201a}textarea.form-input{resize:vertical}.btn-action{border:0;border-radius:8px;padding:11px 18px;background:#800020;color:#fff;cursor:pointer;font-weight:700;font-size:13px}.btn-action:hover{background:#650019}.btn-action:disabled{opacity:.55;cursor:not-allowed}.qr-container{width:100%;max-width:900px;margin:0 auto}.qr-code-box{display:flex;align-items:center;justify-content:center;width:280px;min-height:280px;margin:25px auto;padding:15px;box-sizing:border-box;background:#fff;border:1px solid #d5d5d5;border-radius:12px;box-shadow:0 4px 18px #00000014}.qr-generado{margin-top:30px;padding-top:20px;border-top:1px solid #e5e5e5;text-align:center}.qr-generado p{margin:8px 0;text-align:center}.qr-expiracion{color:#800020!important}.qr-ayuda{max-width:650px;margin:15px auto 0;font-size:12px}.empty-box{padding:30px;background:#f8f8f8;border:1px dashed #ccc;border-radius:10px;color:#666;text-align:center}.acciones-certificados{display:flex;gap:12px;flex-wrap:wrap}.comunicacion-item{padding:12px 0;border-bottom:1px solid #e5e7eb}.comunicacion-item h4{margin:0 0 4px;color:#8b151b}.comunicacion-item small{color:#666}.comunicacion-item p{margin:8px 0 0;color:#374151}@media (max-width: 900px){.apoderado-header{min-height:270px;padding:30px 20px}.apoderado-header__logo{width:95px;height:95px}.apoderado-header__title{font-size:35px}.alumnos-grid,.btn-back-link,.apoderado-card h2,.alumno-resumen,.alert-repitencia,.tabs-navigation,.tab-content,.apoderado-card>div>p{width:calc(100% - 30px)}.tab-content{padding:22px}}@media (max-width: 600px){.apoderado-header{min-height:235px;padding:25px 15px}.apoderado-header__logo{width:80px;height:80px}.apoderado-header__title{font-size:28px}.apoderado-header>p{font-size:14px!important}.alumnos-grid{grid-template-columns:1fr}.apoderado-card h2{font-size:24px}.apoderado-card h2 small{font-size:18px}.alumno-resumen{flex-direction:column;gap:8px}.tab-content{padding:18px}.data-table{display:block;overflow-x:auto}.qr-code-box{width:260px;min-height:260px}}.asignatura-apoderado-btn{background:none;border:none;padding:0;margin:0;color:#800020;font:inherit;font-weight:700;cursor:pointer;text-align:left}.asignatura-apoderado-btn:hover{text-decoration:underline}:root{--director-red: #80001c;--director-red-dark: #5f0015;--director-red-light: #a31332;--director-red-soft: #fff0f3;--director-white: #ffffff;--director-bg: #f5f6f8;--director-surface: #ffffff;--director-text: #25252b;--director-muted: #777985;--director-border: #e7e7eb;--director-green: #197548;--director-green-bg: #e8f7ee;--director-yellow: #946200;--director-yellow-bg: #fff5d8;--director-blue: #2459a9;--director-blue-bg: #eaf2ff;--director-purple: #7042a5;--director-purple-bg: #f2eaff;--director-orange: #a85412;--director-orange-bg: #fff0e3;--director-shadow: 0 8px 24px rgba(37, 20, 25, .06);--director-radius: 16px}.director-layout{display:flex;min-height:100vh;width:100%;background:var(--director-bg);color:var(--director-text);font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;font-size:14px}.director-layout button,.director-layout input,.director-layout select,.director-layout textarea{font:inherit}.director-layout button{cursor:pointer;transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.director-layout button:disabled{opacity:.6;cursor:not-allowed}.director-sidebar{position:sticky;top:0;display:flex;flex:0 0 258px;flex-direction:column;width:258px;height:100vh;padding:24px 15px 18px;overflow-y:auto;color:var(--director-white);background:linear-gradient(180deg,var(--director-red) 0%,var(--director-red-dark) 100%);box-shadow:4px 0 20px #46001217;z-index:20}.director-brand{display:flex;align-items:center;gap:12px;padding:0 7px 25px;border-bottom:1px solid rgba(255,255,255,.17)}.director-brand-symbol{display:grid;place-items:center;flex:0 0 47px;width:47px;height:47px;border:1px solid rgba(255,255,255,.55);border-radius:13px;background:#ffffff21;color:#fff;font-size:15px;font-weight:900;letter-spacing:.5px}.director-brand strong,.director-brand span{display:block}.director-brand strong{font-size:14px;line-height:1.35}.director-brand span{margin-top:4px;color:#ffffffb8;font-size:12px}.director-menu-title{margin:25px 10px 10px;color:#ffffff94;font-size:10px;font-weight:800;letter-spacing:1.5px}.director-menu{display:flex;flex-direction:column;gap:5px}.director-menu-item{display:flex;align-items:center;gap:12px;width:100%;min-height:45px;padding:11px 13px;border:1px solid transparent;border-radius:10px;background:transparent;color:#ffffffd6;text-align:left;font-size:13px;font-weight:600}.director-menu-item:hover{background:#ffffff1c;color:#fff}.director-menu-item.active{border-color:#ffffff2e;background:#fff;color:var(--director-red);box-shadow:0 5px 14px #1e000821}.menu-icon{display:inline-grid;place-items:center;width:24px;min-width:24px;font-size:17px}.director-sidebar-bottom{display:flex;flex-direction:column;gap:15px;margin-top:auto;padding-top:25px}.director-year{display:flex;align-items:center;justify-content:space-between;padding:13px;border:1px solid rgba(255,255,255,.15);border-radius:11px;background:#ffffff14}.director-year span{color:#ffffffbf;font-size:12px}.director-year strong{color:#fff;font-size:16px}.director-logout{width:100%;padding:12px;border:1px solid rgba(255,255,255,.3);border-radius:10px;background:transparent;color:#fff;font-weight:700}.director-logout:hover{background:#fff;color:var(--director-red)}.director-main{flex:1;min-width:0;padding:0 30px 35px}.director-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:104px;margin-bottom:25px;border-bottom:1px solid var(--director-border)}.director-breadcrumb{margin-bottom:7px;color:var(--director-muted);font-size:12px}.director-topbar h1{margin:0;color:var(--director-red);font-size:clamp(23px,2.2vw,29px);font-weight:800;letter-spacing:-.6px}.director-user{display:flex;align-items:center;gap:11px;padding:8px 12px;border:1px solid var(--director-border);border-radius:13px;background:#fff}.director-user-avatar{display:grid;place-items:center;width:41px;height:41px;border-radius:50%;background:var(--director-red-soft);color:var(--director-red);font-size:17px;font-weight:800}.director-user strong,.director-user span{display:block}.director-user strong{max-width:180px;overflow:hidden;color:var(--director-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px}.director-user span{margin-top:4px;color:var(--director-muted);font-size:11px}.director-content,.director-content section{min-width:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.section-heading h2{margin:0 0 6px;color:#2a2528;font-size:21px;font-weight:800}.section-heading p{margin:0;color:var(--director-muted);font-size:13px;line-height:1.5}.btn-primary,.btn-secondary,.btn-small,.btn-card{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:9px;font-weight:700}.btn-primary{min-height:41px;padding:10px 16px;border:1px solid var(--director-red);background:var(--director-red);color:#fff;box-shadow:0 3px 8px #80001c1f}.btn-primary:hover{border-color:var(--director-red-dark);background:var(--director-red-dark);box-shadow:0 5px 13px #80001c33;transform:translateY(-1px)}.btn-secondary{min-height:40px;padding:9px 15px;border:1px solid var(--director-border);background:#fff;color:#44444b}.btn-secondary:hover{border-color:#c8c8ce;background:#f7f7f9}.btn-small{min-height:31px;padding:6px 10px;border:1px solid transparent;font-size:11px;white-space:nowrap}.btn-small.primary{border-color:#e6b7c2;background:var(--director-red-soft);color:var(--director-red)}.btn-small.primary:hover{border-color:var(--director-red);background:#ffe2e9}.btn-small.danger{border-color:#f0c4cc;background:#fff0f2;color:#a20e2b}.btn-small.danger:hover{border-color:#d93853;background:#ffe1e6}.btn-small.success{border-color:#b8e3c9;background:var(--director-green-bg);color:var(--director-green)}.btn-small.success:hover{background:#d5f1e0}.btn-card{width:100%;min-height:38px;margin-top:17px;padding:9px 13px;border:1px solid #e5bdc7;background:#fff;color:var(--director-red)}.btn-card:hover{border-color:var(--director-red);background:var(--director-red);color:#fff}.toolbar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}.search-input,.filter-select,.director-layout input:not([type=checkbox]),.director-layout select,.director-layout textarea{min-height:42px;border:1px solid #dedee4;border-radius:9px;outline:none;background:#fff;color:var(--director-text);transition:border-color .18s ease,box-shadow .18s ease}.search-input{width:min(100%,470px);padding:10px 14px}.filter-select{min-width:190px;padding:9px 35px 9px 12px}.director-layout input:focus,.director-layout select:focus,.director-layout textarea:focus{border-color:var(--director-red-light);box-shadow:0 0 0 3px #80001c17}.director-layout input::placeholder,.director-layout textarea::placeholder{color:#a0a0a8}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:23px}.summary-card{position:relative;display:flex;align-items:center;gap:14px;min-width:0;min-height:112px;padding:20px 17px;overflow:hidden;border:1px solid var(--director-border);border-radius:var(--director-radius);background:#fff;box-shadow:var(--director-shadow)}.summary-card:after{position:absolute;top:0;left:0;width:4px;height:100%;background:var(--director-red);content:""}.summary-icon{display:grid;place-items:center;flex:0 0 47px;width:47px;height:47px;border-radius:13px;background:var(--director-red-soft);font-size:23px}.summary-card>div:last-child{min-width:0}.summary-card span,.summary-card strong{display:block}.summary-card span{margin-bottom:7px;color:var(--director-muted);font-size:12px;line-height:1.35}.summary-card strong{color:#292329;font-size:clamp(20px,2vw,27px);font-weight:800;overflow-wrap:anywhere}.summary-card.blue .summary-icon{background:var(--director-blue-bg)}.summary-card.green .summary-icon{background:var(--director-green-bg)}.summary-card.purple .summary-icon{background:var(--director-purple-bg)}.summary-card.orange .summary-icon{background:var(--director-orange-bg)}.summary-card.yellow .summary-icon{background:var(--director-yellow-bg)}.summary-card.red .summary-icon,.summary-card.danger .summary-icon{background:var(--director-red-soft)}.summary-card.success .summary-icon{background:var(--director-green-bg)}.summary-card.warning .summary-icon{background:var(--director-yellow-bg)}.summary-card.neutral .summary-icon{background:#f0f0f3}.director-card{min-width:0;border:1px solid var(--director-border);border-radius:var(--director-radius);background:var(--director-surface);box-shadow:var(--director-shadow)}.dashboard-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.dashboard-columns>.director-card{padding:22px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.card-heading h3{margin:0 0 5px;color:#30282c;font-size:16px;font-weight:800}.card-heading span{color:var(--director-muted);font-size:12px}.large-stat,.academic-highlight{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:19px;border-radius:13px;background:var(--director-red-soft)}.large-stat strong,.academic-highlight strong{color:var(--director-red);font-size:35px;font-weight:900;letter-spacing:-1px}.large-stat span,.academic-highlight span{color:#76545d;font-size:12px}.mini-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.mini-stat-grid>div{padding:13px 10px;border:1px solid var(--director-border);border-radius:11px;text-align:center}.mini-stat-grid strong,.mini-stat-grid span{display:block}.mini-stat-grid strong{margin-bottom:5px;color:var(--director-red);font-size:20px}.mini-stat-grid span{color:var(--director-muted);font-size:11px}.dashboard-list{display:flex;flex-direction:column;gap:0;margin-top:13px}.dashboard-list>div{display:flex;justify-content:space-between;gap:12px;padding:13px 2px;border-bottom:1px solid #f0f0f2}.dashboard-list>div:last-child{border-bottom:0}.dashboard-list span{color:var(--director-muted);font-size:12px}.dashboard-list strong{color:var(--director-red);font-size:13px}.table-card{overflow:hidden}.table-wrapper,.detail-table-wrapper{width:100%;overflow-x:auto;overscroll-behavior-x:contain}.director-table,.detail-table{width:100%;border-collapse:separate;border-spacing:0;text-align:left}.director-table{min-width:780px}.director-table thead th,.detail-table thead th{padding:14px 15px;border-bottom:1px solid #ead7dc;background:#fff5f7;color:var(--director-red);font-size:10px;font-weight:800;letter-spacing:.55px;text-transform:uppercase;white-space:nowrap}.director-table tbody td,.detail-table tbody td{padding:14px 15px;border-bottom:1px solid #f0f0f3;color:#55545c;font-size:12px;vertical-align:middle}.director-table tbody tr:last-child td,.detail-table tbody tr:last-child td{border-bottom:0}.director-table tbody tr,.detail-table tbody tr{background:#fff;transition:background .15s ease}.director-table tbody tr:hover,.detail-table tbody tr:hover{background:#fffafb}.director-table td strong{color:#333038;font-weight:700}.director-table td small{display:block;margin-top:4px;color:var(--director-muted)}.action-buttons{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.status{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border:1px solid transparent;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.2px;white-space:nowrap}.status.active{border-color:#c6e8d2;background:var(--director-green-bg);color:#176c40}.status.inactive{border-color:#efc7ce;background:#fff0f2;color:#a20e2b}.status.neutral{border-color:#e4e4e9;background:#f4f4f7;color:#656570}.badge-chief,.badge-note{display:inline-flex;align-items:center;padding:5px 9px;border-radius:7px;background:var(--director-red-soft);color:var(--director-red);font-size:10px;font-weight:800;white-space:nowrap}.badge-note{background:#f2eaff;color:#7042a5}.muted{color:#9999a2}.empty-state,.empty-detail{padding:30px 18px;color:var(--director-muted);text-align:center;font-size:13px}.description-cell{min-width:200px;max-width:360px;line-height:1.5;overflow-wrap:anywhere}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.course-card{display:flex;flex-direction:column;min-width:0;padding:19px;border:1px solid var(--director-border);border-radius:var(--director-radius);background:#fff;box-shadow:var(--director-shadow);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.course-card:hover{border-color:#dfb2bd;box-shadow:0 12px 28px #50001417;transform:translateY(-2px)}.course-card-top{display:flex;flex-direction:column;gap:8px;padding-bottom:16px;border-bottom:1px solid #f0e8eb}.course-card-top span{align-self:flex-start;padding:5px 8px;border-radius:6px;background:var(--director-red-soft);color:var(--director-red);font-size:10px;font-weight:800}.course-card-top strong{color:#30272b;font-size:19px;font-weight:800}.course-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:17px 0}.course-info>div span,.course-info>div strong{display:block}.course-info>div span,.homeroom span{margin-bottom:5px;color:var(--director-muted);font-size:11px}.course-info>div strong{color:#30272b;font-size:15px;overflow-wrap:anywhere}.homeroom{display:flex;flex-direction:column;gap:5px;padding:12px;border-radius:9px;background:#faf7f8}.homeroom strong{color:var(--director-red);font-size:12px;line-height:1.45}.attendance-card{min-width:0;padding:19px;border:1px solid var(--director-border);border-radius:var(--director-radius);background:#fff;box-shadow:var(--director-shadow)}.attendance-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.attendance-title strong{color:#30272b;font-size:16px}.attendance-title span{color:var(--director-red);font-size:21px;font-weight:900}.progress{width:100%;height:8px;margin:16px 0;overflow:hidden;border-radius:999px;background:#f0e8eb}.progress>div{height:100%;border-radius:inherit;background:var(--director-red);transition:width .3s ease}.attendance-card.success .progress>div{background:#238351}.attendance-card.warning .progress>div{background:#d69b16}.attendance-card.danger .progress>div{background:#c62b47}.attendance-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.attendance-stats>div{padding:10px 5px;border-radius:8px;background:#faf7f8;text-align:center}.attendance-stats span,.attendance-stats strong{display:block}.attendance-stats span{margin-bottom:5px;color:var(--director-muted);font-size:10px}.attendance-stats strong{color:#30272b;font-size:17px}.grade{display:inline-flex;align-items:center;justify-content:center;min-width:43px;padding:5px 8px;border-radius:7px;font-size:12px;font-weight:800}.grade.success{background:var(--director-green-bg);color:#176c40}.grade.warning{background:var(--director-yellow-bg);color:#8c5b00}.grade.danger{background:#fff0f2;color:#a20e2b}.grade.neutral{background:#f0f0f3;color:#686873}.director-alert{margin:0 0 20px;padding:14px 16px;border:1px solid;border-radius:10px;font-size:13px;line-height:1.5}.director-alert.error{border-color:#efc0c9;background:#fff0f2;color:#9b1530}.director-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:320px;color:var(--director-muted);text-align:center}.loading-spinner{width:39px;height:39px;border:4px solid #f0dbe0;border-top-color:var(--director-red);border-radius:50%;animation:director-spin .8s linear infinite}.director-loading p{margin-top:15px;font-size:13px}@keyframes director-spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;overflow-y:auto;background:#1d0a1091;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.director-modal{display:flex;flex-direction:column;width:min(100%,900px);max-height:calc(100vh - 48px);overflow:hidden;border:1px solid rgba(255,255,255,.7);border-radius:18px;background:#fff;box-shadow:0 24px 80px #14000640;animation:director-modal-in .18s ease-out}@keyframes director-modal-in{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;border-bottom:1px solid #f0e3e7;background:linear-gradient(120deg,#fff,#fff6f8)}.modal-header span{color:var(--director-muted);font-size:11px}.modal-header h2{margin:5px 0 0;color:var(--director-red);font-size:21px;font-weight:800}.modal-close{display:grid;place-items:center;flex:0 0 37px;width:37px;height:37px;border:1px solid #ead5db;border-radius:10px;background:#fff;color:var(--director-red);font-size:25px;line-height:1}.modal-close:hover{background:var(--director-red);color:#fff}.modal-body{padding:23px 24px 26px;overflow-y:auto}.modal-form{display:flex;flex-direction:column;gap:19px}.form-section-title{padding-bottom:10px;border-bottom:1px solid #f0e5e8;color:var(--director-red);font-size:13px;font-weight:800}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid label{display:flex;flex-direction:column;gap:7px;min-width:0;color:#4b4246;font-size:12px;font-weight:700}.form-grid label input,.form-grid label select{width:100%;min-width:0;padding:10px 12px;font-weight:400}.form-grid .form-full{grid-column:1 / -1}.form-grid .checkbox-label{display:flex;flex-direction:row;align-items:center;gap:10px;padding:13px;border:1px solid #efdde2;border-radius:10px;background:#fff8fa;line-height:1.5}.checkbox-label input[type=checkbox]{width:17px;height:17px;accent-color:var(--director-red)}.checkbox-label span{color:#59484e}.modal-info{display:flex;gap:8px;padding:13px 14px;border:1px solid #efdde2;border-radius:10px;background:#fff8fa;color:#6a555c;font-size:12px;line-height:1.6}.modal-info strong{flex-shrink:0;color:var(--director-red)}.modal-info code{margin:0 3px;color:var(--director-red)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:7px;border-top:1px solid #f0e5e8}.detail-content{display:flex;flex-direction:column;gap:22px}.profile-header{display:flex;align-items:center;gap:14px;min-width:0;padding:17px;border:1px solid #f0dce2;border-radius:13px;background:linear-gradient(120deg,#fff6f8,#fff)}.profile-avatar{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border-radius:15px;background:var(--director-red);color:#fff;font-size:22px;font-weight:900}.profile-avatar.teacher{background:#fff;border:1px solid #e7bac5;color:var(--director-red)}.profile-avatar.course{background:#fff;border:1px solid #e7bac5;font-size:25px}.profile-header>div:nth-child(2){flex:1;min-width:0}.profile-header h3{margin:0 0 6px;color:#30272b;font-size:18px;font-weight:800;overflow-wrap:anywhere}.profile-header span{color:var(--director-muted);font-size:12px}.profile-action{flex-shrink:0}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.detail-item{display:flex;flex-direction:column;gap:7px;min-width:0;padding:13px 14px;border:1px solid #ececf0;border-radius:10px;background:#fff}.detail-item span{color:var(--director-muted);font-size:11px}.detail-item strong{color:#373139;font-size:12px;font-weight:700;overflow-wrap:anywhere}.detail-section{min-width:0}.detail-section h4{margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid #eedfe3;color:var(--director-red);font-size:14px;font-weight:800}.detail-table{min-width:520px;border:1px solid #f0edf0;border-radius:9px;overflow:hidden}.related-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 2px;border-bottom:1px solid #f0edf0}.related-row:last-child{border-bottom:0}.related-row>div{display:flex;flex-direction:column;gap:5px;min-width:0}.related-row strong{color:#373139;font-size:12px}.related-row span{color:var(--director-muted);font-size:11px;overflow-wrap:anywhere}.annotation-item{margin-bottom:10px;padding:14px;border:1px solid #eee6e9;border-left:3px solid var(--director-red);border-radius:9px;background:#fff}.annotation-header{display:flex;justify-content:space-between;gap:12px}.annotation-header strong{color:#373139;font-size:12px}.annotation-header span,.annotation-item small{color:var(--director-muted);font-size:11px}.annotation-item p{margin:10px 0;color:#5f5960;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.director-sidebar::-webkit-scrollbar,.table-wrapper::-webkit-scrollbar,.detail-table-wrapper::-webkit-scrollbar,.modal-body::-webkit-scrollbar{width:7px;height:7px}.director-sidebar::-webkit-scrollbar-thumb{border-radius:10px;background:#ffffff40}.table-wrapper::-webkit-scrollbar-thumb,.detail-table-wrapper::-webkit-scrollbar-thumb,.modal-body::-webkit-scrollbar-thumb{border-radius:10px;background:#d9cbd0}@media (max-width: 1250px){.director-sidebar{flex-basis:225px;width:225px}.director-main{padding-right:22px;padding-left:22px}.summary-grid,.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.director-layout{display:block}.director-sidebar{position:relative;width:100%;height:auto;max-height:none;padding:14px}.director-brand{padding-bottom:13px}.director-menu-title{margin-top:15px}.director-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.director-menu-item{justify-content:flex-start;min-height:42px;padding:9px;font-size:11px}.director-sidebar-bottom{flex-direction:row;align-items:center;margin-top:14px;padding-top:12px}.director-year{flex:1;padding:10px}.director-logout{width:auto;min-height:42px;padding:10px 14px}.director-main{padding:0 18px 28px}.director-topbar{min-height:86px}.dashboard-columns{grid-template-columns:1fr}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.director-main{padding-right:12px;padding-left:12px}.director-topbar{align-items:flex-start;flex-direction:column;gap:12px;padding:18px 0}.director-user{width:100%}.section-heading{align-items:flex-start;flex-direction:column}.section-heading>button,.section-heading>.filter-select{width:100%}.summary-grid,.course-grid{grid-template-columns:1fr}.summary-card{min-height:94px}.director-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.director-menu-item{gap:7px}.director-sidebar-bottom{align-items:stretch;flex-direction:column}.director-logout{width:100%}.mini-stat-grid{gap:6px}.mini-stat-grid>div{padding:11px 5px}.toolbar,.search-input,.filter-select{width:100%}.modal-overlay{align-items:flex-start;padding:10px}.director-modal{max-height:calc(100vh - 20px);border-radius:13px}.modal-header{padding:16px}.modal-header h2{font-size:18px}.modal-body{padding:16px}.form-grid,.detail-grid{grid-template-columns:1fr}.form-grid .form-full{grid-column:auto}.profile-header{align-items:flex-start;flex-wrap:wrap;padding:13px}.profile-action{width:100%}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}.related-row{align-items:flex-start;flex-direction:column;gap:8px}.annotation-header{flex-direction:column;gap:5px}}@media (prefers-reduced-motion: reduce){.director-layout *,.director-layout *:before,.director-layout *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}*{box-sizing:border-box;margin:0;padding:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.dashboard-container{min-height:100vh;background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;background-blend-mode:overlay;background-color:#ffffffe6;display:flex;flex-direction:column}.dashboard-header{background-color:#6b0014;color:#fff;padding:15px 30px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 12px #00000026;border-bottom:3px solid #4a000e}.logo-header{height:55px;width:auto;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.header-title{text-align:center;flex:1}.header-title h1{font-size:1.4rem;font-weight:600}.header-title span{font-size:.85rem;opacity:.85}.user-info{display:flex;align-items:center;gap:15px;font-size:.95rem}.btn-logout{background-color:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.7);padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:600;transition:all .3s ease}.btn-logout:hover{background-color:#fff;color:#6b0014}.dashboard-content{max-width:1250px;width:92%;margin:30px auto;flex:1}.welcome-card{background:#fff;border-radius:12px;padding:25px;margin-bottom:25px;box-shadow:0 8px 24px #6b001414;border:1px solid #f0e6e8}.welcome-card h2{color:#6b0014;font-size:1.5rem;margin-bottom:8px}.welcome-card p{color:#666}.section-card{background:#fff;border-radius:12px;padding:25px;box-shadow:0 8px 24px #6b001414;border:1px solid #f0e6e8}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid #f3d5db}.section-title h2{color:#6b0014;font-size:1.35rem;margin-bottom:5px}.section-title p{color:#777;font-size:.9rem}.course-count{background:#f8e8ec;color:#6b0014;padding:8px 14px;border-radius:20px;font-weight:600;font-size:.9rem}.cursos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:22px}.curso-card{border:1px solid #eadcdf;border-radius:12px;padding:22px;background:#fff;transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column}.curso-card:hover{transform:translateY(-3px);box-shadow:0 10px 25px #6b00141f}.curso-jefatura{border:2px solid #8a1730;background:linear-gradient(180deg,#fff9fa,#fff)}.curso-card-header{margin-bottom:18px}.curso-card-header h3{color:#6b0014;font-size:1.35rem;margin-bottom:8px}.badge-jefe{display:inline-block;background:#6b0014;color:#fff;padding:6px 10px;border-radius:6px;font-size:.78rem;font-weight:600}.asignaturas-container{margin-bottom:20px}.asignaturas-container h4{color:#555;font-size:.9rem;margin-bottom:10px}.asignaturas-list{display:flex;flex-direction:column;gap:8px}.asignatura-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:#faf7f8;border-radius:7px;border:1px solid #f0e6e8;color:#333;font-size:.9rem}.badge-edicion{color:#287548;background:#eaf6ee;padding:4px 7px;border-radius:5px;font-size:.7rem;white-space:nowrap}.btn-ingresar-curso{margin-top:auto;width:100%;border:none;background:#6b0014;color:#fff;padding:11px 15px;border-radius:7px;cursor:pointer;font-weight:600;transition:background .2s ease}.btn-ingresar-curso:hover{background:#4a000e}.loading-container{min-height:100vh;display:flex;align-items:center;justify-content:center;color:#6b0014}.error-card{background:#fff5f5;border:1px solid #e2a5a5;border-radius:10px;padding:25px;color:#7d1c1c}.error-card h3{margin-bottom:8px}.error-card p{margin-bottom:15px}.btn-reintentar{background:#6b0014;color:#fff;border:none;padding:9px 15px;border-radius:6px;cursor:pointer}.empty-state{text-align:center;padding:45px 20px;color:#666}.empty-state h3{color:#6b0014;margin-bottom:8px}@media (max-width: 850px){.dashboard-header{flex-wrap:wrap;gap:15px}.header-title{order:3;width:100%}.user-info{margin-left:auto}}@media (max-width: 600px){.dashboard-content{width:95%;margin:20px auto}.section-card,.welcome-card{padding:18px}.cursos-grid{grid-template-columns:1fr}.user-info span{display:none}}.inspectoria-page{min-height:100vh;background-size:cover;background-position:center;background-attachment:fixed;padding-bottom:40px}.inspectoria-page:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:#ffffffed;z-index:0}.inspectoria-header,.inspectoria-main{position:relative;z-index:1}.inspectoria-header{min-height:82px;padding:12px 35px;background:#fffffffa;box-shadow:0 2px 12px #0000001a;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:4px solid #800020}.inspectoria-brand{display:flex;align-items:center;gap:15px}.inspectoria-logo{width:58px;height:58px;object-fit:contain}.inspectoria-brand h1{margin:0;color:#800020;font-size:23px}.inspectoria-brand p{margin:3px 0 0;color:#667085;font-size:13px}.inspectoria-user{display:flex;align-items:center;gap:18px}.inspectoria-user-info{display:flex;flex-direction:column;align-items:flex-end}.inspectoria-user-info strong{color:#1d2939;font-size:14px}.inspectoria-user-info span{margin-top:3px;color:#800020;font-size:12px;font-weight:700}.inspectoria-logout{padding:9px 15px;border:1px solid #800020;border-radius:8px;background:#fff;color:#800020;cursor:pointer;font-weight:600}.inspectoria-logout:hover{background:#800020;color:#fff}.inspectoria-main{width:min(1100px,calc(100% - 40px));margin:35px auto}.inspectoria-card{overflow:hidden;background:#fffffffa;border:1px solid #eaecf0;border-radius:16px;box-shadow:0 7px 28px #10182817}.inspectoria-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:25px 30px;background:linear-gradient(135deg,#800020,#a00028);color:#fff}.inspectoria-card-header h2{margin:0 0 7px;font-size:23px}.inspectoria-card-header p{margin:0;color:#ffffffe6;font-size:13px}.security-badge{padding:8px 13px;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:#ffffff1f;color:#fff;font-size:12px;font-weight:700;white-space:nowrap}.inspectoria-content{padding:30px}.scanner-section{max-width:600px;margin:0 auto}.scanner-title{text-align:center;margin-bottom:15px}.scanner-title h3{margin:0 0 5px;color:#800020;font-size:18px}.scanner-title span{color:#667085;font-size:12px}.qr-reader{width:100%;max-width:500px;min-height:120px;margin:0 auto;overflow:hidden;border:1px dashed #d0d5dd;border-radius:12px;background:#fdf8f9}.qr-reader.activo{min-height:300px;border-style:solid;border-color:#800020;box-shadow:0 0 0 3px #80002014}.qr-reader video{border-radius:10px}.qr-reader img{max-width:100%}.scanner-actions{display:flex;justify-content:center;margin-top:14px}.separador{display:flex;align-items:center;gap:15px;margin:30px auto;max-width:600px;color:#98a2b3;font-size:11px;font-weight:700}.separador:before,.separador:after{content:"";flex:1;height:1px;background:#eaecf0}.manual-section{max-width:600px;margin:0 auto}.manual-section label{display:block;margin-bottom:7px;color:#344054;font-size:13px;font-weight:700}.manual-section input{width:100%;box-sizing:border-box;padding:12px;border:1px solid #d0d5dd;border-radius:8px;outline:none;color:#344054;font-size:13px;background:#fff}.manual-section input:focus{border-color:#800020;box-shadow:0 0 0 3px #80002014}.manual-section button{width:100%;margin-top:12px}.btn-inspectoria-primary,.btn-inspectoria-secondary,.btn-confirmar-retiro{padding:11px 18px;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer}.btn-inspectoria-primary{border:0;background:#800020;color:#fff}.btn-inspectoria-primary:hover{background:#650019}.btn-inspectoria-primary:disabled{opacity:.6;cursor:not-allowed}.btn-inspectoria-secondary{border:1px solid #800020;background:#fff;color:#800020}.btn-inspectoria-secondary:hover{background:#fdf1f4}.inspectoria-alert{max-width:850px;margin:20px auto;padding:13px 15px;border-radius:8px;font-size:13px}.inspectoria-alert.success{border:1px solid #abefc6;background:#ecfdf3;color:#027a48}.inspectoria-alert.error{border:1px solid #fecdca;background:#fef3f2;color:#b42318}.retiro-validado{max-width:900px;margin:0 auto}.retiro-status{display:flex;align-items:center;gap:13px;padding:15px;margin-bottom:22px;border:1px solid #d6b2bc;border-radius:10px;background:#fdf1f4}.status-icon{width:38px;height:38px;min-width:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#800020;color:#fff;font-weight:800}.retiro-status strong{display:block;margin-bottom:3px;color:#800020}.retiro-status span{color:#344054;font-size:12px}.datos-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.datos-card{padding:20px;border:1px solid #eaecf0;border-radius:12px;background:#fff}.datos-card-title{padding-bottom:12px;margin-bottom:13px;border-bottom:2px solid #f3dfe5;color:#800020;font-size:16px;font-weight:700}.dato{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding:9px 0;border-bottom:1px solid #f2f4f7}.dato:last-child{border-bottom:0}.dato span{color:#667085;font-size:12px}.dato strong{color:#344054;font-size:13px;text-align:right}.motivo-card{margin-top:18px;padding:18px;border:1px solid #ead6dc;border-radius:10px;background:#fdf8f9}.motivo-card>span{display:block;margin-bottom:7px;color:#667085;font-size:12px}.motivo-card>strong{color:#800020;font-size:14px}.motivo-card p{margin:9px 0 0;color:#667085;font-size:13px}.confirmacion-section{margin-top:25px;padding:20px;border:1px solid #eaecf0;border-radius:12px}.confirmacion-section label{display:block;margin-bottom:7px;color:#344054;font-size:13px;font-weight:700}.confirmacion-section textarea{width:100%;box-sizing:border-box;padding:11px;resize:vertical;border:1px solid #d0d5dd;border-radius:8px;font-family:inherit;font-size:13px;color:#344054;background:#fff}.confirmacion-section textarea:focus{outline:none;border-color:#800020;box-shadow:0 0 0 3px #80002014}.verificacion-box{margin:15px 0;padding:15px;border-left:4px solid #800020;background:#fdf1f4}.verificacion-box strong{display:block;margin-bottom:5px;color:#800020}.verificacion-box p{margin:0;color:#475467;font-size:12px;line-height:1.5}.btn-confirmar-retiro{width:100%;border:0;background:#800020;color:#fff}.btn-confirmar-retiro:hover{background:#650019}.btn-confirmar-retiro:disabled{opacity:.6;cursor:not-allowed}.retiro-actions{display:flex;justify-content:flex-end;margin-top:18px}.retiro-confirmado{max-width:600px;margin:30px auto 0;padding:30px;border:1px solid #d6b2bc;border-radius:14px;background:#fdf1f4;text-align:center}.confirmado-icon{width:55px;height:55px;margin:0 auto 15px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#800020;color:#fff;font-size:27px;font-weight:800}.retiro-confirmado h3{margin:0 0 8px;color:#800020}.retiro-confirmado p{margin:0 auto 20px;color:#475467;font-size:13px;line-height:1.5}@media (max-width: 800px){.inspectoria-header{flex-direction:column;align-items:flex-start}.inspectoria-user{width:100%;justify-content:space-between}.inspectoria-user-info{align-items:flex-start}.datos-grid{grid-template-columns:1fr}}@media (max-width: 600px){.inspectoria-main{width:calc(100% - 20px);margin-top:15px}.inspectoria-header{padding:12px 15px}.inspectoria-content{padding:18px}.inspectoria-card-header{padding:20px;flex-direction:column}.inspectoria-brand h1{font-size:19px}.dato{flex-direction:column;gap:4px}.dato strong{text-align:left}}.atraso-section{max-width:900px;margin:45px auto 0;padding:0;border:1px solid #eaecf0;border-radius:14px;background:#fff;overflow:hidden}.atraso-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px;background:linear-gradient(135deg,#800020,#a00028);color:#fff}.atraso-header h2{margin:0 0 6px;font-size:21px}.atraso-header p{margin:0;color:#ffffffe6;font-size:13px}.atraso-badge{padding:8px 13px;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:#ffffff1f;color:#fff;font-size:12px;font-weight:700;white-space:nowrap}.atraso-form{padding:25px}.atraso-field{margin-bottom:18px}.atraso-field label{display:block;margin-bottom:7px;color:#344054;font-size:13px;font-weight:700}.atraso-field select,.atraso-field input,.atraso-field textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #d0d5dd;border-radius:8px;outline:none;color:#344054;background:#fff;font-family:inherit;font-size:13px}.atraso-field select:focus,.atraso-field input:focus,.atraso-field textarea:focus{border-color:#800020;box-shadow:0 0 0 3px #80002014}.atraso-field select:disabled{background:#f2f4f7;color:#98a2b3;cursor:not-allowed}.atraso-datos{display:grid;grid-template-columns:1fr 1fr;gap:18px}.atraso-datos .atraso-field{margin-bottom:18px}.btn-registrar-atraso{width:100%;padding:13px 18px;border:0;border-radius:8px;background:#800020;color:#fff;font-size:14px;font-weight:700;cursor:pointer}.btn-registrar-atraso:hover{background:#650019}.btn-registrar-atraso:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 600px){.atraso-header{flex-direction:column}.atraso-form{padding:18px}.atraso-datos{grid-template-columns:1fr;gap:0}}html,body,#root{margin:0!important;padding:0!important;width:100%!important;height:100%!important;box-sizing:border-box;background-color:#f1f2f4!important}.sec-dashboard-bg{background-color:#f1f2f4;min-height:100vh;width:100vw;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#333}.sec-dashboard-container{display:flex;flex-direction:column;min-height:100vh;width:100%}.sec-header{background-color:#800020;color:#fff;padding:16px 32px;display:flex;justify-content:space-between;align-items:center;width:100%;box-sizing:border-box}.sec-brand{display:flex;align-items:center;gap:12px}.sec-logo{height:42px;width:auto;object-fit:contain}.sec-brand h2{margin:0;font-size:1.35rem;font-weight:700;color:#fff}.sec-subtitle{font-size:.82rem;color:#ffffffd9;margin-top:2px}.sec-user-info{display:flex;align-items:center;gap:16px;font-size:.9rem;color:#fff}.sec-btn-logout{background-color:transparent;border:1px solid rgba(255,255,255,.8);color:#fff;padding:6px 14px;border-radius:4px;cursor:pointer;font-size:.85rem;transition:all .2s}.sec-btn-logout:hover{background-color:#ffffff26}.sec-body{display:flex;flex:1;width:100%}.sec-sidebar{width:250px;min-width:250px;background-color:#f1f2f4;padding-top:20px;box-sizing:border-box}.sec-nav{display:flex;flex-direction:column}.sec-nav-btn{background:transparent;border:none;border-left:4px solid transparent;text-align:left;padding:12px 24px;font-size:.92rem;color:#666;cursor:pointer;display:flex;align-items:center;gap:10px;transition:all .2s}.sec-nav-btn:hover{color:#800020}.sec-nav-btn.active{color:#800020;font-weight:700;border-left-color:#800020}.sec-icon{font-size:1.1rem}.sec-content{flex:1;padding:24px 32px 32px 10px;box-sizing:border-box}.sec-card{background-color:#fff;border-radius:8px;padding:32px;box-shadow:0 1px 4px #0000000d;border:1px solid #e2e4e8;min-height:80vh}.sec-title{margin:0;color:#800020;font-size:1.25rem;font-weight:700}.sec-divider{height:2px;background-color:#800020;width:100%;margin:12px 0 24px;opacity:.8}.sec-search-container{margin-bottom:24px}.sec-search-input{width:320px;padding:9px 14px;border:1px solid #d1d5db;border-radius:4px;font-size:.9rem;color:#333;outline:none}.sec-search-input:focus{border-color:#800020}.sec-table{width:100%;border-collapse:collapse}.sec-table th{text-align:left;padding:12px 8px;font-size:.88rem;font-weight:600;color:#555;border-bottom:1px solid #ffffff}.sec-table td{padding:16px 8px;font-size:.9rem;color:#444;border-bottom:1px solid #f0f0f0}.sec-btn-outline{background-color:#fff;border:1px solid #d1d5db;color:#555;padding:5px 12px;border-radius:4px;cursor:pointer;font-size:.85rem;transition:all .2s}.sec-btn-outline:hover{border-color:#800020;color:#800020}.sec-ficha-modal{margin-top:24px;background-color:#fafafa;border:1px solid #e0e0e0;border-radius:6px;padding:16px 20px}.sec-ficha-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.sec-ficha-header h4{margin:0;color:#800020}.sec-btn-close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:#777}.sec-ficha-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:.9rem}.sec-qr-container{width:100%;max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:28px;box-sizing:border-box}.sec-card-header-burgundy{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;border:1px solid #e2e4e8;overflow:hidden}.sec-card-topbar{background-color:#800020;color:#fff;padding:18px 24px;display:flex;justify-content:space-between;align-items:center}.sec-card-topbar h3{margin:0;font-size:1.22rem;font-weight:700;color:#fff}.sec-card-topbar p{margin:4px 0 0;font-size:.83rem;opacity:.9}.sec-badge-tag{background-color:#fff3;color:#fff;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap}.sec-card-body{padding:24px}.sec-form-group{margin-bottom:16px;text-align:left}.sec-form-group label{display:block;font-weight:600;font-size:.88rem;margin-bottom:6px;color:#333}.sec-input-full{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;color:#333;box-sizing:border-box;outline:none}.sec-input-full:focus{border-color:#800020}.sec-btn-burgundy-full{width:100%;background-color:#800020;color:#fff;border:none;padding:12px;border-radius:6px;font-weight:700;font-size:.92rem;cursor:pointer;transition:background-color .2s}.sec-btn-burgundy-full:hover{background-color:#660019}.sec-scanner-box{width:100%;max-width:440px;height:180px;margin:0 auto 16px;background-color:#fafafa;border:1px solid #e0e0e0;border-radius:8px;display:flex;justify-content:center;align-items:center;color:#888;font-size:.9rem}.sec-divider-or{display:flex;align-items:center;margin:16px 0 20px;color:#aaa;font-size:.78rem;font-weight:600}.sec-divider-or:before,.sec-divider-or:after{content:"";flex:1;height:1px;background-color:#eee}.sec-divider-or span{padding:0 12px;letter-spacing:.5px}.sec-filter-row{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.sec-filter-row>input,.sec-filter-row>select{flex:1 1 240px}.sec-filter-row .sec-form-group{flex:1 1 200px;margin-bottom:12px}.sec-alert-error{color:#b42318;background:#fef3f2;border-color:#fecdca}.sec-pdf-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;background:#101828b8}.sec-pdf-modal{width:min(1100px,96vw);height:min(850px,92vh);display:flex;flex-direction:column;overflow:hidden;border-radius:10px;background:#fff;box-shadow:0 12px 40px #00000040}.sec-pdf-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #e2e4e8;color:#800020}.sec-pdf-frame{width:100%;flex:1;border:0;background:#f1f2f4}@media (max-width: 600px){.sec-filter-row{flex-direction:column;align-items:stretch}.sec-filter-row>input,.sec-filter-row>select{width:100%}.sec-pdf-overlay{padding:6px}.sec-pdf-modal{width:100%;height:96vh}}.sec-qr-reader{width:100%;max-width:660px;min-height:120px;margin:0 auto 16px;overflow:hidden;border:1px dashed #d0d5dd;border-radius:12px;background:#111;box-sizing:border-box}.sec-qr-reader.activo{min-height:0;border:1px solid #800020;box-shadow:0 0 0 3px #80002014}.sec-qr-reader #qr-reader__scan_region video,.sec-qr-reader video{display:block!important;width:100%!important;height:360px!important;max-width:100%!important;object-fit:cover!important;object-position:center!important;border-radius:0!important;background:#111}.sec-qr-reader{width:100%;max-width:500px;margin:0 auto 16px;overflow:hidden;border:1px solid #800020;border-radius:12px;background:#111;box-sizing:border-box}.sec-qr-reader.activo{min-height:0;border-style:solid;border-color:#800020;box-shadow:0 0 0 3px #80002014}.sec-qr-reader #qr-reader__scan_region{width:100%!important;min-height:0!important;overflow:hidden}.sec-qr-reader #qr-reader__scan_region video,.sec-qr-reader video{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;max-height:320px!important;object-fit:contain!important;object-position:center;background:#111}.sec-qr-reader canvas{max-width:100%}.sec-qr-reader img{max-width:100%}.sec-qr-camera-message{margin:8px auto 12px;color:#667085;font-size:.85rem;text-align:center}@media (max-width: 600px){.sec-qr-reader{max-width:100%}.sec-qr-reader #qr-reader__scan_region video,.sec-qr-reader video{max-height:280px!important}}:root{--vino: #7a1f2b;--vino-oscuro: #5c1620;--vino-medio: #8f2937;--vino-claro: #f7e8eb;--blanco: #ffffff;--blanco-suave: #fffafa;--borde: #ead0d4;--texto: #3f1b20;--texto-secundario: #765e62;--sombra: rgba(92, 22, 32, .12)}.profesor-curso-container{min-height:100vh;padding:30px;background-image:linear-gradient(#ffffffe0,#ffffffe0),url(/assets/fondo_institucional-BYspphnr.jpeg);background-size:cover;background-position:center;background-attachment:fixed;box-sizing:border-box;color:var(--texto)}.profesor-curso-header{max-width:1250px;margin:0 auto 25px;display:flex;justify-content:space-between;align-items:center;gap:20px}.header-course-info{display:flex;align-items:center;gap:20px}.header-course-info h1{margin:0;font-size:30px;color:var(--vino-oscuro)}.header-course-info p{margin:5px 0 0;color:var(--texto-secundario)}.back-button,.logout-button,.btn-primary,.btn-secondary,.btn-delete,.curso-tab,.attendance-btn{cursor:pointer;font-family:inherit}.back-button{border:1px solid var(--borde);background:var(--blanco);color:var(--vino);padding:10px 15px;border-radius:9px;box-shadow:0 2px 8px var(--sombra);transition:all .2s ease}.back-button:hover{background:var(--vino);color:var(--blanco);border-color:var(--vino)}.logout-button{border:none;background:var(--vino);color:var(--blanco);padding:11px 18px;border-radius:9px;transition:all .2s ease}.logout-button:hover{background:var(--vino-oscuro)}.profesor-curso-content{max-width:1250px;margin:0 auto}.curso-resumen{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px}.resumen-item{background:var(--blanco);border:1px solid var(--borde);border-radius:14px;padding:20px;display:flex;align-items:center;gap:15px;box-shadow:0 3px 14px var(--sombra)}.resumen-icon{font-size:30px}.resumen-item div{display:flex;flex-direction:column;gap:3px}.resumen-item strong{font-size:25px;color:var(--vino-oscuro)}.resumen-item span:not(.resumen-icon){color:var(--texto-secundario);font-size:14px}.curso-tabs{background:var(--blanco);border:1px solid var(--borde);border-radius:14px;padding:8px;margin-bottom:20px;display:flex;gap:5px;overflow-x:auto;box-shadow:0 3px 14px var(--sombra)}.curso-tab{border:none;background:transparent;padding:13px 18px;border-radius:9px;white-space:nowrap;color:var(--texto-secundario);font-size:14px;transition:all .2s ease}.curso-tab:hover{background:var(--vino-claro);color:var(--vino)}.curso-tab.active{background:var(--vino);color:var(--blanco)}.curso-panel{background:var(--blanco);border:1px solid var(--borde);border-radius:14px;padding:25px;box-shadow:0 3px 14px var(--sombra)}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px}.panel-header h2{margin:0;color:var(--vino-oscuro)}.panel-header p{margin:7px 0 0;color:var(--texto-secundario)}.count-badge{min-width:45px;height:45px;border-radius:50%;background:var(--vino);color:var(--blanco);display:flex;justify-content:center;align-items:center;font-weight:700;font-size:18px}.btn-primary{border:none;background:var(--vino);color:var(--blanco);padding:11px 18px;border-radius:8px;transition:all .2s ease}.btn-primary:hover{background:var(--vino-oscuro)}.btn-secondary{border:1px solid var(--borde);background:var(--blanco);color:var(--vino);padding:11px 18px;border-radius:8px;transition:all .2s ease}.btn-secondary:hover{background:var(--vino-claro);border-color:var(--vino)}.btn-delete{border:none;background:transparent;color:var(--vino);padding:7px;font-size:16px}.btn-delete:hover{color:var(--vino-oscuro)}.table-wrapper{width:100%;overflow-x:auto}.curso-table{width:100%;border-collapse:collapse}.curso-table th,.curso-table td{padding:13px;text-align:left;border-bottom:1px solid var(--borde)}.curso-table th{font-size:13px;color:var(--blanco);background:var(--vino)}.curso-table tbody tr:hover{background:var(--vino-claro)}.form-card{background:var(--blanco-suave);border:1px solid var(--borde);border-radius:12px;padding:20px;margin-bottom:25px}.form-card h3{margin-top:0;color:var(--vino-oscuro)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-group{display:flex;flex-direction:column;gap:7px}.form-group-full{grid-column:1 / -1}.form-group label{font-size:13px;font-weight:600;color:var(--texto)}.form-group input,.form-group select,.form-group textarea{width:100%;box-sizing:border-box;border:1px solid var(--borde);border-radius:8px;padding:11px;font-family:inherit;background:var(--blanco);color:var(--texto)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--vino);box-shadow:0 0 0 2px #7a1f2b1a}.form-group textarea{resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.filter-row{margin-bottom:20px;max-width:350px}.nota-aprobada{display:inline-flex;padding:5px 9px;border-radius:7px;background:var(--vino-claro);color:var(--vino-oscuro);font-weight:700}.nota-reprobada{display:inline-flex;padding:5px 9px;border-radius:7px;background:var(--vino);color:var(--blanco);font-weight:700}.attendance-date{max-width:250px;margin-bottom:20px}.attendance-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px}.attendance-stats>div{padding:15px;border-radius:10px;background:var(--vino-claro);border:1px solid var(--borde);display:flex;flex-direction:column;gap:3px}.attendance-stats strong{font-size:22px;color:var(--vino-oscuro)}.attendance-stats span{color:var(--texto-secundario);font-size:13px}.attendance-list{border-top:1px solid var(--borde)}.attendance-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 0;border-bottom:1px solid var(--borde)}.attendance-student{display:flex;align-items:center;gap:12px;min-width:280px}.student-number{width:32px;height:32px;display:flex;justify-content:center;align-items:center;background:var(--vino);color:var(--blanco);border-radius:50%;font-size:13px}.attendance-student div{display:flex;flex-direction:column;gap:3px}.attendance-student small{color:var(--texto-secundario)}.attendance-buttons{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.attendance-btn{border:1px solid var(--borde);background:var(--blanco);color:var(--vino);border-radius:7px;padding:8px 11px;font-size:12px;transition:all .2s ease}.attendance-btn:hover{background:var(--vino-claro)}.attendance-btn.selected{color:var(--blanco);background:var(--vino);border-color:var(--vino)}.attendance-btn.present.selected,.attendance-btn.absent.selected,.attendance-btn.late.selected,.attendance-btn.justified.selected{background:var(--vino);border-color:var(--vino);color:var(--blanco)}.anotaciones-list{display:flex;flex-direction:column;gap:12px}.anotacion-card{border:1px solid var(--borde);border-radius:12px;padding:18px;border-left:5px solid var(--vino);background:var(--blanco)}.anotacion-card.positiva,.anotacion-card.negativa,.anotacion-card.observacion{border-left-color:var(--vino)}.anotacion-top{display:flex;justify-content:space-between;gap:15px}.anotacion-top h3{margin:8px 0 0;color:var(--vino-oscuro)}.anotacion-tipo{display:inline-block;padding:5px 9px;border-radius:7px;background:var(--vino-claro);color:var(--vino);font-size:12px;font-weight:600}.anotacion-tipo.positiva,.anotacion-tipo.negativa,.anotacion-tipo.observacion{background:var(--vino-claro);color:var(--vino-oscuro)}.anotacion-card p{color:var(--texto);line-height:1.5}.anotacion-footer{display:flex;justify-content:space-between;gap:15px;font-size:13px;color:var(--texto-secundario)}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.info-box{border:1px solid var(--borde);border-radius:10px;padding:18px;display:flex;flex-direction:column;gap:7px;background:var(--blanco)}.info-box span{color:var(--texto-secundario);font-size:13px}.info-box strong{font-size:17px;color:var(--vino-oscuro)}.information-section{margin-top:30px}.information-section h3{margin-bottom:15px;color:var(--vino)}.asignaturas-list{display:flex;flex-wrap:wrap;gap:12px}.asignatura-item{border:1px solid var(--borde);background:var(--blanco);border-radius:10px;padding:13px 16px;display:flex;flex-direction:column;gap:5px}.asignatura-item:hover{border-color:var(--vino);background:var(--vino-claro)}.asignatura-item span{color:var(--texto-secundario);font-size:12px}.asignatura-item strong{color:var(--vino-oscuro)}.badge-jefe{display:inline-block;background:var(--vino);color:var(--blanco);padding:5px 10px;border-radius:20px;font-size:12px;font-weight:700}.empty-state{padding:55px 20px;text-align:center;color:var(--texto-secundario)}.empty-state>div{font-size:40px;margin-bottom:10px}.empty-state h3{color:var(--vino-oscuro);margin:0 0 8px}.loading-state{padding:40px;text-align:center;color:var(--vino)}.profesor-curso-card{max-width:600px;margin:100px auto;background:var(--blanco);border:1px solid var(--borde);padding:35px;border-radius:14px;text-align:center;box-shadow:0 4px 18px var(--sombra)}.loading-icon,.error-icon{font-size:40px;margin-bottom:10px}@media (max-width: 900px){.curso-resumen,.info-grid{grid-template-columns:repeat(2,1fr)}.attendance-row{align-items:flex-start;flex-direction:column}.attendance-buttons{justify-content:flex-start}}@media (max-width: 650px){.profesor-curso-container{padding:15px;background-attachment:scroll}.profesor-curso-header,.header-course-info{align-items:flex-start;flex-direction:column}.curso-resumen,.form-grid{grid-template-columns:1fr}.form-group-full{grid-column:auto}.info-grid{grid-template-columns:1fr}.curso-panel{padding:18px}.panel-header{align-items:flex-start;flex-direction:column}.attendance-stats{grid-template-columns:repeat(2,1fr)}.attendance-student{min-width:0}}:root{font-family:Inter,Arial,Helvetica,sans-serif;color:#292929;background-color:#f4f4f4;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}img{max-width:100%}.temporary-page{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:24px;background-color:#f3f4f6}.temporary-page__card{width:100%;max-width:520px;padding:40px;background-color:#fff;border-radius:16px;text-align:center;box-shadow:0 10px 30px #0000001f}.temporary-page__card h1{margin-top:0;color:#292929}.temporary-page__card p{color:#5f5f5f;line-height:1.6}.temporary-page__link{display:inline-block;margin-top:16px;padding:12px 20px;color:#fff;background-color:#a81616;border-radius:8px;font-weight:700;text-decoration:none}.temporary-page__link:hover{background-color:#871212}
