body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}header{margin-top:250px;padding:.5rem 0;top:0;width:100%;z-index:10}nav ul{display:flex;gap:2.5rem;justify-content:center;list-style:none;margin:0;padding:0}nav a{border-radius:25px;color:#fff;font-size:1.15rem;font-weight:700;letter-spacing:1px;overflow:hidden;padding:.5rem 1.2rem;position:relative;text-decoration:none;transition:box-shadow .3s ease,background .3s ease}nav a:after{background:linear-gradient(90deg,#00eaff,#07f);bottom:6px;content:"";display:block;height:2px;left:0;margin-top:2px;position:absolute;transition:width .4s cubic-bezier(.4,0,.2,1);width:0}nav a:hover{text-decoration:none}nav a:hover:after{width:100%}.menu-hamburguesa{background:linear-gradient(120deg,#232a34 60%,#07f);border:2px solid #00eaff;border-radius:14px;box-shadow:0 2px 12px #0077ff44;cursor:pointer;display:none;flex-direction:column;gap:7px;height:44px;justify-content:center;margin-left:1rem;position:relative;transition:box-shadow .3s,border .3s;width:44px;z-index:20}.menu-hamburguesa:hover{border:2px solid #61dbfb;box-shadow:0 4px 24px #00eaff88}.menu-hamburguesa span{background:linear-gradient(90deg,#00eaff,#61dbfb);border-radius:3px;box-shadow:0 1px 6px #00eaff44;display:block;height:4px;margin:0 auto;transition:.35s cubic-bezier(.4,0,.2,1);width:70%}.menu-hamburguesa[aria-expanded=true] span:first-child{transform:translateY(11px) rotate(45deg)}.menu-hamburguesa[aria-expanded=true] span:nth-child(2){opacity:0}.menu-hamburguesa[aria-expanded=true] span:nth-child(3){transform:translateY(-11px) rotate(-45deg)}@media (max-width:750px){.menu-hamburguesa{display:flex;position:absolute;right:18px;top:10px}nav{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(120deg,#232a34 80%,#07f);border-bottom:3px solid #00eaff;border-radius:0 0 22px 22px;box-shadow:0 8px 32px #0077ff44,0 2px 8px #0002;display:none;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:15}nav.abierto{animation:fadeIn .3s;display:block}nav ul{align-items:center;background:#0000;border-radius:0 0 18px 18px;box-shadow:none;flex-direction:column;gap:1.2rem;padding:1.2rem .5rem 1.5rem}nav li{display:flex;justify-content:center;width:100%}nav a{background:linear-gradient(90deg,#07f3,#00eaff22);border-radius:16px;box-shadow:0 2px 12px #0077ff22;color:#f3e8e8;font-size:1.15rem;font-weight:700;margin:.2rem 0;padding:.7rem .5rem;text-align:center;transition:background .2s,color .2s,box-shadow .2s;width:90%}nav a:hover{background:linear-gradient(90deg,#00eaff,#07f);box-shadow:0 4px 24px #00eaff55;color:#232a34}header{margin-top:0}}.menu-hamburguesa,nav a,nav ul{font-family:Montserrat,Segoe UI,Arial,sans-serif;letter-spacing:1px}.particles{height:100vh;overflow:hidden;position:relative;width:100%}.home{align-items:center;color:#fff;display:flex;flex-direction:column;left:50%;position:absolute;top:90%;transform:translate(-50%,-50%);z-index:1}.TextTittle{color:#61dbfb}.homeHeader{align-items:center;display:flex;flex-wrap:nowrap;justify-content:center}.homeHeader img{height:auto;max-width:30%;min-width:200px;width:50%}.speechBubble{border-radius:10px;color:#f3e8e8;font-size:1.5rem;position:relative;text-align:center}.react-typed{animation:gradientText 5s ease infinite;display:inline-block;font-weight:700}.skills{display:flex;gap:2rem;justify-content:center;margin-top:.5rem}.skill{background:var(--primary-color);border-radius:20px;color:#fff;font-size:.9rem;font-weight:700;padding:.5rem 1rem;transition:background .3s ease}.skill.modern-skill{align-items:center;background:#0000;border-radius:18px;box-shadow:none;display:flex;flex-direction:column;min-width:90px;padding:1rem 1.2rem;transition:transform .2s}.skill.modern-skill:hover{transform:translateY(-6px) scale(1.07)}.skill-name{background:#1e1e2826;border-radius:8px;color:#fff;font-size:1rem;letter-spacing:1px;margin-bottom:.2em;margin-top:.7rem;padding:.2em .7em;text-align:center}.skill-name,.ver-mas-btn{font-weight:700}@media (max-width:1600px){.homeHeader img{padding-top:100px;width:200px}}@media (max-width:1200px){.homeHeader img{min-width:150px;padding-top:30px;width:150px}.AboutMe{margin-left:50px;margin-right:50px}}@media (max-width:950px){.homeHeader img{padding-top:40px}.AboutMe{font-size:.85rem;margin-left:100px;margin-right:100px;padding:0 .5rem}.skill.modern-skill{min-width:60px;padding:.5rem .7rem}.skill-name{font-size:.85rem;padding:.15em .5em}}@media (max-width:750px){.particles{display:none!important}.homeHeader{flex-direction:column;gap:1.2rem}.homeHeader img{margin-bottom:-20px;padding-top:20px;width:150px}.speechBubble{font-size:1.1rem}.TextTittle{font-size:1.3rem}.react-typed{font-size:1rem}.AboutMe{font-size:.95rem;margin-left:50px;margin-right:50px;padding:0 .5rem}.skills{flex-wrap:wrap;gap:1rem}.skill.modern-skill{min-width:60px;padding:.5rem .7rem}.skill-name{font-size:.85rem;padding:.15em .5em}.home{left:auto;margin-bottom:2rem;position:static;top:auto;transform:none;width:100%}}@media (max-width:400px){.homeHeader{padding-top:0}.homeHeader img{width:120px}.TextTittle{font-size:1.05rem}.speechBubble{font-size:.95rem}.AboutMe{font-size:.85rem;margin-left:20px;margin-right:20px}}@media (max-height:599px){.homeHeader{margin-top:200px}}@media (max-height:399px){.homeHeader{margin-top:500px!important}}@media (max-width:749px) and (max-height:600px){.homeHeader{margin-top:0!important}}.AboutMe{letter-spacing:.02em;line-height:1.5}.AboutMe p{margin-bottom:1.1em}#root,body,html{box-sizing:border-box;height:100%;margin:0;min-height:100vh;min-width:100vw;padding:0;width:100vw}.portfolio{padding:2rem}.featured-banner{animation:pulse-border 3s ease-in-out infinite;background:linear-gradient(135deg,#000,#151718 50%,#000);border:2px solid #00c6cf;border-radius:0;box-shadow:0 8px 32px #00c6cf4d,0 0 60px #00c6cf1a;left:0;margin-bottom:0;overflow:hidden;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.featured-banner:before{background:radial-gradient(circle at top right,#00c6cf26 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}@keyframes pulse-border{0%,to{box-shadow:0 8px 32px #00c6cf4d,0 0 60px #00c6cf1a}50%{box-shadow:0 8px 32px #00c6cf80,0 0 80px #00c6cf33}}.featured-content{align-items:center;display:flex;gap:2rem;margin:0 auto;max-width:1200px;position:relative;z-index:1}.featured-icon{filter:drop-shadow(0 0 20px rgba(0,198,207,.6));font-size:8rem}.featured-icon,.featured-logo{animation:float 3s ease-in-out infinite}.featured-logo{border-radius:20px;filter:drop-shadow(0 0 30px rgba(0,198,207,.7));height:150px;width:150px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.featured-text{flex:1 1}.featured-text h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#00c6cf,#09c);-webkit-background-clip:text;background-clip:text;font-size:2rem;margin:0 0 .5rem;text-align:left}.featured-text p{color:#9ba1a6;font-size:1.1rem;margin:0}.featured-button{align-items:center;background:linear-gradient(135deg,#00c6cf,#09c);border-radius:12px;box-shadow:0 4px 20px #00c6cf66;color:#fff;display:inline-flex;font-size:1.1rem;font-weight:700;gap:.5rem;padding:1rem 2rem;text-decoration:none;transition:all .3s ease;white-space:nowrap}.featured-button:hover{background:linear-gradient(135deg,#00d4e0,#00a3d9);box-shadow:0 6px 30px #00c6cf99;transform:translateY(-3px)}.portfolio h2{color:#61dbfb;margin-bottom:2rem;text-align:center}.portfolio h3{margin-bottom:1rem;text-align:center}.portfolio ul{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;list-style:none;margin:0;padding:0}.portfolio li{background:linear-gradient(135deg,#232a34 80%,#0077ff22);border:2px solid #07f3;border-radius:18px;box-shadow:0 4px 24px #0077ff22,0 2px 8px #0002;color:#f3e8e8;font-family:inherit;padding:1.5rem 1rem;transition:transform .2s,box-shadow .2s;width:320px}.portfolio li:hover{border-color:#00eaff88;box-shadow:0 8px 32px #00eaff44,0 4px 16px #07f3;transform:translateY(-8px) scale(1.03)}.portfolio li.featured-project{background:linear-gradient(135deg,#1b1f22,#0f1214);border:2px solid #00c6cf;box-shadow:0 4px 24px #00c6cf4d,0 2px 8px #0002;position:relative}.portfolio li.featured-project:before{background:linear-gradient(135deg,#00c6cf,#09c);border-radius:12px;box-shadow:0 2px 8px #00c6cf66;color:#fff;content:"⭐ DESTACADO";font-size:.75rem;font-weight:700;letter-spacing:1px;padding:4px 12px;position:absolute;right:20px;top:-12px}.portfolio li.featured-project:hover{border-color:#00d4e0;box-shadow:0 12px 40px #00c6cf80,0 4px 16px #00c6cf4d;transform:translateY(-12px) scale(1.05)}.portfolio a{background:var(--primary-color);border-radius:4px;color:#fff;display:block;font-size:1rem;font-weight:700;margin-top:1rem;padding:.5rem;transition:background .3s ease}.gameFrameContainer{align-items:center;display:flex;flex-direction:column;padding:32px 0}.gameFrameHeader{animation:headerGlow 2s infinite alternate,gradientMove 6s linear infinite;background:linear-gradient(90deg,#00eaff,#07f);border:4px solid #fff;border-radius:32px;box-shadow:0 0 32px #00eaff88,0 8px 32px #0077ff44;color:#fff;font-size:2.3rem;font-weight:700;letter-spacing:2px;margin-bottom:24px;padding:18px 30px;position:relative;text-shadow:0 0 8px #00eaff,0 0 16px #07f,0 2px 4px #222;transition:transform .2s;z-index:2}.gameFrameHeader:hover{box-shadow:0 0 64px #00eaffcc,0 8px 48px #0077ff88;transform:scale(1.04) rotate(-1deg)}@keyframes headerGlow{0%{box-shadow:0 0 16px #00eaff88}to{box-shadow:0 0 32px #00eaffcc}}@keyframes gradientMove{0%{background-position:0 50%}to{background-position:100% 50%}}.gameFrameAnimatedBorder{animation:borderPulse 4s ease-in-out infinite;background:linear-gradient(120deg,#38bdf8);background-size:200% 200%;border-radius:24px;border-top:5px solid #0000;box-shadow:0 8px 32px #0000001f;max-width:800px;padding:10px;width:100%}@keyframes borderPulse{0%{background-position:0 50%;filter:brightness(1) opacity(.95)}50%{background-position:100% 50%;filter:brightness(1.08) opacity(1)}to{background-position:0 50%;filter:brightness(1) opacity(.95)}}.modal-overlay{background:#000000b3;z-index:9999}.modal-content{animation:modalIn .2s;background:linear-gradient(135deg,#232a34 80%,#0077ff22);border:2px solid #07f3;border-radius:18px;box-shadow:0 8px 32px #07f3,0 2px 8px #0002;color:#f3e8e8;max-width:650px;padding:2rem;position:relative;width:95vw}@keyframes modalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-images img{border-radius:12px;max-width:150px;transition:transform .2s}.modal-images img:hover{transform:scale(1.05)}.modal-content .modal-images img[src*=logo501]{border-radius:20px;filter:drop-shadow(0 4px 20px rgba(0,198,207,.4));max-width:250px!important}.wave-separator{background:linear-gradient(135deg,#07f,#07f 12%,#1a2330 40%,#232a34);line-height:0;margin:0;padding:0;position:relative;width:100vw;z-index:2}.experience{background:linear-gradient(135deg,#232a34 80%,#0077ff22);border:2px solid #07f3;border-radius:18px;box-shadow:0 4px 24px #0077ff22,0 2px 8px #0002;box-sizing:border-box;color:#f3e8e8;font-family:inherit;margin:2rem auto 3rem;max-width:700px;padding:2rem 2.5rem;transition:transform .2s,box-shadow .2s;width:100%}.experience h2{color:#61dbfb;margin-bottom:1.2rem;text-align:center}.experience-title,.experience-title2{color:#61dbfb;font-size:2rem;letter-spacing:1px;margin-bottom:.7rem;text-align:center}.experience-title2{margin-top:6rem}.experience-item{border-bottom:1px solid #2a334455;color:#f3e8e8;margin-bottom:1.5rem;padding:1.2rem .5rem}.experience-item:last-child{border-bottom:none}.experience-item h3{color:#fff;font-size:1.1rem;margin:0}.experience-item span{color:#61dbfb}.periodo{color:#bbb;font-size:.95rem;margin-bottom:.3rem}.no-hover,.no-hover:hover{box-shadow:0 4px 24px #0077ff22,0 2px 8px #0002!important;cursor:default!important;transform:none!important}.game-card{align-items:center;background:linear-gradient(135deg,#232a34 80%,#0077ff22);border:2px solid #07f3;border-radius:18px;box-shadow:0 4px 24px #0077ff22,0 2px 8px #0002;color:#f3e8e8;display:flex;flex-direction:column;font-family:inherit;margin:0 auto;padding:1.5rem 1rem;position:relative;transition:width .3s,transform .2s,box-shadow .2s,border-color .2s}.game-card:hover{border-color:#00eaff88}.cv-download-btn{background:linear-gradient(90deg,#00eaff,#07f);border:none;border-radius:8px;box-shadow:0 2px 8px #0077ff44;color:#fff;display:inline-block;font-size:.98rem;font-weight:700;margin-top:1rem;max-width:200px;padding:.5rem 2rem;text-align:center;text-decoration:none;transition:background .2s,transform .2s}.cv-download-btn:hover{background:linear-gradient(90deg,#07f,#00eaff);transform:scale(1.04)}.cv-download-btn:active{filter:brightness(.93);transform:scale(.97)}.experience .cv-download-btn{display:block;margin-left:auto;margin-right:auto}@media (max-width:700px){.modal-content{font-size:.85rem;max-width:95vw;padding:1rem .5rem;width:95vw}.modal-images img{max-width:90px!important}.dart-app-btn,.playstore-btn{flex:1 1 100%!important;font-size:1rem!important;min-width:100%!important;padding:.9rem 1.5rem!important}.experience{margin:1.5rem auto;max-width:95%;padding:1.5rem 1rem;width:95%}.experience-title{font-size:1.5rem}.experience-title2{font-size:1.5rem;margin-top:3rem}.experience-item{margin-bottom:1rem;padding:1rem .3rem}.experience-item h3{word-wrap:break-word;font-size:1rem;overflow-wrap:break-word}.experience-item p,.experience-item span,.periodo{word-wrap:break-word;font-size:.9rem;overflow-wrap:break-word}.featured-banner{margin-bottom:0;padding:1.5rem 1rem;position:relative}.featured-content{flex-direction:column;gap:1.5rem;text-align:center}.featured-icon{font-size:6rem}.featured-logo{height:120px;width:120px}.featured-text h2{font-size:1.75rem;text-align:center}.featured-text p{font-size:1rem}.featured-button{font-size:1.05rem;justify-content:center;padding:1rem 2rem;width:100%}.portfolio li.featured-project:before{font-size:.65rem;padding:3px 10px;right:10px;top:-10px}.modal-content .modal-images img[src*=logo501]{max-width:180px!important}}@media (max-width:480px){.featured-banner{padding:1rem .8rem}.featured-icon{font-size:5rem}.featured-logo{height:110px;width:110px}.featured-text h2{font-size:1.3rem}.featured-text p{font-size:.85rem}.featured-button{font-size:.9rem;padding:.8rem 1.2rem}.modal-content .modal-images img[src*=logo501]{max-width:150px!important}}@media (max-height:399px){.experience-title{margin-top:400px!important}}@media (max-height:600px) and (min-height:400px){.experience-title{margin-top:150px!important}}@media (max-width:749px) and (max-height:600px){.experience-title{margin-top:0!important}}#root,body{animation:fondoMove 12s ease-in-out infinite;background:linear-gradient(120deg,#232a34 50%,#07f);background-attachment:fixed;background-size:200% 200%;box-sizing:border-box;height:100%;margin:0;min-height:100vh;min-width:100vw;padding:0;width:100vw}@keyframes fondoMove{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.contact,.contact-bg{align-items:center;display:flex;justify-content:center}.contact{background:linear-gradient(135deg,#232a34 80%,#0077ff22);border:2px solid #07f3;border-radius:18px;box-shadow:0 4px 24px #0077ff22,0 2px 8px #0002;color:#f3e8e8;flex-direction:column;font-family:inherit;margin-top:30px;padding:1rem 30px;text-align:center}.contact h2{color:#61dbfb;font-size:2.2rem;letter-spacing:2px;margin-bottom:2rem;text-shadow:0 2px 8px #0077ff55}.contact button:hover{background:linear-gradient(90deg,#07f,#00eaff);box-shadow:0 4px 24px #00eaff88;transform:scale(1.05)}.contact-info{align-items:stretch;color:#f3e8e8;display:flex;flex-direction:column;font-size:1.15rem;gap:1.2rem;margin:2rem 0 1.5rem}.contact-info a{color:#00eaff;font-weight:700;margin-left:.5rem;position:relative;transition:color .2s}.contact-info a,.contact-info a:hover{text-decoration:none}.contact-info a:after{background:linear-gradient(90deg,#00eaff,#07f);border-radius:2px;content:"";display:block;height:2px;margin-top:2px;transition:width .4s cubic-bezier(.4,0,.2,1);width:0}.contact-info a:hover{color:#61dbfb}.contact-info a:hover:after{width:100%}.contact-info svg{color:#07f;margin-right:.3rem;vertical-align:middle}.contact-title{color:#61dbfb;font-size:2rem;letter-spacing:1px;margin-bottom:.7rem;text-align:center}.contact-grid{grid-gap:2.5rem 3rem;align-items:center;display:grid;gap:2.5rem 3rem;grid-template-columns:repeat(2,1fr);justify-items:center;margin:2.5rem 0 1.5rem}.contact-grid-item{align-items:center;border-radius:12px;color:#f3e8e8;display:flex;flex-direction:column;min-width:120px;padding:.7rem .5rem;text-decoration:none;transition:transform .18s,box-shadow .18s}.contact-icon{color:#07f;color:var(--icon-color,#07f);font-size:2.5rem;margin-bottom:.5rem;transition:color .2s,transform .2s}.contact-label{color:#f3e8e8;font-size:1.08rem;font-weight:500;text-align:center;word-break:break-all}.contact-grid-item:hover .contact-icon{color:#00eaff;transform:scale(1.18) rotate(-6deg)}.contact-grid-item:hover .contact-label{color:#61dbfb}@media (max-width:900px){.contact-grid{gap:1.2rem 0;grid-template-columns:1fr}}footer{color:#b8c1ec;padding:1.5rem 0;position:relative;text-align:center}footer p{color:#b8c1ec;font-size:1rem;margin-top:50px}footer .social-links{display:flex;gap:1rem;justify-content:center;margin:1rem 0}footer .social-links a{color:#b8c1ec;font-size:1.5rem;transition:transform .3s ease,color .3s ease}footer .social-links a:hover{color:#eebbc3;transform:scale(1.2)}.corazon-late{animation:latido 1.8s ease-in-out infinite;display:inline-block;margin-left:6px;transform-origin:center}@keyframes latido{0%,to{transform:scale(1)}20%{transform:scale(1.22)}35%{transform:scale(.98)}50%{transform:scale(1.18)}70%{transform:scale(1)}}*{box-sizing:border-box;margin:0;padding:0}body,html{max-width:100vw;overflow-x:hidden;width:100%}:root{--primary:#00c6cf;--primary-alt:#09c;--background:#151718;--surface:#1b1f22;--surface-elevated:#1f2427;--border:#262a2e;--text:#ecedee;--text-secondary:#9ba1a6;--success:#4caf50;--warning:#ffa726;--danger:#ef4444}.dart-league-app{background:linear-gradient(135deg,#000,#151718 50%,#000);background:linear-gradient(135deg,#000 0,var(--background) 50%,#000 100%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;max-width:100vw;min-height:100vh;overflow-x:hidden;width:100%}.dashboard-container{box-sizing:border-box;margin:0 auto;max-width:1200px;overflow-x:hidden;overflow-y:auto;padding:20px 24px;width:100%}.dart-league-login{align-items:center;background:linear-gradient(135deg,#000,#151718 50%,#000);background:linear-gradient(135deg,#000 0,var(--background) 50%,#000 100%);display:flex;flex-direction:column;gap:40px;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.login-background-video{height:100%;object-fit:cover;opacity:.25;z-index:0}.dart-league-login:before,.login-background-video{left:0;pointer-events:none;position:absolute;top:0;width:100%}.dart-league-login:before{background:linear-gradient(180deg,#000 0,#000000d9 60%,#0000);content:"";height:150px;z-index:1}@media (max-width:1024px){.dart-league-login:before,.login-background-video{display:none}}.login-container{animation:slideIn .3s ease-out;background:linear-gradient(135deg,#1b1f22,#1f2427);background:linear-gradient(135deg,var(--surface) 0,var(--surface-elevated) 100%);border:1px solid #00c6cf4d;border-radius:16px;box-shadow:0 20px 60px #00c6cf33;max-width:400px;overflow:hidden;padding:40px;position:relative;width:100%;z-index:2}.login-container:before{background:radial-gradient(circle at top right,#00c6cf1a 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.login-header{margin-bottom:30px;text-align:center}.login-logo{animation:glow 2s ease-in-out infinite;display:block;filter:drop-shadow(0 0 25px rgba(0,198,207,.6));height:150px;margin:0 auto 20px;width:150px}@keyframes glow{0%,to{filter:drop-shadow(0 0 25px rgba(0,198,207,.6))}50%{filter:drop-shadow(0 0 35px rgba(0,198,207,.8))}}.login-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#00c6cf,#09c);background:linear-gradient(135deg,var(--primary) 0,var(--primary-alt) 100%);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700;margin:0 0 10px}.login-header p{color:#9ba1a6;color:var(--text-secondary);margin:0}.login-form{gap:20px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{font-weight:600}.form-group input{background:#1b1f22;background:var(--surface);border:2px solid #262a2e;border:2px solid var(--border);border-radius:8px;color:#ecedee;color:var(--text);font-size:1rem;padding:12px 16px;transition:all .2s}.form-group input:focus{background:#1f2427;background:var(--surface-elevated);border-color:#00c6cf;border-color:var(--primary);box-shadow:0 0 0 3px #00c6cf1a;outline:none}.form-group input::placeholder{color:#9ba1a6;color:var(--text-secondary)}.form-group input:disabled{background:#1b1f22;background:var(--surface);cursor:not-allowed;opacity:.5}.password-input{display:flex;position:relative}.password-input input{flex:1 1;padding-right:48px}.toggle-password{background:none;border:none;color:#9ba1a6;color:var(--text-secondary);cursor:pointer;font-size:1.2rem;opacity:.6;padding:8px 12px;position:absolute;right:4px;top:50%;transform:translateY(-50%);transition:opacity .2s}.toggle-password:hover{color:#00c6cf;color:var(--primary);opacity:1}.error-message{background:#ef44441a;border-left:4px solid #ef4444;border-left:4px solid var(--danger);border-radius:8px;color:#ef4444;color:var(--danger);font-size:.9rem;padding:12px 16px}.login-button{background:linear-gradient(135deg,#00c6cf,#09c);background:linear-gradient(135deg,var(--primary) 0,var(--primary-alt) 100%);border:none;border-radius:8px;box-shadow:0 4px 15px #00c6cf4d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:14px;transition:all .2s}.login-button:hover:not(:disabled){box-shadow:0 6px 20px #00c6cf80;transform:translateY(-2px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.6}.login-footer{color:#9ba1a6;color:var(--text-secondary);font-size:.9rem;margin-top:20px;text-align:center}.login-footer a{color:#00c6cf;color:var(--primary);text-decoration:none}.login-footer a:hover{text-decoration:underline}.login-sponsors-banner{animation:slideIn .5s ease-out .2s both;background:linear-gradient(135deg,#000,#002a2f 50%,#000);border:2px solid #00c6cf4d;border-radius:16px;box-shadow:0 10px 40px #00c6cf33;max-width:1200px;padding:24px 32px;width:100%}.sponsors-banner-content{text-align:center}.sponsors-banner-title{color:#ecedee;color:var(--text);font-size:1.2rem;font-weight:700;letter-spacing:1px;margin-bottom:20px;text-transform:uppercase}.sponsors-banner-grid{grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.sponsor-banner-item{background:#ffffff08;border:1px solid #00c6cf33;border-radius:10px;cursor:pointer;padding:16px 12px;transition:all .3s ease}.sponsor-banner-item:hover{background:#00c6cf14;border-color:#00c6cf;border-color:var(--primary);box-shadow:0 8px 20px #00c6cf40;transform:translateY(-4px)}.sponsor-banner-placeholder{align-items:center;display:flex;flex-direction:column;gap:8px}.sponsor-banner-icon{filter:grayscale(.2);font-size:3rem;transition:filter .3s ease}.sponsor-banner-item:hover .sponsor-banner-icon{filter:grayscale(0)}.sponsor-banner-name{color:#9ba1a6;color:var(--text-secondary);font-size:.85rem;font-weight:600;letter-spacing:.5px}.sponsors-banner-footer{color:#9ba1a6;color:var(--text-secondary);font-size:.9rem;margin-top:16px}.sponsors-banner-footer a{color:#00c6cf;color:var(--primary);font-weight:600;text-decoration:none;transition:all .2s}.sponsors-banner-footer a:hover{color:#00e5ef;text-decoration:underline}@media (max-width:768px){.login-sponsors-banner{border-radius:12px;padding:20px 16px}.sponsors-banner-title{font-size:1rem;margin-bottom:16px}.sponsors-banner-grid{gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:16px}.sponsor-banner-item{padding:12px 8px}.sponsor-banner-icon{font-size:2.5rem}.sponsor-banner-name{font-size:.75rem}.sponsors-banner-footer{font-size:.85rem}}.info-message{background:#00c6cf1a;border:1px solid #00c6cf4d;border-radius:8px;color:#ecedee;color:var(--text);font-size:.85rem;line-height:1.5;margin-bottom:20px;padding:12px 16px}.info-message p{margin:0 0 8px}.info-message strong{color:#00c6cf;color:var(--primary)}.info-message ul{list-style-type:disc;margin:8px 0 0;padding-left:20px}.info-message li{color:#9ba1a6;color:var(--text-secondary);line-height:1.4;margin:6px 0}.toggle-mode-button{background:#0000;border:2px solid #00c6cf;border:2px solid var(--primary);border-radius:8px;color:#00c6cf;color:var(--primary);cursor:pointer;font-size:.95rem;font-weight:600;margin-top:16px;padding:12px;transition:all .2s;width:100%}.toggle-mode-button:hover:not(:disabled){background:#00c6cf1a;transform:translateY(-2px)}.toggle-mode-button:disabled{cursor:not-allowed;opacity:.5}.validation-info{font-size:.85rem;margin-top:8px}.validation-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.char-count{font-size:.8rem;font-style:italic}.char-count,.password-strength{color:#9ba1a6;color:var(--text-secondary)}.password-strength{font-size:.85rem}.help-btn{align-items:center;background:#00c6cf;background:var(--primary);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.75rem;font-weight:700;height:20px;justify-content:center;transition:all .2s;width:20px}.help-btn:hover{background:#09c;background:var(--primary-alt);transform:scale(1.1)}.validation-errors{background:#0000004d;border-left:3px solid #ef4444;border-left:3px solid var(--danger);border-radius:8px;margin-top:8px;padding:10px 12px}.validation-errors.valid{background:#4caf501a;border-left-color:#4caf50;border-left-color:var(--success)}.validation-title{color:#ef4444;color:var(--danger);font-size:.8rem;font-weight:700;margin:0 0 6px}.validation-errors.valid .validation-title{color:#4caf50;color:var(--success)}.validation-error{color:#f99;font-size:.75rem;line-height:1.4;margin:3px 0}.validation-errors.valid .validation-error{color:#9f9}.dart-league-dashboard{box-sizing:border-box;margin:0 auto;max-width:1200px;min-height:100vh;padding:20px;width:100%}.dashboard-header{align-items:center;background:linear-gradient(135deg,#1b1f22,#1f2427);background:linear-gradient(135deg,var(--surface) 0,var(--surface-elevated) 100%);border:1px solid #00c6cf33;border-radius:16px;box-shadow:0 8px 32px #00c6cf26;box-sizing:border-box;display:flex;justify-content:space-between;margin-bottom:24px;overflow:hidden;padding:30px;position:relative;width:100%}.dashboard-header:before{background:radial-gradient(circle at top right,#00c6cf1a 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.dashboard-logo{filter:drop-shadow(0 0 15px rgba(0,198,207,.5));height:100px;margin-right:20px;width:100px}.user-info{align-items:center;display:flex;gap:15px;position:relative;z-index:1}.user-info>div{display:flex;flex-direction:column;gap:4px}.user-info h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#00c6cf,#09c);background:linear-gradient(135deg,var(--primary) 0,var(--primary-alt) 100%);-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:700;margin:0 0 8px}.user-info p{color:#9ba1a6;color:var(--text-secondary);margin:0}.admin-badge{align-items:center;background:linear-gradient(135deg,#ff980026,#ffc10726);border:1px solid #ff98004d;border-radius:6px;box-shadow:0 2px 8px #ff980033;color:#ffa726;display:inline-flex;font-size:.85rem;font-weight:600;gap:6px;margin-top:6px;padding:6px 12px}.logout-button{background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;color:#ef4444;color:var(--danger);cursor:pointer;font-weight:600;padding:10px 20px;position:relative;transition:all .2s;z-index:1}.logout-button:hover{background:#ef444433;border-color:#ef4444;border-color:var(--danger);transform:translateY(-2px)}.sponsors-banner{align-items:center;background:linear-gradient(135deg,#00c6cf14,#00c6cf08);border:1px solid #00c6cf33;border-radius:12px;cursor:pointer;display:flex;gap:12px;justify-content:space-between;margin-bottom:20px;padding:12px 20px;transition:all .3s ease}.sponsors-banner:hover{background:linear-gradient(135deg,#00c6cf1f,#00c6cf0f);border-color:#00c6cf66;box-shadow:0 4px 12px #00c6cf26;transform:translateY(-2px)}.sponsors-banner-icon{flex-shrink:0;font-size:1.2rem}.sponsors-banner-text{color:#9ba1a6;color:var(--text-secondary);flex:1 1;font-size:.9rem;font-weight:500;text-align:center}.sponsors-banner-arrow{color:#00c6cf;color:var(--primary);flex-shrink:0;font-size:1.2rem;font-weight:700;transition:transform .3s ease}.sponsors-banner:hover .sponsors-banner-arrow{transform:translateX(4px)}.welcome-card{border:2px solid #00c6cf;border-radius:20px;box-shadow:0 6px 20px #00000026;margin-bottom:24px;overflow:hidden}.welcome-gradient{background:linear-gradient(135deg,#000,#002a2f 50%,#000);padding:32px 24px;position:relative}.welcome-gradient:before{background:radial-gradient(circle at 50% 0,#00c6cf33,#0000 70%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.welcome-content{align-items:center;display:flex;flex-direction:column;gap:20px;position:relative;z-index:1}.welcome-name{color:#fff;font-size:2rem;font-weight:800;letter-spacing:.5px;margin:0;text-align:center;text-shadow:2px 2px 4px #000c}.welcome-stats{background:#00c6cf26;border:1px solid #00c6cf;border-radius:16px;box-shadow:0 4px 12px #00c6cf33;gap:32px;justify-content:center;padding:20px 40px}.welcome-stat,.welcome-stats{align-items:center;display:flex}.welcome-stat{flex-direction:column;gap:8px;min-width:80px}.welcome-stat-label{color:#fff;font-size:.75rem;font-weight:800;letter-spacing:2px;text-shadow:1px 1px 2px #000c;text-transform:uppercase}.welcome-stat-value{color:#fff;font-size:1.75rem;font-weight:900;line-height:1;text-shadow:2px 2px 4px #000c}.welcome-divider{background:linear-gradient(180deg,#0000,#fff,#0000);box-shadow:0 0 8px #ffffff80;height:40px;width:2px}.liga-selector{align-items:center;background:linear-gradient(135deg,#000,#002a2f 50%,#000);border:2px solid #00c6cf;border-radius:12px;box-shadow:0 4px 12px #00c6cf1a;box-sizing:border-box;display:flex;gap:12px;margin-bottom:20px;overflow:hidden;padding:16px 20px;position:relative;width:100%}.liga-selector:before{background:radial-gradient(circle at 50% 0,#00c6cf33,#0000 70%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.liga-selector label{font-weight:600}.liga-selector label,.liga-selector select{color:#ecedee;color:var(--text);position:relative;z-index:1}.liga-selector select{background:#1b1f22;background:var(--surface);border:2px solid #262a2e;border:2px solid var(--border);border-radius:8px;cursor:pointer;flex:1 1;font-size:1rem;padding:10px 16px;transition:all .2s}.liga-selector select:focus{border-color:#00c6cf;border-color:var(--primary);box-shadow:0 0 0 3px #00c6cf1a;outline:none}.liga-selector select option{background:#1b1f22;background:var(--surface);color:#ecedee;color:var(--text)}.stat-card:hover{border-color:#00c6cf66;box-shadow:0 6px 20px #00c6cf33;transform:translateY(-4px)}.section{background:linear-gradient(135deg,#000,#002a2f 50%,#000);border:2px solid #00c6cf;border-radius:16px;box-shadow:0 6px 20px #00c6cf1a;box-sizing:border-box;margin-bottom:24px;overflow:hidden;padding:24px;position:relative;width:100%}.section:before{background:radial-gradient(circle at 50% 0,#00c6cf33,#0000 70%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.section h2{font-size:1.5rem;font-weight:700;margin:0 0 20px}.scroll-hint,.section h2{color:#ecedee;color:var(--text);position:relative;z-index:1}.scroll-hint{animation:fade-in .5s ease-in-out;background:linear-gradient(135deg,#00c6cf1a,#0099cc1a);border:1px solid #00c6cf;border:1px solid var(--primary);border-radius:8px;display:none;font-size:.85rem;margin-bottom:12px;padding:8px 12px;text-align:center}.scroll-icon{animation:bounce-horizontal 2s ease-in-out infinite;display:inline-block;margin-right:6px}@keyframes bounce-horizontal{0%,to{transform:translateX(0)}50%{transform:translateX(8px)}}@keyframes fade-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.scroll-hint{display:block}}.table-container{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto;position:relative;scrollbar-color:#00c6cf #00c6cf1a;scrollbar-color:var(--primary) #00c6cf1a;scrollbar-width:thin;width:100%;z-index:1}.table-container::-webkit-scrollbar{height:8px}.table-container::-webkit-scrollbar-track{background:#00c6cf1a;border-radius:10px}.table-container::-webkit-scrollbar-thumb{background:#00c6cf;background:var(--primary);border-radius:10px;-webkit-transition:background .3s;transition:background .3s}.table-container::-webkit-scrollbar-thumb:hover{background:#09c;background:var(--primary-alt)}.table-container:after{background:linear-gradient(90deg,#0000,#1b1f22 40%,#1b1f22);background:linear-gradient(90deg,#0000 0,var(--surface) 40%,var(--surface) 100%);color:#00c6cf;color:var(--primary);content:"→";font-size:1.5rem;font-weight:700;opacity:0;padding:8px 12px;pointer-events:none;position:absolute;right:0;top:50%;transform:translateY(-50%);transition:opacity .3s}.table-container.has-scroll:after{opacity:1}@media (max-width:768px){.table-container:after{animation:pulse-arrow 2s ease-in-out infinite;opacity:1}}@keyframes pulse-arrow{0%,to{opacity:.6;transform:translateY(-50%) translateX(0)}50%{opacity:1;transform:translateY(-50%) translateX(5px)}}.clasificacion-table{border-collapse:collapse;min-width:700px;width:100%}.clasificacion-table thead{background:#00c6cf1a;border-bottom:2px solid #00c6cf;border-bottom:2px solid var(--primary)}.clasificacion-table th{color:#ecedee;color:var(--text);font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:12px 8px;text-align:center;text-transform:uppercase}.clasificacion-table th:first-child{text-align:center;width:50px}.clasificacion-table th:nth-child(2){padding-left:16px;text-align:left}.clasificacion-table td{border-bottom:1px solid #262a2e;border-bottom:1px solid var(--border);color:#ecedee;color:var(--text);font-size:.95rem;padding:14px 8px;text-align:center}.clasificacion-table tbody tr{transition:background .2s}.clasificacion-table tbody tr:hover{background:#00c6cf0d}.clasificacion-table .my-row{background:#00c6cf26;border-left:3px solid #00c6cf;border-left:3px solid var(--primary);font-weight:600}.clasificacion-table .my-row:hover{background:#00c6cf33}.clasificacion-table .pos{font-weight:700;text-align:center;width:50px}.clasificacion-table .medal-emoji{animation:float 3s ease-in-out infinite;display:inline-block;font-size:1.5rem}.clasificacion-table .top-1{background:#ffd7001a}.clasificacion-table .top-2{background:#c0c0c01a}.clasificacion-table .top-3{background:#cd7f321a}.clasificacion-table .jugador{font-weight:500;padding-left:16px;text-align:left}.clasificacion-table .wins{color:#4caf50;color:var(--success);font-weight:600}.clasificacion-table .losses{color:#ef4444;color:var(--danger);font-weight:600}.clasificacion-table .points{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#00c6cf,#09c);background:linear-gradient(135deg,var(--primary) 0,var(--primary-alt) 100%);-webkit-background-clip:text;background-clip:text;font-size:1.1rem;font-weight:700}.clasificacion-table .games-diff{color:#9ba1a6;color:var(--text-secondary);font-size:.9rem}.clasificacion-table .diff{font-weight:600}.clasificacion-table .diff.positive{color:#4caf50;color:var(--success)}.clasificacion-table .diff.negative{color:#ef4444;color:var(--danger)}.clasificacion-table .diff.neutral{color:#9ba1a6;color:var(--text-secondary)}.clasificacion-table .ciento80s{color:#ffa726;color:var(--warning);font-weight:600}.clasificacion-table .average-col{color:#00c6cf;color:var(--primary);font-size:1.05rem;font-weight:700}.jornadas-list{display:flex;flex-direction:column;gap:16px;position:relative;z-index:1}.search-rival-container{margin-bottom:16px;position:relative;z-index:100}.search-filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.search-input-wrapper{flex:1 1;min-width:200px;position:relative}.search-input{background:#1f2427;background:var(--surface-elevated);border:2px solid #262a2e;border:2px solid var(--border);border-radius:8px;color:#ecedee;color:var(--text);font-family:inherit;font-size:.95rem;padding:12px 40px 12px 16px;transition:all .2s;width:100%}.search-input::placeholder{color:#9ba1a6;color:var(--text-secondary)}.search-input:focus{background:#00c6cf0d;border-color:#00c6cf;border-color:var(--primary);box-shadow:0 0 0 3px #00c6cf1a;outline:none}.clear-search{align-items:center;background:#ef53501a;border:1px solid #ef53504d;border-radius:50%;color:#ef5350;cursor:pointer;display:flex;font-size:.9rem;height:24px;justify-content:center;line-height:1;padding:0;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:all .2s;width:24px}.clear-search:hover{background:#ef535033;border-color:#ef535080;transform:translateY(-50%) scale(1.1)}.clear-all-btn{background:linear-gradient(135deg,#ef5350,#c62828);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 16px;transition:all .2s;white-space:nowrap}.clear-all-btn:hover{box-shadow:0 4px 12px #ef53504d;transform:translateY(-2px)}.search-rival-input{background:#1f2427;background:var(--surface-elevated);border:2px solid #262a2e;border:2px solid var(--border);border-radius:8px;color:#ecedee;color:var(--text);font-family:inherit;font-size:.95rem;padding:12px 40px 12px 16px;transition:all .2s;width:100%}.search-rival-input::placeholder{color:#9ba1a6;color:var(--text-secondary)}.search-rival-input:focus{background:#00c6cf0d;border-color:#00c6cf;border-color:var(--primary);box-shadow:0 0 0 3px #00c6cf1a;outline:none}.clear-search-btn{align-items:center;background:#ef53501a;border:1px solid #ef53504d;border-radius:50%;color:#ef5350;cursor:pointer;display:flex;font-size:.9rem;height:24px;justify-content:center;line-height:1;padding:0;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:all .2s;width:24px}.clear-search-btn:hover{background:#ef535033;border-color:#ef5350;transform:translateY(-50%) scale(1.1)}.suggestions-list{background:#1f2427;background:var(--surface-elevated);border:2px solid #00c6cf;border:2px solid var(--primary);border-radius:0 0 8px 8px;border-top:none;box-shadow:0 4px 12px #0000004d;left:0;margin-bottom:8px;margin-top:-8px;max-height:150px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.suggestion-item{border-bottom:1px solid #262a2e;border-bottom:1px solid var(--border);color:#ecedee;color:var(--text);cursor:pointer;font-size:.9rem;padding:10px 16px;transition:all .2s}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background:#00c6cf1a;color:#00c6cf;color:var(--primary);padding-left:20px}.jornada-container{background:#1b1f22;background:var(--surface);border:2px solid #262a2e;border:2px solid var(--border);border-radius:12px;overflow:hidden;transition:all .3s}.jornada-container:hover{border-color:#00c6cf;border-color:var(--primary);box-shadow:0 4px 16px #00c6cf33}.jornada-header-expand{background:#00c6cf0d;justify-content:space-between;padding:16px 20px}.jornada-header-expand:hover{background:#00c6cf1a}.jornada-num{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#00c6cf,#09c);background:linear-gradient(135deg,var(--primary) 0,var(--primary-alt) 100%);-webkit-background-clip:text;background-clip:text;font-size:1.1rem}.jornada-check{animation:checkAppear .3s ease-out;color:#66bb6a;font-size:1.4rem}@keyframes checkAppear{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.expand-icon{margin-left:8px;transition:transform .3s}.jornada-content{background:#0003;border-top:1px solid #262a2e;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:3px;padding:6px}.partida-card{background:#1f2427;background:var(--surface-elevated);border:1px solid #262a2e;border:1px solid var(--border);border-radius:5px;padding:4px 8px}.partida-card:hover{background:#00c6cf08;border-color:#00c6cf;border-color:var(--primary)}.partida-card.completada{background:#4caf5008;border-color:#4caf5033}.partida-card.pendiente{background:#00c6cf08;border-color:#00c6cf40}.partida-meta{align-items:center;display:flex;justify-content:space-between;margin-bottom:2px}.partida-fecha{color:#9ba1a6;color:var(--text-secondary);font-size:.65rem;font-weight:500}.status-icon{font-size:.8rem;line-height:1}.status-icon.completada{color:#66bb6a}.status-icon.pendiente{color:#00c6cf;color:var(--primary)}.enfrentamiento{align-items:center;display:flex;gap:6px;margin-bottom:3px}.jugador-item.ganador .jugador-nombre-text{color:#66bb6a;font-weight:700}.jugador-nombre-text{color:#ecedee;color:var(--text);font-weight:500}.jugador-nombre-text.mi-nombre{color:#00c6cf;color:var(--primary);font-weight:700}.vs-separator{color:#9ba1a6;color:var(--text-secondary);flex-shrink:0;font-size:.7rem;font-weight:600}.ver-stats-btn{align-items:center;background:#00c6cf14;border:1px solid #00c6cf40;border-radius:3px;color:#00c6cf;color:var(--primary);cursor:pointer;display:inline-flex;font-size:.6rem;font-weight:500;line-height:1;margin-left:8px;margin-top:0;padding:2px 6px;text-align:center;transition:all .2s;-webkit-user-select:none;user-select:none;width:-webkit-fit-content;width:fit-content}.ver-stats-btn:hover{background:#00c6cf26;border-color:#00c6cf;border-color:var(--primary)}.ver-stats-text{color:#00c6cf;color:var(--primary);font-size:.6rem;font-weight:500;letter-spacing:.1px}.ver-stats-text-mobile{display:none}.ver-stats-text-desktop{display:inline}.partida-estadisticas{animation:slideDown .2s ease-out;border-top:1px solid #00c6cf33;display:flex;gap:5px;margin-top:4px;padding-top:4px}.stat-item{background:#00c6cf08;border-radius:4px;flex:1 1;flex-direction:column;gap:2px;padding:4px 6px}.stat-values{align-items:center;color:#ecedee;color:var(--text);display:flex;font-size:.8rem;font-weight:600;gap:5px}.vs-mini{color:#9ba1a6;color:var(--text-secondary);font-size:.65rem;font-weight:400}@media (max-width:768px){.jornada-content{gap:2px;padding:5px}.partida-card{padding:3px 6px}.partida-meta{margin-bottom:3px}.partida-fecha{font-size:.6rem}.status-badge{font-size:.55rem;padding:1px 4px}.enfrentamiento{gap:5px;margin-bottom:2px}.jugador-nombre{font-size:.7rem}.jugador-score{font-size:.85rem}.jugador-item.ganador .jugador-score{font-size:.9rem}.vs-separator{font-size:.65rem}.partida-estadisticas{gap:3px;margin-top:3px;padding-top:3px}.stat-item{gap:1px;padding:2px 3px}.stat-values{font-size:.65rem;gap:2px}.vs-mini{font-size:.55rem}.ver-stats-btn{line-height:1;margin-right:2px;margin-top:1px;padding:0}.ver-stats-btn,.ver-stats-btn:hover{background:#0000;border:none}.ver-stats-text-desktop{display:none}.ver-stats-text-mobile{display:inline}.ver-stats-text{color:#00c6cf;color:var(--primary);font-size:.85rem;line-height:1}}.jornada-card:hover{background:#00c6cf0d;border-color:#00c6cf;border-color:var(--primary);box-shadow:0 4px 16px #00c6cf33}.jornada-card.completed:hover{opacity:1}.jornada-header{margin-bottom:12px}.jugadores{align-items:center;color:#ecedee;color:var(--text);display:flex;flex:1 1;font-weight:500;gap:12px}.jugadores .vs{color:#9ba1a6;color:var(--text-secondary);font-size:.9rem}.jugadores .my-name{font-weight:700}.jugadores .my-name,.resultado-detail .score{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#00c6cf,#09c);background:linear-gradient(135deg,var(--primary) 0,var(--primary-alt) 100%);-webkit-background-clip:text;background-clip:text}.resultado-detail .score{font-weight:600}.loading,.loading-small{color:#00c6cf;color:var(--primary);font-size:1.2rem;padding:40px;text-align:center}.loading-small{font-size:1rem;padding:20px}.empty-state{margin-top:20px;padding:40px 20px 60px;text-align:center}.empty-state h2{color:#ecedee;color:var(--text);font-size:1.8rem;margin-bottom:12px}.empty-state-info{background:#00c6cf1a;border:1px solid #00c6cf4d;border-radius:12px;margin:30px auto;max-width:500px;padding:24px}.empty-state-info p{color:#ecedee;color:var(--text);font-size:1rem;line-height:1.6;margin-bottom:20px}.empty-state p{color:#9ba1a6;color:var(--text-secondary);margin-bottom:24px}.whatsapp-button{background:linear-gradient(135deg,#25d366,#128c7e);border-radius:8px;box-shadow:0 4px 15px #25d3664d;color:#fff;display:inline-block;font-size:1rem;font-weight:600;padding:14px 28px;text-decoration:none;transition:all .2s}.whatsapp-button:hover{box-shadow:0 6px 20px #25d36680;transform:translateY(-2px)}.empty-message{color:#9ba1a6;color:var(--text-secondary);padding:20px;text-align:center}.error-banner{border:1px solid #ef44444d;font-weight:600;margin-bottom:20px;padding:16px}.sponsors-section{background:linear-gradient(135deg,#000,#002a2f 50%,#000);border:2px solid #00c6cf4d;border-radius:16px;margin-top:40px;padding:32px 24px;text-align:center}.sponsors-title{color:#ecedee;color:var(--text);font-size:1.5rem;font-weight:700;letter-spacing:.5px;margin-bottom:24px}.sponsors-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.sponsor-card{background:#ffffff0d;border:1px solid #00c6cf33;border-radius:12px;cursor:pointer;padding:24px;transition:all .3s ease}.sponsor-card:hover{background:#00c6cf1a;border-color:#00c6cf;border-color:var(--primary);box-shadow:0 8px 20px #00c6cf4d;transform:translateY(-4px)}.sponsor-placeholder{align-items:center;display:flex;flex-direction:column;gap:12px}.sponsor-icon{filter:grayscale(.3);font-size:3rem}.sponsor-name{font-weight:600;letter-spacing:.5px}.sponsor-name,.sponsors-footer{color:#9ba1a6;color:var(--text-secondary);font-size:.9rem}.sponsors-footer{margin-top:16px}.sponsors-footer a{color:#00c6cf;color:var(--primary);font-weight:600;text-decoration:none;transition:all .2s}.sponsors-footer a:hover{color:#00e5ef;text-decoration:underline}@media (max-width:768px){.dart-league-app{font-size:14px}.dart-league-dashboard{padding:8px}.dashboard-header{gap:12px;padding:16px 12px}.dashboard-header,.user-info{flex-direction:column;text-align:center}.user-info{gap:8px}.user-info>div{align-items:center}.dashboard-logo{height:160px;width:160px}.user-info h1{font-size:1.3rem;margin:0 0 4px}.user-info p{font-size:.9rem}.logout-button{font-size:.85rem;padding:8px 16px}.login-container{padding:24px 20px}.login-logo{height:180px;margin-bottom:12px;width:180px}.login-header h1{font-size:1.5rem}.login-header p{font-size:.9rem}.form-group label{font-size:.85rem}.form-group input{font-size:.95rem;padding:10px 14px}.login-button{font-size:.95rem;padding:12px}.welcome-card{margin-bottom:12px}.welcome-gradient{padding:16px 12px}.welcome-name{font-size:1.2rem;margin-bottom:12px}.welcome-stats{gap:12px;padding:12px 16px}.welcome-stat{min-width:50px}.welcome-stat-label{font-size:.65rem;letter-spacing:1px}.welcome-stat-value{font-size:1.3rem}.welcome-divider{height:28px;width:1px}.liga-selector{align-items:stretch;flex-direction:column;gap:8px;margin-bottom:12px;padding:12px 14px}.liga-selector label{font-size:.85rem}.liga-selector select{font-size:.9rem;padding:10px 12px}.section{margin-bottom:12px;padding:16px}.section h2{font-size:1.2rem;margin:0 0 14px}.table-container{font-size:.85rem;margin:0 -8px}.clasificacion-table{min-width:600px}.clasificacion-table td,.clasificacion-table th{font-size:.8rem;padding:10px 4px}.clasificacion-table .pos{font-size:.9rem;width:40px}.clasificacion-table .medal-emoji{font-size:1.2rem}.clasificacion-table .jugador{font-size:.85rem;padding-left:8px}.clasificacion-table .points{font-size:1rem}.clasificacion-table .games-diff{font-size:.8rem;min-width:60px;padding:10px 8px;white-space:nowrap}.clasificacion-table .ciento80s,.clasificacion-table .diff{font-size:.85rem}.jornadas-list{gap:10px}.jornada-container{border-width:1px}.jornada-header-expand{padding:12px 16px}.jornada-num{font-size:1rem}.jornada-check{font-size:1.1rem}.jornada-content{gap:2px;padding:5px}.partida-card{padding:3px 6px}.partida-meta{align-items:center;flex-direction:row;gap:8px;margin-bottom:6px}.partida-fecha{font-size:.7rem}.enfrentamiento{flex-direction:row;gap:8px;margin-bottom:6px}.jugador-nombre{font-size:.8rem}.jugador-score{font-size:1rem}.jugador-item.ganador .jugador-score{font-size:1.05rem}.vs-separator{font-size:.75rem}.partida-estadisticas{gap:6px;padding-top:6px}.stat-item{gap:3px;padding:5px 6px}.stat-values{font-size:.75rem;gap:4px}.vs-mini{font-size:.65rem}.ver-stats-btn{margin-top:6px;padding:6px 10px}.ver-stats-text{font-size:.75rem}.jornada-header{align-items:flex-start;flex-direction:column;gap:4px;margin-bottom:10px}.jornada-num{font-size:.85rem}.jugadores{flex-wrap:wrap;font-size:.9rem;gap:8px}.jugadores .vs{font-size:.85rem}.status-badge{font-size:.75rem;padding:5px 10px}.empty-state{padding:40px 16px}.empty-state h2{font-size:1.2rem}.empty-state p{font-size:.9rem}.error-banner{font-size:.85rem;padding:12px}.loading,.loading-small{font-size:1rem;padding:30px 16px}.loading-small{font-size:.9rem;padding:16px}.sponsors-section{margin-top:24px;padding:20px 16px}.sponsors-title{font-size:1.2rem;margin-bottom:16px}.sponsors-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.sponsor-card{padding:16px}.sponsor-icon{font-size:2.5rem}.sponsor-name{font-size:.8rem}.sponsors-footer{font-size:.85rem}}@media (max-width:480px){.dart-league-app{font-size:13px}.dart-league-dashboard{padding:6px}.dashboard-header{padding:12px 10px}.dashboard-logo{height:140px;width:140px}.user-info h1{font-size:1.1rem}.user-info p{font-size:.85rem}.login-container{padding:20px 16px}.login-logo{height:150px;width:150px}.login-header h1{font-size:1.3rem}.login-header p{font-size:.85rem}.welcome-gradient{padding:14px 10px}.welcome-name{font-size:1.1rem;margin-bottom:10px}.welcome-stats{gap:10px;padding:10px 12px}.welcome-stat{min-width:45px}.welcome-stat-label{font-size:.6rem}.welcome-stat-value{font-size:1.2rem}.welcome-divider{height:24px}.liga-selector{padding:10px 12px}.liga-selector select{font-size:.85rem}.section{padding:12px}.section h2{font-size:1.1rem;margin:0 0 12px}.table-container{font-size:.75rem;margin:0 -6px}.clasificacion-table{min-width:100%}.clasificacion-table td,.clasificacion-table th{font-size:.75rem;padding:6px 4px}.clasificacion-table th{font-size:.7rem;padding:8px 4px}.clasificacion-table .pos{font-size:.8rem;padding:6px 2px;width:28px}.clasificacion-table .jugador{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clasificacion-table .points{font-size:.9rem}.jugadores{font-size:.85rem}.status-badge{font-size:.7rem;padding:4px 8px}}.jornada-wrapper{margin-bottom:2px}.jornada-header{align-items:center;background:#ffffff08;border:1.5px solid #00c6cf4d;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:8px 12px;position:relative;transition:all .2s}.jornada-header:hover{background:#00c6cf14;border-color:#00c6cf99}.jornada-header h3{color:#ecedee;color:var(--text);font-size:.9rem;font-weight:600;margin:0}.expand-icon{font-size:1rem;transition:transform .2s}.jornada-content{background:#0000;padding:10px}.partida-item{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:6px;margin-bottom:8px;padding:12px 14px;transition:all .2s}.partida-item:hover{background:#ffffff0f;border-color:#00c6cf4d}.partida-header-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.partida-players{align-items:center;display:flex;flex:1 1;font-size:.9rem;font-weight:600;gap:10px}.partida-players span{color:#fff}.partida-players span:not(.vs){line-height:1.3;overflow-wrap:break-word;word-break:break-word}.partida-players .winner{color:#00c6cf;color:var(--primary);text-shadow:0 0 8px #00c6cf80}.partida-players .vs{color:#ffffff80;font-size:.85rem;font-weight:400}.partida-result-inline{align-items:center;display:flex;justify-content:center;min-width:80px}.result-score{color:#00c6cf;color:var(--primary);font-size:.9rem;font-weight:700;text-align:center}.pending{color:#ffffff80;font-size:.9rem;font-style:italic}.partida-actions{align-items:center;display:flex;gap:8px}.pago-checkbox{align-items:center;border:1px solid;border-radius:4px;cursor:pointer;display:flex;gap:6px;padding:4px 8px;transition:all .2s;white-space:nowrap}.pago-checkbox.pagada{background-color:#4caf501a;border-color:#4caf50}.pago-checkbox.pendiente{background-color:#ff98001a;border-color:#ff9800}.pago-checkbox input{cursor:pointer;margin:0}.pago-text{font-size:.85rem;font-weight:500}.pago-checkbox.pagada .pago-text{color:#4caf50}.pago-checkbox.pendiente .pago-text{color:#ff9800}.edit-btn-icon{align-items:center;background:#00c6cf26;border:1px solid #00c6cf4d;border-radius:6px;color:#00c6cf;color:var(--primary);cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;transition:all .2s;width:32px}.edit-btn-icon:hover{background:#00c6cf40;border-color:#00c6cf;border-color:var(--primary);transform:scale(1.05)}.edit-form{background:#00c6cf0d;border:1px solid #00c6cf33;border-radius:8px;margin-top:12px;padding:16px}.edit-row{gap:12px;margin-bottom:12px}.edit-row,.edit-row label{align-items:center;display:flex}.edit-row label{color:#ecedee;color:var(--text);font-size:.9rem;font-weight:600;gap:8px;min-width:140px}.edit-row input[type=checkbox]{cursor:pointer;margin:0;width:auto}.edit-row input[type=number],.edit-row input[type=text],.edit-row select{background:#0000004d;border:1px solid #00c6cf4d;border-radius:6px;color:#ecedee;color:var(--text);flex:1 1;font-size:.9rem;padding:8px 12px}.edit-row input:focus,.edit-row select:focus{border-color:#00c6cf;border-color:var(--primary);box-shadow:0 0 0 2px #00c6cf1a;outline:none}.edit-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.cancel-btn,.save-btn{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;transition:all .2s}.save-btn{background:linear-gradient(135deg,#4caf50,#45b049);color:#fff}.save-btn:hover{box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}.cancel-btn{background:#ffffff1a;border:1px solid #fff3;color:#ecedee;color:var(--text)}.cancel-btn:hover{background:#ffffff26}.reset-btn{background:linear-gradient(135deg,#ff6b6b,#ff5252);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;transition:all .2s}.reset-btn:hover{background:linear-gradient(135deg,#ff5252,#ff3b3b);box-shadow:0 4px 12px #ff6b6b4d;transform:translateY(-2px)}.empty-jornada{color:#ffffff80;font-style:italic;padding:20px;text-align:center}@media (max-width:768px){.jornada-header{align-items:center;flex-wrap:nowrap;justify-content:space-between}.jornada-header h3{flex-shrink:1;line-height:1}.expand-icon{flex-shrink:0;line-height:1}}@media (max-width:480px){.jornada-header{align-items:center!important;flex-direction:row!important;flex-wrap:nowrap!important;justify-content:center!important}.jornada-header h3{flex-shrink:1;line-height:1;white-space:nowrap}.expand-icon{flex-shrink:0;line-height:1}}.jornada-header-expand{background:#00c6cf1a;border-radius:12px;cursor:pointer;padding:12px 20px!important;transition:background .2s;-webkit-user-select:none;user-select:none}.jornada-header-expand,.jornada-title-row{align-items:center;display:flex;justify-content:center}.jornada-title-row{gap:12px;min-height:32px;position:relative}.jornada-check{background:#4caf50;border:2px solid #fff;border-radius:12px;box-shadow:0 2px 4px #4caf5080;color:#fff;display:flex;font-size:14px;font-weight:700;height:24px;justify-content:center;left:15px;transform:translateY(-50%);width:24px}.jornada-check,.pago-warning{align-items:center;position:absolute;top:50%}.pago-warning{background:#ff980033;border:1px solid #ff980080;border-radius:4px;color:#ff9800;display:inline-flex;font-size:11px;font-weight:600;gap:5px;left:50%;padding:4px 10px;transform:translate(-50%,-50%);white-space:nowrap;z-index:10}@media (max-width:790px){.pago-warning{left:auto!important;position:absolute!important;right:8px!important;top:8px!important;transform:none!important}}@keyframes pulse-warning{0%,to{box-shadow:0 2px 6px #ff980066}50%{box-shadow:0 4px 12px #ff9800b3}}@media (min-width:791px){@keyframes pulse-warning{0%,to{box-shadow:0 2px 6px #ff980066;transform:translate(-50%,-50%) scale(1)}50%{box-shadow:0 4px 12px #ff9800b3;transform:translate(-50%,-50%) scale(1.05)}}}@media (max-width:790px){@keyframes pulse-warning{0%,to{box-shadow:0 2px 6px #ff980066;transform:scale(1)}50%{box-shadow:0 4px 12px #ff9800b3;transform:scale(1.05)}}}.jornada-rest{align-items:center;background:#ffa726;border:2px solid #fff;border-radius:12px;box-shadow:0 2px 4px #ffa72680;display:flex;font-size:14px;height:24px;justify-content:center;left:15px;position:absolute;top:50%;transform:translateY(-50%);width:24px}.jornada-num{color:#fff;font-size:22px;font-weight:700;padding-left:45px}.expand-icon{color:#00c6cf;color:var(--primary);font-size:18px;font-weight:700;margin-left:12px}.enfrentamiento-horizontal{align-items:center;display:flex;gap:6px;justify-content:space-between;padding:2px 0}.enfrentamiento-horizontal .jugador-nombre-text{color:#fff;flex:1 1;font-size:14px;font-weight:600;text-align:center}.enfrentamiento-horizontal .jugador-nombre-text.mi-nombre{color:#00e6ff}.enfrentamiento-horizontal .jugador-score{color:#fff;font-size:20px;font-weight:700;min-width:25px;text-align:center}.enfrentamiento-horizontal .jugador-score.ganador{color:#4caf50}.enfrentamiento-horizontal .jugador-score.pendiente-score{opacity:.5}.enfrentamiento-horizontal .vs-separator{color:#00e6ff;font-size:14px;font-weight:700;padding:0 6px;text-shadow:0 0 8px #00e6ff80}.descanso-card-compact{align-items:center;background:#ffa7261a;border:1px solid #ffa7264d;border-radius:6px;display:flex;gap:6px;justify-content:center;margin-bottom:4px;padding:4px 8px}.descanso-emoji{font-size:14px}.descanso-nombre{color:#ffa726;font-size:13px;font-weight:500}.descanso-label{color:#888;font-size:11px;font-style:italic;font-weight:400}.partida-card{background:#23252b80;border:1px solid #00c6cf33;border-radius:6px;padding:6px 10px!important;transition:all .2s}.partida-card,.partida-meta{margin-bottom:4px}.jornada-content{margin-top:4px;padding:4px 8px}.jornada-container{margin-bottom:8px!important}@media (max-width:768px){.jornada-num{font-size:18px!important;padding-left:38px!important}.expand-icon{font-size:16px!important}.jornada-check,.jornada-rest{border-radius:10px!important;font-size:12px!important;height:20px!important;left:12px!important;width:20px!important}.enfrentamiento-horizontal .jugador-nombre-text{font-size:16px!important}.enfrentamiento-horizontal .jugador-score{font-size:20px!important;min-width:25px!important}.enfrentamiento-horizontal .vs-separator{font-size:14px!important;padding:0 8px!important}.partida-fecha{font-size:.65rem!important}.status-icon{font-size:.8rem!important}.ver-stats-btn{font-size:.75rem!important;padding:6px!important}.stat-values{font-size:.8rem!important}.descanso-emoji{font-size:14px!important}.descanso-nombre{font-size:12px!important}.descanso-label{font-size:11px!important}.partida-actions{flex:none!important;gap:4px!important;justify-content:flex-end!important;width:25%!important}.pago-checkbox{gap:4px!important;padding:3px 6px!important}.pago-text{font-size:.75rem!important}.partida-header-row{gap:6px!important}.partida-players{flex:none!important;width:60%!important}.partida-players span{flex:1 1!important;min-width:0!important;overflow:visible!important;text-overflow:clip!important}.partida-players span:not(.vs){line-height:1.3!important;overflow-wrap:break-word!important;word-break:break-word!important}.partida-players .vs{flex:0 0 auto!important;white-space:nowrap!important}.partida-result-inline{flex:none!important;min-width:0!important;width:15%!important}.edit-btn-icon{font-size:.9rem!important;height:28px!important;width:28px!important}.partida-result-inline{display:none!important}.partida-header-row{gap:8px!important}.partida-players{font-size:.8rem!important;gap:6px!important}.partida-players .vs{font-size:.75rem!important}.pago-warning{font-size:10px;gap:4px;padding:3px 8px}}@media (max-width:480px){.jornada-header-expand{padding:10px 16px!important}.jornada-num{font-size:16px!important;padding-left:35px!important}.expand-icon{font-size:14px!important}.jornada-title-row{gap:8px!important}.pago-warning{font-size:9px;gap:3px;padding:2px 6px}.jornada-check,.jornada-rest{border-radius:9px!important;font-size:11px!important;height:18px!important;left:10px!important;width:18px!important}.enfrentamiento-horizontal{gap:4px!important}.enfrentamiento-horizontal .jugador-nombre-text{font-size:14px!important}.enfrentamiento-horizontal .jugador-score{font-size:18px!important;min-width:22px!important}.enfrentamiento-horizontal .vs-separator{font-size:12px!important;padding:0 6px!important}.partida-card{padding:8px!important}.partida-meta{margin-bottom:6px!important}.descanso-card-compact{gap:6px!important;padding:6px!important}.descanso-emoji{font-size:12px!important}.descanso-nombre{font-size:11px!important}.descanso-label{font-size:10px!important}.partida-actions{flex-wrap:nowrap;gap:6px!important}.pago-checkbox{gap:4px!important;min-width:auto!important;padding:4px 6px!important}.pago-text{display:none!important}.pago-checkbox input[type=checkbox]{height:18px!important;width:18px!important}.pago-checkbox:after{content:"💰";display:inline-block;font-size:14px}.pago-checkbox.pagada:after{color:#4caf50;content:"✓";font-size:16px;font-weight:700}.edit-btn-icon{font-size:1rem!important;height:32px!important;padding:0!important;width:32px!important}.partida-result-inline{display:flex!important;flex-shrink:0!important;font-size:.7rem!important;font-weight:600!important;gap:2px!important}.partida-header-row{align-items:center!important;flex-wrap:nowrap!important;gap:4px!important}.partida-players{flex:1 1!important;flex-shrink:1!important;font-size:.7rem!important;gap:3px!important;min-width:0!important}.partida-players span{max-width:60px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.partida-players .vs{flex-shrink:0;font-size:.65rem!important}}.modal-overlay{align-items:center;animation:fadeIn .2s ease-in-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-confirm{animation:slideIn .3s ease-out;background:linear-gradient(135deg,#000,#002a2f 50%,#000);border:2px solid #00c6cf;border-radius:16px;box-shadow:0 20px 60px #00c6cf4d,0 0 0 1px #00c6cf33;max-width:500px;overflow:hidden;padding:0;position:relative;width:90%}.modal-confirm:before{background:radial-gradient(circle at 50% 0,#00c6cf26,#0000 70%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:0}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{background:linear-gradient(135deg,#00c6cf,#09c);overflow:hidden;padding:24px 28px;position:relative;z-index:1}.modal-header:before{animation:shine 3s infinite;background:linear-gradient(45deg,#0000,#ffffff26,#0000);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%}@keyframes shine{0%{transform:translateX(-100%) translateY(-100%) rotate(45deg)}to{transform:translateX(100%) translateY(100%) rotate(45deg)}}.modal-header h3{color:#000;font-size:1.4rem;font-weight:800;letter-spacing:1px;margin:0;position:relative;text-shadow:0 2px 4px #0000001a;text-transform:uppercase;z-index:1}.modal-body{background:#0000;padding:32px 28px;position:relative;z-index:1}.modal-body p{color:#ecedee;font-size:1.1rem;font-weight:400;line-height:1.7;margin:0}.modal-actions{background:#0000;display:flex;gap:14px;padding:0 28px 28px;position:relative;z-index:1}.modal-btn{border:none;border-radius:10px;cursor:pointer;font-size:1.05rem;font-weight:700;letter-spacing:.8px;overflow:hidden;padding:14px 32px;position:relative;text-transform:uppercase;transition:all .3s ease}.modal-btn:before{background:#fff3;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.modal-btn:hover:before{height:300px;width:300px}.modal-btn-cancel{background:#1f2427;border:2px solid #262a2e;color:#9ba1a6}.modal-btn-cancel:hover{background:#262a2e;border-color:#9ba1a6;box-shadow:0 4px 12px #ffffff1a;color:#ecedee;transform:translateY(-2px)}.modal-btn-confirm{background:linear-gradient(135deg,#00c6cf,#09c);border:2px solid #0000;box-shadow:0 4px 15px #00c6cf66;color:#000;font-weight:800}.modal-btn-confirm:hover{background:linear-gradient(135deg,#00e6ff,#00c6cf);box-shadow:0 8px 25px #00e6ff99;transform:translateY(-3px)}.modal-btn:active{transform:translateY(0)}@media (max-width:480px){.modal-confirm{border-radius:12px;width:95%}.modal-header{padding:20px 24px}.modal-header h3{font-size:1.15rem}.modal-body{padding:24px 20px}.modal-body p{font-size:.95rem}.modal-actions{gap:10px;padding:0 20px 20px}.modal-btn{font-size:.9rem;padding:12px 24px}.edit-form{margin-top:8px;padding:12px}.edit-row{align-items:stretch;flex-direction:column;gap:6px;margin-bottom:10px}.edit-row label{flex-direction:row;font-size:.8rem;font-weight:500;justify-content:flex-start;min-width:0;min-width:auto}.edit-row input[type=number],.edit-row input[type=text],.edit-row select{font-size:.85rem;padding:8px 10px;width:100%}.edit-row input[type=checkbox]{height:18px;width:18px}.edit-actions{flex-direction:column;gap:8px;margin-top:12px}.cancel-btn,.reset-btn,.save-btn{font-size:.85rem;font-weight:500;padding:10px 16px;width:100%}}.torneos-dashboard{box-sizing:border-box;margin:0 auto;max-width:1200px;min-height:100vh;padding:20px;width:100%}.torneos-header{align-items:center;background:linear-gradient(135deg,#1b1f22,#1f2427);background:linear-gradient(135deg,var(--surface) 0,var(--surface-elevated) 100%);border:1px solid #00c6cf33;border-radius:16px;box-shadow:0 8px 32px #00c6cf26;display:flex;justify-content:space-between;margin-bottom:24px;overflow:hidden;padding:24px 30px;position:relative}.torneos-header:before{background:radial-gradient(circle at top right,#00c6cf1a 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.torneos-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#00c6cf,#09c);background:linear-gradient(135deg,var(--primary) 0,var(--primary-alt) 100%);-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:700;margin:0;position:relative;z-index:1}.back-button{background:#00c6cf1a;border:1px solid #00c6cf4d;border-radius:8px;color:#00c6cf;color:var(--primary);cursor:pointer;font-weight:600;padding:10px 20px;position:relative;transition:all .2s;z-index:1}.back-button:hover{background:#00c6cf33;border-color:#00c6cf;border-color:var(--primary);transform:translateY(-2px)}.header-buttons{display:flex;gap:12px;position:relative;z-index:1}.torneo-highlight-btn{align-items:flex-start;background:linear-gradient(135deg,#ff9f1c,#ff6f00 50%,#e65100);border:1px solid #ffc10780;border-radius:10px;box-shadow:0 10px 28px #ff7b0059,0 4px 12px #00000059;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-size:1rem;font-weight:800;gap:4px;justify-content:center;min-width:190px;padding:12px 18px;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.torneo-highlight-btn:hover{box-shadow:0 14px 34px #ff7b0066,0 6px 16px #0006;filter:brightness(1.02);transform:translateY(-2px) scale(1.01)}.torneo-highlight-title{letter-spacing:.3px}.torneo-highlight-note{color:#ffffffe6;font-size:.78rem;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.torneos-button{background:#00c6cf1a;border:1px solid #00c6cf4d;border-radius:8px;color:#00c6cf;color:var(--primary);cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s}.torneos-button:hover{background:#00c6cf33;border-color:#00c6cf;border-color:var(--primary);transform:translateY(-2px)}.campeonato-selector:before{background:radial-gradient(circle at 50% 0,#00c6cf33,#0000 70%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.campeonato-selector label{font-weight:600}.campeonato-selector label,.campeonato-selector select{color:#ecedee;color:var(--text);position:relative;z-index:1}.campeonato-selector select{background:#1b1f22;background:var(--surface);border:2px solid #262a2e;border:2px solid var(--border);border-radius:8px;cursor:pointer;flex:1 1;font-size:1rem;padding:10px 16px;transition:all .2s}.campeonato-selector select:focus{border-color:#00c6cf;border-color:var(--primary);box-shadow:0 0 0 3px #00c6cf1a;outline:none}.campeonato-info-card h2{color:#ecedee;color:var(--text);font-size:1.4rem;margin:0}.campeonato-info-card p{color:#9ba1a6;color:var(--text-secondary);font-size:.9rem;margin:4px 0 0}.estado-badge{border-radius:20px;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase}.estado-badge.estado-en_curso{background:#4caf5026;border:1px solid #4caf504d;color:#66bb6a}.estado-badge.estado-pendiente{background:#ffa72626;border:1px solid #ffa7264d;color:#ffa726}.estado-badge.estado-finalizado{background:#00c6cf26;border:1px solid #00c6cf4d;color:#00c6cf;color:var(--primary)}.campeonato-hero{background:linear-gradient(135deg,#000,#001a1f 50%,#000);border:2px solid #00c6cf66;border-radius:20px;box-shadow:0 8px 32px #00c6cf26,inset 0 1px 0 #ffffff0d;margin-bottom:24px;overflow:hidden;padding:24px;position:relative}.campeonato-hero:before{background:radial-gradient(ellipse at 50% -20%,#00c6cf26 0,#0000 60%);content:"";height:100%;left:0;pointer-events:none;position:absolute;right:0;top:0}.campeonato-hero-header{margin-bottom:20px;position:relative;z-index:1}.campeonato-titulo-container{align-items:center;display:flex;gap:16px}.campeonato-icon{animation:trophy-glow 2s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,198,207,.3));font-size:2.5rem}@keyframes trophy-glow{0%,to{filter:drop-shadow(0 4px 8px rgba(0,198,207,.3))}50%{filter:drop-shadow(0 4px 16px rgba(0,198,207,.6))}}.campeonato-titulo-info{display:flex;flex-direction:column;gap:8px}.campeonato-nombre{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#00c6cf);background:linear-gradient(135deg,#fff 0,var(--primary) 100%);-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:800;letter-spacing:.5px;margin:0;text-shadow:0 2px 20px #00c6cf4d}.estado-badge-nuevo{align-items:center;border-radius:20px;display:inline-flex;font-size:.8rem;font-weight:700;gap:8px;letter-spacing:1px;padding:6px 14px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.estado-badge-nuevo .estado-dot{animation:pulse-dot 2s ease-in-out infinite;border-radius:50%;height:8px;width:8px}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.estado-badge-nuevo.configuracion{background:#9ca3af33;border:1px solid #9ca3af4d;color:#9ca3af}.estado-badge-nuevo.configuracion .estado-dot{background:#9ca3af}.estado-badge-nuevo.bracket_generado{background:#ffa72626;border:1px solid #ffa7264d;color:#ffa726}.estado-badge-nuevo.bracket_generado .estado-dot{background:#ffa726}.estado-badge-nuevo.en_curso{background:#4caf5026;border:1px solid #4caf504d;color:#66bb6a}.estado-badge-nuevo.en_curso .estado-dot{background:#66bb6a}.estado-badge-nuevo.finalizado{background:#00c6cf26;border:1px solid #00c6cf4d;color:#00c6cf;color:var(--primary)}.estado-badge-nuevo.finalizado .estado-dot{animation:none;background:#00c6cf;background:var(--primary)}.campeonato-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);position:relative;z-index:1}.stat-card-nuevo{align-items:center;background:#00c6cf14;border:1px solid #00c6cf33;border-radius:14px;display:flex;gap:14px;padding:16px;transition:all .3s ease}.stat-card-nuevo:hover{background:#00c6cf1f;border-color:#00c6cf66;transform:translateY(-2px)}.stat-icon{flex-shrink:0;font-size:1.8rem}.stat-content{display:flex;flex-direction:column;gap:2px}.stat-numero{color:#fff;font-size:1.4rem;font-weight:800;line-height:1.1}.stat-separador{color:#00c6cf;color:var(--primary);margin:0 2px}.stat-texto{color:#9ba1a6;color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:1px;text-transform:uppercase}.campeon-banner-nuevo{align-items:center;background:linear-gradient(135deg,#ffd70026,#ffc1071a);border:1px solid #ffd7004d;border-radius:14px;display:flex;gap:16px;margin-top:20px;padding:16px 20px;position:relative;z-index:1}.campeon-trophy{animation:trophy-bounce 2s ease-in-out infinite;font-size:2rem}@keyframes trophy-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.campeon-info{display:flex;flex-direction:column;gap:2px}.campeon-label{color:#ffc107;font-size:.7rem;font-weight:700;letter-spacing:2px;text-transform:uppercase}.campeon-nombre{color:gold;font-size:1.3rem;font-weight:800;text-shadow:0 2px 10px #ffd7004d}@media (max-width:768px){.campeonato-hero{border-radius:16px;padding:20px 16px}.campeonato-titulo-container{align-items:flex-start;flex-direction:column;gap:12px}.campeonato-icon{font-size:2rem}.campeonato-nombre{font-size:1.4rem}.campeonato-stats-grid{gap:12px;grid-template-columns:1fr}.stat-card-nuevo{padding:14px}.stat-icon{font-size:1.5rem}.stat-numero{font-size:1.2rem}.campeon-banner-nuevo{padding:14px 16px}.campeon-trophy{font-size:1.6rem}.campeon-nombre{font-size:1.1rem}}@media (max-width:480px){.campeonato-hero{padding:16px 14px}.campeonato-nombre{font-size:1.2rem}.estado-badge-nuevo{font-size:.7rem;padding:5px 10px}.stat-card-nuevo{gap:10px;padding:12px}.stat-icon{font-size:1.3rem}.stat-numero{font-size:1.1rem}.stat-texto{font-size:.65rem}}.tabs-container{display:flex;gap:12px;margin-bottom:20px}.tab-btn{background:#1b1f22;background:var(--surface);border:2px solid #262a2e;border:2px solid var(--border);border-radius:10px;color:#9ba1a6;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:14px 24px;transition:all .2s}.tab-btn:hover{color:#ecedee;color:var(--text)}.tab-btn.active,.tab-btn:hover{border-color:#00c6cf;border-color:var(--primary)}.tab-btn.active{background:linear-gradient(135deg,#00c6cf,#09c);background:linear-gradient(135deg,var(--primary) 0,var(--primary-alt) 100%);box-shadow:0 4px 12px #00c6cf4d;color:#fff}.bracket-viewer-container{--bracket-scale:1;--card-width:180px;--card-height:90px;--card-padding:8px;--horizontal-gap:70px;--vertical-gap:12px;--title-height:40px;--line-thickness:2px;--column-gap:30px;--font-scale:1;--scroll-max-height:75vh;background:linear-gradient(135deg,#000,#002a2f 50%,#000);border:2px solid #00c6cf;border-radius:16px;overflow:hidden;padding:20px;position:relative}.bracket-viewer-container:before{background:radial-gradient(circle at 50% 0,#00c6cf33,#0000 70%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.bracket-controls{justify-content:space-between;margin-bottom:20px;position:relative;z-index:100}.bracket-toggle{background:#1b1f22;background:var(--surface);border:1px solid #262a2e;border:1px solid var(--border);border-radius:8px;display:flex;padding:4px}.bracket-toggle-btn:hover{color:#ecedee;color:var(--text)}.find-me-btn:hover{background:#ffa72640;transform:translateY(-2px)}.bracket-scroll-container{height:var(--scroll-max-height);margin-top:20px;max-height:var(--scroll-max-height);overflow:auto;padding-bottom:20px;position:relative;scrollbar-color:#00c6cf #00c6cf1a;scrollbar-color:var(--primary) #00c6cf1a;scrollbar-width:thin}@media (max-width:768px){.bracket-viewer-container{--scroll-max-height:65vh}}.bracket-scroll-container::-webkit-scrollbar{height:8px;width:8px}.bracket-scroll-container::-webkit-scrollbar-track{background:#00c6cf1a;border-radius:10px}.bracket-scroll-container::-webkit-scrollbar-thumb{background:#00c6cf;background:var(--primary);border-radius:10px}.bracket-content{display:flex;gap:var(--column-gap);min-width:-webkit-max-content;min-width:max-content;padding:10px 0}.bracket-card:hover{border-color:#00c6cf;border-color:var(--primary);box-shadow:0 4px 12px #00c6cf26}@keyframes pulse-highlight{0%,to{box-shadow:0 0 15px #ffa7264d}50%{box-shadow:0 0 25px #ffa72680}}.bracket-player:last-child{margin-bottom:0}.bracket-player.winner .player-name{color:#66bb6a;font-weight:700}.bracket-player.is-me .player-name{color:#00c6cf;color:var(--primary);font-weight:700}.player-name{color:#ecedee;color:var(--text);font-size:.9rem;font-weight:500}.player-name.bye{color:#9ba1a6;color:var(--text-secondary);font-style:italic}.player-score{color:#ecedee;color:var(--text);font-size:.9rem;font-weight:700;min-width:20px;text-align:center}.bracket-player.winner .player-score{color:#66bb6a}.bracket-empty{color:#9ba1a6;color:var(--text-secondary);font-size:1.1rem;padding:40px 20px;text-align:center}.ranking-container:before{background:radial-gradient(circle at 50% 0,#00c6cf33,#0000 70%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.ranking-container h3{color:#ecedee;color:var(--text);font-size:1.3rem;margin:0 0 20px;position:relative;z-index:1}.ranking-table thead{background:#00c6cf1a;border-bottom:2px solid #00c6cf;border-bottom:2px solid var(--primary)}.ranking-table th{color:#ecedee;color:var(--text);font-size:.85rem;letter-spacing:.5px;padding:12px 8px}.ranking-table th:nth-child(2){padding-left:16px}.ranking-table td{border-bottom:1px solid #262a2e;border-bottom:1px solid var(--border);font-size:.95rem;padding:14px 8px}.ranking-table td:nth-child(2){font-weight:500;padding-left:16px}.ranking-table tbody tr{transition:background .2s}.ranking-table tbody tr:hover{background:#00c6cf0d}.ranking-table tbody tr.my-row{background:#00c6cf26;font-weight:600}@media (max-width:768px){.torneos-header{flex-direction:column;gap:16px;padding:20px;text-align:center}.torneos-header h1{font-size:1.5rem}.header-buttons{flex-wrap:wrap;justify-content:center;width:100%}.torneo-highlight-btn{align-items:center;text-align:center;width:100%}.bracket-controls,.tabs-container{flex-direction:column}.bracket-controls{align-items:stretch}.bracket-toggle{justify-content:center}.player-name{font-size:.8rem}}.toggle-btn{background:#0000;border:none;border-radius:6px;color:#9ba1a6;color:var(--text-secondary);cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s}.toggle-btn:hover{color:#ecedee;color:var(--text)}.toggle-btn.active{box-shadow:0 2px 8px #00c6cf4d;color:#fff}.toggle-btn.active.winner{background:linear-gradient(135deg,#4caf50,#2e7d32);background:linear-gradient(135deg,var(--success) 0,#2e7d32 100%)}.toggle-btn.active.loser{background:linear-gradient(135deg,#ef5350,#c62828)}.buscar-btn{background:#ffa72626;border:1px solid #ffa72666;border-radius:8px;color:#ffa726;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s}.buscar-btn:hover{background:#ffa72640;transform:translateY(-2px)}.bracket-info{align-items:center;background:#00c6cf14;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:16px;padding:12px 16px;position:relative;z-index:1}.bracket-tipo{font-size:1rem}.bracket-player.es-usuario .player-name,.bracket-tipo{color:#00c6cf;color:var(--primary);font-weight:700}.bracket-player.ganador .player-name,.bracket-player.ganador .player-score{color:#66bb6a;font-weight:700}.bracket-player.perdedor .player-name{color:#9ba1a6;color:var(--text-secondary);text-decoration:line-through}.bracket-leyenda{border-top:1px solid #262a2e;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:24px;justify-content:center;margin-top:20px;padding-top:20px;position:relative;z-index:1}.leyenda-item{align-items:center;color:#9ba1a6;color:var(--text-secondary);display:flex;font-size:.85rem;gap:8px}.leyenda-color{border-radius:3px;height:12px;width:12px}.leyenda-color.ganador{background:#66bb6a}.leyenda-color.perdedor{background:#9ba1a6;background:var(--text-secondary)}.leyenda-color.usuario{background:#00c6cf;background:var(--primary)}.leyenda-color.pendiente{background:#262a2e;background:var(--border);border:1px dashed #9ba1a6;border:1px dashed var(--text-secondary)}@media (max-width:768px){.bracket-info{flex-direction:column;gap:8px;text-align:center}.bracket-leyenda{gap:12px}.leyenda-item{font-size:.75rem}}.bracket-content-wrapper{align-items:flex-start;background:linear-gradient(180deg,#000,#002a2f 50%,#000);border-radius:16px;display:flex;flex-direction:row;min-width:-webkit-max-content;min-width:max-content;overflow:hidden;padding:40px 60px;position:relative}.bracket-logo-pattern{align-content:flex-start;bottom:0;display:flex;flex-wrap:wrap;justify-content:flex-start;left:0;opacity:.08;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.bracket-logo-item{flex-shrink:0;height:200px;margin:40px;object-fit:contain;width:200px}.bracket-ronda-wrapper{align-items:flex-start;display:flex;flex-direction:row;position:relative;z-index:1}.bracket-ronda-column{display:flex;flex-direction:column;flex-shrink:0}.bracket-ronda-header{align-items:center;display:flex;justify-content:center;padding:0 8px}.ronda-titulo{color:#00e5ee;font-size:.85rem;font-weight:700;letter-spacing:.5px;text-align:center;text-shadow:0 0 8px #00c6cf99;text-transform:uppercase}.bracket-partidas-container{display:flex;flex-direction:column}.bracket-partida-slot{display:block}.bracket-conectores-column{flex-shrink:0;position:relative}.conectores-svg{display:block;overflow:visible}.bracket-match-card{background:linear-gradient(135deg,#1e2530,#252a35);border:2px solid #3a4556;border-radius:10px;box-shadow:0 2px 8px #0000004d;box-sizing:border-box;display:flex;flex-direction:column;height:90px;justify-content:space-between;padding:8px;transition:all .2s ease;width:180px}.bracket-match-card:hover{border-color:#00c6cf;box-shadow:0 4px 16px #00c6cf33;transform:translateY(-2px)}.bracket-match-card.completada{background:linear-gradient(135deg,#0d3a3d,#1a3535);border-color:#00c6cf}.bracket-match-card.bye{background:linear-gradient(135deg,#1e2530,#1e2530);opacity:.5}.bracket-match-card.mi-partida{border-color:gold;border-width:2px;box-shadow:0 0 12px #ffd7004d}.match-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.match-position{color:#8892a0;font-size:.7rem;font-weight:600}.match-badges{align-items:center;display:flex;gap:4px}.badge-usuario{font-size:.7rem}.badge-completada{color:#32cd32;font-size:.8rem;font-weight:700}.badge-bye{background:#ffa50033;border-radius:3px;color:orange;font-size:.65rem;font-weight:700;padding:1px 4px}.match-player{align-items:center;background:#ffffff05;border-radius:4px;display:flex;min-height:24px;padding:4px 6px;transition:all .2s ease}.match-player.es-usuario{background:#ffd70026}.match-player.ganador{background:#00c6cf40;border-left:3px solid #00c6cf}.match-player.perdedor{opacity:.6}.match-player.perdedor .player-name{color:#5a6577;text-decoration:line-through}.usuario-star{font-size:.7rem;margin-right:4px}.match-player .player-name{color:#ecedee;flex:1 1;font-size:.9rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-player.ganador .player-name{color:#00c6cf;font-weight:700}.match-player .player-name.tbd{color:#5a6577;font-style:italic}.match-player .player-score{color:#b0b8c4;font-size:1rem;font-weight:600;margin-left:8px;min-width:16px;text-align:center}.match-player .player-score.ganador{color:#00c6cf;font-weight:700}.match-divider{background:linear-gradient(90deg,#0000,#3a4556,#0000);height:1px;margin:2px 0}.bracket-match-card.clickeable{cursor:pointer}.bracket-match-card.clickeable:hover{box-shadow:0 6px 20px #00c6cf4d;transform:translateY(-3px)}.badge-stats{font-size:calc(.65rem*var(--font-scale))}.stats-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.stats-modal{animation:slideUp .3s ease-out;background:linear-gradient(180deg,#1a2833,#0d1820);border:2px solid #00c6cf4d;border-radius:20px;box-shadow:0 25px 80px #000000b3,0 0 40px #00c6cf1a;max-width:450px;width:90%}.stats-modal-header{align-items:center;background:linear-gradient(135deg,#00c6cf1a,#00646e1a);border-bottom:1px solid #00c6cf33;border-radius:20px 20px 0 0;display:flex;justify-content:space-between;padding:20px 24px}.stats-modal-header h3{color:#fff;font-size:1.2rem;margin:0}.stats-modal-content{padding:24px}.stats-match-info{align-items:center;background:#00c6cf14;border-radius:10px;display:flex;justify-content:space-between;margin-bottom:24px;padding:12px 16px}.stats-ronda{color:#00c6cf;color:var(--primary);font-size:.9rem;font-weight:600}.stats-resultado{color:#fff;font-size:1.5rem;font-weight:700}.stats-players-comparison{align-items:stretch;display:flex;gap:16px}.stats-player{background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;flex:1 1;padding:16px;text-align:center}.stats-player.winner{background:#00c6cf1a;border-color:#00c6cf4d}.stats-player.loser{opacity:.7}.stats-player-name{align-items:center;color:#fff;display:flex;font-size:1rem;font-weight:700;gap:6px;justify-content:center;margin-bottom:12px}.winner-badge{font-size:1.1rem}.stats-player-data{display:flex;flex-direction:column;gap:8px}.stat-item{background:#0003;border-radius:6px;justify-content:space-between;padding:8px 12px}.stat-item,.stats-vs{align-items:center;display:flex}.stats-vs{color:#00c6cf99;font-size:.9rem;font-weight:800}.bracket-ranking-section{background:#00c6cf0d;border:1px solid #00c6cf33;border-radius:12px;margin-top:24px;padding:20px;position:relative;z-index:1}.ranking-title{color:#00c6cf;color:var(--primary);font-size:1.1rem;margin:0 0 16px;text-align:center}.ranking-table-container{overflow-x:auto}.ranking-table th{border-bottom:1px solid #00c6cf33;color:#9ba1a6;color:var(--text-secondary);font-size:.8rem;font-weight:600;padding:10px 8px;text-align:center;text-transform:uppercase}.ranking-table th:nth-child(2){text-align:left}.ranking-table td{border-bottom:1px solid #ffffff0d;color:#ecedee;color:var(--text);font-size:.9rem;padding:12px 8px;text-align:center}.ranking-table td:nth-child(2){text-align:left}.ranking-table tbody tr:hover{background:#00c6cf14}.ranking-table tbody tr.top-player{background:#ffd7001a}.rank-position{font-size:1rem}.rank-name{font-weight:600}.rank-avg{color:#00c6cf;color:var(--primary);font-weight:700}.rank-180s{color:gold;font-weight:600}.rank-record{font-size:.85rem}.bracket-estado,.rank-record{color:#9ba1a6;color:var(--text-secondary)}.bracket-estado{font-size:.9rem}.bracket-admin-container{position:relative}.admin-banner{align-items:center;background:linear-gradient(135deg,#ffa72626,#ff572226);border:1px solid #ffa72666;border-radius:8px;color:#ffa726;display:flex;font-weight:600;gap:10px;justify-content:center;margin-bottom:16px;padding:12px 20px}.admin-banner .admin-icon{font-size:1.2rem}.admin-mensaje{animation:slideDown .3s ease-out;border-radius:8px;font-weight:600;margin-bottom:16px;padding:12px 20px;text-align:center}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.admin-mensaje.success{background:#4caf5026;border:1px solid #4caf5066;color:#66bb6a}.admin-mensaje.error{background:#ef444426;border:1px solid #ef444466;color:#ef4444}.bracket-match-card.admin-card{cursor:pointer;position:relative;transition:all .2s ease}.bracket-match-card.admin-card:hover{border-color:#ffa726;box-shadow:0 8px 24px #ffa7264d;transform:translateY(-4px)}.bracket-match-card.admin-card .admin-click-hint{bottom:-20px;color:#9ba1a6;color:var(--text-secondary);font-size:.65rem;left:50%;opacity:0;position:absolute;transform:translateX(-50%);transition:opacity .2s;white-space:nowrap}.bracket-match-card.admin-card:hover .admin-click-hint{opacity:1}.badge-admin{font-size:.7rem}.admin-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.admin-modal{animation:slideUp .3s ease-out;background:linear-gradient(180deg,#1a2833,#0d1820);border:2px solid #00c6cf4d;border-radius:20px;box-shadow:0 25px 80px #000000b3,0 0 40px #00c6cf1a;max-height:85vh;max-width:420px;overflow-x:hidden;overflow-y:auto;width:90%}.admin-modal.large{max-width:520px}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.admin-modal-header{align-items:center;background:linear-gradient(135deg,#00c6cf1a,#00646e1a);border-bottom:1px solid #00c6cf33;display:flex;justify-content:space-between;padding:20px 24px}.admin-modal-header h3{color:#fff;font-size:1.25rem;margin:0;text-shadow:0 0 15px #00c6cf66}.modal-close{background:none;border:none;color:#9ba1a6;color:var(--text-secondary);cursor:pointer;font-size:1.5rem;line-height:1;padding:0;transition:color .2s}.modal-close:hover{color:#ef4444;color:var(--danger)}.admin-modal-info{background:linear-gradient(180deg,#00c6cf14,#00a3ad08);border-bottom:1px solid #00c6cf26;flex-direction:column;padding:20px 24px}.admin-modal-info,.match-preview{align-items:center;display:flex;gap:16px}.match-preview{background:#00000040;border:1px solid #ffffff0d;border-radius:16px;justify-content:center;padding:16px;width:100%}.preview-player{background:linear-gradient(135deg,#00c6cf1f,#00a3ad14);border:1px solid #00c6cf40;border-radius:12px;color:#fff;flex:1 1;font-size:1.1rem;font-weight:700;max-width:140px;min-width:100px;overflow:hidden;padding:12px 8px;text-align:center;text-overflow:ellipsis;text-shadow:0 2px 4px #0000004d;white-space:nowrap}.preview-vs{background:#00c6cf1a;border-radius:8px;color:#00c6cfcc;font-size:1rem;font-weight:800;letter-spacing:2px;padding:8px 12px;text-transform:uppercase}.status-badge{border-radius:25px;font-size:.85rem;font-weight:700;letter-spacing:.5px;padding:8px 18px;text-transform:uppercase}.status-badge.completed{background:linear-gradient(135deg,#22c55e33,#16a34a26);border:1px solid #22c55e66;box-shadow:0 2px 10px #22c55e33;color:#4ade80}.status-badge.pending{background:linear-gradient(135deg,#fbbf2433,#f59e0b26);border:1px solid #fbbf2466;box-shadow:0 2px 10px #fbbf2433;color:#fbbf24}.admin-stats-section{background:#00c6cf0d;border-bottom:1px solid #00c6cf1a;border-top:1px solid #00c6cf1a;padding:16px 24px}.admin-stats-header{color:#00c6cf;color:var(--primary);font-size:.95rem;font-weight:600;margin-bottom:12px;text-align:center}.admin-stats-result{color:#fff;font-size:1.8rem;font-weight:700;margin-bottom:16px;text-align:center}.admin-stats-comparison{display:flex;gap:12px}.admin-stats-player{background:#0003;border:1px solid #ffffff1a;border-radius:10px;flex:1 1;padding:12px}.admin-stats-player.winner{background:#00c6cf1a;border-color:#00c6cf4d}.admin-stats-name{color:#fff;font-size:.9rem;font-weight:600;margin-bottom:10px;text-align:center}.admin-stat-row{color:#9ba1a6;color:var(--text-secondary);display:flex;font-size:.85rem;justify-content:space-between;padding:6px 0}.admin-stat-row strong{color:#fff}.admin-stat-row strong.gold{color:gold}.admin-stat-row.no-stats{color:#fff6;font-style:italic;justify-content:center}.admin-modal-actions{display:flex;flex-direction:column;gap:12px;padding:20px 24px 24px}.admin-action-btn{align-items:center;border:none;border-radius:14px;cursor:pointer;display:flex;font-size:1rem;font-weight:700;gap:12px;justify-content:center;overflow:hidden;padding:16px 24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.admin-action-btn:before{background:linear-gradient(90deg,#0000,#ffffff1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.admin-action-btn:hover:before{left:100%}.admin-action-btn:disabled{cursor:not-allowed;opacity:.5}.admin-action-btn.edit{background:linear-gradient(135deg,#00c6cf40,#00a3ad40);border:1px solid #00c6cf80;box-shadow:0 4px 15px #00c6cf33;color:#fff;text-shadow:0 0 10px #00e5ee99}.admin-action-btn.edit:hover:not(:disabled){background:linear-gradient(135deg,#00c6cf66,#00a3ad66);box-shadow:0 8px 25px #00c6cf59;transform:translateY(-3px)}.admin-action-btn.reset{background:linear-gradient(135deg,#ffa72640,#ff704340);border:1px solid #ffa72680;box-shadow:0 4px 15px #ffa72633;color:#fff;text-shadow:0 0 10px #ffa72699}.admin-action-btn.reset:hover:not(:disabled){background:linear-gradient(135deg,#ffa72666,#ff704366);box-shadow:0 8px 25px #ffa72659;transform:translateY(-3px)}.admin-action-btn.assign{background:linear-gradient(135deg,#4caf5040,#66bb6a40);border:1px solid #4caf5080;box-shadow:0 4px 15px #4caf5033;color:#fff;text-shadow:0 0 10px #4caf5099}.admin-action-btn.assign:hover:not(:disabled){background:linear-gradient(135deg,#4caf5066,#66bb6a66);box-shadow:0 8px 25px #4caf5059;transform:translateY(-3px)}.admin-action-btn.change{background:linear-gradient(135deg,#3b82f640,#6366f140);border:1px solid #3b82f680;box-shadow:0 4px 15px #3b82f633;color:#fff;text-shadow:0 0 10px #3b82f699}.admin-action-btn.change:hover:not(:disabled){background:linear-gradient(135deg,#3b82f666,#6366f166);box-shadow:0 8px 25px #3b82f659;transform:translateY(-3px)}.admin-action-btn.bye{background:linear-gradient(135deg,#9e9e9e33,#75757533);border:1px solid #9e9e9e66;color:#bdbdbd}.admin-action-btn.bye:hover:not(:disabled){background:linear-gradient(135deg,#9e9e9e4d,#7575754d);transform:translateY(-2px)}.admin-form{padding:20px}.form-row{margin-bottom:16px}.form-row label{color:#9ba1a6;color:var(--text-secondary);display:block;font-size:.9rem;margin-bottom:8px}.form-row input[type=number],.form-row select{background:#1b1f22;background:var(--surface);border:2px solid #262a2e;border:2px solid var(--border);border-radius:8px;color:#ecedee;color:var(--text);font-size:1rem;padding:12px 16px;transition:all .2s;width:100%}.form-row input[type=number]:focus,.form-row select:focus{border-color:#00c6cf;border-color:var(--primary);box-shadow:0 0 0 3px #00c6cf1a;outline:none}.form-row.checkbox,.form-row.checkbox label{align-items:center;display:flex}.form-row.checkbox label{color:#ecedee;color:var(--text);cursor:pointer;gap:10px;margin-bottom:0}.form-row.checkbox input[type=checkbox]{accent-color:#00c6cf;accent-color:var(--primary);height:20px;width:20px}.form-actions{gap:14px;margin-top:24px}.btn-cancel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #ffffff26;border-radius:14px;color:#ffffffd9;padding:16px;transition:all .3s ease}.btn-cancel:hover{box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.btn-cancel.full{margin-top:16px}.btn-save{background:linear-gradient(135deg,#00c6cf,#00a3ad 50%,#0099a3);border-radius:14px;box-shadow:0 4px 20px #00c6cf59;color:#fff;flex:1 1;overflow:hidden;padding:16px;position:relative;transition:all .3s ease}.btn-save:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.btn-save:hover:before{left:100%}.btn-save:hover:not(:disabled){box-shadow:0 8px 30px #00c6cf80;transform:translateY(-3px)}.modal-description{color:#9ba1a6;color:var(--text-secondary);margin:16px 0;padding:0 20px;text-align:center}.winner-btn:hover:not(:disabled){background:#4caf5033;border-color:#66bb6a;box-shadow:0 4px 16px #4caf504d;transform:translateY(-2px)}.winner-btn:disabled{cursor:not-allowed;opacity:.5}.player-search{background:linear-gradient(180deg,#001e2880,#00141eb3);padding:20px}.player-search input{background:linear-gradient(180deg,#1a2530,#0f1820);border:2px solid #00c6cf4d;border-radius:12px;color:#fff;font-size:1rem;padding:14px 18px;transition:all .2s;width:100%}.player-search input:focus{border-color:#00e5ee;box-shadow:0 0 20px #00e5ee33;outline:none}.player-search input::placeholder{color:#fff6}.players-list{background:linear-gradient(180deg,#00141e66,#000a1499);display:flex;flex-direction:column;gap:10px;max-height:320px;overflow-y:auto;padding:16px 20px}.player-option{align-items:center;background:linear-gradient(135deg,#00c6cf0d,#00646e0d);border:2px solid #00c6cf26;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:1rem;justify-content:space-between;padding:14px 18px;transition:all .25s;width:100%}.player-option:hover:not(:disabled){background:linear-gradient(135deg,#00c6cf26,#00646e26);border-color:#00e5ee;box-shadow:0 4px 15px #00c6cf33;transform:translateX(4px)}.player-option:disabled{cursor:not-allowed;opacity:.5}.player-option .player-name{font-weight:600;text-shadow:0 0 10px #00c6cf33}.player-option .player-badge{background:linear-gradient(135deg,#00c6cf4d,#0099a34d);border:1px solid #00c6cf66;border-radius:20px;color:#00e5ee;font-size:.75rem;font-weight:600;padding:4px 10px}.no-results{color:#ffffff80;font-size:.95rem;padding:30px 20px;text-align:center}.leyenda-color.admin{background:#ffa726}.torneos-menu{position:relative}.torneos-menu-container{margin:0 auto;max-width:600px;padding:20px}.torneos-menu--admin .torneos-menu-container{background:linear-gradient(135deg,#00c6cf1f,#0078ff1f 50%,#00c6cf1f);border:1px solid #00c6cf59;border-radius:18px;box-shadow:0 12px 36px #00c6cf38,0 6px 18px #00000059;overflow:hidden;position:relative}.torneos-menu--admin .torneos-menu-container:after,.torneos-menu--admin .torneos-menu-container:before{content:"";inset:0;pointer-events:none;position:absolute}.torneos-menu--admin .torneos-menu-container>*{position:relative;z-index:1}.torneos-menu--admin .torneos-menu-container:before{background:radial-gradient(circle at 20% 20%,#00c6cf38,#0000 40%),radial-gradient(circle at 80% 0,#ffc10729,#0000 38%);opacity:.8}.torneos-menu--admin .torneos-menu-container:after{background:linear-gradient(135deg,#00000059,#00000026);mix-blend-mode:soft-light}.torneos-menu-options{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.torneos-menu-card{align-items:center;background:#1b1f22;background:var(--surface);border:1px solid #262a2e;border:1px solid var(--border);border-radius:12px;cursor:pointer;display:flex;gap:16px;padding:20px;transition:all .2s ease}.torneos-menu--admin .torneos-menu-card{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000f19b3;border-color:#00c6cf59;box-shadow:0 10px 28px #0006,0 6px 18px #00c6cf2e}.torneos-menu-card:hover{background:#1f2427;background:var(--surface-elevated);border-color:#00c6cf;border-color:var(--primary);box-shadow:0 4px 12px #00c6cf33;transform:translateY(-2px)}.torneos-menu--admin .torneos-menu-card:hover{background:#00c6cf1f;border-color:#00c6cf8c;box-shadow:0 14px 32px #00c6cf40}.menu-card-icon{align-items:center;background:#00c6cf1a;border-radius:12px;display:flex;font-size:2rem;height:60px;justify-content:center;width:60px}.menu-card-content{flex:1 1}.menu-card-content h3{color:#ecedee;color:var(--text);font-size:1.1rem;margin:0 0 4px}.menu-card-content p{color:#9ba1a6;color:var(--text-secondary);font-size:.9rem;margin:0}.menu-card-arrow{color:#00c6cf;color:var(--primary);font-size:1.5rem}.torneos-menu-info{background:#00c6cf0d;border:1px solid #00c6cf33;border-radius:12px;padding:16px}.torneos-menu-info h4{color:#00c6cf;color:var(--primary);margin:0 0 8px}.torneos-menu-info p{color:#9ba1a6;color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0}.crear-torneo-container{margin:0 auto;max-width:800px;padding:20px}.crear-torneo-form{display:flex;flex-direction:column;gap:24px}.form-section{background:#1b1f22;background:var(--surface);border:1px solid #262a2e;border:1px solid var(--border);border-radius:12px;padding:20px}.form-section h3{color:#00c6cf;color:var(--primary);font-size:1.1rem;margin:0 0 16px}.form-group{margin-bottom:16px}.form-group:last-child{margin-bottom:0}.form-group label{color:#ecedee;color:var(--text);display:block;font-size:.9rem;font-weight:500;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{background:#151718;background:var(--background);border:1px solid #262a2e;border:1px solid var(--border);border-radius:8px;color:#ecedee;color:var(--text);font-size:1rem;padding:12px;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#00c6cf;border-color:var(--primary);outline:none}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{cursor:not-allowed;opacity:.6}.form-group textarea{min-height:80px;resize:vertical}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.form-row .form-group{margin-bottom:0}.search-group,.search-input-container{position:relative}.search-input-container .search-spinner{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.search-results-dropdown{background:#1f2427;background:var(--surface-elevated);border:1px solid #262a2e;border:1px solid var(--border);border-radius:8px;left:0;margin-top:4px;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.search-result-item{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:12px;transition:background-color .2s}.search-result-item:hover{background:#00c6cf1a}.search-result-item .player-name{color:#ecedee;color:var(--text)}.search-result-item .add-btn{color:#00c6cf;color:var(--primary);font-size:.85rem}.selected-players-list{display:flex;flex-direction:column;gap:8px;margin-top:16px}.empty-players{color:#9ba1a6;color:var(--text-secondary);font-style:italic;padding:20px;text-align:center}.selected-player-item{align-items:center;background:#00c6cf0d;border:1px solid #00c6cf33;border-radius:8px;display:flex;gap:12px;padding:10px 12px}.selected-player-item .player-number{align-items:center;background:#00c6cf;background:var(--primary);border-radius:50%;color:#000;display:flex;font-size:.8rem;font-weight:700;height:24px;justify-content:center;width:24px}.selected-player-item .player-name{color:#ecedee;color:var(--text);flex:1 1}.remove-player-btn{background:#0000;border:none;border-radius:4px;color:#ef4444;color:var(--danger);cursor:pointer;font-size:1rem;padding:4px 8px;transition:background-color .2s}.remove-player-btn:hover{background:#ef44441a}.remove-player-btn:disabled{cursor:not-allowed;opacity:.5}.form-actions{justify-content:center;padding:20px 0}.submit-btn{background:linear-gradient(135deg,#00c6cf,#09c);background:linear-gradient(135deg,var(--primary),var(--primary-alt));border:none;border-radius:12px;color:#000;cursor:pointer;font-size:1.1rem;font-weight:700;padding:16px 48px;transition:all .2s ease}.submit-btn:hover:not(:disabled){box-shadow:0 4px 20px #00c6cf66;transform:translateY(-2px)}.submit-btn:disabled{cursor:not-allowed;opacity:.6}.success-banner{background:#4caf501a;border:1px solid #4caf50;border:1px solid var(--success);border-radius:8px;color:#4caf50;color:var(--success)}.error-banner,.success-banner{padding:12px 16px;text-align:center}.error-banner{background:#ef44441a;border:1px solid #ef4444;border:1px solid var(--danger);border-radius:8px;color:#ef4444;color:var(--danger)}@media (max-width:480px){.torneos-menu-container{padding:12px}.torneos-menu-card{padding:16px}.menu-card-icon{font-size:1.5rem;height:50px;width:50px}.crear-torneo-container{padding:12px}.form-section{padding:16px}.form-row{grid-template-columns:1fr}}.resultado-form{background:linear-gradient(180deg,#001e2899,#00141ecc);border-radius:16px;display:flex;flex-direction:column;gap:20px;margin:0 20px 20px;padding:24px}.resultado-row{align-items:center;background:linear-gradient(135deg,#00c6cf14,#00646e14);border:1px solid #00c6cf26;border-radius:12px;display:flex;gap:16px;justify-content:space-between;padding:16px 20px}.resultado-player{color:#fff;flex:1 1;font-size:1.1rem;font-weight:600;text-shadow:0 0 10px #00c6cf4d}.resultado-input-group{align-items:center;display:flex;gap:12px}.resultado-btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;font-size:1.4rem;font-weight:700;height:44px;justify-content:center;transition:all .2s;width:44px}.resultado-btn.minus{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef44444d;color:#fff}.resultado-btn.minus:hover{box-shadow:0 6px 20px #ef444480;transform:translateY(-2px)}.resultado-btn.plus{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 4px 12px #22c55e4d;color:#fff}.resultado-btn.plus:hover{box-shadow:0 6px 20px #22c55e80;transform:translateY(-2px)}.resultado-btn:active{transform:scale(.95)}.resultado-input{-webkit-appearance:textfield;appearance:textfield;background:linear-gradient(180deg,#1a2530,#0f1820);border:2px solid #00c6cf66;border-radius:12px;color:#00e5ee;font-size:2rem!important;font-weight:700;height:60px;padding:8px!important;text-align:center;text-shadow:0 0 10px #00e5ee80;width:70px!important}.resultado-input::-webkit-inner-spin-button,.resultado-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.resultado-input:focus{border-color:#00e5ee;box-shadow:0 0 20px #00e5ee4d;outline:none}.resultado-vs{color:#ffffff80;font-size:1.2rem;font-weight:700;letter-spacing:2px;padding:8px 0;text-align:center}.resultado-preview{animation:pulseGreen 2s ease-in-out infinite;background:linear-gradient(135deg,#22c55e26,#16a34a26);border:2px solid #22c55e80;border-radius:12px;color:#22c55e;font-size:1.1rem;margin-top:8px;padding:16px;text-align:center}@keyframes pulseGreen{0%,to{box-shadow:0 0 10px #22c55e4d}50%{box-shadow:0 0 25px #22c55e80}}.resultado-error{background:linear-gradient(135deg,#ef444426,#dc262626);border:2px solid #ef444480;border-radius:12px;color:#ef4444;font-size:1rem;margin-top:8px;padding:16px;text-align:center}.modal-description{background:#0003;border-bottom:1px solid #ffffff1a;color:#ffffffb3;font-size:.95rem;line-height:1.5;margin:0;padding:16px 20px}.form-actions{background:#0000004d;border-top:1px solid #ffffff1a;display:flex;gap:12px;padding:20px}.btn-cancel{background:#ffffff1a;border:1px solid #fff3;border-radius:10px;color:#fffc;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:14px 20px;transition:all .2s}.btn-cancel:hover{background:#ffffff26;border-color:#ffffff4d}.btn-save{background:linear-gradient(135deg,#00c6cf,#0099a3);border:none;border-radius:10px;box-shadow:0 4px 15px #00c6cf66;color:#000;cursor:pointer;flex:1.5 1;font-size:1rem;font-weight:700;padding:14px 20px;transition:all .2s}.btn-save:hover:not(:disabled){box-shadow:0 6px 25px #00c6cf80;transform:translateY(-2px)}.btn-save:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-cancel.full{flex:none;margin:16px 20px 20px;width:100%}.bye-btn:hover:not(:disabled){box-shadow:0 4px 12px #ffa72666;transform:translateY(-2px)}.bye-btn:disabled{cursor:not-allowed;opacity:.6}.separator-text:after,.separator-text:before{background:#262a2e;background:var(--border);content:"";height:1px;position:absolute;top:50%;width:30%}.separator-text:before{left:0}.separator-text:after{right:0}.admin-action-btn.primary{background:linear-gradient(135deg,#00c6cf,#00a3ad 50%,#00858d);border:none;box-shadow:0 6px 25px #00c6cf66;color:#fff;font-size:1.05rem;font-weight:800;letter-spacing:.5px;text-shadow:0 1px 2px #0003}.admin-action-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#00d4de,#00b5bf 50%,#009ba5);box-shadow:0 10px 35px #00c6cf8c;transform:translateY(-3px)}.search-indicator{animation:pulse 1s ease-in-out infinite;color:#00c6cf;color:var(--primary);display:block;font-size:.85rem;margin-top:4px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.confirm-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.confirm-modal{animation:modalPop .3s cubic-bezier(.34,1.56,.64,1);background:linear-gradient(165deg,#1e2332fa,#0f1219fa);border:1px solid #00c6cf26;border-radius:24px;box-shadow:0 0 40px #00c6cf14,0 20px 60px #00000080,inset 0 1px 0 #ffffff0d;max-width:380px;padding:28px;text-align:center;width:90%}@keyframes modalPop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.confirm-icon{filter:drop-shadow(0 4px 8px rgba(255,167,38,.3));font-size:3.5rem;margin-bottom:16px}.confirm-modal h4{color:#fff;font-size:1.4rem;font-weight:700;margin:0 0 12px;text-shadow:0 2px 4px #0000004d}.confirm-modal p{color:#ffffffb3;font-size:.95rem;line-height:1.5;margin:0 0 24px}.confirm-buttons{display:flex;gap:14px;justify-content:center}.confirm-buttons .btn-cancel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #ffffff26;border-radius:12px;color:#ffffffe6;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:600;padding:14px 20px;transition:all .3s ease}.confirm-buttons .btn-cancel:hover:not(:disabled){background:#ffffff26;box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.btn-confirm-danger{background:linear-gradient(135deg,#ff6b6b,#ee5a24 50%,#d63031);border:none;border-radius:12px;box-shadow:0 4px 16px #ee5a2459;color:#fff;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:700;padding:14px 20px;transition:all .3s ease}.btn-confirm-danger:hover:not(:disabled){box-shadow:0 8px 24px #ee5a2480;transform:translateY(-3px)}.btn-confirm-danger:disabled{cursor:not-allowed;opacity:.7}.bracket-search-container{margin-left:16px;position:relative;z-index:1000}.bracket-search-btn{align-items:center;background:linear-gradient(135deg,#2a3441,#1e2530);border:1px solid #262a2e;border:1px solid var(--border);border-radius:8px;color:#ecedee;color:var(--text);cursor:pointer;display:flex;font-size:.9rem;gap:6px;padding:8px 16px;transition:all .2s}.bracket-search-btn:hover{background:linear-gradient(135deg,#3a4556,#2a3441);border-color:#00c6cf;border-color:var(--primary)}.bracket-search-dropdown{animation:dropdownFade .2s ease-out;background:#1b1f22;background:var(--surface);border:1px solid #262a2e;border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #0006;left:0;margin-top:8px;max-width:280px;min-width:220px;padding:12px;position:absolute;top:100%;z-index:9999}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.bracket-search-input{background:var(--surface-light);border:1px solid #262a2e;border:1px solid var(--border);border-radius:8px;color:#ecedee;color:var(--text);font-size:.9rem;margin-bottom:8px;padding:10px 12px;width:100%}.bracket-search-input:focus{border-color:#00c6cf;border-color:var(--primary);outline:none}.bracket-search-results{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto}.bracket-search-item{background:#0000;border:1px solid #0000;border-radius:6px;color:#ecedee;color:var(--text);cursor:pointer;font-size:.9rem;padding:10px 12px;text-align:left;transition:all .15s;width:100%}.bracket-search-item:hover{background:#00c6cf1a;border-color:#00c6cf;border-color:var(--primary)}.bracket-search-empty{color:#9ba1a6;color:var(--text-secondary);font-size:.85rem;padding:12px;text-align:center}.bracket-match-card.resaltada{animation:resaltadoPulse 1s ease-in-out infinite;border-color:gold!important;box-shadow:0 0 20px #ffd70080,0 0 40px #ffd7004d!important}@keyframes resaltadoPulse{0%,to{box-shadow:0 0 20px #ffd70080,0 0 40px #ffd7004d}50%{box-shadow:0 0 30px #ffd700b3,0 0 60px #ffd70066}}.match-player.resaltado{background:#ffd70026!important}.match-player.resaltado .player-name{color:gold!important;font-weight:700}.bracket-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}:root{--primary-color:#3f8be1;--secondary-color:gold;--background-color:#f5f5f5;--text-color:#333;--accent-color:#ff6f61;--font-family-base:"Inter","Segoe UI",Arial,sans-serif;--font-family-title:"Montserrat","Segoe UI",Arial,sans-serif;--font-family-mono:"Fira Mono","Menlo","Monaco","Consolas",monospace}body{background-color:#f5f5f5;background-color:var(--background-color);color:#333;color:var(--text-color);font-family:Inter,Segoe UI,Arial,sans-serif;font-family:var(--font-family-base);line-height:1.6;margin:0}h1,h2,h3{color:#3f8be1;color:var(--primary-color);margin-bottom:.5rem}.menu-hamburguesa,h1,h2,h3,nav a{font-family:Montserrat,Segoe UI,Arial,sans-serif;font-family:var(--font-family-title);font-weight:700}.menu-hamburguesa,nav a{letter-spacing:1px}.code-block,code,pre{font-family:Fira Mono,Menlo,Monaco,Consolas,monospace;font-family:var(--font-family-mono)}button,div,input,li,p,span,textarea{font-family:Inter,Segoe UI,Arial,sans-serif;font-family:var(--font-family-base)}p{margin-bottom:1rem}
/*# sourceMappingURL=main.1e0d5712.css.map*/