.bg-glow{background:radial-gradient(circle, var(--primary-red-glow) 0%, transparent 70%);z-index:-1;pointer-events:none;width:500px;height:500px;position:absolute;top:-150px;right:-50px;overflow:hidden}.btn{font-family:var(--font-family);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-smooth);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:.95rem;font-weight:600;display:inline-flex}.btn-sm{border-radius:var(--radius-sm);padding:7px 14px;font-size:.85rem}.btn-primary{background-color:var(--primary-red);color:#fff}.btn-primary:hover{background-color:var(--primary-red-hover);transform:translateY(-2px);box-shadow:0 4px 12px #d32f2f4d}.btn-primary:active{transform:translateY(0)}.btn-secondary{border-color:var(--border-color);color:var(--text-main);background-color:#fff}.btn-secondary:hover{background-color:var(--bg-light);border-color:var(--text-muted)}.btn-danger-outline{border:1px solid var(--primary-red);color:var(--primary-red);background-color:#0000}.btn-danger-outline:hover{background-color:var(--primary-red-light)}.btn-icon{padding:10px}.btn-text-icon{color:var(--primary-red);font-family:var(--font-family);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;align-items:center;gap:4px;font-size:.85rem;font-weight:600;display:inline-flex}.btn-text-icon:hover{color:var(--primary-red-hover);text-decoration:underline}.text-red{color:var(--primary-red)}.text-gold{color:var(--gold)}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.badge-discapacidad{background-color:var(--primary-red-light);color:var(--primary-red);border:1px solid #d6292926}.badge-clase{color:var(--bg-dark);background-color:#dbe6f0;border:1px solid #c9d9e8}.app-header{-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-color);z-index:100;background-color:#ffffffd9;padding:16px 0;position:sticky;top:0}.header-container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;width:92%;max-width:1400px;margin:0 auto;display:flex}.logo-area{align-items:center;display:flex}.logo-badge{border-radius:var(--radius-md);background:linear-gradient(135deg,#f5e5e5 0%,#eedde0 100%);border:1.5px solid #e3bfbf;align-items:center;gap:6px;padding:8px 12px;display:inline-flex;box-shadow:0 2px 10px #c270701f}.logo-badge-icon{flex-shrink:0;align-items:center;display:flex}.logo-badge-icon .material-icons-round{color:#ae3737;font-size:26px;line-height:1}.logo-badge-text{flex-direction:column;align-items:flex-start;margin:0;padding:0;display:flex}.logo-badge-text h1{color:#732626;letter-spacing:-.3px;white-space:nowrap;margin:0;padding:0;font-size:1.1rem;font-weight:800;line-height:1.1}.logo-badge-text .highlight{color:#a33333}.logo-badge-text p{color:#a96060;text-transform:uppercase;letter-spacing:.9px;white-space:nowrap;margin:1px 0 0;padding:0;font-size:.62rem;font-weight:700}.logo-text h1{color:var(--bg-dark);letter-spacing:-.5px;font-size:1.45rem;font-weight:800;line-height:1.1}.logo-text .highlight{color:var(--primary-red)}.logo-text p{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;font-size:.78rem;font-weight:600}.stats-panel{gap:24px;display:flex}.stat-card{background-color:var(--bg-light);border-radius:var(--radius-md);border:1px solid var(--border-color);transition:var(--transition-smooth);align-items:center;gap:12px;padding:8px 16px;display:flex}.stat-card:hover{border-color:var(--primary-red-glow);background-color:#fff;transform:translateY(-1px)}.stat-card span{font-size:26px}.stat-value{color:var(--bg-dark);font-size:1.25rem;font-weight:800;line-height:1}.stat-label{color:var(--text-muted);text-transform:uppercase;font-size:.72rem;font-weight:600}.app-content{flex-direction:column;flex:1;gap:30px;width:92%;max-width:1400px;margin:30px auto;display:flex}.filter-section{background-color:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-color);flex-direction:column;gap:20px;padding:24px;display:flex}.search-bar{width:100%;position:relative}.search-icon{color:var(--text-muted);font-size:22px;position:absolute;top:50%;left:16px;transform:translateY(-50%)}#search-input{width:100%;font-family:var(--font-family);border-radius:var(--radius-md);border:1.5px solid var(--border-color);background-color:var(--bg-light);transition:var(--transition-smooth);outline:none;padding:14px 16px 14px 48px;font-size:1rem}#search-input:focus{border-color:var(--primary-red);box-shadow:0 0 0 4px var(--primary-red-glow);background-color:#fff}.clear-search-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.clear-search-btn:hover{color:var(--primary-red)}.filters-container{flex-wrap:wrap;align-items:flex-end;gap:20px;display:flex}.filter-group{flex-direction:column;flex:1;gap:8px;min-width:240px;display:flex}.filter-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:700}.custom-select-wrapper{position:relative}.custom-select-wrapper select{width:100%;font-family:var(--font-family);border-radius:var(--radius-md);border:1.5px solid var(--border-color);appearance:none;cursor:pointer;transition:var(--transition-smooth);background-color:#fff;outline:none;padding:12px 16px;font-size:.95rem;font-weight:550}.custom-select-wrapper select:focus{border-color:var(--primary-red);box-shadow:0 0 0 4px var(--primary-red-glow)}.custom-select-wrapper select:disabled{background-color:var(--bg-light);color:var(--text-muted);cursor:not-allowed}.select-arrow{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.athletes-section{flex-direction:column;gap:20px;display:flex}.section-header{border-bottom:2px solid var(--border-color);justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.section-title{color:var(--bg-dark);font-size:1.45rem;font-weight:800}.results-count{color:var(--text-muted);font-size:.88rem;font-weight:600}.athletes-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;display:grid}.athlete-card{border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-bounce);background-color:#0000;border:none;flex-direction:column;display:flex;position:relative;overflow:hidden}.athlete-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a}.preview-card{cursor:default!important}.preview-card:hover{box-shadow:none!important;transform:none!important}.card-image-container{aspect-ratio:4/5;border-radius:var(--radius-md);box-sizing:border-box;background-color:#f1f5f9;border-bottom:none;width:100%;position:relative;overflow:hidden}.card-img-full{object-fit:cover;width:100%;height:100%;display:block}.card-img-placeholder{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.card-img-placeholder .material-icons-round{color:#cbd5e1;font-size:60px}.card-content-wrapper{border:1px solid var(--border-color);border-top:none;border-bottom:3px solid var(--primary-red);background-color:#fff;padding:16px 20px}.card-athlete-name{color:var(--bg-dark);font-size:1.05rem;font-weight:800;font-family:var(--font-family);letter-spacing:-.3px;text-transform:capitalize;margin:0 0 4px;line-height:1.3}.card-athlete-subtitle{color:var(--primary-red);margin:0 0 2px;font-size:.8rem;font-weight:600;line-height:1.4}.card-athlete-category{color:var(--text-muted);margin:0 0 10px;font-size:.75rem;font-weight:500;line-height:1.4}.card-medals-row{border-top:1px solid #f0f4f8;align-items:center;gap:18px;margin-top:4px;padding-top:10px;flex-flow:row!important;display:flex!important}.medal-item{align-items:center;gap:4px;flex-direction:row!important;display:flex!important}.medal-circle{border-radius:50%;flex-shrink:0;width:12px;height:12px;display:block}.medal-circle.gold{background-color:gold;box-shadow:0 0 0 2px #ffd7004d}.medal-circle.silver{background-color:silver;box-shadow:0 0 0 2px #c0c0c04d}.medal-circle.bronze{background-color:#cd7f32;box-shadow:0 0 0 2px #cd7f324d}.medal-count{color:#0f172a;font-size:.78rem;font-weight:700;line-height:1}.empty-state{text-align:center;border-radius:var(--radius-lg);border:1px dashed var(--border-color);background-color:#fff;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.empty-icon{color:var(--text-muted);margin-bottom:16px;font-size:50px}.empty-state h3{color:var(--bg-dark);margin-bottom:6px;font-size:1.25rem;font-weight:700}.empty-state p{color:var(--text-muted);max-width:400px;margin-bottom:20px;font-size:.95rem}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;opacity:0;pointer-events:none;background-color:#0f172a8c;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;transition:opacity .3s;display:flex;position:fixed;top:0;left:0}.modal-overlay.active{opacity:1;pointer-events:all}.modal-card{border-radius:var(--radius-lg);width:100%;max-width:720px;max-height:90vh;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);background-color:#fff;flex-direction:column;transition:transform .3s cubic-bezier(.34,1.56,.64,1);display:flex;transform:translateY(30px)scale(.98)}.modal-large{max-width:1100px}.modal-overlay.active .modal-card{transform:translateY(0)scale(1)}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-title-group{align-items:center;gap:12px;display:flex}.modal-icon{color:var(--primary-red);font-size:28px}.modal-header h2{color:var(--bg-dark);font-size:1.3rem;font-weight:800}.btn-close-modal{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-full);transition:var(--transition-smooth);background:0 0;border:none;padding:6px;display:flex}.btn-close-modal:hover{background-color:var(--bg-light);color:var(--primary-red)}.modal-body{flex:1;padding:24px;overflow-y:auto}.modal-body.no-padding{padding:0}.modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.app-footer{background-color:var(--bg-dark);color:#cfd7e2;font-family:var(--font-family);padding:40px 20px 10px}.footer-container{flex-wrap:wrap;justify-content:space-between;gap:30px;max-width:1400px;margin:auto;display:flex}.footer-brand h3{color:var(--primary-red);letter-spacing:-.3px;margin-bottom:10px;font-size:1.1rem;font-weight:800}.footer-brand p{color:#8996a9;font-size:.85rem;line-height:1.6}.footer-links h4,.footer-social h4{color:#fff;text-transform:uppercase;letter-spacing:.8px;margin-bottom:10px;font-size:.8rem;font-weight:700}.footer-links ul{padding:0;list-style:none}.footer-links li{margin-bottom:6px}.footer-links a,.footer-social a{color:#a6b5c9;transition:color var(--transition-smooth);font-size:.9rem;text-decoration:none}.footer-links a:hover,.footer-social a:hover{color:var(--primary-red)}.social-icons{flex-direction:column;gap:6px;display:flex}.footer-bottom{text-align:center;color:#718198;letter-spacing:.2px;border-top:1px solid #607a9f40;margin-top:30px;padding-top:12px;font-size:.82rem}.form-grid{grid-template-columns:240px 1fr;gap:30px;display:grid}@media (width<=768px){.form-grid{grid-template-columns:1fr}}.form-col-left{flex-direction:column;gap:20px;display:flex}.form-col-right{flex-direction:column;gap:18px;display:flex}.form-section-title{color:var(--primary-red);text-transform:uppercase;letter-spacing:.5px;border-bottom:1.5px solid var(--border-color);margin-top:10px;padding-bottom:6px;font-size:.95rem;font-weight:800}.form-group-row{gap:16px;display:flex}@media (width<=576px){.form-group-row{flex-direction:column;gap:14px}}.form-group{flex-direction:column;flex:1;gap:6px;display:flex}.flex-2{flex:2}.flex-1{flex:1}.form-group label{color:var(--bg-dark);font-size:.85rem;font-weight:700}.required{color:var(--primary-red)}.form-group input[type=text],.form-group input[type=tel],.form-group input[type=email],.form-group input[type=date],.compact-form input[type=text],.compact-form input[type=date]{font-family:var(--font-family);border-radius:var(--radius-sm);border:1.5px solid var(--border-color);transition:var(--transition-smooth);outline:none;padding:10px 14px;font-size:.95rem}.form-group input:focus,.compact-form input:focus{border-color:var(--primary-red);box-shadow:0 0 0 3px var(--primary-red-glow)}.form-group.error input,.form-group.error select{border-color:var(--primary-red);background-color:var(--primary-red-light)}.error-msg{color:var(--primary-red);font-size:.75rem;font-weight:600;display:none}.form-group.error .error-msg{display:block}.photo-upload-container{flex-direction:column;align-items:center;gap:10px;display:flex}.photo-upload-label{color:var(--bg-dark);align-self:flex-start;font-size:.85rem;font-weight:700}.photo-preview-box{border-radius:var(--radius-md);border:2px dashed var(--border-color);background-color:var(--bg-light);cursor:pointer;text-align:center;width:150px;height:150px;transition:var(--transition-smooth);background-position:50%;background-size:cover;flex-direction:column;justify-content:center;align-items:center;padding:12px;display:flex}.photo-preview-box:hover{border-color:var(--primary-red);background-color:var(--primary-red-light)}.photo-placeholder-icon{color:var(--text-muted);margin-bottom:8px;font-size:32px}.photo-placeholder-text{color:var(--text-muted);font-size:.72rem;font-weight:600}.photo-actions{gap:8px;display:flex}.live-preview-container{border-top:1px dashed var(--border-color);margin-top:15px;padding-top:15px}.class-info-box{border-left:4px solid var(--primary-red);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background-color:#f1f5f9;gap:10px;margin-top:8px;padding:12px;display:flex}.info-icon{color:var(--primary-red);font-size:20px}#class-info-text{color:var(--text-main);font-size:.8rem;font-weight:500;line-height:1.4}.detail-layout{grid-template-columns:320px 1fr;min-height:550px;display:grid}@media (width<=850px){.detail-layout{grid-template-columns:1fr}.detail-sidebar{border-bottom:1px solid var(--border-color);border-right:none!important}}.detail-sidebar{background-color:var(--bg-light);border-right:1px solid var(--border-color);flex-direction:column;gap:28px;padding:30px 24px;display:flex}.detail-profile-hero{text-align:center;flex-direction:column;align-items:center;display:flex}.detail-avatar-wrapper{border-radius:var(--radius-lg);width:140px;height:140px;box-shadow:var(--shadow-md);border:4px solid #fff;margin-bottom:16px;overflow:hidden}.detail-avatar{object-fit:cover;width:100%;height:100%}.detail-athlete-name{color:var(--bg-dark);font-size:1.25rem;font-weight:800;line-height:1.2}.detail-athlete-id{color:var(--text-muted);margin-top:4px;font-size:.8rem;font-weight:600}.detail-badges-row{gap:8px;margin-top:12px;display:flex}.detail-section{flex-direction:column;gap:12px;display:flex}.detail-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px;font-size:.78rem;font-weight:800}.section-title-between{justify-content:space-between;align-items:center;display:flex}.technical-sheet{flex-direction:column;gap:10px;list-style:none;display:flex}.technical-sheet li{border-bottom:1px solid var(--border-color);justify-content:space-between;padding-bottom:8px;font-size:.85rem;display:flex}.tech-label{color:var(--text-muted);font-weight:600}.tech-val{color:var(--bg-dark);text-align:right;font-weight:700}.docs-list{flex-direction:column;gap:8px;display:flex}.doc-item{border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:var(--transition-smooth);background-color:#fff;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.doc-item:hover{border-color:var(--primary-red)}.doc-info{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.doc-icon{color:var(--primary-red);flex-shrink:0;font-size:24px}.doc-text{min-width:0}.doc-name{color:var(--bg-dark);-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:.82rem;font-weight:700;display:-webkit-box;overflow:hidden}.doc-meta{color:var(--text-muted);margin-top:1px;font-size:.7rem;font-weight:550}.doc-actions{gap:4px;display:flex}.btn-icon-sm{border-radius:var(--radius-full);color:var(--text-muted);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;align-items:center;padding:4px;display:flex}.btn-icon-sm:hover{background-color:var(--bg-light);color:var(--primary-red)}.no-docs-message{text-align:center;color:var(--text-muted);border:1px dashed var(--border-color);border-radius:var(--radius-sm);background-color:#fff;flex-direction:column;align-items:center;padding:20px 10px;display:flex}.no-docs-message span{margin-bottom:4px;font-size:28px}.no-docs-message p{font-size:.75rem;font-weight:550}.detail-main-content{padding:30px;overflow-y:auto}.panel-section-title{color:var(--bg-dark);font-size:1.2rem;font-weight:800}.mb-4{margin-bottom:1.5rem}.mt-3{margin-top:1rem}.modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(6px);background-color:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-overlay .modal-content{background-color:#fff;border-radius:16px;width:100%;max-width:600px;max-height:90vh;padding:28px 32px;animation:.25s modalSlideIn;position:relative;overflow-y:auto;box-shadow:0 20px 60px #00000040,0 4px 16px #0000001a}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}#btn-open-championship-form:hover{background-color:#dc262629;border-color:#dc26268c;transform:translateY(-1px);box-shadow:0 2px 8px #dc26262e}.championship-form-card{background-color:var(--bg-light);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:24px;padding:16px}.card-header-simple{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:8px;display:flex}.card-header-simple h4{color:var(--bg-dark);text-transform:uppercase;font-size:.92rem;font-weight:800}.btn-close-sm{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px;display:flex}.btn-close-sm:hover{color:var(--primary-red)}.compact-form{flex-direction:column;gap:12px;display:flex}.form-actions-right{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.championships-timeline{flex-direction:column;gap:16px;display:flex}.champ-card{border:1px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition-smooth);background-color:#fff;align-items:center;gap:16px;padding:16px;display:flex}.champ-card:hover{border-color:var(--primary-red);box-shadow:0 4px 12px #0f172a08}.champ-medal-box{border-radius:var(--radius-sm);background-color:var(--bg-light);flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;display:flex}.champ-medal-box.Oro{color:var(--gold);background-color:#fff7e0}.champ-medal-box.Plata{color:var(--text-muted);background-color:#eaf0f6}.champ-medal-box.Bronce{color:var(--bronze);background-color:#f8efe7}.champ-medal-box.Participación,.champ-medal-box.Finalista,.champ-medal-box.Cuarto,.champ-medal-box.Quinto{background-color:var(--primary-red-light);color:var(--primary-red)}.champ-medal-icon{font-size:32px}.champ-info{flex:1;grid-template-columns:2fr 1fr 1.2fr;align-items:center;gap:16px;display:grid}@media (width<=650px){.champ-card{flex-direction:column;align-items:flex-start;gap:12px}.champ-info{grid-template-columns:1fr;gap:8px;width:100%}}.champ-title-group h4{color:var(--bg-dark);font-size:.95rem;font-weight:750}.champ-place-group{color:var(--text-muted);align-items:center;gap:4px;margin-top:2px;font-size:.8rem;font-weight:550;display:flex}.champ-place-group span{font-size:14px}.champ-result-group{text-align:left}.champ-result-label{color:var(--text-muted);text-transform:uppercase;font-size:.72rem;font-weight:700}.champ-result-value{color:var(--primary-red);font-size:.95rem;font-weight:800}.champ-meta-group{flex-direction:column;align-items:flex-start;display:flex}.champ-date{color:var(--text-muted);font-size:.78rem;font-weight:600}.champ-badge{border-radius:var(--radius-full);text-transform:uppercase;margin-top:4px;padding:2px 8px;font-size:.68rem;font-weight:700;display:inline-block}.champ-badge.Oro{background-color:var(--gold);color:var(--bg-dark)}.champ-badge.Plata{background-color:var(--silver);color:var(--bg-dark)}.champ-badge.Bronce{background-color:var(--bronze);color:#fff}.champ-badge.Finalista,.champ-badge.Cuarto,.champ-badge.Quinto{background-color:var(--text-main);color:#fff}.champ-badge.Participación{background-color:var(--bg-light);border:1px solid var(--border-color);color:var(--text-muted)}.champ-actions{align-items:center;display:flex}.empty-championships-state{text-align:center;background-color:var(--bg-light);border:1.5px dashed var(--border-color);border-radius:var(--radius-md);flex-direction:column;justify-content:center;align-items:center;padding:50px 20px;display:flex}.empty-championships-state span{color:var(--text-muted);margin-bottom:12px;font-size:40px}.empty-championships-state h4{color:var(--bg-dark);font-size:1.05rem;font-weight:750}.empty-championships-state p{color:var(--text-muted);max-width:320px;margin-top:4px;font-size:.85rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.3s cubic-bezier(.4,0,.2,1) forwards fadeIn}.scroll-y{overflow-y:auto}.no-padding{padding:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-light)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.contenedor-login{background-color:var(--bg-dark);background-image:radial-gradient(circle at 80% 20%, var(--primary-red-glow) 0%, transparent 50%), radial-gradient(circle at 10% 80%, #d32f2f0d 0%, transparent 40%);z-index:9999;width:100%;height:100%;transition:var(--transition-smooth);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;top:0;left:0}.contenedor-login.oculto{opacity:0;pointer-events:none}.tarjeta-login{border-radius:var(--radius-lg);background-color:#fff;border:1px solid #ffffff1a;width:100%;max-width:440px;padding:25px 30px 35px;box-shadow:0 30px 60px #00000040}.login-encabezado{text-align:center;margin-bottom:18px}.login-logo-icon{color:#fff;background-color:var(--primary-red);border-radius:var(--radius-md);width:64px;height:64px;box-shadow:0 8px 20px var(--primary-red-glow);justify-content:center;align-items:center;margin-bottom:16px;font-size:38px;display:inline-flex;overflow:hidden}.login-encabezado h2{color:var(--bg-dark);letter-spacing:-.5px;font-size:1.35rem;font-weight:800}.login-encabezado h2 .highlight{color:var(--primary-red)}.login-encabezado p{color:var(--text-muted);text-transform:uppercase;margin-top:4px;font-size:.8rem;font-weight:600}.selectores-rol{background-color:var(--bg-light);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:24px;padding:4px;display:flex}.btn-rol{font-family:var(--font-family);color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition-smooth);background:0 0;border:none;flex:1;padding:8px;font-size:.85rem;font-weight:700}.btn-rol:hover{color:var(--bg-dark)}.btn-rol.activo{color:var(--primary-red);box-shadow:var(--shadow-sm);background-color:#fff}.credenciales-ayuda{background-color:var(--bg-light);border:1.5px dashed var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);text-align:center;margin-top:15px;padding:10px 14px;font-size:.78rem;font-weight:550}.login-switch-text{text-align:center;color:var(--text-muted);margin-top:15px;font-size:.82rem;font-weight:550}.login-switch-text a{color:var(--primary-red);font-weight:700;text-decoration:none}.login-switch-text a:hover{text-decoration:underline}.indicador-sesion{background-color:var(--bg-light);border:1px solid var(--border-color);border-radius:var(--radius-md);align-items:center;gap:12px;margin-right:10px;padding:8px 12px;display:flex}.usuario-info{align-items:center;gap:8px;display:flex}.tab-enlace{cursor:pointer;transition:var(--transition-smooth)}.tab-enlace.activo{background-color:var(--primary-red)!important;color:#fff!important;border-color:var(--primary-red)!important}.tarjeta-logro{border:1.5px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:var(--transition-bounce);background-color:#fff;flex-direction:column;gap:14px;padding:24px;display:flex;position:relative}.tarjeta-logro:hover{border-color:var(--primary-red);box-shadow:var(--shadow-md);transform:translateY(-4px)}.logro-header{justify-content:space-between;align-items:flex-start;display:flex}.logro-icono-box{border-radius:var(--radius-md);background-color:var(--primary-red-light);width:48px;height:48px;color:var(--primary-red);justify-content:center;align-items:center;display:flex;box-shadow:0 4px 10px #d32f2f14}.logro-info-cuerpo h3{color:var(--bg-dark);font-size:1rem;font-weight:800;line-height:1.25}.logro-atleta-nombre{color:var(--primary-red);text-transform:uppercase;margin-top:2px;font-size:.8rem;font-weight:700}.logro-descripcion{color:var(--text-main);font-size:.85rem;font-weight:500;line-height:1.45}.logro-pie{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;display:flex}.logro-profesor-nombre{color:var(--text-muted);align-items:center;gap:4px;font-size:.75rem;font-weight:600;display:flex}.logro-ano-badge{background-color:var(--bg-light);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);padding:2px 8px;font-size:.72rem;font-weight:750}.eventos-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.evento-card{border:1.5px solid var(--border-color);box-shadow:var(--shadow-sm);transition:var(--transition-smooth);background-color:#fff;border-radius:8px;flex-direction:column;gap:14px;min-height:230px;padding:20px;display:flex}.evento-card:hover{box-shadow:var(--shadow-md);border-color:#d32f2f73;transform:translateY(-3px)}.evento-card-top,.evento-footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.evento-icon-box{background-color:var(--primary-red-light);width:44px;height:44px;color:var(--primary-red);border-radius:8px;justify-content:center;align-items:center;display:flex}.evento-card h3{color:var(--bg-dark);font-size:1rem;font-weight:800;line-height:1.25}.evento-year,.evento-local-badge{background-color:var(--bg-light);border:1px solid var(--border-color);color:var(--text-muted);border-radius:8px;padding:3px 8px;font-size:.72rem;font-weight:800}.evento-meta{color:var(--text-main);align-items:flex-start;gap:8px;font-size:.84rem;font-weight:600;display:flex}.evento-meta .material-icons-round{color:var(--primary-red);flex:none;font-size:18px}.evento-footer{border-top:1px solid var(--border-color);color:var(--text-muted);margin-top:auto;padding-top:12px;font-size:.75rem;font-weight:650}.evento-date-preview{background-color:var(--primary-red-light);color:var(--primary-red);border:1px solid #d32f2f2e;border-radius:8px;padding:12px 14px;font-size:.9rem;font-weight:800}.evento-date-preview.error{color:var(--primary-red);background-color:#fef1f1;border-color:#d32f2f59}.full-screen-profile{flex-direction:column;display:flex;position:fixed;top:0;left:0;border-radius:0!important;width:100vw!important;max-width:none!important;height:100vh!important;max-height:none!important;margin:0!important}.modal-overlay.active .full-screen-profile{animation:.4s cubic-bezier(.16,1,.3,1) forwards slideUp}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.bg-mockup-light{background-color:#f3f4f6}.mockup-header-bar{background-color:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.btn-back-redesign{color:#1e293b;font-family:var(--font-family);cursor:pointer;transition:color var(--transition-smooth);background:0 0;border:none;align-items:center;gap:8px;font-size:.95rem;font-weight:750;display:flex}.btn-back-redesign:hover{color:var(--primary-red)}.btn-back-redesign span{font-size:20px}.profile-mockup-container{max-width:1400px;font-family:var(--font-family);flex-direction:column;gap:20px;margin:0 auto;padding:24px;display:flex}.profile-mockup-top-header{align-items:stretch;gap:20px;display:flex}@media (width<=1024px){.profile-mockup-top-header{flex-direction:column;align-items:center}}.profile-mockup-avatar-container{flex-shrink:0;justify-content:center;align-items:center;display:flex}.profile-mockup-avatar-wrapper{border:4px solid var(--primary-red);border-radius:50%;width:200px;height:200px;overflow:hidden;box-shadow:0 10px 25px #d32f2f26}.profile-mockup-avatar{object-fit:cover;width:100%;height:100%}.profile-mockup-info-block{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;flex:1;grid-template-columns:repeat(3,1fr);gap:20px;padding:24px;display:grid;box-shadow:0 4px 6px -1px #0000000d}@media (width<=768px){.profile-mockup-info-block{grid-template-columns:1fr;gap:16px;width:100%}}.info-block-col{flex-direction:column;gap:12px;display:flex}.info-block-col:not(:last-child){border-right:1px solid #f3f4f6;padding-right:20px}@media (width<=768px){.info-block-col:not(:last-child){border-bottom:1px solid #f3f4f6;border-right:none;padding-bottom:12px;padding-right:0}}.profile-mockup-athlete-name{color:#0f172a;text-transform:uppercase;font-size:1.5rem;font-weight:800;line-height:1.15}.profile-mockup-athlete-name .highlight-red{color:var(--primary-red);font-size:1.9rem}.info-block-item{flex-direction:column;display:flex}.info-block-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;font-size:.72rem;font-weight:750}.info-block-value{color:#0f172a;font-size:.88rem;font-weight:750}.profile-mockup-ranking-card{color:#fff;background-color:#0f172a;border-radius:8px;flex-direction:column;flex-shrink:0;justify-content:space-between;align-items:center;width:250px;padding:20px;display:flex;box-shadow:0 4px 6px -1px #0000001a}@media (width<=1024px){.profile-mockup-ranking-card{width:100%}}.ranking-header{color:#94a3b8;cursor:pointer;align-items:center;gap:4px;font-size:.8rem;font-weight:750;display:flex}.ranking-header span{font-size:16px}.ranking-title{letter-spacing:1.5px;color:#94a3b8;margin-top:8px;font-size:.75rem;font-weight:800}.ranking-number{color:#fff;font-size:3rem;font-weight:900;line-height:1}.ranking-subnumber{color:#94a3b8;align-items:center;gap:2px;font-size:.95rem;font-weight:750;display:flex}.ranking-subnumber span{font-size:16px}.ranking-bottom-bests{border-top:1px solid #334155;justify-content:space-between;align-items:center;width:100%;margin-top:20px;padding-top:12px;display:flex}.best-item{flex-direction:column;align-items:center;display:flex}.best-label{color:#94a3b8;margin-bottom:2px;font-size:.62rem;font-weight:750}.best-value-row{align-items:center;gap:4px;font-size:.85rem;font-weight:800;display:flex}.best-value-row .add-icon-sm{color:var(--primary-red);font-size:14px}.best-divider{background-color:#334155;width:1px;height:25px}.profile-mockup-red-bar{background-color:var(--primary-red);color:#fff;text-transform:uppercase;border-radius:6px;align-items:center;gap:8px;padding:10px 18px;font-size:.92rem;font-weight:850;display:flex}.profile-mockup-red-bar span{font-size:18px}.profile-mockup-body-grid{grid-template-columns:280px 1fr;align-items:start;gap:20px;display:grid}@media (width<=900px){.profile-mockup-body-grid{grid-template-columns:1fr}}.profile-mockup-sidebar{flex-direction:column;gap:20px;display:flex}.mockup-sidebar-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;box-shadow:0 4px 6px -1px #0000000d}.sidebar-card-title{color:#0f172a;text-transform:uppercase;margin-bottom:16px;font-size:.95rem;font-weight:800}.sidebar-medals-row{border-bottom:1px solid #f3f4f6;justify-content:space-around;margin-bottom:20px;padding-bottom:16px;display:flex}.sidebar-medal-col{flex-direction:column;align-items:center;gap:8px;display:flex}.medal-circle-mockup{border-radius:50%;width:38px;height:38px;box-shadow:0 4px 6px #0000001a}.medal-circle-mockup.gold{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.medal-circle-mockup.silver{background:linear-gradient(135deg,#cbd5e1,#94a3b8)}.medal-circle-mockup.bronze{background:linear-gradient(135deg,#ca8a04,#854d0e)}.medal-count-mockup{color:#0f172a;font-size:1.25rem;font-weight:900}.mockup-featured-achievement{text-align:center;background-color:#fafafa;border:1px solid #f3f4f6;border-radius:6px;flex-direction:column;align-items:center;padding:16px;display:flex}.featured-achievement-title{color:#b45309;text-transform:uppercase;font-size:.75rem;font-weight:800}.featured-achievement-event{color:#0f172a;margin-top:4px;font-size:.95rem;font-weight:850}.featured-achievement-mark{color:var(--primary-red);margin-top:2px;font-size:1.4rem;font-weight:900}.featured-achievement-meta{color:#64748b;font-size:.75rem;font-weight:750}.featured-achievement-logo{margin:12px 0}.featured-achievement-championship{color:#0f172a;font-size:.8rem;font-weight:800}.profile-mockup-main{flex-direction:column;gap:20px;display:flex}.mockup-main-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px;box-shadow:0 4px 6px -1px #0000000d}.main-card-title{color:#0f172a;text-transform:uppercase;font-size:1.05rem;font-weight:850}.dashboard-controls-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.dashboard-tabs{gap:10px;display:flex}.dashboard-tab-btn{font-family:var(--font-family);color:#64748b;cursor:pointer;transition:all var(--transition-smooth);background-color:#0000;border:1.5px solid #cbd5e1;border-radius:4px;padding:8px 16px;font-size:.78rem;font-weight:800}.dashboard-tab-btn.active,.dashboard-tab-btn:hover{color:#0f172a;background-color:#f8fafc;border-color:#0f172a}.dashboard-filters{gap:10px;display:flex}.mockup-dropdown-btn{color:#64748b;cursor:pointer;background-color:#fff;border:1.5px solid #cbd5e1;border-radius:4px;align-items:center;gap:6px;padding:8px 14px;font-size:.78rem;font-weight:800;display:flex}.mockup-dropdown-btn.red-bg{background-color:var(--primary-red);border-color:var(--primary-red);color:#fff}.mockup-dropdown-btn span.material-icons-round{font-size:16px}.chart-container-mockup{background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;justify-content:center;align-items:center;width:100%;height:250px;padding:10px;display:flex;position:relative;overflow:hidden}.table-responsive{border:1px solid #e5e7eb;border-radius:6px;width:100%;overflow-x:auto}.championships-table{border-collapse:collapse;text-align:left;width:100%;font-size:.85rem}.championships-table th{color:#64748b;text-transform:uppercase;letter-spacing:.5px;background-color:#f8fafc;border-bottom:2px solid #e5e7eb;padding:12px 16px;font-size:.7rem;font-weight:800}.championships-table td{color:#0f172a;border-bottom:1px solid #e5e7eb;padding:12px 16px;font-weight:700}.championships-table tr:last-child td{border-bottom:none}.championships-table tr:hover td{background-color:#f8fafc}.championships-table .actions-col{text-align:center;width:80px}.profile-redesign-container{background-color:var(--bg-body);grid-template-columns:260px 1fr 280px;gap:20px;min-height:100vh;padding:20px;display:grid}@media (width<=1200px){.profile-redesign-container{grid-template-columns:250px 1fr}.profile-redesign-right-panel{grid-column:1/-1}}@media (width<=768px){.profile-redesign-container{grid-template-columns:1fr;padding:12px}}.profile-redesign-left-panel{background-color:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:24px;height:fit-content;padding:24px;display:flex}.profile-name{color:var(--text-dark);text-transform:uppercase;margin:0;font-size:1.75rem;font-weight:900;line-height:1.1}.profile-name .highlight-red{color:var(--primary-color);display:block}.profile-info-list{flex-direction:column;gap:16px;display:flex}.info-row{flex-direction:column;gap:4px;display:flex}.info-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:700}.info-value{color:var(--text-dark);font-size:1rem;font-weight:700}.profile-redesign-center-panel{flex-direction:column;gap:24px;display:flex}.profile-avatar-wrapper{justify-content:center;align-items:center;padding:10px;display:flex}.profile-avatar-circle{object-fit:cover;border:5px solid var(--bg-card);background-color:#f1f5f9;border-radius:50%;width:220px;height:220px;box-shadow:0 10px 25px #0000001a}.profile-medals-section{background-color:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px}.section-title-sm{color:var(--text-dark);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;margin-top:0;margin-bottom:20px;font-size:1.1rem;font-weight:800;display:flex}.medals-flex{justify-content:space-around;align-items:center;display:flex}.profile-medals-section .medal-item{color:var(--text-muted);text-transform:uppercase;flex-direction:column;align-items:center;gap:6px;font-size:.75rem;font-weight:800;display:flex}.profile-medals-section .medal-item span{color:var(--text-dark);font-size:1.5rem;line-height:1}.profile-medals-section .medal-circle{border-radius:50%;width:36px;height:36px;margin-bottom:4px;box-shadow:inset 0 -3px 6px #0003,0 3px 6px #00000026}.profile-medals-section .medal-circle.gold{background:linear-gradient(135deg,#ffe066,#f5af19)}.profile-medals-section .medal-circle.silver{background:linear-gradient(135deg,#e2e8f0,#94a3b8)}.profile-medals-section .medal-circle.bronze{background:linear-gradient(135deg,#fdba74,#c2410c)}.profile-chart-section{background-color:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;flex-grow:1;padding:24px;display:flex}.chart-container-svg{border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:#f8fafc;flex-grow:1;justify-content:center;align-items:center;width:100%;min-height:280px;padding:15px;display:flex}.profile-redesign-right-panel{flex-direction:column;gap:24px;display:flex}.championships-section,.docs-section{background-color:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;padding:24px;display:flex}.section-header-flex{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.section-header-flex .section-title-sm{margin-bottom:0}
