:root{--color-primary: #e60023;--color-primary-dark: #b3001b;--color-bg: #0a0a0a;--color-surface: #1a1a1a;--color-text: #ffffff;--color-text-muted: #a0a0a0;--font-main: "Inter", system-ui, -apple-system, sans-serif;--radius-md: 12px;--radius-lg: 24px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--color-bg);color:var(--color-text);line-height:1.5;overflow-x:hidden}button{cursor:pointer;border:none;background:none;font-family:inherit}input{font-family:inherit}.glass-panel{background:#1a1a1a99;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0006}.text-gradient{background:linear-gradient(135deg,#fff,#ccc);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.animate-fade-in{animation:fadeIn .8s ease-out forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-container{width:100%;max-width:400px;padding:2rem;display:flex;flex-direction:column;align-items:center;text-align:center}@media(min-width:769px){.login-container.glass-panel{background:transparent;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}}.logo-wrapper{width:100px;height:100px;margin-bottom:1.5rem;border-radius:50%;overflow:hidden;border:2px solid var(--color-primary);box-shadow:0 0 15px #e6002333}.logo{width:100%;height:100%;object-fit:cover}.title{font-size:2rem;font-weight:800;letter-spacing:2px;margin-bottom:.2rem;text-transform:uppercase;color:#fff}.subtitle{color:var(--color-primary);font-size:1rem;font-weight:600;letter-spacing:4px;margin-bottom:2rem;text-transform:uppercase}.login-form{width:100%;display:flex;flex-direction:column;gap:1.2rem}.input-group{position:relative}.input-field{width:100%;padding:1rem 1.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:#fff;font-size:1rem;transition:all .3s ease}.input-field:focus{outline:none;border-color:var(--color-primary);background:#ffffff1a;box-shadow:0 0 0 1px #e600234d}.submit-btn{width:100%;padding:1rem;background:var(--color-primary);color:#fff;font-weight:700;font-size:1rem;letter-spacing:1px;border-radius:var(--radius-md);transition:all .3s ease;margin-top:.5rem;text-transform:uppercase;box-shadow:0 4px 15px #e600234d}.submit-btn:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 6px 20px #e6002380}.submit-btn:active{transform:translateY(0)}@media(max-width:768px){.login-container{padding:2rem;max-width:380px;background:#141414d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);box-shadow:0 8px 32px #00000080}.title{font-size:1.8rem}}.app-container{display:flex;width:100vw;height:100vh;background-color:var(--color-bg);overflow:hidden}@media(min-width:769px){.app-container{padding:1.5rem;gap:1.5rem}.image-section{border-radius:2rem;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 40px #0006}.login-section{border-radius:2rem}}.login-section{flex:1;display:flex;justify-content:center;align-items:center;padding:2rem;background:linear-gradient(135deg,#0a0a0a,#1a1a1a);position:relative;z-index:2}.image-section{flex:1.2;position:relative;overflow:hidden;display:none}.poster-image{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s ease}.image-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to right,#0a0a0a,#0a0a0a00 20%);pointer-events:none}.image-section:hover .poster-image{transform:scale(1.05)}@media(min-width:769px){.image-section{display:block}}@media(max-width:768px){.app-container{flex-direction:column}.image-section{display:block;position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.image-overlay{background:#000000bf}.login-section{flex:1;width:100%;height:100%;padding:1rem;align-items:center;justify-content:center;background:transparent;border-radius:0;margin-top:0;box-shadow:none;z-index:1}}.sidebar{width:250px;height:100vh;background-color:#1a1a1a;border-right:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;padding:1.5rem;position:fixed;left:0;top:0;z-index:100;transition:transform .3s ease}.sidebar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:3rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.05)}.header-content{display:flex;align-items:center;gap:1rem}.sidebar-logo{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid var(--color-primary)}.sidebar-title{font-size:1.2rem;font-weight:800;letter-spacing:1px;color:#fff}.close-btn{display:none;color:#fff;padding:4px}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem;flex:1}.nav-item{display:flex;align-items:center;gap:1rem;padding:.8rem 1rem;border-radius:var(--radius-md);color:var(--color-text-muted);text-decoration:none;transition:all .2s ease;font-weight:500;cursor:pointer;width:100%;text-align:left}.nav-item:hover{background-color:#ffffff0d;color:#fff}.nav-item.active{background-color:var(--color-primary);color:#fff;box-shadow:0 4px 12px #e600234d}.logout-btn{color:#ff4d4d}.logout-btn:hover{background-color:#ff4d4d1a;color:#ff4d4d}.sidebar-overlay{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:90;opacity:0;transition:opacity .3s ease}@media(max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay.open{display:block;opacity:1}.close-btn{display:block}}.dashboard-layout{display:flex;width:100vw;height:100vh;background-color:var(--color-bg)}.dashboard-content{flex:1;margin-left:250px;display:flex;flex-direction:column;height:100vh;overflow:hidden;transition:margin-left .3s ease}.dashboard-header{height:80px;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.05);background-color:#0a0a0acc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-left{display:flex;align-items:center;gap:1rem}.menu-btn{display:none;color:#fff;padding:4px}.header-title{font-size:1.5rem;font-weight:700}.user-profile{display:flex;align-items:center;gap:1rem}.user-name{font-weight:600}.avatar{width:40px;height:40px;border-radius:50%;background-color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-weight:700}.content-scroll{flex:1;overflow-y:auto;padding:2rem}@media(max-width:768px){.dashboard-content{margin-left:0}.dashboard-header{padding:0 1rem}.menu-btn{display:block}.header-title{font-size:1.2rem}.user-name{display:none}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background-color:#1a1a1a;padding:1.5rem;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.05);transition:transform .2s ease}.stat-card:hover{transform:translateY(-5px);border-color:var(--color-primary)}.stat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.stat-title{color:var(--color-text-muted);font-size:.9rem;font-weight:500}.stat-icon{background-color:#e600231a;padding:8px;border-radius:8px}.stat-value{font-size:2rem;font-weight:700;margin-bottom:.5rem}.stat-trend{font-size:.85rem;color:#4caf50}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem}.chart-card{background-color:#1a1a1a;padding:1.5rem;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.05);height:400px;display:flex;flex-direction:column}.chart-title{font-size:1.1rem;font-weight:600;margin-bottom:1.5rem}.chart-container{flex:1;width:100%;min-height:0}@media(max-width:768px){.charts-grid{grid-template-columns:1fr}}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-title{font-size:1.5rem;font-weight:700}.add-btn{background-color:var(--color-primary);color:#fff;padding:.8rem 1.5rem;border-radius:var(--radius-md);display:flex;align-items:center;gap:.5rem;font-weight:600;transition:background-color .2s}.add-btn:hover{background-color:var(--color-primary-dark)}.filters-bar{margin-bottom:1.5rem}.search-wrapper{position:relative;max-width:400px}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--color-text-muted)}.search-input{width:100%;padding:.8rem 1rem .8rem 3rem;background-color:#1a1a1a;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:#fff}.search-input:focus{outline:none;border-color:var(--color-primary)}.table-container{background-color:#1a1a1a;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.05);overflow-x:auto}.students-table{width:100%;border-collapse:collapse;text-align:left}.students-table th{padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.05);color:var(--color-text-muted);font-weight:500;font-size:.9rem}.students-table td{padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.05)}.student-info{display:flex;align-items:center;gap:1rem;font-weight:500}.student-avatar{width:32px;height:32px;background-color:#333;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;color:#fff}.status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:500}.status-badge.activo{background-color:#4caf5026;color:#4caf50}.status-badge.inactivo{background-color:#f4433626;color:#f44336}.status-badge.pendiente{background-color:#ff980026;color:#ff9800}.action-btn{color:var(--color-text-muted);padding:4px;border-radius:4px}.action-btn:hover{background-color:#ffffff1a;color:#fff}.page-subtitle{color:var(--color-text-muted);margin-top:.5rem}.exam-options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:2rem}.exam-card{background-color:#1a1a1a;border-radius:var(--radius-md);padding:1.5rem;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(255,255,255,.05);border-left-width:4px;cursor:pointer;transition:all .3s ease}.exam-card:hover{transform:translate(5px);background-color:#222;box-shadow:0 4px 12px #0003}.exam-card-content{display:flex;align-items:center;gap:1rem}.exam-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center}.exam-title{font-size:1.1rem;font-weight:600;color:#fff}.exam-action{color:var(--color-text-muted);transition:transform .2s ease}.exam-card:hover .exam-action{transform:translate(3px);color:#fff}.back-btn{color:#fff;padding:.5rem;margin-right:1rem;border-radius:50%;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.back-btn:hover{background-color:#ffffff1a}.photo-cell{width:48px;height:48px;position:relative;cursor:pointer;border-radius:8px;overflow:hidden}.student-thumbnail{width:100%;height:100%;object-fit:cover}.zoom-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;color:#fff}.photo-cell:hover .zoom-overlay{opacity:1}.font-medium{font-weight:500}.status-badge.aplicado{background-color:#4caf5026;color:#4caf50;display:inline-flex;align-items:center;gap:.4rem}.status-badge.pendiente{background-color:#ff980026;color:#ff9800;display:inline-flex;align-items:center;gap:.4rem}.image-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000e6;z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem;animation:fadeIn .3s ease}.modal-image{max-width:100%;max-height:90vh;border-radius:8px;box-shadow:0 0 20px #00000080}.unified-close-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:50%;border:none;cursor:pointer;transition:all .2s ease;z-index:20;flex-shrink:0}.unified-close-btn.light-text{color:#fffc;background-color:#ffffff1a}.unified-close-btn.light-text:hover{color:#fff;background-color:#fff3;transform:scale(1.05)}.unified-close-btn.dark-text{color:#0009;background-color:#0000000d}.unified-close-btn.dark-text:hover{color:#000;background-color:#0000001a;transform:scale(1.05)}.unified-close-btn.absolute-top-right{position:absolute;top:.5rem;right:.5rem}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem}.modal-content{background-color:#1a1a1a;border-radius:var(--radius-lg);width:100%;max-width:500px;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 50px #00000080}.modal-header{padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:1.25rem;font-weight:600}.edit-form{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group label{color:var(--color-text-muted);font-size:.9rem}.form-group input,.form-group select{background-color:#ffffff0d;border:1px solid rgba(255,255,255,.1);padding:.8rem;border-radius:var(--radius-md);color:#fff;font-size:1rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);background-color:#ffffff14}.modal-actions{margin-top:1rem;display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid rgba(255,255,255,.05)}.right-actions{display:flex;gap:1rem}.btn-primary,.btn-secondary,.btn-danger{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:#cc0020}.btn-secondary{background-color:transparent;border:1px solid rgba(255,255,255,.2);color:#fff}.btn-secondary:hover{background-color:#ffffff0d}.btn-danger{background-color:#ff4d4d1a;color:#ff4d4d}.btn-danger:hover{background-color:#ff4d4d33}@media(max-width:768px){.mobile-hide-text span{display:none}.mobile-hide-text{padding:.8rem}.mobile-hide{display:none}.add-btn.mobile-hide-text{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);z-index:100;width:90%;max-width:400px;height:auto;border-radius:var(--radius-md);padding:.8rem 1.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 20px #0006;background-color:var(--color-primary);color:#fff;border:none;font-weight:600}.add-btn.mobile-hide-text span{display:inline-block}.add-btn.mobile-hide-text svg{width:20px;height:20px}.table-container{padding-bottom:5rem}.modal-overlay{display:flex;align-items:center;justify-content:center;padding:2rem 1rem;overflow:hidden}.form-row{grid-template-columns:1fr;gap:.5rem}.modal-content{width:100%;height:auto;max-height:calc(100vh - 4rem);margin:0;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;background-color:#1a1a1a}.edit-form{overflow-y:auto;flex:1;padding-bottom:4rem}.certificate-modal-content{width:95%;margin:auto;max-height:90vh;overflow-y:auto;height:auto;position:relative;border-radius:var(--radius-lg)}.modal-actions{flex-direction:column-reverse;gap:1rem}.right-actions{width:100%;display:flex;gap:1rem}.right-actions button{flex:1;justify-content:center}.btn-danger{width:100%;justify-content:center}.students-table th:first-child,.students-table td:first-child{position:sticky;left:0;z-index:10;background-color:#111;box-shadow:2px 0 5px #0000004d}}.photo-upload-container{display:flex;align-items:center;justify-content:center;gap:1.5rem;padding:.5rem 0}.photo-preview{width:80px;height:80px;border-radius:12px;object-fit:cover;border:2px solid rgba(255,255,255,.1);transition:opacity .2s;display:block}.photo-preview-wrapper{position:relative;cursor:pointer;display:inline-block;border-radius:12px;overflow:hidden}.photo-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;color:#fff}.photo-preview-wrapper:hover .photo-overlay{opacity:1}@media(hover:none){.photo-overlay{opacity:1;background-color:#0003}}.photo-preview:hover{opacity:.8;border-color:#ffffff4d}.upload-btn-label{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background-color:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;color:#fff;font-size:.9rem}.upload-btn-label:hover{background-color:#ffffff1a;border-color:#fff3}.certificate-modal-content{background-color:#fff;border-radius:var(--radius-lg);padding:1rem;max-width:800px;width:90%;position:relative;display:flex;flex-direction:column;gap:1rem}.certificate-preview{position:relative;width:100%;border-radius:8px;overflow:hidden;box-shadow:0 4px 12px #0000001a}.certificate-img{width:100%;height:auto;display:block}.certificate-name-overlay{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);font-family:Brush Script MT,cursive,serif;font-size:clamp(1.5rem,4vw,3rem);color:#ff4d4d;font-weight:700;text-align:center;width:80%;text-shadow:1px 1px 2px rgba(0,0,0,.1)}.certificate-actions{display:flex;justify-content:center;padding-top:.5rem}.whatsapp-btn{background-color:#25d366;color:#fff;border:none;padding:.8rem 1.5rem;border-radius:50px;font-weight:600;display:flex;align-items:center;gap:.5rem;cursor:pointer;transition:background-color .2s;font-size:1rem}.whatsapp-btn:hover{background-color:#128c7e}
