:root{--bg:#111;--bg-card:#1a1a1a;--bg-input:#222;--text:#f0f0f0;--text-muted:#888;--accent:#e63946;--success:#4ade80;--warning:#fbbf24;--border:#2a2a2a;--radius:12px;--radius-sm:8px;-webkit-font-smoothing:antialiased;font-family:-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{background:var(--bg);border-bottom:1px solid var(--border);z-index:10;align-items:center;gap:10px;padding:14px 16px;display:flex;position:sticky;top:0}.header-title{flex:1;font-size:18px;font-weight:700}.btn-back{color:var(--text);border-radius:var(--radius-sm);background:0 0;padding:2px 6px;font-size:24px;line-height:1}.header-action{color:var(--accent);background:0 0;padding:4px 8px;font-size:14px;font-weight:600}.content{flex-direction:column;flex:1;gap:16px;padding:16px;display:flex}.btn{border-radius:var(--radius);text-align:center;width:100%;padding:14px 20px;font-size:16px;font-weight:600;line-height:1.4;transition:opacity .15s;display:block}.btn:active{opacity:.75}.btn:disabled{opacity:.4;cursor:default}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{background:var(--bg-input);color:var(--text);border:1px solid var(--border)}.btn-success{background:var(--success);color:#111}.btn-outline{color:var(--accent);border:1px solid var(--accent);background:0 0}.form-group{flex-direction:column;gap:8px;display:flex}.label{color:var(--text-muted);font-size:14px;font-weight:500}.input,.select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none;width:100%;padding:12px 14px;font-size:16px}.input:focus,.select:focus{border-color:var(--accent)}.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:10px;min-height:130px;padding:24px 12px;display:flex}.dashboard-card:active{background:#242424}.dashboard-card.disabled{opacity:.4;cursor:default}.dashboard-card .icon{font-size:38px}.dashboard-card .card-title{text-align:center;font-size:15px;font-weight:700}.dashboard-card .card-pronto{color:var(--warning);background:#fbbf2426;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:600}.badge{border-radius:20px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.badge-activo{color:var(--success);background:#4ade8026}.badge-finalizado{color:var(--text-muted);background:#88888826}.badge-pendiente{color:var(--warning);background:#fbbf2426}.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:10px;padding:14px 16px;display:flex}.list-item:active{background:#222}.list-item-left{flex:1}.list-item-title{font-size:16px;font-weight:600}.list-item-sub{color:var(--text-muted);margin-top:2px;font-size:13px}.list-item-arrow{color:var(--text-muted);font-size:18px}.auth-container{flex-direction:column;justify-content:center;gap:24px;min-height:100vh;padding:28px 24px;display:flex}.auth-logo{text-align:center}.auth-logo h1{color:var(--accent);font-size:30px;font-weight:800}.auth-logo p{color:var(--text-muted);margin-top:4px;font-size:14px}.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}.info-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 0;font-size:14px;display:flex}.info-row:last-child{border-bottom:none}.info-label{color:var(--text-muted)}.info-value{font-weight:600}.section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;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:12px 14px;display:flex}.participant-name{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;margin-bottom:16px;font-size:18px;font-weight:700}.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:1px solid var(--border);background:var(--bg-input);width:38px;height:38px;color:var(--text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;font-weight:700;display:flex}.score-btn:active{background:var(--accent);border-color:var(--accent)}.score-value{color:var(--accent);text-align:center;min-width:44px;font-size:24px;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);font-size:26px;font-weight:800}.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);font-size:12px}.participant-nav-name{color:var(--accent);font-size:18px;font-weight:700}.btn-nav{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:flex}.btn-nav:disabled{opacity:.3;cursor:default}.ranking-table{border-collapse:collapse;width:100%}.ranking-table th{color:var(--text-muted);text-align:left;border-bottom:1px solid var(--border);padding:8px;font-size:12px}.ranking-table td{border-bottom:1px solid var(--border);padding:12px 8px;font-size:15px}.ranking-table tr:last-child td{border-bottom:none}.pos-1{color:#fbbf24;font-weight:800}.pos-2{color:#94a3b8;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;font-weight:800}.bracket-phase{margin-bottom:24px}.bracket-phase-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;font-size:12px;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{justify-content:space-between;align-items:center;padding:11px 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{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;flex:1;font-size:15px;font-weight:700}.battle-vs-label{color:var(--text-muted);font-size:11px;font-weight:800}.resultado-container{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:40px 20px;display:flex}.resultado-crown{font-size:56px}.resultado-ganador-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:13px}.resultado-ganador-nombre{color:var(--success);font-size:28px;font-weight:800}.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:64px}.pronto-title{font-size:24px;font-weight:800}.pronto-sub{color:var(--text-muted);font-size:15px}.empty-state{text-align:center;color:var(--text-muted);padding:40px 20px}.empty-icon{margin-bottom:10px;font-size:44px}.empty-text{font-size:15px}.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{z-index:200;background:#000000bf;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);flex-direction:column;gap:16px;width:100%;max-width:340px;padding:24px;display:flex}.modal-titulo{font-size:17px;font-weight:800}.modal-mensaje{color:var(--text-muted);font-size:14px;line-height:1.5}.modal-acciones{gap:10px;display:flex}.modal-acciones .btn{flex:1;padding:12px}.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;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);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);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);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)}.matrix-cell-inner{justify-content:center;align-items:center;gap:4px;display:flex}.matrix-score-btn{background:var(--bg-input);border:1px solid var(--border);width:26px;height:26px;color:var(--text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;line-height:1;display:flex}.matrix-score-btn:active{background:var(--accent);border-color:var(--accent)}.matrix-score-val{text-align:center;min-width:30px;font-size:15px;font-weight:700}.matrix-bonus-btn{border-radius:var(--radius-sm);background:var(--bg-input);border:1px solid var(--border);width:38px;height:28px;color:var(--text-muted);font-size:12px;font-weight:700}.matrix-bonus-btn:active{opacity:.7}.matrix-bonus-active{border-color:var(--success);color:var(--success);background:#4ade8026}.matrix-total-val{color:var(--accent);font-size:17px;font-weight:800}
