:root{--mi-turquesa:#6ec6c6;--mi-azul:#1a5f66;--mi-salmon:#f6b092;--mi-crema:#fffef9;--mi-celeste-claro:#e0f2f2;--mi-gris-oscuro:#343a40;--mi-verde-exito:#28a745;--mi-rojo-error:#dc3545;--mi-amarillo-alerta:#ffc107}body{color:var(--mi-azul);background-color:var(--mi-crema);font-family:Nunito,sans-serif;overflow-x:hidden}body.sidebar-open{overflow:hidden}h1,h2,h3,h4,h5{color:var(--mi-azul);font-weight:700;font-family:Playpen Sans,cursive!important}img.img-fluid{max-width:100%;height:auto}.main-wrapper{min-height:100vh;flex-wrap:nowrap!important;display:flex!important}main{flex-grow:1;min-width:0}.row.no-gutters{flex-wrap:nowrap;align-items:stretch;display:flex}.view-title{color:var(--mi-azul);margin-bottom:0;font-weight:800}.site-navbar{padding:.5rem 1rem;box-shadow:0 2px 10px #0000000d;background-color:#dffffd!important;width:100%!important}.site-navbar .container,.site-navbar .container-fluid{justify-content:space-between;display:flex;width:100%!important;max-width:100%!important}.navbar-brand img{width:auto!important;max-height:50px!important}.nav-link.public-link{font-weight:700;color:var(--mi-salmon)!important}#sidebar-menu,.sidebar{flex-direction:column;flex-shrink:0;min-width:260px;max-width:260px;min-height:100vh;display:flex;box-shadow:4px 0 10px #0000001a;background-color:var(--mi-gris-oscuro)!important;color:#fff!important}.sidebar-header{text-align:center;padding:1.5rem}#sidebar-menu .nav-link{justify-content:space-between;align-items:center;padding:15px 20px;transition:all .3s;display:flex;color:#fffc!important}#sidebar-menu .nav-link:hover,#sidebar-menu .nav-link.active{border-left:4px solid var(--mi-turquesa);background-color:#ffffff1a;text-decoration:none;color:#fff!important}#sidebar-menu i{text-align:center;width:25px;margin-right:10px}#sidebar-menu .nav-link span i{text-align:center;width:20px;margin-right:10px}.sidebar-nav-container{flex-grow:1;overflow-y:auto}.sidebar-footer{text-align:center;opacity:.3;padding:1rem}.sidebar-logo-bottom{filter:grayscale()brightness(2);max-height:15px}.profile-img-container{background:#fff;border:3px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 10px;display:flex;overflow:hidden}.profile-img-container.big{border:5px solid var(--mi-turquesa);width:150px;height:150px}.profile-img{object-fit:cover;width:100%;height:100%}.profile-img.no-avatar{background-color:var(--mi-celeste-claro);object-fit:cover;background-image:url(https://vewgdfhokefgrwxsbprw.supabase.co/storage/v1/object/public/icons/default-avatar.png);background-size:cover}#u-name{color:var(--mi-azul);letter-spacing:-.5px;font-weight:700}.badge-role{color:var(--mi-gris-oscuro);text-transform:uppercase;background-color:#fff;border-radius:50px;margin-top:10px;padding:4px 12px;font-size:.7rem;font-weight:800;display:inline-block}.logout-wrapper{margin-top:10px}.btn-logout-sidebar{color:#fff;background:0 0;border:1px solid #fff3;border-radius:50px;padding:5px 15px;font-size:.65rem;transition:all .3s}.btn-logout-sidebar:hover{background:#ffffff1a;border-color:#fff}.card,.card-custom,.modal-content,.alert,.list-group-item:first-child,.list-group-item:last-child{border:none;border-radius:20px!important}.card-custom{background:#fff;margin-bottom:20px;padding:25px;box-shadow:0 5px 15px #0000000d}.package,.contact-form-container,.contact-info-card,.total-box{border:2px solid var(--mi-celeste-claro);background:#fff;height:100%;padding:35px;transition:all .3s;border-radius:20px!important}.package:hover,.contact-form-container:hover{border-color:var(--mi-salmon);transform:translateY(-5px);box-shadow:0 10px 20px #0000001a}.teacher-card{text-align:center;background:#fff;border:1px solid #eef2f3;height:100%;margin-bottom:30px;padding:30px 20px;transition:all .3s;border-radius:20px!important}.teacher-card:hover{border-color:var(--mi-turquesa);transform:translateY(-5px);box-shadow:0 10px 20px #0000001a}.faq-box{background-color:#fff;border:1px solid #eef2f3;height:100%;padding:25px;transition:all .3s;border-radius:20px!important}.faq-box:hover{border-color:var(--mi-celeste-claro);box-shadow:0 5px 15px #0000000d}.form-control,.custom-select,.input-group-text{background-color:#fff;border:1px solid #e0e0e0;height:auto;padding:10px 15px;transition:all .3s;border-radius:15px!important}.form-control:focus{border-color:var(--mi-turquesa);background-color:#fff;box-shadow:0 0 0 .2rem #6ec6c640}textarea.form-control{border-radius:15px!important}.btn{text-transform:uppercase;letter-spacing:.5px;border:none;padding:8px 24px;font-size:.85rem;font-weight:700;transition:all .3s;border-radius:50px!important}.btn:hover{transform:translateY(-2px);box-shadow:0 4px 10px #00000026}.btn-primary{background-color:var(--mi-azul)!important;color:#fff!important}.btn-primary:hover{background-color:#124247!important}.btn-info{background-color:var(--mi-turquesa)!important;color:#fff!important}.btn-info:hover{background-color:#5ab1b1!important}.btn-warning{background-color:var(--mi-salmon)!important;color:#fff!important}.btn-warning:hover{background-color:#e09b7f!important}.btn-success{background-color:var(--mi-verde-exito)!important;color:#fff!important}.btn-danger{background-color:var(--mi-rojo-error)!important;color:#fff!important}.btn-outline-primary{border:2px solid var(--mi-azul)!important;color:var(--mi-azul)!important;background:0 0!important}.btn-outline-primary:hover{background-color:var(--mi-azul)!important;color:#fff!important}.btn-xs,.btn-sm{text-transform:none;padding:5px 15px;font-size:.75rem}.btn-login{background-color:var(--mi-salmon);margin-left:15px;padding:8px 20px;font-weight:700;color:#fff!important;border-radius:25px!important}.btn-login:hover{text-decoration:none;background-color:var(--mi-azul)!important}.btn-submit,.btn-solicitar{background-color:var(--mi-salmon);text-align:center;margin-top:20px;padding:15px 45px;font-size:1.2rem;font-weight:800;display:inline-block;box-shadow:0 4px 15px #f6b09266;color:#fff!important;border-radius:50px!important;text-decoration:none!important}.btn-submit:hover,.btn-solicitar:hover{background-color:var(--mi-azul);transform:translateY(-3px)}#modalMaestro .modal-content{border-radius:25px!important}#modalMaestro .modal-title{color:var(--mi-azul)}#modalMaestro .modal-body{max-height:75vh;overflow-y:auto}#loading-overlay{z-index:9999;background:#fff;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.error-overlay{background-color:var(--mi-crema);height:100vh;color:var(--mi-rojo-error);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex}.error-overlay i{margin-bottom:15px;font-size:3rem}.error-source{background:#f8d7da;border-radius:4px;margin-top:10px;padding:2px 8px;font-family:monospace;font-size:.75rem}.dash-mini-card{text-align:center;border-bottom:5px solid #eee!important;padding:2rem!important}.dash-mini-card.stat-info{border-bottom-color:var(--mi-turquesa)!important}.dash-mini-card.stat-warning{border-bottom-color:var(--mi-salmon)!important}.dash-mini-card.stat-primary{border-bottom-color:var(--mi-azul)!important}.dash-mini-icon{margin-bottom:10px;font-size:2rem}.stat-info .dash-mini-icon{color:var(--mi-turquesa)}.stat-warning .dash-mini-icon{color:var(--mi-salmon)}.stat-primary .dash-mini-icon{color:var(--mi-azul)}.dash-mini-value{color:var(--mi-azul);margin-bottom:5px;font-weight:800}.dash-mini-label{text-transform:uppercase;color:#adb5bd;font-size:.7rem;font-weight:700}.dash-quick-section{margin-top:2rem}.dash-section-title{color:#adb5bd;text-transform:uppercase;margin-bottom:1rem;font-size:.75rem;font-weight:800}.dash-access-btn{background:#fff;border:1px solid #eee;border-radius:15px;flex-direction:column;align-items:center;width:100%;padding:1.5rem 1rem;transition:all .3s;display:flex;box-shadow:0 4px 6px #00000005}.dash-access-btn:hover{transform:translateY(-5px);box-shadow:0 8px 15px #0000000d}.dash-access-btn i{font-size:1.5rem}.dash-access-btn span{color:var(--mi-azul);font-size:.8rem;font-weight:700}.btn-access-info i{color:var(--mi-turquesa)}.btn-access-success i{color:var(--mi-verde-exito)}.btn-access-primary i{color:var(--mi-azul)}.btn-access-warning i{color:var(--mi-salmon)}.btn-access-danger i{color:var(--mi-rojo-error)}.btn-access-secondary i{color:#6c757d}.hw-card{justify-content:space-between;align-items:center;display:flex;border-left:6px solid #ddd!important;padding:1rem 1.25rem!important}.hw-title{color:var(--mi-azul);margin-bottom:.25rem;font-weight:700}.hw-card.hw-approved{border-left-color:var(--mi-verde-exito)!important}.hw-card.hw-correction{border-left-color:var(--mi-salmon)!important}.hw-card.hw-pending{border-left-color:var(--mi-turquesa)!important}.hw-card.hw-empty{border-left-color:#ddd!important}.badge-status-empty{color:#6c757d;background:#f8f9fa;border:1px solid #ddd;border-radius:50px;padding:5px 12px}.badge-status-success{background:var(--mi-verde-exito);color:#fff;border-radius:50px;padding:5px 12px}.badge-status-warning{background:var(--mi-salmon);color:#fff;border-radius:50px;padding:5px 12px}.badge-status-info{background:var(--mi-turquesa);color:#fff;border-radius:50px;padding:5px 12px}.btn-history-round{color:#6c757d;background:#f8f9fa;border:1px solid #ddd;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin-left:5px;transition:all .2s;display:inline-flex}.btn-history-round:hover{background:var(--mi-celeste-claro);color:var(--mi-azul)}.table-eval{width:100%;vertical-align:middle!important}.table-eval thead{color:#6c757d;background-color:#f8f9fa;font-size:.85rem}.table-eval th,.table-eval td{border-bottom:1px solid #eee;padding:1rem!important}.student-name-eval{color:var(--mi-azul);font-weight:700}.eval-panel{margin:0}.eval-file-section{border-right:1px solid #eee;padding-bottom:20px}.eval-label{color:#adb5bd;text-transform:uppercase;letter-spacing:1px;margin-bottom:1.25rem;font-size:.75rem;font-weight:800}.eval-preview-container{background-color:#f8f9fa;border:1px solid #eee;border-radius:15px;justify-content:center;align-items:center;min-height:250px;padding:10px;display:flex;overflow:hidden}.eval-img-preview{cursor:zoom-in;border-radius:10px;width:auto;max-width:100%;max-height:400px;transition:all .3s;box-shadow:0 4px 10px #0000001a}.eval-img-preview:hover{transform:scale(1.02)}.eval-pdf-placeholder{text-align:center;padding:2rem}.eval-help-text{color:#6c757d;text-align:center;margin-top:10px;font-size:.75rem}.eval-form-section{padding-left:2rem!important}.eval-textarea{font-size:.9rem;background-color:#f8f9fa!important;border:none!important;border-radius:15px!important;padding:15px!important}.eval-actions-container{margin-top:1.5rem}.btn-eval-submit{width:100%;margin-bottom:10px;border-radius:50px!important;padding:12px!important;font-size:.9rem!important;box-shadow:0 4px 6px #0000000d!important}.historial-list{max-height:70vh;overflow-y:auto}.historial-item{flex-direction:column;gap:1rem;display:flex;border-bottom:1px solid #eee!important;padding:1.5rem 1.25rem!important}.historial-file-link,.historial-file-link-docent{color:var(--mi-salmon);font-weight:700;text-decoration:none;transition:all .2s}.historial-file-link:hover,.historial-file-link-docent:hover{color:var(--mi-azul);text-decoration:underline}.historial-file-link-docent{color:var(--mi-turquesa)}.historial-feedback{background-color:#f8f9fa;border-radius:10px;margin-top:10px;padding:12px;border-left:4px solid var(--mi-celeste-claro)!important}.historial-feedback span{font-style:italic}.btn-delete-history{color:var(--mi-rojo-error);cursor:pointer;opacity:.6;background:0 0;border:none;padding:5px 8px;font-size:1rem;transition:all .2s}.btn-delete-history:hover{opacity:1;transform:scale(1.1)}.table-eval-history{border-collapse:separate;border-spacing:0 .75rem}.table-eval-history thead{color:#6c757d;background-color:#f8f9fa;font-size:.85rem}.table-eval-history th,.table-eval-history td{vertical-align:middle;padding:.8rem 1rem}.historial-comment-cell{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.alu-block-section{margin-bottom:3rem}.alu-group-title{text-transform:uppercase;color:#adb5bd;letter-spacing:1px;margin-bottom:1rem;font-size:.75rem;font-weight:800}.alu-course-card{margin-bottom:10px;overflow:hidden;box-shadow:0 2px 8px #0000000d;border-radius:15px!important}.alu-course-header{cursor:pointer;border-left:6px solid var(--mi-turquesa);justify-content:space-between;align-items:center;display:flex;background-color:#fff!important;padding:1rem 1.25rem!important}.alu-course-name{color:var(--mi-azul);font-weight:700}.alu-count-badge{color:#6c757d;background:#f8f9fa;border:1px solid #eee}.alu-student-row td{vertical-align:middle!important;padding:1rem!important}.alu-full-name{color:var(--mi-azul);font-weight:700}.alu-email-sub{color:#adb5bd;font-size:.75rem}.alu-subject-badge{color:#666;background:#f8f9fa;border-radius:6px;margin-bottom:5px;margin-right:5px;padding:5px 10px;font-size:.7rem}.alu-subject-badge.is-mine{background:var(--mi-turquesa);color:#fff}.alu-action-group{background:#fff;border:1px solid #eee;border-radius:50px;overflow:hidden}.btn-alu-action{background:#fff;border:none;padding:6px 12px;font-size:.9rem;transition:all .2s}.btn-alu-action:hover{background:#f8f9fa}.action-bar{justify-content:flex-end;display:flex}.docent-card{text-align:center;flex-direction:column;display:flex;padding-bottom:1.5rem!important}.docent-card-body{flex-grow:1;padding:1.5rem}.docent-avatar-wrap{margin-bottom:1rem;width:80px!important;height:80px!important}.docent-name{color:var(--mi-azul);margin-bottom:.25rem;font-weight:700}.docent-email{color:#6c757d;white-space:nowrap;text-overflow:ellipsis;margin-bottom:1rem;font-size:.8rem;overflow:hidden}.badge-role-tag{text-transform:uppercase;border-radius:50px;margin-bottom:1rem;padding:2px 10px;font-size:.6rem;font-weight:800;display:inline-block}.role-admin{background-color:var(--mi-gris-oscuro);color:#fff}.role-teacher{color:#666;background-color:#f8f9fa;border:1px solid #ddd}.docent-card-footer{padding:0 1.5rem}.docent-quick-actions{gap:5px;display:flex}.btn-action-icon{cursor:pointer;background:#f8f9fa;border:1px solid #ddd;border-radius:8px;flex:1;padding:6px 0;font-size:.8rem;transition:all .2s}.btn-action-icon:hover{background-color:var(--mi-celeste-claro)}.btn-finances i{color:var(--mi-verde-exito)}.btn-reset i{color:var(--mi-amarillo-alerta)}.btn-delete i{color:var(--mi-rojo-error)}.load-item-card{border:none;border-radius:15px;margin-bottom:10px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.load-item-header{background-color:#fff;padding:12px 20px}.load-switch-label{cursor:pointer;width:100%;margin-bottom:0;font-weight:700}.load-item-body{background-color:#fff;border-top:1px solid #f8f9fa;padding:10px 20px 20px 50px}.chat-container{background:#fff;border:1px solid #eee;height:75vh;display:flex;overflow:hidden;box-shadow:0 4px 15px #0000000d;border-radius:20px!important}.chat-sidebar{background:#f8f9fa;border-right:1px solid #eee;width:300px;overflow-y:auto}.chat-main{background:#fff;flex-direction:column;flex:1;display:flex}.contact-item{cursor:pointer;border-bottom:1px solid #eee;align-items:center;gap:15px;padding:15px;transition:all .2s;display:flex}.contact-item:hover{background:#e9ecef}.contact-avatar{object-fit:cover;border:1px solid #ddd;border-radius:50%;width:45px;min-width:45px;height:45px}.contact-info{flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex}.msg-area{background-color:#f0f2f5;flex-direction:column;flex:1;gap:10px;padding:20px;display:flex;overflow-y:auto}.msg-bubble{word-wrap:break-word;max-width:75%;padding:10px 15px;font-size:.9rem;border-radius:15px!important}.msg-sent{background-color:var(--mi-turquesa);color:#fff;align-self:flex-end;border-bottom-right-radius:2px!important}.msg-received{background-color:#fff;border:1px solid #ddd;align-self:flex-start;border-bottom-left-radius:2px!important}.badge-msg-count{font-size:.7rem;display:none}#editor-contrato{color:#000;cursor:text;background:#fff;font-family:Times New Roman,Times,serif}#editor-contrato p,#editor-contrato li,#editor-contrato .signature-box{page-break-inside:avoid;break-inside:avoid;margin-bottom:12pt}#editor-contrato h1,#editor-contrato h2,#editor-contrato h3{page-break-after:avoid;break-after:avoid}.hero-section{background-color:#d1d9db;align-items:center;padding:80px 0;display:flex}.hero-section img,.col-lg-6 img{object-fit:contain;max-width:100%;height:auto;max-height:350px}.site-footer{z-index:10;width:100%;margin-top:0;padding:40px 0;position:relative;background-color:var(--mi-azul)!important;color:#fff!important;text-align:center!important}.site-footer p{color:#fff;margin:0}.whatsapp-float{text-align:center;z-index:2000;background-color:#25d366;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:30px;transition:all .3s;display:flex;position:fixed;bottom:40px;right:40px;box-shadow:2px 2px 3px #999;color:#fff!important;text-decoration:none!important}.whatsapp-float:hover{background-color:#128c7e;transform:scale(1.1)}.ui-filtered-out{display:none!important}.ui-filtered-in{animation:.4s forwards fadeIn}.empty-state{text-align:center;color:#adb5bd;padding:3rem;font-style:italic}.loader-container{text-align:center;padding:5rem 0}.loader-container p{color:#6c757d;margin-top:1rem}.progress-wrapper{margin-top:1rem;display:none}.progress-wrapper .progress{border-radius:10px;height:10px}.btn-loading{pointer-events:none;position:relative;color:#0000!important}.btn-loading:after{content:"";border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;margin-top:-8px;margin-left:-8px;animation:.8s linear infinite spin;position:absolute;top:50%;left:50%}@keyframes spin{to{transform:rotate(360deg)}}.pulse-orange{animation:2s infinite pulse-orange-animation}@keyframes pulse-orange-animation{0%{box-shadow:0 0 #f6b09266}70%{box-shadow:0 0 0 10px #f6b09200}to{box-shadow:0 0 #f6b09200}}.preview-updated{animation:.5s pulse-preview}@keyframes pulse-preview{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.mobile-nav-toggle{z-index:9999;background:var(--mi-gris-oscuro);color:#fff;cursor:pointer;border:none;padding:10px 15px;display:none;position:fixed;top:15px;left:15px;border-radius:10px!important}@media (width<=991.98px){.mobile-nav-toggle{display:block}#sidebar-menu{z-index:1050;visibility:hidden;width:260px;height:100vh;transition:all .3s;position:fixed;top:0;left:-260px}#sidebar-menu.active{visibility:visible;left:0}#sidebar-overlay.active{z-index:1040;display:block}main{width:100%!important;max-width:100%!important;padding-top:80px!important}.main-wrapper{flex-direction:column}.eval-file-section{border-bottom:1px solid #eee;border-right:none;margin-bottom:20px}.eval-form-section{padding-left:15px!important}}@media print{#sidebar-menu,.site-navbar,.site-footer,.mobile-nav-toggle,#sidebar-overlay,.whatsapp-float,button,.btn{display:none!important}main,.col-md-10,.col-lg-8{flex:0 0 100%!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}body{background-color:#fff!important}.card-custom,.card,.modal-content{page-break-inside:avoid;box-shadow:none!important;border:1px solid #ccc!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}.presence-indicator-dot{z-index:2;border:2px solid #fff;border-radius:50%;width:13px;height:13px;position:absolute;bottom:0;right:0}.presence-indicator-dot.online{background-color:#28a745;box-shadow:0 0 5px #28a745}.multimedia-drawer{z-index:1000;background:#fff;border:1px solid #eee;border-radius:20px;max-height:280px;position:absolute;bottom:80px;left:15px;right:15px;overflow:hidden;box-shadow:0 -5px 25px #0000001a}#multimedia-content{background:#fdfdfd;max-height:220px;overflow-y:auto}.chat-media-content{background:0 0!important;border:none!important;padding:0!important}.chat-media-content img{max-width:120px;display:block}.contact-item:hover{background-color:#f8f9fa!important}.chat-sidebar{scrollbar-width:thin;scrollbar-color:#dee2e6 transparent}.msg-bubble{transition:all .2s;position:relative}.msg-actions i{cursor:pointer;color:#adb5bd;font-size:.7rem}.msg-actions i:hover{color:var(--mi-turquesa)}.chat-sticker{border-radius:10px;max-width:120px}.emoji-item:hover{cursor:pointer;transition:all .1s;transform:scale(1.3)}.fa-check-double,.fa-check{font-size:.7rem}.chat-container{background:#fff;border:1px solid #eee;height:75vh;display:flex;overflow:hidden;border-radius:25px!important}.chat-sidebar{background:#fcfcfc;border-right:1px solid #eee;flex-direction:column;width:320px;display:flex}.chat-main{background:#fff;flex-direction:column;flex:1;display:flex;position:relative}.msg-area{background:#f4f7f6;flex-direction:column;flex:1;gap:10px;display:flex;overflow-y:auto}.msg-bubble-wrapper{width:100%;margin-bottom:8px;display:flex}.msg-sent-wrapper{justify-content:flex-end}.msg-received-wrapper{justify-content:flex-start}.msg-bubble{border-radius:18px;max-width:75%;padding:10px 15px;font-size:.92rem;position:relative}.msg-sent{background:var(--mi-azul);color:#fff;border-bottom-right-radius:4px}.msg-received{color:#333;background:#fff;border-bottom-left-radius:4px}.msg-footer{opacity:.7;text-align:right;margin-top:4px;font-size:.65rem}.msg-actions{z-index:5;background:#fff;border-radius:10px;padding:2px 8px;display:none;position:absolute;top:-20px;right:0;box-shadow:0 2px 10px #0000001a}.msg-bubble:hover .msg-actions{gap:10px;display:flex}.msg-actions span{cursor:pointer;color:#999;font-size:.75rem}.msg-actions span:hover{color:var(--mi-turquesa)}.multimedia-drawer{background:#fff;border-top:1px solid #eee;max-height:300px;overflow-y:auto}.chat-sticker{border-radius:10px;max-width:150px;display:block}.sticker-item{object-fit:contain;cursor:pointer;width:70px;height:70px;transition:all .2s}.sticker-item:hover{transform:scale(1.1)}.presence-indicator-dot{border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;bottom:2px;right:2px}.presence-indicator-dot.online{background-color:#28a745}.presence-indicator-dot.offline{background-color:#adb5bd}.pointer{cursor:pointer}.report-body{background:#f0f2f5;margin:0;padding:0}.report-wrapper{padding-top:60px}.report-page{box-sizing:border-box;page-break-after:always;background:#fff;width:21.59cm;min-height:27.5cm;margin:0 auto 1cm;padding:1.5cm;box-shadow:0 0 15px #0000001a}.report-header{border-bottom:3px solid var(--mi-turquesa);justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:10px;display:flex}.report-logo{max-height:55px}.report-header-info{text-align:right}.report-header-info h1{color:var(--mi-azul);margin:0;font-family:Playpen Sans,cursive;font-size:1.5rem}.report-header-info p{text-transform:capitalize;color:#666;margin:0;font-weight:700}.report-banner{background:var(--mi-azul);color:#fff;border-radius:12px;margin-bottom:30px;padding:15px 25px}.report-label{text-transform:uppercase;opacity:.85;letter-spacing:1px;font-size:.75rem;font-weight:800;display:block}.report-teacher-name{margin-top:2px;font-family:Playpen Sans,cursive;font-size:1.35rem;display:block}.report-class-block{break-inside:avoid;page-break-inside:avoid;border:1px solid #e0e6ed;border-radius:12px;margin-bottom:20px;overflow:hidden}.report-class-header{background-color:var(--mi-crema);border-bottom:2px solid var(--mi-turquesa);color:var(--mi-azul);justify-content:space-between;align-items:center;padding:10px 15px;font-weight:700;display:flex}.report-class-title{font-family:Playpen Sans,cursive;font-size:1rem}.report-class-math{font-family:monospace;font-size:.85rem}.report-student-grid{background:#fff;grid-template-columns:1fr 1fr;gap:6px 30px;padding:15px;display:grid}.report-student-item{color:#444;white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #f4f6f8;font-size:.85rem;overflow:hidden}.report-total-section{text-align:right;border-top:2px dashed #ccc;margin-top:40px;padding-top:20px}.report-total-amount{background:var(--mi-salmon);color:#fff;border-radius:50px;margin-top:5px;padding:10px 35px;font-size:1.5rem;font-weight:900;display:inline-block;box-shadow:0 4px 10px #f6b0924d}.report-print-toolbar{background:var(--mi-azul);color:#fff;z-index:1000;justify-content:center;align-items:center;gap:30px;padding:12px;display:flex;position:fixed;top:0;left:0;right:0}.report-print-toolbar button{background:var(--mi-salmon);color:#fff;cursor:pointer;border:none;border-radius:50px;padding:8px 25px;font-weight:700;transition:all .2s}.report-print-toolbar button:hover{background:#e09b7f;transform:scale(1.05)}@media print{.report-body{background:#fff!important}.report-page{box-shadow:none!important;width:100%!important;margin:0!important;padding:1cm!important}.no-print{display:none!important}}
