@import"https://fonts.googleapis.com/css2?family=Great+Vibes&family=Cinzel:wght@400;700&family=Playfair+Display:ital,wght@0,400;0,700;1,400&display=swap";@import"https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Roboto:wght@300;400;700&family=Oswald:wght@500;700&display=swap";.karate{background-image:url(/logos/clase_karate.jpg)}.taekwondo{background-image:url(/logos/clase_taekwondo.jpg)}.indigena{background-image:url(/logos/clase_indigena.jpg)}.hero{height:100dvh;background:linear-gradient(#000000b3,#0009),url(/logos/hero.jpg) no-repeat center center/cover;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding-top:80px;position:relative;overflow:hidden;min-height:600px}#about-us{background-color:#fff!important;background-image:linear-gradient(#fff6,#fff6),url(/assets/texture-DV_ZAT2z.jpg);background-size:cover;background-position:center}.contact-section{background:linear-gradient(#000000d9,#000000d9),url(https://images.unsplash.com/photo-1555597673-b21d5c935865?ixlib=rb-1.2.1&auto=format&fit=crop&w=1950&q=80) no-repeat center center/cover;background-attachment:fixed;color:#fff;position:relative;padding:6rem 0 4rem;min-height:500px}.category-select{padding:8px 40px 8px 20px;border-radius:25px;border:1px solid #e0e0e0;background-color:#f8f9fa;color:#1d3557;font-size:.9rem;font-weight:500;outline:none;cursor:pointer;font-family:Roboto,sans-serif;transition:all .3s ease;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d3557' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 10px center;background-size:16px;box-shadow:0 2px 5px #0000000d}.whatsapp-float{position:fixed;width:60px;height:60px;bottom:30px;right:30px;background-color:#25d366;color:#fff;border-radius:50px;text-align:center;font-size:30px;box-shadow:2px 2px 3px #999;z-index:9999;display:flex!important;align-items:center;justify-content:center;text-decoration:none;transition:all .3s ease}.whatsapp-float:hover{background-color:#128c7e;transform:scale(1.1)}@media (max-width: 768px){.nav-menu.active,.mobile-menu.active,nav.active,.nav-links.nav-active{display:flex!important;flex-direction:column!important;background-color:#000000f2!important;position:fixed!important;top:0!important;right:0!important;left:auto!important;width:75%!important;height:100vh!important;z-index:9999!important;box-shadow:none!important;padding:90px 20px 40px!important;transform:none!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-menu.active a,.mobile-menu.active a,.nav-links.nav-active a,.nav-links.nav-active li a,.nav-links.nav-active .btn-small,.nav-links.nav-active button{display:block!important;padding:12px 0!important;color:#f1f1f1!important;border-bottom:1px solid rgba(255,255,255,.1)!important;font-size:1.1rem!important;text-decoration:none!important;font-weight:500!important;opacity:1!important;text-align:left!important;font-family:Roboto,sans-serif;letter-spacing:.5px;transition:color .2s;background:none!important;border-radius:0!important;margin:0!important;width:100%!important;text-transform:none!important}.nav-links.nav-active a:hover{color:#e63946!important}.nav-links.nav-active li{margin:0!important;opacity:1!important;width:100%!important}}.ranking-public-body{font-family:Roboto,sans-serif;background-color:#f0f2f5;color:#333;min-height:100vh;position:absolute;top:0;left:0;width:100%;z-index:1001;overflow-y:auto}.ranking-main{max-width:1400px;margin:20px auto;padding:0 20px;min-height:80vh}.ranking-header{background-color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px #0000000d;border-bottom:1px solid #e0e0e0;position:relative}.header-left{display:flex;align-items:center;gap:1.5rem}.logo{height:50px}.header-title h1{font-size:1.5rem;font-weight:700;color:#1d3557;margin:0;line-height:1.2}.header-title h2{font-size:.9rem;font-weight:500;color:#666;margin:0;text-transform:uppercase;letter-spacing:1px}.header-right{display:flex;align-items:center;gap:1.5rem;font-size:1.2rem;color:#555}.header-right i{cursor:pointer;transition:color .3s ease}.header-right i:hover{color:#e63946}.search-box{display:flex;align-items:center;background:#f0f2f5;border-radius:20px;padding:5px 15px;transition:all .3s ease}.search-box input{border:none;background:transparent;outline:none;padding:5px;font-size:.9rem;width:200px;color:#333}.search-box i{color:#666;font-size:1rem}.btn-home{text-decoration:none;color:#fff;background-color:#1d3557;padding:8px 15px;border-radius:20px;font-size:.9rem;font-weight:500;display:flex;align-items:center;gap:8px;transition:background-color .3s ease}.btn-home:hover{background-color:#3a5a8a}.desktop-nav{display:flex;gap:20px;margin-right:15px}.nav-link-rank{text-decoration:none;color:#555;font-weight:500;font-size:.95rem;transition:color .3s ease;text-transform:uppercase}.nav-link-rank:hover,.nav-link-rank.active{color:#1d3557;font-weight:700;border-bottom:2px solid #1d3557}.mobile-menu{position:absolute;top:100%;left:0;width:100%;background:#fff;padding:1rem;box-shadow:0 5px 10px #0000001a;display:none;flex-direction:column;gap:10px;z-index:100}.mobile-menu.active{display:flex}.mobile-menu a{text-decoration:none;color:#333;padding:10px;border-bottom:1px solid #eee;font-weight:500}#menu-toggle{display:none}.ranking-container{display:grid;grid-template-columns:1fr;gap:2rem;padding:2rem;max-width:1400px;margin:0 auto}.column-header{padding:1.5rem;border-bottom:1px solid #e9ecef}.column-header h3{font-size:1.2rem;font-weight:700;color:#1d3557;margin-bottom:1rem}.ranking-section{background-color:#fff;border-radius:12px;box-shadow:0 5px 25px #00000014;padding:30px;margin-bottom:30px}.category-select{padding:8px 40px 8px 20px;border-radius:25px;border:1px solid #e0e0e0;background-color:#f8f9fa;color:#1d3557;font-size:.9rem;font-weight:500;outline:none;cursor:pointer;font-family:Roboto,sans-serif;transition:all .3s ease;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d3557' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 10px center;background-size:16px;box-shadow:0 2px 5px #0000000d}.category-select:hover{background-color:#fff;border-color:#1d3557;box-shadow:0 4px 10px #1d355726}.category-select:focus{border-color:#e63946;box-shadow:0 0 0 3px #e639461a}.filter-tabs{display:flex;gap:10px}.tab-btn{background-color:#f1f3f5;border:1px solid #dee2e6;padding:10px 20px;border-radius:20px;cursor:pointer;font-weight:500;color:#495057;transition:all .3s ease}.tab-btn.active{background-color:#1d3557;color:#fff;border-color:#1d3557;box-shadow:0 4px 10px #1d355733}.table-container{max-height:70vh;overflow-y:auto}.ranking-table{width:100%;border-collapse:collapse;font-size:1.05rem;table-layout:fixed}.mobile-info{display:none}.ranking-table thead th{background-color:#1d3557;color:#fff;text-align:left;padding:10px 12px;font-weight:700;text-transform:uppercase;font-size:.85rem;letter-spacing:1px;position:sticky;top:0;z-index:10;border-bottom:none;box-shadow:0 2px 5px #0000001a}.ranking-table tbody td{padding:8px 12px;border-bottom:1px solid #e9ecef;vertical-align:middle;white-space:normal;overflow:visible;word-wrap:break-word}.ranking-table tbody tr:nth-child(2n){background-color:#f8f9fa}.ranking-table tbody tr:hover{background-color:#f1f3f5;transform:scale(1.005);box-shadow:0 2px 10px #0000000d;z-index:1;position:relative}#black-belt-view .ranking-table thead th{background-color:#000;color:#d4af37;border-bottom:2px solid #d4af37}#black-belt-view .ranking-table tbody tr:hover{background-color:#fff9e6}.ranking-table tbody tr td:first-child{font-weight:700;color:#333;text-align:center}.col-num{width:60px}.col-rank{width:60px;text-align:center;font-weight:700;color:#1d3557}.col-name{width:auto}.col-score{width:120px;text-align:center}.col-total{width:100px;text-align:center}.col-club{width:25%}.col-cat{width:15%;font-size:.85rem}.col-score,.col-total{font-weight:700;color:#e63946}@media (max-width: 1200px){.ranking-container{grid-template-columns:1fr}}@media (max-width: 768px){#menu-toggle{display:block;font-size:1.5rem}.desktop-nav{display:none}.ranking-header{flex-direction:column;gap:1rem;padding:1rem}.header-left{flex-direction:column;text-align:center;gap:.5rem}.header-right{width:100%;justify-content:space-between}.search-box{flex-grow:1}.ranking-container{padding:1rem;gap:1rem}.column-header{padding:1rem}.filter-tabs{flex-wrap:wrap}.tab-btn{flex-grow:1}.ranking-table,.ranking-table tbody,.ranking-table tr,.ranking-table td{display:block;width:100%}.ranking-table thead{display:none}.ranking-table tr{margin-bottom:15px;background:#fff;border-radius:10px;box-shadow:0 3px 10px #00000014;border:1px solid #eee;overflow:hidden}.ranking-table td{text-align:left!important;padding:12px 15px!important;position:relative;border-bottom:1px solid #f0f0f0;display:flex;flex-direction:column;align-items:flex-start!important}.ranking-table td:last-child{border-bottom:none}.ranking-table td:before{content:attr(data-label);font-weight:700;color:#1d3557;font-size:.75rem;text-transform:uppercase;text-align:left;margin-bottom:5px}.ranking-table tbody tr td:first-child{background-color:#f8f9fa;color:#1d3557;font-weight:800;border-bottom:2px solid #e9ecef}#black-belt-view .ranking-table tbody tr td:first-child{background-color:#111;color:#d4af37;border-bottom:1px solid #d4af37}}.page-btn.active{background-color:#1d3557;color:#fff;border-color:#1d3557}footer{background-color:#0f172a;color:#94a3b8;padding:35px 0 15px;font-size:.9rem;border-top:4px solid #e63946;margin-top:30px}.footer-section h3{color:#f8fafc;font-family:Oswald,sans-serif;font-size:1.1rem;margin-bottom:15px;text-transform:uppercase;letter-spacing:1px;position:relative}.footer-section h3:after{content:"";display:block;width:30px;height:3px;background:#e63946;margin-top:8px;border-radius:2px}.footer-section p{color:#94a3b8;line-height:1.6;margin-bottom:10px;font-size:.9rem}.footer-section ul li a:hover{color:#e63946;transform:translate(5px);display:inline-block}.footer-section i{color:#e63946;margin-right:10px;width:20px;text-align:center}.footer-section .social-links a{width:36px;height:36px;background:#ffffff0d;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease;color:#fff;margin:0;font-size:1rem;text-decoration:none}.footer-section .social-links a:hover{background:#e63946;transform:translateY(-3px);box-shadow:0 5px 15px #e639464d}:root{--primary-color: #ef4444;--secondary-color: #1f2937;--accent-color: #3b82f6;--bg-color: #f3f4f6;--card-bg: #ffffff;--text-main: #1f2937;--text-light: #6b7280;--border-color: #e5e7eb;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--radius-md: .375rem;--radius-lg: .5rem;--sidebar-width: 260px;--header-height: 64px}.school-panel-body{background-color:var(--bg-color);font-family:Roboto,sans-serif;color:var(--text-main);-webkit-font-smoothing:antialiased;height:100vh;overflow:hidden}.school-header{background-color:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;height:var(--header-height);padding:0 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:none;position:fixed;top:0;left:0;z-index:40;border-bottom:1px solid var(--border-color);width:100%}.menu-toggle{display:none;font-size:1.5rem;cursor:pointer;margin-right:15px;color:var(--secondary-color)}.logo{color:var(--secondary-color);font-size:1.3rem;font-weight:800;font-family:Oswald,sans-serif;display:flex;align-items:center;gap:10px;max-width:55%}.logo i{color:var(--primary-color)}.logo span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logo img{height:45px;width:auto;object-fit:contain;flex-shrink:0}.header-right-actions{display:flex;align-items:center;gap:20px}.notification-bell{position:relative;cursor:pointer;color:#666;font-size:1.2rem;transition:color .3s}.notification-bell:hover{color:var(--primary-color)}.notification-bell .badge{position:absolute;top:-5px;right:-5px;background:var(--primary-color);color:#fff;font-size:.6rem;font-weight:700;padding:2px 5px;border-radius:10px;border:2px solid white}.user-profile{display:flex;align-items:center;gap:15px;background:transparent;padding:5px 10px;border-radius:var(--radius-md);border:none;transition:all .3s ease}.user-info-text{display:flex;flex-direction:column;align-items:flex-end;margin-right:5px}.user-name{font-size:.9rem;font-weight:700;color:#333}.user-role{font-size:.75rem;color:#777}.user-profile:hover{background:#f9fafb;box-shadow:none}.school-wrapper{display:flex;height:100%;padding-top:var(--header-height)}.sidebar{width:var(--sidebar-width);background:var(--secondary-color);color:#9ca3af;padding:1rem .8rem;position:fixed;height:calc(100vh - var(--header-height));left:0;top:var(--header-height);overflow-y:auto;transition:width .3s ease,transform .3s ease;box-shadow:none;border-right:none;z-index:30;scrollbar-width:none}.sidebar::-webkit-scrollbar{display:none}.sidebar ul{list-style:none;padding:0}.sidebar ul li{margin-bottom:2px}.sidebar a{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-md);transition:all .3s;color:#9ca3af;font-weight:500;text-decoration:none;font-size:.85rem;margin-bottom:2px;border-left:none}.sidebar a:hover{background-color:#374151;color:#fff;transform:none}.sidebar-badge{background-color:var(--primary-color);color:#fff;font-size:.75rem;padding:2px 8px;border-radius:12px;margin-left:auto;font-weight:700;box-shadow:0 2px 5px #0003}.chart-container{padding:1rem 0}.bar-chart{display:flex;flex-direction:column;gap:12px}.chart-bar-group{display:flex;align-items:center;gap:10px;animation:fadeIn .5s ease-out forwards}.bar-label{width:80px;font-size:.8rem;font-weight:500;color:#666;text-align:right;flex-shrink:0}.bar-wrapper{flex:1;background:#f0f2f5;border-radius:5px;height:28px;overflow:hidden}.bar{height:100%;border-radius:5px;display:flex;align-items:center;justify-content:flex-end;padding-right:10px;color:#fff;font-weight:700;font-size:.85rem;transition:width .8s cubic-bezier(.25,1,.5,1);min-width:25px;text-shadow:1px 1px 2px rgba(0,0,0,.2)}.bar-value{opacity:1}.btn-glass{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .3s ease}.btn-glass:hover{background:#ffffff40;transform:translateY(-2px);box-shadow:0 4px 15px #0000001a}.sidebar a.active{background-color:var(--primary-color);color:#fff;box-shadow:none}.sidebar a i{width:20px;text-align:center;font-size:1rem}.sidebar-toggle-container{display:flex;justify-content:flex-end;padding:0 5px 10px}.collapse-btn{background:var(--primary-color);border:none;color:#fff;width:32px;height:32px;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s}.sidebar.collapsed{width:80px}.sidebar.collapsed .sidebar-toggle-container{justify-content:center}.sidebar.collapsed a span{display:none}.sidebar.collapsed a{justify-content:center;padding:15px}.sidebar.collapsed a i{margin:0;font-size:1.3rem}.main-content{margin-left:var(--sidebar-width);padding:1rem;transition:margin-left .3s ease;height:100%;overflow-y:auto;margin-top:0}.main-content.expanded{margin-left:80px}.school-container{max-width:100%;margin:0;display:grid;gap:2rem;animation:fadeIn .5s ease-out}.dashboard-layout{grid-template-columns:3fr 1fr;align-items:start}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin-bottom:2rem}.dashboard-layout .quick-actions-grid{grid-template-columns:repeat(2,1fr)}@media (max-width: 1400px){.dashboard-layout{grid-template-columns:1fr}.dashboard-layout .quick-actions-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}.school-hero{background:linear-gradient(135deg,#036,#004080);border-radius:24px;padding:2.5rem;color:#fff;position:relative;overflow:hidden;box-shadow:0 20px 40px #00000026;margin-bottom:10px;border:1px solid rgba(255,255,255,.1)}.hero-bg-pattern{position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1px);background-size:20px 20px;opacity:.3;pointer-events:none}.school-hero:before{content:"";position:absolute;top:-100px;right:-100px;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 70%);border-radius:50%;z-index:0}.hero-content-wrapper{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.hero-logo{width:90px;height:90px;background:#fff;border-radius:50%;padding:4px;box-shadow:0 5px 15px #0003;flex-shrink:0}.hero-logo img{width:100%;height:100%;object-fit:contain;border-radius:50%}.hero-logo-placeholder{width:80px;height:80px;background:#ffffff26;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff9}.school-title{font-family:Oswald,sans-serif;font-size:2.5rem;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:-.5px;text-shadow:0 4px 15px rgba(0,0,0,.2);font-weight:800;line-height:1.1}.school-meta{display:flex;gap:1.5rem;font-size:1rem;opacity:.9;flex-wrap:wrap}.school-meta div{display:flex;align-items:center;gap:8px}.stats-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:15px}.stat-item{background:#ffffff1f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:15px;padding:1.2rem;position:relative;overflow:hidden;transition:transform .3s ease,background .3s ease;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;min-height:110px}.stat-item:hover{transform:translateY(-5px);background:#fff3;border-color:#fff6}.stat-item.warning{background:#e74c3c33;border-color:#e74c3c4d}.stat-item.highlight{background:#f1c40f33;border-color:#f1c40f4d}.stat-icon-bg{position:absolute;top:10px;right:10px;font-size:1.5rem;opacity:.5}.stat-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;opacity:.8;font-weight:500;margin-top:5px}.stat-value{font-size:2rem;font-weight:700;font-family:Oswald,sans-serif;line-height:1.1;text-shadow:0 2px 10px rgba(0,0,0,.1);margin-top:auto}.panel{background:#fff;border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:transform .3s ease}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;border-bottom:1px solid var(--border-color);padding-bottom:10px;flex-wrap:wrap;gap:15px}.panel-title{font-size:1.1rem;font-weight:600;color:#8898aa;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:10px;border-bottom:none;padding-bottom:15px;margin-bottom:20px;width:100%}.panel-header .panel-title{width:auto;border-bottom:none;padding-bottom:0;margin-bottom:0}.header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.search-input{padding:8px 15px;border:1px solid #d1d5db;border-radius:var(--radius-md);outline:none;min-width:200px}.panel-title i{color:var(--primary-color);background:#e639461a;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:1rem}.btn-add{background:var(--primary-color);color:#fff;border:none;padding:12px 25px;border-radius:50px;font-weight:600;cursor:pointer;box-shadow:0 5px 15px #e639464d;transition:all .3s ease;display:flex;align-items:center;gap:8px}.btn-add:hover{transform:translateY(-3px);box-shadow:0 8px 20px #e6394666;background:#d90429}.table-wrapper{border-radius:0;overflow:visible!important;border:none;box-shadow:none;background:#fff}.styled-table{border-collapse:separate;border-spacing:0;width:100%}.styled-table thead th{background-color:#f9fafb;color:#6b7280;font-weight:600;padding:12px 15px;border-bottom:1px solid var(--border-color);text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;position:sticky;top:var(--header-height);z-index:20;box-shadow:0 1px 2px #0000000d}.styled-table.with-toolbar thead th{top:calc(var(--header-height) + 60px + 60px);z-index:28}.styled-table tbody td{padding:6px 15px;border-bottom:1px solid var(--border-color);color:#2d3748;vertical-align:middle;font-size:.95rem}.styled-table tbody tr{transition:all .2s ease}.styled-table tbody tr:hover{background-color:#f9fafb;transform:none;box-shadow:none;z-index:5;position:relative}.selected-row{background-color:#eff6ff!important;border-left:none}.student-info-cell{display:flex;align-items:center;gap:12px}.avatar-initials{width:38px;height:38px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;flex-shrink:0;box-shadow:0 2px 5px #0000001a}.badge-pill{display:inline-block;padding:4px 12px;border-radius:50px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.panel-header .ranking-filters{display:flex;gap:10px;align-items:center}.panel-header .ranking-filters select{padding:10px 35px 10px 20px;border-radius:25px;border:1px solid #e0e0e0;background-color:#f8f9fa;color:var(--secondary-color);font-size:.9rem;font-weight:500;outline:none;cursor:pointer;font-family:Roboto,sans-serif;transition:all .3s ease;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d3557' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 10px center;background-size:14px}.panel-header .ranking-filters select:hover{border-color:var(--primary-color);box-shadow:0 0 0 3px #e639461a}@media (max-width: 768px){:root{--header-height: 70px}.school-header{padding:0 1rem;height:var(--header-height)}.menu-toggle{display:block}.sidebar{transform:translate(-100%);z-index:1000;width:280px}.sidebar.active{transform:translate(0)}.main-content{margin-left:0;padding:1rem}.logo span{display:none}.logo img{height:40px}.user-info-text{display:none}.user-profile{padding:8px;border-radius:50%}.panel-header{flex-direction:column;align-items:flex-start;gap:15px}.panel-header>div{width:100%;justify-content:space-between}#search-student{width:100%!important}.hero-content-wrapper{flex-direction:column-reverse;text-align:center;gap:15px}.school-meta{justify-content:center}.school-hero{padding:1.5rem}.school-title{font-size:1.8rem}.stat-value{font-size:1.5rem}.dashboard-grid{grid-template-columns:1fr!important;gap:15px}.actions-toolbar{flex-direction:column;align-items:stretch;position:static;height:auto;margin-top:0}.selection-info{margin-right:0;margin-bottom:10px;width:100%}#action-buttons{width:100%;flex-wrap:wrap}#action-buttons button{flex:1;min-width:100px;justify-content:center}.panel-with-sticky-header .panel-header{position:static;margin:1rem;padding:15px}.styled-table,.styled-table tbody,.styled-table tr,.styled-table td{display:block;width:100%}.styled-table thead{display:none}.styled-table tr{margin-bottom:15px;background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000014;border:1px solid #eee;overflow:hidden}.styled-table td{text-align:left!important;padding:12px 15px!important;position:relative;border-bottom:1px solid #f0f0f0;display:flex;flex-direction:column;align-items:flex-start!important;min-height:45px}.styled-table td:last-child{border-bottom:none}.styled-table td:before{content:attr(data-label);font-weight:700;color:var(--secondary-color);text-transform:uppercase;font-size:.75rem;text-align:left;margin-bottom:5px}}.loader-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#f0f2f5f2;display:flex;justify-content:center;align-items:center;z-index:9999;transition:opacity .3s ease,visibility .3s}.spinner{width:50px;height:50px;border:5px solid #ddd;border-top:5px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}input[type=text],input[type=date],select{border:1px solid #d1d5db!important;border-radius:var(--radius-md)!important;transition:border-color .3s ease!important}input:focus,select:focus{border-color:var(--primary-color)!important;box-shadow:0 0 0 3px #ef444433!important}.loader-hidden{opacity:0;visibility:hidden}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.action-btn{background:#fff;border:1px solid #edf2f7;border-radius:16px;padding:15px;text-align:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-main);box-shadow:0 4px 6px #00000005}.action-btn:hover{transform:translateY(-5px);box-shadow:0 15px 30px #00000014;border-color:transparent}.action-btn i{font-size:1.4rem;margin-bottom:5px;color:var(--primary-color);background:#fff5f5;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:12px;transition:all .3s ease}.action-btn:hover i{background:var(--primary-color);color:#fff;transform:scale(1.1)}.action-btn span{font-size:.9rem;font-weight:600;color:#4a5568}.notification-list{display:flex;flex-direction:column;gap:10px}.notification-item{display:flex;align-items:flex-start;gap:12px;padding:10px;background:#f8f9fa;border-radius:8px;border-left:3px solid #3498db}.notification-item.warning{border-left-color:#f39c12}.notification-item.danger{border-left-color:#e74c3c}.notif-icon{color:#3498db;margin-top:2px}.notification-item.warning .notif-icon{color:#f39c12}.notification-item.danger .notif-icon{color:#e74c3c}.notif-content h4{font-size:.9rem;margin:0 0 2px;color:#333}.notif-content p{font-size:.8rem;margin:0;color:#666;line-height:1.3}.event-card,.payment-card{display:flex;align-items:center;gap:15px;padding:15px;background:#fff;border-radius:12px;border:1px solid #edf2f7;transition:all .2s ease;margin-bottom:10px}.event-card:hover,.payment-card:hover{transform:translate(5px);border-color:var(--primary-color);box-shadow:0 4px 12px #0000000d}.event-date-box{background:#f7fafc;border-radius:10px;padding:8px 12px;text-align:center;min-width:60px;border:1px solid #e2e8f0}.event-day{display:block;font-size:1.2rem;font-weight:800;color:var(--secondary-color);line-height:1}.event-month{display:block;font-size:.7rem;text-transform:uppercase;color:#718096;font-weight:600;margin-top:2px}.event-info{flex:1}.event-info h4{margin:0 0 5px;font-size:1rem;color:#2d3748}.status-badge{font-size:.7rem;padding:3px 8px;border-radius:6px;font-weight:600;text-transform:uppercase}.status-badge.open{background:#c6f6d5;color:#276749}.status-badge.closed{background:#fed7d7;color:#9b2c2c}.payment-card{border-left:4px solid #e53e3e}.payment-info{flex:1}.payment-name{font-weight:700;color:#2d3748;font-size:.95rem}.payment-detail{font-size:.8rem;color:#718096;display:flex;align-items:center;gap:5px;margin-top:2px}.payment-tag{background:#fff5f5;color:#c53030;font-size:.7rem;font-weight:700;padding:4px 8px;border-radius:6px}.actions-toolbar{position:sticky;top:calc(var(--header-height) + 80px);z-index:29;background:#f8f9fa;padding:10px 15px;height:70px;border-radius:0 0 8px 8px;margin-bottom:20px;margin-top:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid #e9ecef;box-shadow:0 4px 6px #0000000d}.selection-info{margin-right:auto;font-size:.9rem;color:#555;display:flex;align-items:center;gap:10px}#action-buttons{display:flex;gap:8px;opacity:.5;pointer-events:none;transition:opacity .3s}@keyframes pulse{0%{opacity:.6}50%{opacity:.8}to{opacity:.6}}.input-group{position:relative;margin-bottom:5px;display:flex;flex-direction:column-reverse}.input-group input,.input-group select,.input-group textarea{width:100%;padding:15px 20px;background:#fff;border:1px solid #d1d5db;border-radius:var(--radius-md);color:#333;font-size:1rem;outline:none;transition:all .3s ease;font-family:Roboto,sans-serif}.input-group label{position:relative;top:auto;left:0!important;margin-bottom:1px;margin-left:5px;font-size:.9rem!important;color:var(--primary-color)!important;padding:0!important;font-weight:700!important;pointer-events:none;transition:all .3s ease}.modal-tab-nav{display:flex;border-bottom:1px solid #eee;margin-bottom:20px;gap:15px;overflow-x:auto;scrollbar-width:none}.modal-tab-nav::-webkit-scrollbar{display:none}.modal-tab{padding:10px 5px;cursor:pointer;color:#888;font-weight:500;border-bottom:3px solid transparent;transition:all .3s ease;white-space:nowrap;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.modal-tab:hover{color:var(--primary-color)}.modal-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color);font-weight:700}.tab-content.fade-in{animation:fadeIn .3s ease-out}.panel-with-sticky-header{padding:0!important}.panel-with-sticky-header .panel-header{position:sticky;top:var(--header-height);z-index:30;background:#fff;margin-bottom:0;padding:15px 2rem;border-bottom:1px solid #f0f0f0}.panel-with-sticky-header .actions-toolbar{top:calc(var(--header-height) + 60px);padding-left:2rem;padding-right:2rem;border-radius:0;margin-bottom:0}.panel-with-sticky-header .styled-table.with-toolbar thead th{top:calc(var(--header-height) + 60px + 60px)}.panel-with-sticky-header .table-wrapper{padding:1rem 1.5rem 1.5rem;margin:0;box-shadow:none;border-radius:0;background:transparent}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--secondary-color) 0%,#000000 100%);padding:20px;position:relative}.btn-back-floating{position:absolute;top:20px;left:20px;color:#fff;text-decoration:none;display:flex;align-items:center;gap:8px;font-weight:500;opacity:.8;transition:opacity .3s}.btn-back-floating:hover{opacity:1}.login-card{background:#fff;width:100%;max-width:400px;padding:40px;border-radius:20px;box-shadow:0 20px 50px #0000004d;text-align:center;animation:fadeIn .5s ease-out}.login-icon{width:80px;height:80px;background:#f0f2f5;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:2rem;color:var(--primary-color)}.login-header h2{font-family:Oswald,sans-serif;color:var(--secondary-color);margin-bottom:10px}.login-header p{color:#666;font-size:.9rem}.login-error{background:#fee2e2;color:#dc2626;padding:10px;border-radius:8px;margin-bottom:20px;font-size:.9rem;display:flex;align-items:center;justify-content:center;gap:8px}.login-form .input-group{margin-bottom:20px}.login-form .input-group input{background:#f8f9fa;color:#333}.btn-block{width:100%;padding:15px;font-size:1rem;margin-top:10px}.login-footer{margin-top:20px;font-size:.85rem}.login-footer a{color:var(--secondary-color);font-weight:600}.credential-card{width:320px;height:500px;background:#fff;border-radius:15px;overflow:hidden;position:relative;display:flex;flex-direction:column;box-shadow:0 5px 15px #00000026;border:1px solid #ddd}.credential-header{padding:15px;text-align:center;background:#f8f9fa;border-bottom:1px solid #eee;display:flex;flex-direction:column;align-items:center;gap:5px}.credential-header img{width:50px;height:50px;object-fit:contain}.credential-title h3{margin:0;font-family:Oswald,sans-serif;font-size:1.2rem;color:#333;line-height:1}.credential-title span{font-size:.7rem;letter-spacing:2px;text-transform:uppercase;color:#777;font-weight:700}.credential-body{flex:1;padding:20px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.qr-container{width:160px;height:160px;margin-bottom:15px;border:4px solid white;box-shadow:0 5px 15px #0000001a;border-radius:10px;background:#fff}.qr-container img{width:100%;height:100%}.athlete-name{margin:0 0 5px;font-size:1.3rem;font-weight:800;color:#333;line-height:1.1;text-transform:uppercase}.athlete-school{margin:0 0 15px;color:#666;font-size:.85rem;font-weight:500}.athlete-meta{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.meta-badge{background:#eee;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:700;color:#555}.credential-footer{padding:12px;text-align:center;background:#333;color:#fff}.footer-event{font-size:.85rem;font-weight:700;margin-bottom:2px;text-transform:uppercase}.footer-role{font-size:.65rem;opacity:.8;letter-spacing:1px}.credential-card.tournament .credential-header{background:linear-gradient(135deg,#d90429,#8d99ae);border-bottom:none}.credential-card.tournament .credential-title h3{color:#fff}.credential-card.tournament .credential-title span{color:#ffffffe6}.credential-card.tournament .credential-footer{background:#1d3557;color:#fff}.credential-card.tournament .qr-container{border:4px solid #d90429}.credential-card.athlete .credential-header{background:linear-gradient(135deg,#1d3557,#457b9d);border-bottom:none}.credential-card.athlete .credential-title h3{color:#fff}.credential-card.athlete .credential-title span{color:#ffffffe6}.credential-card.athlete .credential-footer{background:#1d3557;color:#fff}.credential-card.athlete .qr-container{border:4px solid #e63946}.credential-card.master{border-color:#d4af37;background:#080808}.credential-card.master .credential-header{background:#111;border-bottom:1px solid #d4af37}.credential-card.master .credential-title h3{color:#d4af37}.credential-card.master .credential-title span{color:#fff}.credential-card.master .credential-body{background:#080808}.credential-card.master .athlete-name{color:#fff}.credential-card.master .athlete-school{color:#aaa}.credential-card.master .meta-badge{background:#111;color:#d4af37;border:1px solid #d4af37}.credential-card.master .credential-footer{background:#000;border-top:2px solid #d4af37}.credential-card.master .footer-event{color:#d4af37}.credential-card.master .qr-container{border:4px solid #d4af37;background:#000}@media print{body.printing-credential *{visibility:hidden}body.printing-credential .qr-modal-content,body.printing-credential .qr-modal-content *{visibility:visible}body.printing-credential .qr-modal-content{position:absolute;left:0;top:0;margin:0;padding:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;border:none;box-shadow:none}body.printing-credential #credential-to-print{-webkit-print-color-adjust:exact;print-color-adjust:exact;box-shadow:none}body.printing-credential .qr-modal-content .close,body.printing-credential .qr-modal-content>div:last-child{display:none!important}}.table-view-panel .panel-header{position:static!important;margin:0!important;padding:1.5rem!important;box-shadow:none!important;border-bottom:1px solid var(--border-color)}.table-view-panel .styled-table thead th{top:0!important;z-index:10;background-color:#f9fafb}.styled-table thead th:first-child{position:sticky;left:0;z-index:31;background-color:#f9fafb;box-shadow:2px 0 5px -2px #0000001a}.styled-table tbody td:first-child{position:sticky;left:0;z-index:10;background-color:#fff;box-shadow:2px 0 5px -2px #0000001a}.styled-table tbody tr:hover td:first-child{background-color:#f9fafb}.styled-table tbody tr.selected-row td:first-child{background-color:#eff6ff!important}.certificate-preview-container{background-color:#fffdf0;background-image:radial-gradient(circle at center,#fff0,#00000005),url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%239C92AC' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");padding:60px;border:12px solid #1d3557;text-align:center;position:relative;width:100%;aspect-ratio:1.414;margin:20px auto;box-shadow:0 20px 60px #0003;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;color:#333}.certificate-preview-container:after{content:"";position:absolute;top:15px;left:15px;right:15px;bottom:15px;border:2px solid #e63946;pointer-events:none;z-index:2}.certificate-preview-container:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60%;height:60%;background-image:url(/logos/nosotros.png);background-repeat:no-repeat;background-position:center;background-size:contain;opacity:.15;z-index:0;filter:grayscale(100%)}.cert-header{margin-top:40px;position:relative;z-index:3}.cert-title{font-family:Cinzel,serif;font-weight:700;font-size:3.8rem;color:#1d3557;margin-bottom:5px;text-transform:uppercase;letter-spacing:6px;line-height:1;text-shadow:1px 1px 0 rgba(0,0,0,.1)}.cert-subtitle{font-family:Cinzel,serif;font-size:1.2rem;color:#e63946;margin-top:15px;text-transform:uppercase;letter-spacing:4px;font-weight:600}.cert-body{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;z-index:3;padding:20px 0}.cert-intro{font-family:Playfair Display,serif;font-style:italic;font-size:1.4rem;color:#555;margin-bottom:10px}.cert-name{font-family:Great Vibes,cursive;font-weight:400;font-size:4rem;color:#1d3557;margin:10px 0 25px;line-height:1;text-shadow:2px 2px 4px rgba(0,0,0,.15);padding:0 40px;position:relative;display:inline-block}.cert-name:after{content:"";display:block;width:100%;height:1px;background:linear-gradient(90deg,transparent,#e63946,transparent);margin-top:10px;opacity:.5}.cert-details{font-family:Playfair Display,serif;font-size:1.4rem;line-height:1.6;color:#333;max-width:85%}.cert-footer{margin-top:30px;margin-bottom:40px;display:flex;justify-content:center;gap:60px;align-items:flex-end;position:relative;z-index:3;padding:0 40px;width:100%}.signature-block{display:flex;flex-direction:column;align-items:center;min-width:200px;max-width:280px;flex:1}.signature-line{width:100%;border-top:1px solid #1d3557;margin-bottom:10px;position:relative}.signature-name{font-family:Cinzel,serif;font-weight:700;font-size:1rem;color:#1d3557}.signature-role{font-family:Roboto,sans-serif;font-size:.8rem;color:#666;text-transform:uppercase;letter-spacing:1px;margin-top:4px;font-weight:500}.cert-seal{position:absolute;bottom:40px;right:50px;width:110px;height:110px;background:linear-gradient(135deg,#e63946,#c1121f);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;border:5px solid #fff;box-shadow:0 0 0 2px #d4af37,0 10px 20px #0003;z-index:4}.cert-seal i{font-size:3.5rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.cert-date{position:absolute;bottom:20px;left:0;width:100%;text-align:center;font-family:Cinzel,serif;font-size:.9rem;color:#888;z-index:3;letter-spacing:1px}@media print{body.printing-certificate *{visibility:hidden}body.printing-certificate .certificate-preview-container,body.printing-certificate .certificate-preview-container *{visibility:visible}body.printing-certificate .certificate-preview-container{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;border:5px solid #000;outline:none;box-shadow:none;display:block!important;transform:none!important}body.printing-certificate .certificate-preview-container:before{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.scanner-body{background-color:#000;color:#fff;overflow:hidden;margin:0;min-height:100dvh;width:100%;position:absolute;top:0;left:0;z-index:2000;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;overscroll-behavior:none;-webkit-font-smoothing:antialiased}input,textarea{user-select:text;-webkit-user-select:text}.scanner-loader{display:inline-block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scanner-loader div{display:inline-block;width:16px;height:16px;background:#fff;border-radius:50%;animation:scanner-loader-anim 1.2s linear infinite}.scanner-loader div:nth-child(1){animation-delay:0s}.scanner-loader div:nth-child(2){animation-delay:-.4s}.scanner-loader div:nth-child(3){animation-delay:-.8s}@keyframes scanner-loader-anim{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.scanner-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#fffc;padding:20px;width:80%}.scanner-error i{font-size:3rem;color:#e74c3c;margin-bottom:15px}.scanner-error p{font-size:1.2rem;font-weight:700;margin-bottom:10px}.scanner-error span{font-size:.9rem;opacity:.7}.scanner-header{position:fixed;top:0;left:0;width:100%;z-index:10;height:calc(60px + env(safe-area-inset-top));padding:15px calc(15px + env(safe-area-inset-right)) 15px calc(15px + env(safe-area-inset-left));padding-top:calc(15px + env(safe-area-inset-top));background:#0009;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;justify-content:space-between;align-items:center}#reader{width:100vw;height:100dvh;position:fixed;top:0;left:0;border:none!important;z-index:1;background:#000}#reader video{object-fit:cover!important;width:100%!important;height:100%!important}.scanner-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:5;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center}.scanner-box{width:70vw;height:70vw;max-width:280px;max-height:280px;position:relative;box-shadow:0 0 0 100vmax #0009;border-radius:20px}.corner{position:absolute;width:40px;height:40px;border-color:#e63946;border-style:solid;border-width:5px;border-radius:4px;box-shadow:0 0 15px #e6394699}.top-left{top:-2px;left:-2px;border-right:none;border-bottom:none}.top-right{top:-2px;right:-2px;border-left:none;border-bottom:none}.bottom-left{bottom:-2px;left:-2px;border-right:none;border-top:none}.bottom-right{bottom:-2px;right:-2px;border-left:none;border-top:none}.scanner-line{position:absolute;width:100%;height:2px;background:#e63946;top:0;animation:scan-line 2.5s infinite linear;box-shadow:0 0 10px #e63946,0 0 20px #e63946;opacity:.8}@keyframes scan-line{0%{top:5%;opacity:0}10%{opacity:1}90%{opacity:1}to{top:95%;opacity:0}}.scanner-instruction{margin-top:30px;color:#fff;font-family:Oswald;letter-spacing:1px;text-shadow:0 2px 5px rgba(0,0,0,.8);font-size:1rem;background:#00000080;padding:8px 20px;border-radius:30px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.scan-overlay{position:fixed;bottom:0;left:0;width:100%;background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#333;border-radius:30px 30px 0 0;padding:30px 25px calc(30px + env(safe-area-inset-bottom));transform:translateY(110%);transition:transform .4s cubic-bezier(.19,1,.22,1);z-index:20;max-height:85vh;overflow-y:auto;box-shadow:0 -10px 40px #0006;border-top:1px solid rgba(255,255,255,.5)}.scan-overlay.active{transform:translateY(0)}.scan-overlay:before{content:"";display:block;width:60px;height:6px;background:#e0e0e0;margin:0 auto 25px;border-radius:10px}.scan-result-icon{font-size:5rem;margin-bottom:20px;filter:drop-shadow(0 10px 20px rgba(0,0,0,.15));animation:popIn .5s cubic-bezier(.175,.885,.32,1.275)}@keyframes popIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.valid{color:#2ecc71}.invalid{color:#e74c3c}#res-details{text-align:left;background:#fff!important;padding:20px!important;border-radius:16px!important;margin-bottom:25px!important;box-shadow:0 5px 25px #0000000d;border:1px solid rgba(0,0,0,.03)}.detail-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f0f0f0}.detail-row:last-child{border-bottom:none}.detail-label{font-weight:700;color:#666;font-size:.9rem}.detail-value{font-weight:500;color:#333;text-align:right}#btn-flash{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;width:40px;height:40px;border-radius:50%;display:none;align-items:center;justify-content:center;cursor:pointer}.scanner-menu-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;height:100dvh;background:radial-gradient(circle at 50% 0%,#1a2a3a,#000 85%);padding:calc(90px + env(safe-area-inset-top)) 20px 20px;position:fixed;top:0;left:0;width:100%;z-index:5;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.scanner-menu-container::-webkit-scrollbar{display:none}.scanner-menu-container:before{content:"";position:absolute;top:-20%;left:50%;transform:translate(-50%);width:150%;height:60%;background:radial-gradient(circle,rgba(230,57,70,.15) 0%,transparent 70%);z-index:-1;pointer-events:none}.menu-btn{background:#ffffff14;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:#fff;border:1px solid rgba(255,255,255,.15);padding:12px;border-radius:20px;width:100%;max-width:320px;margin-bottom:15px;font-size:1rem;font-weight:700;display:flex;align-items:center;gap:15px;box-shadow:0 10px 30px #0000004d;cursor:pointer;transition:transform .2s,box-shadow .2s;text-transform:uppercase;font-family:Oswald,sans-serif;position:relative;overflow:hidden}.menu-btn:active{transform:scale(.96);box-shadow:0 5px 15px #0003}.menu-btn:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(rgba(255,255,255,.1),transparent);opacity:0;transition:opacity .2s}.menu-btn:active:after{opacity:1}.btn-icon-circle{width:40px;height:40px;background:linear-gradient(135deg,#e63946,#9d0208);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;flex-shrink:0;box-shadow:0 0 20px #e6394666}.menu-btn.logout{background:linear-gradient(135deg,#c0392b,#a93226);color:#fff;margin-top:15px;box-shadow:0 10px 25px #c0392b66}.menu-btn.logout .btn-icon-circle{background:#ffffff26;color:#fff;box-shadow:none}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.history-view{display:none;position:fixed;top:0;left:0;width:100%;height:100dvh;background:#f0f2f5;z-index:15;padding-top:calc(60px + env(safe-area-inset-top));padding-bottom:env(safe-area-inset-bottom);overflow-y:auto}.menu-actions{width:100%;max-width:320px;display:flex;flex-direction:column;gap:10px}@media (min-width: 768px),(orientation: landscape) and (max-height: 600px){.scanner-menu-container{flex-direction:row!important;gap:50px;padding-top:calc(70px + env(safe-area-inset-top));align-items:center}.menu-header{text-align:left!important;margin-bottom:0!important;max-width:350px}.menu-actions{max-width:350px}.menu-btn{max-width:100%;padding:15px 20px}@media (max-height: 500px){.menu-header img{width:80px!important;height:80px!important}.menu-header h2{font-size:1.5rem!important}.btn-icon-circle{width:40px;height:40px;font-size:1.2rem}.scanner-menu-container{gap:30px}}}#btn-rescan{width:100%;padding:18px;border-radius:20px;font-size:1.1rem;background:linear-gradient(135deg,#e63946,#c0392b);box-shadow:0 10px 25px #e6394666;border:none;color:#fff;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s}#btn-rescan:active{transform:scale(.98);box-shadow:0 5px 15px #e639464d}.scan-overlay-container{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeIn .3s ease-out}:root{--primary-color: #ef4444;--secondary-color: #1f2937;--accent-color: #3b82f6;--success-color: #10b981;--warning-color: #f59e0b;--error-color: #ef4444;--info-color: #3b82f6;--dark-bg: #111827;--card-bg: #ffffff;--sidebar-bg: #1f2937;--hover-bg: #374151;--border-color: #e5e7eb;--text-primary: #111827;--text-secondary: #6b7280;--text-light: #9ca3af;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-xxl: 3rem;--border-radius: .375rem;--border-radius-lg: .5rem;--border-radius-xl: .75rem;--shadow-sm: 0 2px 4px rgba(0,0,0,.1);--shadow-md: 0 4px 8px rgba(0,0,0,.12);--shadow-lg: 0 8px 16px rgba(0,0,0,.15);--shadow-xl: 0 12px 24px rgba(0,0,0,.18);--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal: 1040;--z-popover: 1050;--z-tooltip: 1060;--z-toast: 1070}body{font-family:Roboto,sans-serif;background:#f3f4f6;min-height:100vh;overflow-x:hidden;line-height:1.6}body.admin-body .whatsapp-float{display:none!important}.admin-wrapper{display:flex;min-height:100vh;background:#f3f4f6;position:relative}.admin-header{position:fixed;top:0;left:0;right:0;height:64px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-lg);z-index:var(--z-fixed);box-shadow:var(--shadow-sm);border-bottom:1px solid var(--border-color)}.menu-toggle{display:flex!important;align-items:center;justify-content:center;width:40px;height:40px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-fast);font-size:1.2rem}.menu-toggle:hover{background:var(--secondary-color);transform:scale(1.1)}.admin-header .logo{display:flex;align-items:center;gap:var(--spacing-md);color:#fff;font-family:Oswald,sans-serif;font-size:1.4rem;font-weight:700}.admin-header .logo img{height:40px;width:auto;border-radius:6px;transition:transform var(--transition-fast)}.admin-header .logo img:hover{transform:scale(1.05)}.admin-header .user-profile{display:flex;align-items:center;gap:var(--spacing-md);color:#fff}.user-info-text{display:flex;flex-direction:column;align-items:flex-end}.user-name{font-weight:600;font-size:.9rem}.user-role{font-size:.8rem;opacity:.8}.btn-logout{background:var(--secondary-color);border:none;padding:8px 16px;border-radius:var(--border-radius);color:#fff;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--spacing-sm);font-weight:500}.btn-logout:hover{background:#c1121f;transform:translateY(-1px)}.sidebar{position:fixed;left:0;top:64px;width:280px;height:calc(100vh - 64px);background:var(--sidebar-bg);transition:width var(--transition-normal),transform var(--transition-normal);z-index:var(--z-fixed);overflow-y:auto;box-shadow:var(--shadow-md)}.sidebar.collapsed{width:80px;transform:none}.sidebar.collapsed:before{display:none}.sidebar.collapsed a span,.sidebar.collapsed .nav-link span{display:none}.sidebar.collapsed a,.sidebar.collapsed .nav-link{justify-content:center;padding-left:0;padding-right:0}.sidebar-toggle-container{padding:var(--spacing-md);border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:flex-end}.collapse-btn{background:var(--primary-color);border:none;color:#fff;width:32px;height:32px;border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.collapse-btn:hover{background:var(--secondary-color);transform:scale(1.1)}.sidebar-nav{padding:var(--spacing-md) 0}.nav-section{margin-bottom:var(--spacing-lg)}.section-header{padding:var(--spacing-sm) var(--spacing-lg);color:var(--text-light);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:color var(--transition-fast)}.section-header:hover{color:#fff}.nav-items{list-style:none}.nav-link{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);color:var(--text-light);text-decoration:none;transition:all var(--transition-fast);border-left:3px solid transparent}.nav-link:hover{background:var(--hover-bg);color:#fff;border-left-color:var(--accent-color)}.nav-link.active{background:var(--primary-color);color:#fff;border-left-color:var(--secondary-color)}.nav-link i{width:20px;text-align:center;font-size:1.1rem}.sidebar-footer{margin-top:auto;padding:var(--spacing-lg);border-top:1px solid var(--hover-bg)}.system-info{text-align:center;color:var(--text-light);font-size:.75rem}.main-content{flex:1;margin-left:270px;margin-top:40px;padding:var(--spacing-md);min-height:calc(100vh - 65px);transition:margin-left var(--transition-normal);background:#e8e8e8}.sidebar.collapsed~.main-content{margin-left:80px}.dashboard-welcome{text-align:center;margin-bottom:var(--spacing-xxl);padding:var(--spacing-xl);background:#fff;color:var(--text-primary);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.dashboard-welcome h2{font-family:Oswald,sans-serif;font-size:2.5rem;margin-bottom:var(--spacing-md)}.dashboard-welcome p{font-size:1.1rem;opacity:.9}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xxl)}.stat-card{background:var(--card-bg);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);border:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.stat-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}.stat-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--primary-color)}.stat-card.success:before{background:var(--success-color)}.stat-card.warning:before{background:var(--warning-color)}.stat-card.error:before{background:var(--error-color)}.stat-info h3{color:var(--text-secondary);font-size:.9rem;font-weight:600;margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:1px}.stat-number{font-size:2.5rem;font-weight:700;color:var(--primary-color);font-family:Oswald,sans-serif}.stat-icon{font-size:3rem;opacity:.2;color:var(--primary-color)}.admin-panel{background:var(--card-bg);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-xl);overflow:hidden;border:1px solid var(--border-color)}.panel-header{padding:var(--spacing-lg);background:#fff;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.panel-header h3{font-family:Oswald,sans-serif;font-size:1.4rem;display:flex;align-items:center;gap:var(--spacing-md)}.panel-content{padding:var(--spacing-lg)}.table-container{overflow-x:auto;border-radius:var(--border-radius);box-shadow:none;border:1px solid var(--border-color)}.ranking-table{width:100%;border-collapse:collapse;background:var(--card-bg);min-width:600px}.ranking-table th{background:#f9fafb;color:var(--text-secondary);padding:var(--spacing-md);text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0}.ranking-table td{padding:var(--spacing-md);border-bottom:1px solid var(--border-color);transition:background-color var(--transition-fast)}.ranking-table tr:hover td{background:#f8f9fa}.ranking-table tr:last-child td{border-bottom:none}.professional-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;overflow:hidden;margin-top:0}.table-responsive{overflow-x:auto;overflow-y:auto;max-height:100vh}.professional-table{width:100%;border-collapse:collapse;font-size:.875rem;text-align:left;color:#374151}.professional-table thead th{background-color:#f9fafb;color:#6b7280;font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;padding:12px 24px;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:10;white-space:nowrap}.professional-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .15s ease-in-out}.professional-table tbody tr:last-child{border-bottom:none}.professional-table tbody tr:hover{background-color:#f9fafb}.professional-table td{padding:12px 24px;vertical-align:middle;white-space:nowrap}.professional-table .cell-content{display:flex;align-items:center;gap:12px}.professional-table .avatar{height:40px;width:40px;border-radius:50%;object-fit:cover;border:1px solid #e5e7eb}.professional-table .info-group{display:flex;flex-direction:column}.professional-table .primary-text{font-weight:500;color:#111827;font-size:.9rem}.professional-table .secondary-text{font-size:.75rem;color:#6b7280}.professional-table .status-badge{display:inline-flex;padding:2px 10px;border-radius:9999px;font-size:.7rem;font-weight:600;text-transform:uppercase}.status-badge.green{background:#d1fae5;color:#065f46}.status-badge.red{background:#fee2e2;color:#991b1b}.status-badge.yellow{background:#fef3c7;color:#92400e}.status-badge.blue{background:#dbeafe;color:#1e40af}.status-badge.gray{background:#f3f4f6;color:#374151}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.input-group{position:relative;margin-bottom:var(--spacing-lg)}.input-group input,.input-group select,.input-group textarea{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:1rem;transition:all var(--transition-fast);background:var(--card-bg);font-family:inherit}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #ef444433}.input-group label{position:absolute;top:-8px;left:12px;background:var(--card-bg);padding:0 8px;font-size:.8rem;color:var(--text-secondary);font-weight:600;z-index:1}.btn-primary{background:var(--primary-color);color:#fff;border:none;padding:12px 24px;border-radius:var(--border-radius);font-weight:600;cursor:pointer;transition:all var(--transition-normal);display:inline-flex;align-items:center;gap:var(--spacing-sm);text-decoration:none;font-family:inherit;font-size:1rem}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:#dc2626}.btn-small{padding:8px 16px;font-size:.85rem;border-radius:var(--border-radius);border:none;cursor:pointer;transition:all var(--transition-fast);font-weight:500}.btn-small:hover{transform:translateY(-1px)}.toast-container{position:fixed;top:90px;right:var(--spacing-lg);z-index:var(--z-toast);max-width:400px}.toast{background:var(--card-bg);border-radius:var(--border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-sm);box-shadow:var(--shadow-lg);border-left:4px solid var(--info-color);transform:translate(400px);transition:transform var(--transition-normal);display:flex;align-items:center;gap:var(--spacing-md)}.toast.show{transform:translate(0)}.toast.success{border-left-color:var(--success-color)}.toast.error{border-left-color:var(--error-color)}.toast.warning{border-left-color:var(--warning-color)}.toast-content{display:flex;align-items:center;gap:var(--spacing-md);flex:1}.toast-close{background:none;border:none;color:var(--text-light);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--border-radius);transition:background-color var(--transition-fast)}.toast-close:hover{background:var(--border-color)}.loader-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.loader-content{background:var(--card-bg);padding:var(--spacing-xl);border-radius:var(--border-radius-lg);text-align:center;box-shadow:var(--shadow-xl);max-width:300px;width:90%}.spinner-large{width:50px;height:50px;border:4px solid var(--border-color);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--spacing-md)}.spinner{width:30px;height:30px;border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pagination-container{display:flex;justify-content:center;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-lg);padding:var(--spacing-md)}.pagination-btn{padding:8px 16px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-primary);cursor:pointer;border-radius:var(--border-radius);transition:all var(--transition-fast);font-weight:500}.pagination-btn:hover{background:var(--primary-color);color:#fff}.pagination-btn.active{background:var(--secondary-color);color:#fff;border-color:var(--secondary-color)}.table-footer{padding:12px 24px;background-color:#f9fafb;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.table-pagination{display:flex;gap:5px}.table-pagination button{padding:6px 12px;border:1px solid #d1d5db;background:#fff;border-radius:6px;color:#374151;font-size:.875rem;cursor:pointer;transition:all .2s}.table-pagination button:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.table-pagination button:disabled{opacity:.5;cursor:not-allowed}.table-pagination button.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.full-height-container{height:100%;display:flex;flex-direction:column;overflow:hidden;gap:0!important}.full-height-panel{flex:1;display:flex;flex-direction:column;overflow:hidden!important;margin-bottom:0!important;padding:0!important}.full-height-panel .panel-header{position:relative!important;top:auto!important;margin:0!important;padding:15px 20px!important;width:100%;box-shadow:none;border-radius:0;border-bottom:1px solid #e5e7eb;flex-shrink:0}.panel-content-wrapper{flex:1;display:flex;flex-direction:column;overflow:hidden;width:100%;padding:0}.full-height-table{flex:1;display:flex;flex-direction:column;overflow:hidden;margin:0 20px 20px!important}.flex-grow-scroll{flex:1;overflow-y:auto;max-height:none}.panel-content-wrapper{padding-top:0}@media (max-width: 1024px){.sidebar{transform:translate(-100%)}.sidebar.mobile-visible{transform:translate(0)}.main-content{margin-left:0;padding:var(--spacing-lg)}.dashboard-grid{grid-template-columns:1fr}}@media (max-width: 768px){.admin-header{padding:0 var(--spacing-md)}.admin-header .logo span{font-size:1.1rem}.user-info-text{display:none}.stats-grid{grid-template-columns:1fr}.dashboard-welcome h2{font-size:2rem}.main-content{padding:var(--spacing-md)}}@media (max-width: 480px){.admin-header .logo span{display:none}.menu-toggle{width:35px;height:35px}.dashboard-welcome{padding:var(--spacing-lg)}.dashboard-welcome h2{font-size:1.8rem}}.text-center{text-align:center}.text-right{text-align:right}.mt-1{margin-top:var(--spacing-sm)}.mt-2{margin-top:var(--spacing-md)}.mt-3{margin-top:var(--spacing-lg)}.mb-1{margin-bottom:var(--spacing-sm)}.mb-2{margin-bottom:var(--spacing-md)}.mb-3{margin-bottom:var(--spacing-lg)}.hidden{display:none!important}.visible{display:block!important}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}.fade-in{animation:fadeIn .5s ease}.slide-in-left{animation:slideInLeft .3s ease}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--border-color);border-radius:var(--border-radius)}::-webkit-scrollbar-thumb{background:var(--text-secondary);border-radius:var(--border-radius)}::-webkit-scrollbar-thumb:hover{background:var(--text-primary)}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:var(--border-radius)}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-hero{height:150px;margin-bottom:var(--spacing-xl)}.skeleton-card{height:120px;margin-bottom:var(--spacing-lg)}*{margin:0;padding:0;box-sizing:border-box}html{overflow-x:hidden;width:100%}:root{--primary-color: #e63946;--secondary-color: #1d3557;--dark-color: #111;--light-color: #f4f4f4;--text-color: #333;--font-main: "Roboto", sans-serif;--font-heading: "Oswald", sans-serif;--font-karate: "Shojumaru", cursive}body{font-family:var(--font-main);line-height:1.6;color:var(--text-color);background-color:#fff;overflow-x:hidden;width:100%}a{text-decoration:none;color:inherit}ul{list-style:none}.section{padding:5rem 0}.container{max-width:1100px;margin:0 auto;padding:0 20px}.section-title{font-family:var(--font-heading);font-size:2.5rem;text-align:center;margin-bottom:1rem;text-transform:uppercase;color:var(--dark-color)}.section-desc{text-align:center;max-width:700px;margin:0 auto 3rem;color:#666}.bg-dark{background-color:#fff}.text-white{color:var(--dark-color)}.bg-light{background-color:#fff}@media (max-width: 768px){.section{padding:3rem 0}.section-title{font-size:2rem}.container{padding:0 15px}}header{background-color:#111;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;position:fixed;width:100%;top:0;left:0;z-index:1000;box-shadow:0 2px 10px #0000004d;border-bottom:1px solid rgba(255,255,255,.1)}.navbar{display:flex;justify-content:space-between;align-items:center;padding:0 12px;min-height:70px;max-width:1200px;margin:0 auto}.logo{font-family:Bebas Neue,sans-serif!important;font-size:2.2rem!important;letter-spacing:3px!important;text-shadow:1px 1px 3px rgba(0,0,0,.5);color:#fff!important;display:flex;align-items:center;gap:10px;text-decoration:none;text-transform:uppercase}.logo span{white-space:nowrap}.nav-links{display:flex}.nav-links li{margin-left:2rem}.nav-links a{font-family:Impact,sans-serif;font-weight:400;transition:color .3s ease;text-transform:uppercase;font-size:1.1rem;letter-spacing:1px}.nav-links a:hover{color:var(--primary-color)}.nav-links a.active{color:var(--primary-color);font-weight:700;border-bottom:2px solid var(--primary-color)}.burger{display:none;cursor:pointer;transition:transform .3s ease}@media screen and (max-width: 768px){.nav-links{position:fixed;right:0;height:100vh;top:0;background-color:#0a0a0ae6;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);display:flex;flex-direction:column;align-items:center;width:75%;transform:translate(100%);transition:transform .5s ease-in;overflow-y:auto;padding-top:90px;padding-bottom:50px;box-shadow:none;border-left:1px solid rgba(255,255,255,.1);z-index:998}.nav-links li{opacity:0;margin:1.2rem 0}.nav-links .btn-small{margin-left:0!important}.burger{display:block!important;position:relative;z-index:999}.nav-active{transform:translate(0)}@keyframes navLinkFade{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}}@media screen and (max-width: 480px){.nav-links{width:85%}.logo{font-size:1.6rem!important;letter-spacing:1px!important}.logo img{height:35px}}footer{background-color:#0f172a;color:#94a3b8;padding:35px 0 15px;font-size:.9rem;border-top:4px solid var(--primary-color);text-align:left}.footer-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:30px;padding:0 20px}.footer-section h3{color:#f8fafc;font-family:var(--font-heading);font-size:1.1rem;margin-bottom:15px;text-transform:uppercase;letter-spacing:1px;position:relative}.footer-section h3:after{content:"";display:block;width:30px;height:3px;background:var(--primary-color);margin-top:8px;border-radius:2px}.footer-section p{color:#94a3b8;line-height:1.6;margin-bottom:10px}.footer-section ul{list-style:none;padding:0}.footer-section ul li{margin-bottom:8px}.footer-section ul li a{color:#bdc3c7;text-decoration:none;transition:color .3s}.footer-section ul li a:hover{color:var(--primary-color);transform:translate(5px);display:inline-block}.footer-section i{color:var(--primary-color);margin-right:10px;width:20px;text-align:center}.footer-section .social-links{display:flex;gap:12px;margin-top:15px}.footer-section .social-links a{width:36px;height:36px;background:#ffffff0d;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease;color:#fff;margin:0;font-size:1rem}.footer-section .social-links a:hover{background:var(--primary-color);transform:translateY(-3px);box-shadow:0 5px 15px #ef44444d}.footer-bottom{text-align:center;margin-top:30px;padding-top:20px;border-top:1px solid rgba(255,255,255,.05);color:#64748b;font-size:.8rem}.btn-primary{display:inline-block;background-color:var(--primary-color);color:#fff;padding:12px 30px;border:none;border-radius:5px;font-size:1.1rem;font-weight:700;text-transform:uppercase;cursor:pointer;transition:background .3s ease,transform .2s ease}.btn-primary:hover{background-color:#c92a36;transform:scale(1.05)}.btn-small{display:inline-block;background-color:var(--secondary-color);color:#fff;padding:8px 15px;border:none;border-radius:4px;font-size:.9rem;cursor:pointer;transition:background .3s ease}.btn-small:hover{background-color:#152642}.btn-success{display:inline-block;background-color:#2ecc71;color:#fff;padding:12px 25px;border:none;border-radius:50px;font-weight:600;cursor:pointer;transition:background .3s ease,transform .2s ease;box-shadow:0 4px 10px #2ecc714d;display:flex;align-items:center;gap:8px}.btn-success:hover{background-color:#27ae60;transform:translateY(-2px)}.whatsapp-float{position:fixed;width:60px;height:60px;bottom:40px;right:40px;background-color:#25d366;color:#fff;border-radius:50px;text-align:center;font-size:30px;box-shadow:2px 2px 10px #0003;z-index:1000;display:flex;align-items:center;justify-content:center;transition:all .3s ease;text-decoration:none}.whatsapp-float:hover{background-color:#128c7e;transform:scale(1.1);color:#fff}@media (max-width: 768px){.whatsapp-float{width:50px;height:50px;bottom:20px;right:20px;font-size:24px}}.feature-card{padding:2rem;background:#fff;border-radius:10px;box-shadow:0 5px 15px #0000001a;transition:transform .3s ease}.feature-card:hover{transform:translateY(-10px)}.feature-card i{font-size:3rem;color:var(--primary-color);margin-bottom:1rem}.class-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 5px 15px #0000001a;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative}.class-card:hover{transform:translateY(-12px);box-shadow:0 20px 40px #0003}.class-img{height:200px;background-color:#ddd;background-size:cover;background-position:center;transition:transform .6s ease,filter .4s ease}.karate{background-image:url(/logos/clase_karate.jpg)}.taekwondo{background-image:url(/logos/clase_taekwondo.jpg)}.indigena{background-image:url(/logos/clase_indigena.jpg)}.class-card:hover .class-img{transform:scale(1.15) rotate(2deg);filter:brightness(1.1)}.class-info{padding:1.5rem}.class-info h3{font-family:Oswald,sans-serif;margin-bottom:.5rem;color:var(--secondary-color);transition:color .3s ease;font-size:1.5rem;text-transform:uppercase}.class-card:hover .class-info h3{color:var(--primary-color)}.instructor-card{padding:0!important;overflow:hidden;display:flex;flex-direction:column;transition:all .3s cubic-bezier(.25,.8,.25,1);background:#080808;background:radial-gradient(circle at 50% 0%,#2a2a2a,#000 80%);border-radius:16px;box-shadow:0 10px 30px #00000080;border:1px solid rgba(212,175,55,.3);position:relative;width:100%;max-width:300px;height:500px;flex-shrink:0}.instructor-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #d4af3726}.instructor-card .instructor-img{width:100%;height:220px;border-radius:0;background-size:contain;background-repeat:no-repeat;background-position:center;margin:0;background-color:#ffffff0d;position:relative;padding:5px;border-bottom:1px solid rgba(212,175,55,.2)}@media (max-width: 768px){.instructor-card .instructor-img{height:160px;padding:15px;background-size:cover}}.instructor-info{padding:10px;flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;background:transparent;z-index:1;justify-content:space-between}.instructor-info h3{font-size:1.2rem;margin-bottom:5px;color:#d4af37;font-family:Oswald,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:1px;text-shadow:0 2px 10px rgba(0,0,0,.5);word-break:break-word;line-height:1.2}.school-details{margin-bottom:5px;width:100%;display:flex;flex-direction:column;gap:4px}.school-name{font-weight:500;color:#e0e0e0;margin-bottom:0;font-size:.95rem;display:flex;align-items:center;gap:8px;justify-content:center;flex-wrap:wrap;word-break:break-word;line-height:1.4}.school-location,.school-phone{font-size:.9rem;color:#aaa;display:flex;align-items:center;gap:8px;justify-content:center;flex-wrap:wrap;word-break:break-word;line-height:1.4}.school-name i,.school-location i,.school-phone i{color:#d4af37}.school-badges{margin-bottom:5px}.badge-belt{background:linear-gradient(135deg,#bf953f,#fcf6ba,#b38728,#fbf5b7);color:#000;padding:6px 15px;border-radius:50px;font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 10px #d4af374d;border:1px solid #fff}.btn-contact-school{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 20px;width:100%;background:transparent;border:1px solid #d4af37;color:#d4af37;border-radius:8px;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .3s ease;margin-top:5px;text-transform:uppercase;letter-spacing:1px}.btn-contact-school:hover{background:#d4af37;color:#000;transform:translateY(-2px);box-shadow:0 0 15px #d4af3766}@media (max-width: 768px){.instructor-card{width:100%;max-width:350px;height:auto;min-height:auto}.instructor-card .instructor-img{height:200px;padding:15px}.instructor-info{padding:15px;gap:10px}.instructor-info h3{font-size:1.2rem}.btn-contact-school{padding:10px 15px}}.news-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #0000001a;transition:transform .3s ease,box-shadow .3s ease;width:100%;max-width:350px;margin:0 auto;display:flex;flex-direction:column;border:1px solid #eee;min-width:0}.news-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #00000026}.news-img-container{position:relative;height:220px;overflow:hidden;background-color:#000}.news-img{width:100%;height:100%;background-size:contain;background-repeat:no-repeat;background-position:center;transition:transform .5s ease}.news-card:hover .news-img{transform:scale(1.05)}.news-date-badge{position:absolute;top:15px;right:15px;background:#000000b3;color:#fff;padding:5px 12px;border-radius:20px;font-size:.85rem;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;gap:5px}.tournament-card{background:#fff;border-radius:12px;box-shadow:0 5px 15px #0000001a;overflow:hidden;border-left:5px solid var(--primary-color);transition:transform .3s ease;display:flex;flex-direction:column;width:100%;max-width:350px;margin:0 auto;flex-shrink:0;min-width:0}.tournament-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px #00000026}.tournament-header{background:#f8f9fa;padding:15px 20px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.tournament-date{font-weight:700;color:var(--secondary-color);display:flex;align-items:center;gap:8px;font-family:var(--font-heading);font-size:1.1rem}.tournament-status{font-size:.75rem;padding:4px 10px;border-radius:20px;color:#fff;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.tournament-body{padding:25px 20px;flex:1;display:flex;flex-direction:column;justify-content:center}.tournament-body h3{margin-bottom:15px;font-family:var(--font-heading);color:#333;font-size:1.4rem;line-height:1.2}.tournament-location{color:#666;font-size:.95rem;display:flex;align-items:center;gap:10px}.tournament-location i{color:var(--primary-color)}.modal{display:none;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000c;align-items:center;justify-content:center}.modal-content{background-color:#fefefe;margin:auto;padding:2rem;border:1px solid #888;width:90%;max-width:400px;border-radius:10px;position:relative;animation:modalFadeIn .3s}.modal-content.wide{max-width:800px}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.close{color:#aaa;float:right;font-size:28px;font-weight:700;position:absolute;top:10px;right:20px;cursor:pointer}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer}.modal h2{text-align:center;margin-bottom:1.5rem;font-family:var(--font-heading);color:var(--secondary-color)}@media (max-width: 768px){.modal{padding:10px 0;align-items:flex-start}.modal-content{padding:1.5rem;width:95%;margin:20px auto;max-height:85vh;overflow-y:auto}.modal-content.wide{max-width:95%}.modal h2{font-size:1.5rem}}.spinner-container{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px;width:100%;gap:15px}.spinner{width:50px;height:50px;border:5px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:var(--primary-color);animation:spin 1s ease-in-out infinite}.spinner-container p{color:#666;font-size:.9rem;font-weight:500}@keyframes spin{to{transform:rotate(360deg)}}.carousel-wrapper{position:relative;padding:0 50px;overflow:hidden}.carousel-wrapper.masked{mask-image:linear-gradient(to right,transparent,black 5%,black 95%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 5%,black 95%,transparent)}.carousel-track{display:flex;gap:20px;width:100%;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:20px}.carousel-track::-webkit-scrollbar{display:none}.carousel-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background:#0009;color:#fff;border:none;padding:15px;cursor:pointer;border-radius:50%;transition:background .3s}.carousel-nav:hover{background:#000c}.carousel-nav.prev{left:0}.carousel-nav.next{right:0}.carousel-dots{display:flex;justify-content:center;margin-top:15px;gap:8px}.dot{width:10px;height:10px;background-color:#ccc;border-radius:50%;cursor:pointer;transition:all .3s ease}.dot:hover{background-color:#999}.dot.active{background-color:var(--primary-color);transform:scale(1.2)}@media (max-width: 768px){.carousel-wrapper{padding:0;mask-image:none;-webkit-mask-image:none;margin-left:-20px;margin-right:-20px;width:calc(100% + 40px)}.carousel-track{padding-left:20px;padding-right:20px;scroll-snap-type:x mandatory}.carousel-nav{display:none}.instructor-card,.news-card,.tournament-card{scroll-snap-align:center}#instructors .carousel-wrapper{margin-left:0;margin-right:0;width:100%}}#gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;padding:20px 0}.gallery-item{position:relative;overflow:hidden;border-radius:12px;cursor:pointer;box-shadow:0 5px 15px #0000001a;aspect-ratio:1 / 1;background:#f0f0f0}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-item:hover img{transform:scale(1.1)}.gallery-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#1d355799;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-overlay i{color:#fff;font-size:2rem;transform:scale(.8);transition:transform .3s ease}.gallery-item:hover .gallery-overlay i{transform:scale(1)}@media (max-width: 768px){#gallery-grid{grid-template-columns:repeat(2,1fr);gap:10px}}@media (max-width: 480px){#gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px}.gallery-item{border-radius:8px}}.news-modal-content{padding:0;border-radius:12px;overflow:hidden;max-width:900px;width:95%;max-height:90vh;display:flex;flex-direction:column;background:#fff;position:relative;box-shadow:0 20px 50px #0000004d}.close-news{position:absolute;top:15px;right:20px;color:#fff;z-index:10;text-shadow:0 2px 4px rgba(0,0,0,.5);opacity:1;font-size:2.5rem;cursor:pointer;line-height:.8;transition:transform .2s}.close-news:hover{transform:scale(1.1)}.news-modal-image{width:100%;height:250px;background-color:#000;background-size:contain;background-position:center;background-repeat:no-repeat;flex-shrink:0}.news-modal-body{padding:25px;overflow-y:auto;display:flex;flex-direction:column;flex:1}.news-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.news-modal-date{background:var(--primary-color);color:#fff;padding:5px 15px;border-radius:20px;font-size:.85rem;font-weight:700;display:flex;align-items:center;gap:5px}.news-modal-content h2{font-family:var(--font-heading);color:var(--secondary-color);font-size:1.8rem;margin-bottom:15px;line-height:1.2;text-align:left}.news-modal-text{color:#555;line-height:1.6;font-size:1rem;white-space:pre-line;margin-bottom:20px}@media (min-width: 768px){.news-modal-content{flex-direction:row;height:500px;max-height:80vh}.news-modal-image{width:50%;height:100%}.news-modal-body{width:50%;padding:40px}.close-news{color:#333;text-shadow:none;top:15px;right:20px}}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:15px}.toast{background:#fff;min-width:300px;padding:15px 20px;border-radius:8px;box-shadow:0 5px 20px #00000026;display:flex;align-items:center;gap:15px;border-left:5px solid #333;transform:translate(120%);transition:transform .4s cubic-bezier(.175,.885,.32,1.275),opacity .4s ease;opacity:0}.toast.show{transform:translate(0);opacity:1}.toast.success{border-left-color:#2ecc71}.toast.success i{color:#2ecc71}.toast.error{border-left-color:#e74c3c}.toast.error i{color:#e74c3c}.toast.info{border-left-color:#3498db}.toast.info i{color:#3498db}.toast-content{flex:1}.toast-title{font-weight:700;font-size:.95rem;margin-bottom:2px;color:#333}.toast-message{font-size:.85rem;color:#666;line-height:1.4}.hero{height:100dvh;background:linear-gradient(#000000b3,#0009),url(/logos/hero.jpg) no-repeat center center/cover;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding-top:80px;position:relative;overflow:hidden;min-height:600px}.hero-content{max-width:800px;padding:0 20px;position:relative;z-index:1;background:transparent;border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.hero h1{font-family:Bebas Neue,sans-serif;font-size:clamp(2.5rem,5vw,4rem);margin-bottom:1rem;text-transform:uppercase;letter-spacing:3px;color:#fff;text-shadow:0 4px 24px rgba(0,0,0,.4);font-weight:400}.hero p{font-size:1.5rem;margin-bottom:2rem;font-weight:300;color:#f4f4f4;text-shadow:0 2px 8px rgba(0,0,0,.25)}@media (max-width: 768px){.hero-content{padding:0 10px}.hero h1{font-size:2.2rem;letter-spacing:1px}.hero-content{border-radius:10px}}#about-us{background-color:#fff!important;background-image:linear-gradient(#fff6,#fff6),url(/assets/texture-DV_ZAT2z.jpg);background-size:cover;background-position:center}.about-us-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;margin-top:3rem;padding:2rem 0}.about-us-image{display:flex;justify-content:center;position:relative;padding:20px}.about-us-image img{width:100%;max-width:450px;height:auto;border-radius:50%;object-fit:cover;aspect-ratio:1 / 1;box-shadow:0 20px 40px #0003;border:8px solid #fff;transition:transform .3s ease}.about-us-image:hover img{transform:scale(1.02)}.about-us-text h3{font-family:Bebas Neue,sans-serif;font-size:3rem;color:var(--secondary-color, #1d3557);margin-bottom:1.5rem;line-height:1;position:relative;padding-bottom:15px;font-weight:400;letter-spacing:1px;text-transform:uppercase}.about-us-text h3:after{content:"";position:absolute;bottom:0;left:0;width:80px;height:4px;background:var(--primary-color, #e63946);border-radius:2px}.about-us-text h4{font-family:Oswald,sans-serif;font-size:1.4rem;color:var(--secondary-color, #1d3557);margin-bottom:1rem;margin-top:2rem;font-weight:400;letter-spacing:.5px;display:flex;align-items:center;gap:12px}.about-us-text h4:before{content:"";display:block;width:4px;height:24px;background:var(--primary-color, #e63946);border-radius:2px}.about-us-text .section-desc{text-align:left;margin:0 0 2.5rem;color:#374151;font-size:1.125rem;line-height:1.8;font-weight:300}.about-us-text p{color:#4b5563;font-size:1.05rem;line-height:1.7;margin-bottom:1.2rem;text-align:left}.about-us-text ul{list-style:none;padding:0;margin-bottom:1.5rem}.about-us-text ul li{position:relative;padding-left:25px;margin-bottom:8px;color:#4b5563;font-size:1.05rem}.about-us-text ul li:before{content:"•";color:var(--primary-color, #e63946);font-weight:700;position:absolute;left:5px;font-size:1.5rem;line-height:1.5rem;top:-2px}.about-us-text .highlight-text{font-style:italic;color:var(--secondary-color, #1d3557);background-color:#fff;padding:25px;border-left:4px solid var(--secondary-color, #1d3557);border-radius:0 12px 12px 0;box-shadow:0 10px 30px #0000000d;font-weight:500;margin-top:20px}.about-us-text .features{display:grid;grid-template-columns:1fr;gap:1.5rem}.about-us-text .feature-card{text-align:left;display:flex;align-items:flex-start;gap:1.5rem;padding:1.5rem;box-shadow:0 5px 20px #0000000d;background:#fff;border-radius:15px;transition:all .3s ease;border-left:5px solid transparent}.about-us-text .feature-card:hover{transform:translate(10px);border-left-color:var(--primary-color, #e63946);box-shadow:0 10px 30px #0000001a}.about-us-text .feature-card i{font-size:1.8rem;margin-bottom:0;color:var(--primary-color, #e63946);background:#e639461a;width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.about-us-text .feature-card div h4{margin:0 0 5px;font-size:1.2rem;color:var(--secondary-color, #1d3557);font-family:Oswald,sans-serif}.about-us-text .feature-card div p{margin:0;font-size:.95rem;color:#666}@media (max-width: 768px){.about-us-content{grid-template-columns:1fr;gap:3rem;text-align:left;padding:0}.about-us-text h3{font-size:2rem}.about-us-text h3:after{left:50%;transform:translate(-50%)}.about-us-text .section-desc{text-align:center}.about-us-text .feature-card{flex-direction:column;align-items:flex-start;text-align:center}.about-us-text .feature-card:hover{transform:translateY(-5px)}}.contact-section{background:linear-gradient(#000000d9,#000000d9),url(https://images.unsplash.com/photo-1555597673-b21d5c935865?ixlib=rb-1.2.1&auto=format&fit=crop&w=1950&q=80) no-repeat center center/cover;background-attachment:fixed;color:#fff;position:relative;padding:6rem 0 4rem;min-height:500px}.contact-wrapper{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;background:#14141499;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:3rem 2rem;border-radius:20px;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 40px #0006}.contact-info h3{font-family:Bebas Neue,sans-serif;font-size:3rem;margin-bottom:1.5rem;color:#fff;text-transform:uppercase;letter-spacing:1px}.contact-info p{margin-bottom:2.5rem;color:#ccc;font-size:1.1rem;line-height:1.8}.info-item{display:flex;align-items:center;margin-bottom:2rem;font-size:1.1rem}.info-item i{width:50px;height:50px;background:#ffffff0d;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:20px;color:var(--primary-color);font-size:1.2rem;transition:all .3s ease;border:1px solid rgba(255,255,255,.1)}.info-item:hover i{background:var(--primary-color, #e63946);color:#fff;transform:scale(1.1);box-shadow:0 0 15px var(--primary-color, #e63946)}@media (max-width: 768px){.contact-wrapper{grid-template-columns:1fr;padding:1.2rem .5rem;gap:2rem}.contact-info{text-align:center}.info-item{justify-content:center;flex-direction:column;gap:10px}.info-item i{margin-right:0}}.classes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;text-align:center}.instructors-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;width:100%;justify-items:center}.tournaments-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;justify-items:center}.section-title{font-family:Bebas Neue,sans-serif!important;letter-spacing:2px}.ranking-controls{display:flex;align-items:center;flex-wrap:wrap;gap:15px;max-width:1200px;margin:0 auto 30px;padding:0 20px}.category-select{padding:10px 45px 10px 25px;border-radius:30px;border:2px solid #f0f0f0;background-color:#fff;color:var(--secondary-color);font-size:1rem;font-weight:600;outline:none;cursor:pointer;font-family:var(--font-main);transition:all .3s ease;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d3557' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 15px center;background-size:14px;box-shadow:0 5px 15px #0000000d;margin:0 0 0 auto;min-width:220px}.category-select:hover{border-color:var(--secondary-color);box-shadow:0 8px 20px #1d355726;transform:translateY(-2px)}.category-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 4px #e639461a}.ranking-buttons-container{width:100%;display:flex;justify-content:center;gap:20px;margin-bottom:30px;flex-wrap:wrap}@media (max-width: 768px){.ranking-buttons-container{flex-direction:column;gap:15px}.ranking-buttons-container .btn-primary{width:100%;text-align:center}}.ranking-container{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem}.ranking-column{background-color:#fff;border-radius:12px;box-shadow:0 5px 20px #0000000d;overflow:hidden}.column-header{padding:1.5rem;border-bottom:1px solid #e9ecef;background:#fff}.column-header h3{font-size:1.2rem;font-weight:700;color:var(--secondary-color);margin-bottom:1rem;font-family:var(--font-heading)}.filter-tabs{display:flex;gap:10px;flex-wrap:wrap}.tab-btn{background-color:#f1f3f5;border:1px solid #dee2e6;padding:8px 16px;border-radius:20px;cursor:pointer;font-weight:500;color:#495057;transition:all .3s ease;font-size:.85rem}.tab-btn:hover{background-color:#e9ecef;border-color:#ced4da}.tab-btn.active{background-color:var(--secondary-color);color:#fff;border-color:var(--secondary-color);box-shadow:0 4px 10px #1d355733}@media (max-width: 992px){.ranking-container{grid-template-columns:1fr}}.table-container{border-radius:12px;box-shadow:0 5px 20px #0000000d;overflow:auto;background:#fff;border:1px solid #eee;margin-bottom:20px}.ranking-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem;table-layout:fixed;color:#333}.ranking-table thead th{background:#fff;color:#666;text-align:left;padding:18px 20px;font-weight:700;text-transform:uppercase;font-size:.75rem;letter-spacing:1px;position:sticky;top:0;z-index:10;border-bottom:2px solid #f0f0f0}.ranking-table tbody td{padding:15px 20px;border-bottom:1px solid #f5f5f5;vertical-align:middle;color:#444;white-space:normal;word-wrap:break-word}.ranking-table tbody tr{transition:all .2s ease}.ranking-table tbody tr:last-child td{border-bottom:none}.ranking-table tbody tr:hover{background-color:#fcfcfc;transform:scale(1.002);box-shadow:0 4px 15px #0000000d;z-index:5;position:relative;cursor:pointer}.col-rank{font-weight:700;color:#888;font-size:1rem;text-align:center;width:60px}.ranking-table tbody tr:nth-child(1) .col-rank{color:gold;font-size:1.3rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.ranking-table tbody tr:nth-child(2) .col-rank{color:silver;font-size:1.2rem}.ranking-table tbody tr:nth-child(3) .col-rank{color:#cd7f32;font-size:1.1rem}.col-name{font-weight:600;color:#2c3e50;font-size:1rem}.col-club{color:#666;font-size:.9rem}.col-score,.col-total{font-weight:700;color:var(--primary-color);font-size:1.1rem;text-align:center}@media screen and (max-width: 768px){.ranking-table thead{display:none}.ranking-table,.ranking-table tbody,.ranking-table tr,.ranking-table td{display:block;width:100%}.ranking-table tr{margin-bottom:20px;background:#fff;border-radius:15px;box-shadow:0 5px 15px #00000014;border:1px solid #eee;overflow:hidden;transition:transform .3s ease}.ranking-table tr:hover{transform:translateY(-5px)}.ranking-table td{display:flex;justify-content:space-between;align-items:center;text-align:right;padding:15px 20px;border-bottom:1px solid #f5f5f5;min-height:auto}.ranking-table td:last-child{border-bottom:none}.ranking-table td:before{content:attr(data-label);font-weight:700;color:var(--secondary-color);text-transform:uppercase;font-size:.75rem;letter-spacing:1px;margin-right:15px;text-align:left}.ranking-table td.col-rank{background:linear-gradient(135deg,var(--secondary-color),#2c3e50);color:#fff!important;justify-content:center;font-size:1.5rem;padding:10px}.ranking-table td.col-rank:before{display:none}.ranking-table td[data-label=Puntos]{flex-direction:column;align-items:flex-start;gap:10px}.ranking-table td[data-label=Puntos]>div{width:100%;justify-content:space-between}}.pagination-container{display:flex;justify-content:center;gap:5px;margin-top:15px;padding-bottom:10px}.page-btn{padding:6px 12px;border:1px solid #dee2e6;background-color:#fff;color:#333;cursor:pointer;border-radius:4px;font-size:.9rem;transition:all .2s}.page-btn:hover{background-color:#e9ecef}.page-btn.active{background-color:var(--secondary-color);color:#fff;border-color:var(--secondary-color)}.page-btn:disabled{opacity:.5;cursor:default}.login-page{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f3f4f6;padding:20px;min-height:100vh}.login-card{background:#fff;width:100%;max-width:420px;padding:40px 30px;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;text-align:center;animation:fadeInUp .5s ease-out;position:relative;z-index:1;border:1px solid #e5e7eb}.login-header{margin-bottom:30px}.login-icon{width:80px;height:80px;background:#fee2e2;color:#ef4444;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;margin:0 auto 20px;box-shadow:none}.login-header h2{color:#1f2937;font-family:var(--font-heading);font-size:1.8rem;margin-bottom:5px;text-transform:uppercase;letter-spacing:1px}.login-header p{color:#666;font-size:.98rem}.login-form .input-group{margin-bottom:25px}.login-form .input-group input{background:#fff;border:1px solid #d1d5db;padding:15px;border-radius:.375rem;font-size:1rem;transition:border-color .3s,box-shadow .3s;color:#1f2937}.login-form .input-group input:focus{background:#fff;border-color:#ef4444;box-shadow:0 0 0 3px #ef444433;outline:none}.login-error{background:#fee2e2;color:#ef4444;padding:12px;border-radius:8px;font-size:.9rem;margin-bottom:25px;border:1px solid #fecaca;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:none}.btn-block{width:100%;padding:15px;font-size:1.1rem;border-radius:.375rem;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:10px;background:#ef4444;color:#fff;border:none;font-weight:600;box-shadow:0 1px 2px #0000000d;transition:background .3s,transform .2s;cursor:pointer}.btn-block:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a}.login-footer{margin-top:25px;font-size:.95rem;color:#6b7280;text-align:center}.login-footer a{color:#ef4444;transition:color .3s;font-weight:500}.login-footer a:hover{color:#dc2626;text-decoration:underline}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.btn-back-floating{position:absolute;top:25px;left:25px;background:#fff;padding:10px 20px;border-radius:9999px;color:#4b5563;font-weight:600;display:flex;align-items:center;gap:10px;transition:all .3s ease;z-index:10;border:1px solid #e5e7eb;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 1px 3px #0000001a}.btn-back-floating:hover{background:#f9fafb;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a;color:#1f2937}@media (max-width: 600px){.login-card{padding:20px 5px;border-radius:12px}.login-header h2{font-size:1.2rem}.login-icon{width:60px;height:60px;font-size:1.5rem}.btn-block{font-size:1rem;padding:12px}}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.input-group{position:relative;display:flex;flex-direction:column-reverse}.input-group input,.input-group select,.input-group textarea{width:100%;padding:15px 20px;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:1rem;outline:none;transition:all .3s ease;font-family:var(--font-main)}.input-group textarea{resize:vertical;min-height:120px}.input-group label{position:relative!important;top:auto!important;left:0!important;margin-bottom:1px;margin-left:5px;font-size:.9rem!important;color:var(--primary-color)!important;background:transparent!important;padding:0!important;font-weight:700!important;pointer-events:none;transition:all .3s ease}.contact-form button{margin-top:10px;width:100%;padding:15px;font-size:1.1rem;letter-spacing:1px}.contact-form.grid-form{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.contact-form.grid-form button{grid-column:span 2;margin-top:0}.contact-form.grid-form .input-group{width:100%}.modal-content .input-group input,.modal-content .input-group select,.modal-content .input-group textarea{background:#f4f4f4;color:#333;border:1px solid #ddd;width:100%}.modal-content .input-group select{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:30px}.modal-content .input-group label{color:#666}.modal-content .input-group input:focus,.modal-content .input-group input:valid,.modal-content .input-group select:focus,.modal-content .input-group select:valid,.modal-content .input-group textarea:focus,.modal-content .input-group textarea:valid{background:#fff}.modal-content .input-group input:focus~label,.modal-content .input-group input:valid~label,.modal-content .input-group select:focus~label,.modal-content .input-group select:valid~label,.modal-content .input-group textarea:focus~label,.modal-content .input-group textarea:valid~label{background:transparent!important}.registration-body{background-color:#f0f2f5;min-height:100vh;width:100%}.registration-wrapper{margin-top:100px;width:100%;padding:20px 20px 60px}.admin-panel{background:#fff;padding:1.5rem;border-radius:10px;box-shadow:0 5px 15px #0000000d}.registration-wrapper .admin-panel{padding:1rem;width:100%}.registration-wrapper .panel-header{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #eee}.registration-wrapper .panel-header h2{font-size:1.2rem;margin:0}.registration-wrapper .contact-form{display:flex;flex-direction:column;gap:8px}.registration-wrapper .input-group{margin-bottom:0}.registration-wrapper .input-group input,.registration-wrapper .input-group select{font-size:.9rem;padding:12px 20px}.registration-wrapper .input-group select{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:30px}.registration-wrapper .input-group label{top:auto!important}.registration-wrapper button[type=submit]{margin-top:10px;padding:12px;background-color:#2ecc71;box-shadow:0 4px 15px #2ecc714d;border:none}.registration-wrapper button[type=submit]:hover{background-color:#27ae60;box-shadow:0 6px 20px #2ecc7180;transform:translateY(-2px)}.contact-form .registration-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:0}@media (max-width: 768px){.contact-form .registration-grid{grid-template-columns:1fr}.registration-wrapper{display:block;height:auto;overflow-y:visible;padding-bottom:60px;margin-top:75px;padding-left:10px;padding-right:10px}.registration-body{height:auto;overflow-y:auto}.registration-wrapper .admin-panel{padding:15px}.registration-body .admin-header{flex-direction:row;padding:10px 15px;height:65px;gap:10px;align-items:center}.registration-body .admin-header .logo span{display:none}.registration-body .admin-header .logo img{height:35px}.registration-body .admin-header .btn-small{padding:6px 12px;font-size:.8rem;white-space:nowrap}.registration-wrapper .input-group input,.registration-wrapper .input-group select{height:50px;font-size:16px}.registration-wrapper .input-group label{top:-10px!important}}.admin-panel .contact-form .input-group input,.admin-panel .contact-form .input-group select,.admin-panel .contact-form .input-group textarea{background:#f8f9fa;color:#333;border:1px solid #e0e0e0}.admin-panel .contact-form .input-group label{color:#666;background:transparent}.admin-panel .contact-form .input-group input:focus,.admin-panel .contact-form .input-group select:focus,.admin-panel .contact-form .input-group textarea:focus,.admin-panel .contact-form .input-group input:valid,.admin-panel .contact-form .input-group select:valid{background:transparent;border-color:var(--primary-color)}.admin-panel .contact-form .input-group input:focus~label,.admin-panel .contact-form .input-group select:focus~label,.admin-panel .contact-form .input-group input:valid~label,.admin-panel .contact-form .input-group select:valid~label{background:transparent;color:var(--primary-color);padding:0 5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.modality-section{width:100%;margin-bottom:25px;text-align:center}.modality-label{display:block;margin-bottom:15px;font-size:1rem;color:var(--secondary-color);font-weight:700;text-transform:uppercase;letter-spacing:1px}.modality-selector{display:flex;gap:20px;flex-wrap:wrap;width:100%;justify-content:center}.modality-option{position:relative;cursor:pointer;flex:1;min-width:110px;max-width:160px}.modality-option input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.modality-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 15px;background:#fff;border:2px solid #e0e0e0;border-radius:15px;transition:all .3s cubic-bezier(.25,.8,.25,1);color:#888;height:100%;text-align:center;font-weight:600;font-size:.95rem;box-shadow:0 4px 6px #00000005}.modality-card i{font-size:1.8rem;margin-bottom:10px;color:#ccc;transition:all .3s ease}.modality-option input:checked+.modality-card{background:#fff;border-color:var(--primary-color);color:var(--secondary-color);box-shadow:0 10px 25px #e6394633;transform:translateY(-5px)}.modality-option input:checked+.modality-card i{color:var(--primary-color);transform:scale(1.1)}.modality-option:hover .modality-card{border-color:var(--primary-color);transform:translateY(-3px);box-shadow:0 5px 15px #0000001a}.modality-option:hover .modality-card i{color:var(--primary-color)}@media (max-width: 768px){.modality-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px}.modality-option:last-child:nth-child(odd){grid-column:span 2}.modality-label{margin-bottom:5px;font-size:.8rem}.modality-selector{gap:8px}.modality-card{padding:8px;font-size:.8rem}.modality-card i{font-size:1rem;margin-bottom:2px}}.input-group input.touched:invalid,.input-group select.touched:invalid{border-color:#e74c3c!important;background-color:#e74c3c05}.input-group input.touched:valid,.input-group select.touched:valid{border-color:#2ecc71!important}.validation-msg{color:#e74c3c;font-size:.75rem;position:absolute;bottom:-18px;left:5px;display:none;font-weight:500}.input-group input.touched:invalid~.validation-msg{display:block}.ranking-system-wrapper{animation:fadeIn .5s ease-out}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.stat-card{background:var(--card-bg);padding:20px 25px;border-radius:15px;box-shadow:0 4px 15px var(--shadow-color);display:flex;justify-content:space-between;align-items:center;border:1px solid var(--border-color)}.stat-info h3{font-size:.9rem;color:#555;margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px}.stat-number{font-size:2rem;font-weight:700;color:var(--secondary-color);font-family:var(--font-heading)}.stat-icon{width:50px;height:50px;background:#e639461a;color:var(--primary-color);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.ranking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;background:var(--surface-bg);padding:1.5rem 2rem;border-radius:15px;box-shadow:0 4px 20px var(--shadow-color)}.ranking-title{font-family:Oswald,sans-serif;color:var(--secondary-color);font-size:1.8rem;margin:0;display:flex;align-items:center;gap:10px}.ranking-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.ranking-filters select{padding:12px 25px;border-radius:30px;border:1px solid var(--border-color);outline:none;cursor:pointer;font-family:Roboto,sans-serif;background-color:var(--input-bg);transition:all .3s;font-weight:500;color:var(--text-light)}.ranking-filters select:hover,.ranking-filters select:focus{border-color:var(--primary-color);background-color:#fff;box-shadow:0 0 0 3px #e639461a}.ranking-table-container{background:transparent;box-shadow:none;border:none;overflow:visible}.ranking-table{width:100%;border-collapse:separate;border-spacing:0 8px}.ranking-table th{background:transparent;color:var(--text-light);padding:0 15px 10px;text-align:left;font-weight:700;text-transform:uppercase;font-size:.75rem;letter-spacing:1px;border:none}.ranking-table td{background:var(--surface-bg);padding:12px 15px;border:none;color:var(--text-main);vertical-align:middle;font-size:.95rem}#ranking-tbody td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranking-table td:first-child{border-top-left-radius:10px;border-bottom-left-radius:10px}.ranking-table td:last-child{border-top-right-radius:10px;border-bottom-right-radius:10px}#ranking-tbody td:last-child{overflow:visible;white-space:normal}.ranking-table tr{transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 2px 5px #00000008}.ranking-table tr:hover{transform:translateY(-3px);box-shadow:0 5px 15px #00000014;z-index:5;position:relative;background-color:var(--card-bg)!important}.rank-badge{font-size:1.3rem;display:block;text-align:center}.rank-number{font-weight:700;color:#aaa;font-size:1rem;text-align:center;display:block}.row-gold td{background:linear-gradient(to right,rgba(255,251,240,.1),var(--surface-bg));border:1px solid #fcebb6;border-width:1px 0}.row-gold td:first-child{border-left-width:1px;border-left-color:#fcebb6}.row-gold td:last-child{border-right-width:1px;border-right-color:#fcebb6}.row-silver td{background:linear-gradient(to right,rgba(248,249,250,.1),var(--surface-bg));border:1px solid #e9ecef;border-width:1px 0}.row-silver td:first-child{border-left-width:1px;border-left-color:#e9ecef}.row-silver td:last-child{border-right-width:1px;border-right-color:#e9ecef}.row-bronze td{background:linear-gradient(to right,rgba(255,245,240,.1),var(--surface-bg));border:1px solid #f5c6cb;border-width:1px 0}.row-bronze td:first-child{border-left-width:1px;border-left-color:#f5c6cb}.row-bronze td:last-child{border-right-width:1px;border-right-color:#f5c6cb}.btn-points{background-color:#f39c12;color:#fff;border:none;padding:6px 12px;border-radius:5px;cursor:pointer;transition:background .3s}.btn-points:hover{background-color:#e67e22}@media screen and (max-width: 768px){.ranking-header{flex-direction:column;align-items:stretch;text-align:center;gap:20px;padding:1.5rem}.ranking-title{justify-content:center}.ranking-actions{flex-direction:column;width:100%}.ranking-filters,.ranking-filters select,#rank-search,#btn-rank-add{width:100%!important}.stats-grid{grid-template-columns:1fr}}.student-results-list{height:300px;overflow-y:auto;border:1px solid #ddd;border-radius:8px;background:#f9f9f9;margin-bottom:15px}.student-result-item{padding:12px 15px;border-bottom:1px solid #eee;cursor:pointer;transition:background-color .2s;display:flex;justify-content:space-between;align-items:center;gap:10px}.student-result-item:hover{background-color:#f0f0f0}.student-result-item.active{background-color:var(--secondary-color)!important;color:#fff}.student-result-item .student-name{font-weight:600;font-size:1rem;color:#2c3e50}.student-result-item .student-details{font-size:.85rem;color:#666;text-align:right;background:#eee;padding:2px 10px;border-radius:12px}.student-result-item.active .student-details{color:#333;background:#ffffff4d}.student-result-item-empty{padding:15px;color:#888;text-align:center}@media screen and (max-width: 600px){.student-result-item{flex-direction:column;align-items:flex-start;gap:4px}.student-result-item .student-details{text-align:left;padding:0;background:transparent;font-size:.8rem}}#gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:2rem}.gallery-item{overflow:hidden;border-radius:10px;box-shadow:0 5px 15px #0000001a;cursor:pointer;position:relative;height:250px}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease,filter .4s ease}.gallery-item:hover img{transform:scale(1.1);filter:brightness(.7)}.gallery-item:after{content:"";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);color:#fff;font-size:3rem;opacity:0;transition:transform .4s ease,opacity .4s ease;pointer-events:none}.gallery-item:hover:after{transform:translate(-50%,-50%) scale(1);opacity:1}#lightbox-modal{background-color:#000000e6;align-items:center;justify-content:center}#lightbox-modal .modal-content{margin:auto;display:block;width:auto;max-width:90%;max-height:85vh;background-color:transparent;border:none;box-shadow:none;animation:modalFadeIn .3s}#lightbox-close{position:absolute;top:25px;right:35px;color:#f1f1f1;font-size:40px;font-weight:700;transition:.3s;z-index:2001}#ranking-details-modal .modal-content{--school-bg-logo: url(/logos/nosotros.png)}#ranking-details-modal .modal-content:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;height:80%;background-image:var(--school-bg-logo);background-size:contain;background-repeat:no-repeat;background-position:center;opacity:.15;z-index:0}#ranking-details-modal .modal-content>*{position:relative;z-index:1}header.home-header{background-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;border-bottom:none;transition:all .4s ease}header.scrolled{background-color:#111111f2!important;-webkit-backdrop-filter:blur(15px)!important;backdrop-filter:blur(15px)!important;box-shadow:0 4px 20px #0006!important;border-bottom:1px solid rgba(255,255,255,.05)!important}.typewriter-cursor{display:inline-block;width:4px;height:1em;background-color:var(--primary-color);animation:blink .8s infinite;margin-left:5px;vertical-align:baseline}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}
