@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";:root{--bg:#0d0d11;--bg-card:#16161b;--bg-input:#1c1c23;--bg-elevated:#21212a;--text:#f0f0f5;--text-secondary:#9898a8;--text-muted:#60607a;--accent:#ff7835;--accent-dim:#ff78351a;--accent-glow:#ff78352e;--success:#22c55e;--success-dim:#22c55e1a;--warning:#f59e0b;--warning-dim:#f59e0b1a;--danger:#ef4444;--danger-dim:#ef44441a;--border:#ffffff12;--border-strong:#ffffff1c;--radius:14px;--radius-sm:10px;--radius-xs:6px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{background-color:var(--bg);height:100%;color:var(--text)}#root{max-width:480px;min-height:100vh;margin:0 auto}button{cursor:pointer;border:none;font-family:inherit}input,select{font-family:inherit}.layout{flex-direction:column;min-height:100vh;display:flex}.header{-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);z-index:10;background:#0d0d11eb;align-items:center;gap:10px;padding:14px 16px;display:flex;position:sticky;top:0}.header-title{letter-spacing:-.3px;flex:1;font-size:18px;font-weight:700}.btn-back{color:var(--text-secondary);border-radius:var(--radius-sm);background:0 0;flex-shrink:0;justify-content:center;align-items:center;min-width:36px;min-height:36px;padding:0;font-size:20px;line-height:1;transition:color .15s;display:flex}.btn-back:active{color:var(--accent)}.header-action{color:var(--accent);border-radius:var(--radius-xs);background:0 0;flex-shrink:0;padding:6px 10px;font-size:14px;font-weight:600;transition:background .15s}.header-action:active{background:var(--accent-dim)}.content{flex-direction:column;flex:1;gap:16px;padding:16px;display:flex}.btn{border-radius:var(--radius);text-align:center;letter-spacing:-.1px;cursor:pointer;justify-content:center;align-items:center;gap:8px;width:100%;padding:15px 20px;font-size:16px;font-weight:600;line-height:1.4;transition:opacity .12s,transform .1s,box-shadow .15s;display:flex}.btn:active{opacity:.88;transform:scale(.975)}.btn:disabled{opacity:.38;cursor:default;transform:none}.btn-primary{color:#fff;background:linear-gradient(135deg,#ff8040 0%,#ff5c18 100%);box-shadow:0 2px 18px #ff783547}.btn-primary:active{box-shadow:0 1px 8px #ff783526}.btn-secondary{background:var(--bg-input);color:var(--text);border:1px solid var(--border-strong)}.btn-success{color:#fff;background:linear-gradient(135deg,#34d669 0%,#15a34a 100%);box-shadow:0 2px 16px #22c55e38}.btn-outline{color:var(--accent);background:0 0;border:1.5px solid #ff783552;transition:background .15s,border-color .15s,transform .1s}.btn-outline:active{background:var(--accent-dim);border-color:var(--accent)}.btn-danger{color:#fff;background:linear-gradient(135deg,#f87171 0%,#dc2626 100%);box-shadow:0 2px 14px #ef444438}.form-group{flex-direction:column;gap:7px;display:flex}.label{color:var(--text-secondary);letter-spacing:.1px;font-size:13px;font-weight:500}.input,.select{background:var(--bg-input);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none;width:100%;padding:13px 14px;font-size:16px;transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.input::placeholder{color:var(--text-muted)}.select option{background:var(--bg-input)}.card{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);padding:16px}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.dashboard-card{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:11px;min-height:138px;padding:24px 14px;transition:border-color .15s,transform .1s;display:flex;position:relative;overflow:hidden}.dashboard-card:before{content:"";border-radius:inherit;opacity:1;pointer-events:none;position:absolute;inset:0}.dashboard-card:active{transform:scale(.96)}.dashboard-card.disabled{opacity:.38;cursor:default;transform:none}.dashboard-card-filtros{border-color:#3b82f638}.dashboard-card-filtros:before{background:radial-gradient(at 50% 0,#3b82f617 0%,#0000 65%)}.dashboard-card-filtros .dashboard-card-icon{color:#60a5fa}.dashboard-card-torneo{border-color:#eab30838}.dashboard-card-torneo:before{background:radial-gradient(at 50% 0,#eab30817 0%,#0000 65%)}.dashboard-card-torneo .dashboard-card-icon{color:#fbbf24}.dashboard-card-batalla{border-color:#ff783540}.dashboard-card-batalla:before{background:radial-gradient(at 50% 0,#ff78351c 0%,#0000 65%)}.dashboard-card-batalla .dashboard-card-icon{color:#ff7835}.dashboard-card-campeonato{border-color:#8b5cf638}.dashboard-card-campeonato:before{background:radial-gradient(at 50% 0,#8b5cf617 0%,#0000 65%)}.dashboard-card-campeonato .dashboard-card-icon{color:#a78bfa}.dashboard-card-icon{z-index:1;justify-content:center;align-items:center;display:flex;position:relative}.dashboard-card .card-title{text-align:center;letter-spacing:-.2px;z-index:1;font-size:15px;font-weight:700;position:relative}.dashboard-card .card-pronto{background:var(--warning-dim);color:var(--warning);letter-spacing:.5px;text-transform:uppercase;z-index:1;border:1px solid #f59e0b33;border-radius:20px;padding:3px 9px;font-size:10px;font-weight:600;position:relative}.badge{letter-spacing:.2px;border-radius:20px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-activo{background:var(--success-dim);color:var(--success);border:1px solid #22c55e33}.badge-finalizado{color:var(--text-muted);background:#60607a1a;border:1px solid #60607a2e}.badge-pendiente{background:var(--warning-dim);color:var(--warning);border:1px solid #f59e0b33}.list-item{background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid var(--border);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:15px 16px;transition:border-color .15s,background .12s;display:flex}.list-item:active{background:var(--bg-input);border-color:var(--border-strong)}.list-item-left{flex:1;min-width:0}.list-item-title{letter-spacing:-.2px;font-size:16px;font-weight:600}.list-item-sub{color:var(--text-muted);margin-top:3px;font-size:13px}.list-item-arrow{color:var(--text-muted);opacity:.6;flex-shrink:0;font-size:14px}.auth-container{flex-direction:column;justify-content:center;gap:28px;min-height:100vh;padding:32px 24px;display:flex}.auth-logo{text-align:center}.auth-logo h1{color:var(--accent);letter-spacing:-1px;font-size:32px;font-weight:900}.auth-logo p{color:var(--text-muted);justify-content:center;align-items:center;gap:8px;margin-top:6px;font-size:14px;display:flex}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-link{text-align:center;color:var(--text-muted);font-size:14px}.auth-link a{color:var(--accent);font-weight:600;text-decoration:none}.error-msg{color:var(--danger);background:var(--danger-dim);border-radius:var(--radius-xs);text-align:center;border:1px solid #ef444438;padding:10px 14px;font-size:14px;line-height:1.5}.success-msg{color:var(--success);background:var(--success-dim);border-radius:var(--radius-xs);text-align:center;border:1px solid #22c55e38;padding:10px 14px;font-size:14px;line-height:1.5}.info-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:11px 0;font-size:14px;display:flex}.info-row:last-child{border-bottom:none}.info-label{color:var(--text-muted)}.info-value{letter-spacing:-.1px;font-weight:600}.section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;font-size:11px;font-weight:700}.participant-tag{background:var(--bg-input);border-radius:var(--radius-sm);border:1px solid var(--border);justify-content:space-between;align-items:center;padding:13px 14px;display:flex}.participant-name{letter-spacing:-.2px;font-size:15px;font-weight:600}.participant-seed{color:var(--text-muted);font-size:12px}.score-section{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);padding:16px}.score-participant-name{color:var(--accent);text-align:center;letter-spacing:-.4px;margin-bottom:16px;font-size:18px;font-weight:800}.score-entry-row{align-items:center;gap:10px;margin-bottom:12px;display:flex}.score-entry-label{color:var(--text-muted);min-width:72px;font-size:13px}.score-controls{flex:1;align-items:center;gap:12px;display:flex}.score-btn{border:1.5px solid var(--border-strong);background:var(--bg-input);width:44px;height:44px;color:var(--text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;font-weight:700;transition:background .1s,border-color .1s,transform 80ms,color .1s;display:flex}.score-btn:active{background:var(--accent);border-color:var(--accent);color:#fff;transform:scale(.9)}.score-value{color:var(--accent);text-align:center;letter-spacing:-.5px;min-width:48px;font-size:26px;font-weight:800}.score-total-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:14px;padding-top:14px;display:flex}.score-total-label{color:var(--text-muted);font-size:14px}.score-total-value{color:var(--accent);letter-spacing:-.5px;font-size:28px;font-weight:900}.participant-nav{justify-content:space-between;align-items:center;gap:12px;display:flex}.participant-nav-info{text-align:center;flex:1}.participant-nav-counter{color:var(--text-muted);margin-bottom:2px;font-size:12px}.participant-nav-name{color:var(--accent);letter-spacing:-.3px;font-size:18px;font-weight:800}.btn-nav{background:var(--bg-card);border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;transition:background .12s,border-color .12s,transform 80ms;display:flex}.btn-nav:active{background:var(--bg-elevated);border-color:var(--border-strong);transform:scale(.93)}.btn-nav:disabled{opacity:.3;cursor:default;transform:none}.ranking-table{border-collapse:collapse;width:100%}.ranking-table th{color:var(--text-muted);text-align:left;border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.6px;padding:8px 10px;font-size:11px;font-weight:700}.ranking-table td{border-bottom:1px solid var(--border);padding:13px 10px;font-size:15px}.ranking-table tr:last-child td{border-bottom:none}.pos-1{color:#ffb800;font-weight:800}.pos-2{color:#a0a8b8;font-weight:800}.pos-3{color:#cd7c2f;font-weight:800}.pos-clasif{color:var(--success);font-weight:700}.pos-repechaje{color:var(--warning);font-weight:600}.pos-other{color:var(--text-muted);font-weight:600}.td-score{color:var(--accent);text-align:right;letter-spacing:-.3px;font-weight:800}.bracket-phase{margin-bottom:28px}.bracket-phase-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;font-size:11px;font-weight:700}.bracket-match{background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid var(--border);margin-bottom:8px;overflow:hidden}.bracket-mc{letter-spacing:-.2px;justify-content:space-between;align-items:center;padding:13px 14px;font-size:15px;font-weight:600;display:flex}.bracket-mc:first-child{border-bottom:1px solid var(--border)}.bracket-mc.ganador{color:var(--success)}.bracket-mc.perdedor{color:var(--text-muted);text-decoration:line-through}.bracket-mc.pendiente{color:var(--text-muted);font-style:italic}.bracket-mc-score{letter-spacing:-.2px;font-size:14px;font-weight:800}.battle-vs-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.battle-mc-name{text-align:center;letter-spacing:-.2px;flex:1;font-size:15px;font-weight:700}.battle-vs-label{color:var(--text-muted);letter-spacing:1.5px;text-transform:uppercase;font-size:10px;font-weight:800}.resultado-container{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:40px 20px;display:flex}.resultado-crown{font-size:60px;line-height:1}.resultado-ganador-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:2.5px;font-size:11px;font-weight:700}.resultado-ganador-nombre{color:var(--success);letter-spacing:-.5px;font-size:30px;font-weight:900}.pronto-container{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;padding:40px;display:flex}.pronto-icon{font-size:60px;line-height:1}.pronto-title{letter-spacing:-.5px;font-size:24px;font-weight:800}.pronto-sub{color:var(--text-muted);font-size:15px;line-height:1.5}.empty-state{text-align:center;color:var(--text-muted);padding:52px 20px}.empty-icon{margin-bottom:12px;font-size:44px;line-height:1}.empty-text{font-size:15px;line-height:1.6}.divider{background:var(--border);height:1px}.input-row{gap:10px;display:flex}.input-row .input{flex:1}.input-row .btn{flex-shrink:0;width:auto;padding:12px 18px}.modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:200;background:#000000d1;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-box{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border-strong);flex-direction:column;gap:16px;width:100%;max-width:340px;padding:24px;display:flex;box-shadow:0 12px 48px #000000a6}.modal-titulo{letter-spacing:-.3px;font-size:17px;font-weight:800}.modal-mensaje{color:var(--text-muted);font-size:14px;line-height:1.6}.modal-acciones{gap:10px;display:flex}.modal-acciones .btn{flex:1;padding:13px;font-size:15px}.matrix-container{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);-webkit-overflow-scrolling:touch;overflow-x:auto}.matrix-table{border-collapse:collapse;min-width:100%}.matrix-th-label{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap;background:var(--bg-card);z-index:2;border-bottom:1px solid var(--border);min-width:58px;padding:10px 8px 10px 12px;font-size:11px;font-weight:700;position:sticky;left:0}.matrix-th-mc{text-align:center;color:var(--accent);white-space:nowrap;border-bottom:1px solid var(--border);border-left:1px solid var(--border);letter-spacing:-.2px;min-width:96px;padding:10px 6px;font-size:13px;font-weight:700}.matrix-td-label{text-align:left;color:var(--text-muted);white-space:nowrap;border-top:1px solid var(--border);background:var(--bg-card);z-index:1;padding:8px 8px 8px 12px;font-size:13px;position:sticky;left:0}.matrix-td-divider{border-top:2px solid var(--border-strong);color:var(--text);text-transform:uppercase;letter-spacing:.5px;padding-top:10px;padding-bottom:4px;font-size:11px;font-weight:700}.matrix-td-total{border-top:2px solid var(--border-strong);padding-top:10px;padding-bottom:10px;font-weight:700}.matrix-cell{text-align:center;border-top:1px solid var(--border);border-left:1px solid var(--border);padding:6px 4px}.matrix-cell.matrix-td-divider,.matrix-cell.matrix-td-total{border-top:2px solid var(--border-strong)}.matrix-cell-inner{justify-content:center;align-items:center;gap:4px;display:flex}.matrix-score-btn{background:var(--bg-input);border:1.5px solid var(--border-strong);width:30px;height:30px;color:var(--text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:background .1s,border-color .1s,color .1s;display:flex}.matrix-score-btn:active{background:var(--accent);border-color:var(--accent);color:#fff}.matrix-score-val{text-align:center;letter-spacing:-.2px;min-width:30px;font-size:15px;font-weight:700}.matrix-bonus-btn{border-radius:var(--radius-xs);background:var(--bg-input);border:1.5px solid var(--border);width:40px;height:30px;color:var(--text-muted);cursor:pointer;font-size:11px;font-weight:700;transition:background .12s,border-color .12s,color .12s}.matrix-bonus-btn:active{opacity:.7}.matrix-bonus-active{background:var(--success-dim);color:var(--success);border-color:#22c55e4d}.matrix-total-val{color:var(--accent);letter-spacing:-.3px;font-size:17px;font-weight:800}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2.5px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;animation:.65s linear infinite spin}.loading-page{justify-content:center;align-items:center;min-height:100vh;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
