:root{--primary: #B8E036;--primary-dark: #9BC22E;--primary-glow: rgba(184, 224, 54, .3);--surface: #0D0F0E;--surface-light: #151918;--surface-card: #1A1F1E;--text: #FFFFFF;--text-muted: #7A8582;--success: #B8E036;--danger: #EF4444;--team1: #B8E036;--team2: #36B8E0;--team3: #E0B836;--team4: #E036B8;--border: rgba(255, 255, 255, .08)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Space Grotesk,sans-serif;background:var(--surface);color:var(--text);min-height:100vh}body:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse at 0% 0%,rgba(184,224,54,.08) 0%,transparent 50%),radial-gradient(ellipse at 100% 100%,rgba(184,224,54,.05) 0%,transparent 50%);pointer-events:none;z-index:0}#root{position:relative;z-index:1}.app-container{max-width:1400px;margin:0 auto;padding:1.5rem}.header{text-align:center;margin-bottom:2rem}.header h1{font-size:2.5rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.header h1 span{color:var(--primary)}.header p{color:var(--text-muted);margin-top:.5rem}.tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;background:var(--surface-card);padding:.5rem;border-radius:50px;border:1px solid var(--border)}.tab{flex:1;padding:.875rem 1.5rem;border:none;background:transparent;color:var(--text-muted);font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;border-radius:50px;transition:all .2s;text-transform:uppercase;letter-spacing:.05em}.tab:hover{color:var(--text)}.tab.active{background:var(--primary);color:var(--surface)}.card{background:var(--surface-card);border:1px solid var(--border);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem}.card-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:1rem}.tournament-type-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.tournament-type-card{background:var(--surface-light);border:2px solid var(--border);border-radius:12px;padding:1.25rem;cursor:pointer;transition:all .2s;text-align:center}.tournament-type-card:hover{border-color:var(--primary);transform:translateY(-2px)}.tournament-type-card.selected{border-color:var(--primary);background:#b8e0361a}.tournament-type-card h3{font-size:1.1rem;font-weight:600;margin-bottom:.5rem;color:var(--text)}.tournament-type-card p{font-size:.8rem;color:var(--text-muted);line-height:1.4}.tournament-type-card .icon{font-size:2rem;margin-bottom:.75rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.form-group input,.form-group select{padding:.875rem 1rem;background:var(--surface-light);border:1px solid var(--border);border-radius:50px;color:var(--text);font-family:inherit;font-size:1rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.btn{padding:.875rem 1.5rem;border:none;border-radius:50px;font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.05em}.btn-primary{background:var(--primary);color:var(--surface)}.btn-primary:hover{background:var(--primary-dark);box-shadow:0 0 20px var(--primary-glow)}.btn-secondary{background:var(--surface-light);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--primary)}.players-list{display:grid;gap:.75rem}.player-card{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:var(--surface-light);border:1px solid var(--border);border-radius:12px;transition:all .2s}.player-card:hover{border-color:var(--primary)}.player-info{display:flex;align-items:center;gap:1rem}.player-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary);color:var(--surface);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem}.player-name{font-weight:600}.player-level{font-size:.85rem;color:var(--text-muted)}.level-badge{padding:.25rem .75rem;border-radius:50px;font-size:.75rem;font-weight:600;background:var(--primary);color:var(--surface)}.delete-btn{width:32px;height:32px;border-radius:50%;border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .2s;font-size:1rem}.delete-btn:hover{background:var(--danger);color:#fff}.teams-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.team-card{background:var(--surface-light);border:2px solid var(--border);border-radius:16px;padding:1.5rem;transition:all .2s}.team-card.team-0{border-color:var(--team1)}.team-card.team-1{border-color:var(--team2)}.team-card.team-2{border-color:var(--team3)}.team-card.team-3{border-color:var(--team4)}.team-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.team-name{font-size:1.25rem;font-weight:700}.team-level{padding:.25rem .75rem;border-radius:50px;font-size:.75rem;font-weight:600;background:var(--surface-card)}.team-players{display:flex;flex-direction:column;gap:.5rem}.team-player{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.round-section{margin-bottom:2rem}.round-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.round-badge{padding:.5rem 1rem;background:var(--primary);color:var(--surface);border-radius:50px;font-weight:700;font-size:.9rem}.matches-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1rem}.match-card{background:var(--surface-light);border:1px solid var(--border);border-radius:12px;padding:1.25rem}.match-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:.8rem;color:var(--text-muted)}.match-teams{display:flex;align-items:center;gap:1rem}.match-team{flex:1;text-align:center}.match-team-name{font-size:.75rem;color:var(--text-muted);margin-bottom:.25rem;text-transform:uppercase}.match-players{font-weight:600;font-size:.9rem}.match-vs{font-weight:700;color:var(--text-muted)}.match-score{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem}.score-input{width:60px;padding:.5rem;text-align:center;background:var(--surface-card);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:inherit;font-size:1.25rem;font-weight:700}.score-input:focus{outline:none;border-color:var(--primary)}.score-saved{font-size:1.5rem;font-weight:700;color:var(--primary)}.score-dash{color:var(--text-muted);font-weight:700}.save-score-btn{padding:.5rem 1rem;background:var(--primary);color:var(--surface);border:none;border-radius:8px;font-family:inherit;font-weight:600;cursor:pointer;font-size:.8rem}.standings-table{width:100%;border-collapse:collapse}.standings-table th{text-align:left;padding:1rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border)}.standings-table td{padding:1rem;border-bottom:1px solid var(--border)}.standings-table tr:hover{background:var(--surface-light)}.rank-badge{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;background:var(--surface-card)}.rank-1{background:gold;color:#000}.rank-2{background:silver;color:#000}.rank-3{background:#cd7f32;color:#000}.empty-state{text-align:center;padding:3rem;color:var(--text-muted)}.empty-state svg{width:64px;height:64px;margin-bottom:1rem;opacity:.5}.info-banner{background:#b8e0361a;border:1px solid rgba(184,224,54,.3);border-radius:12px;padding:1rem 1.25rem;margin-bottom:1.5rem;display:flex;align-items:flex-start;gap:.75rem}.info-banner svg{flex-shrink:0;color:var(--primary);margin-top:2px}.info-banner-content h4{font-weight:600;margin-bottom:.25rem}.info-banner-content p{font-size:.9rem;color:var(--text-muted)}@media(max-width:768px){.app-container{padding:1rem}.matches-grid,.form-grid{grid-template-columns:1fr}.tab{padding:.75rem 1rem;font-size:.8rem}.tournament-type-selector{grid-template-columns:1fr 1fr}.header h1{font-size:1.75rem}}@media(max-width:480px){.tournament-type-selector{grid-template-columns:1fr}.tabs{flex-wrap:wrap}.tab{flex:1 1 45%}}@media print{body{background:#fff;color:#000;font-size:12pt}body:before{display:none}.header,.tabs,.tournament-type-selector,.info-banner,.btn,.delete-btn,.save-score-btn,.score-input{display:none!important}.app-container{max-width:100%;padding:0}.card{background:#fff;border:1px solid #ccc;break-inside:avoid;margin-bottom:1rem}.round-section{break-inside:avoid;margin-bottom:1.5rem}.match-card{background:#fff;border:1px solid #ccc;break-inside:avoid}.matches-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.round-badge{background:#000;color:#fff}.standings-table{width:100%}.standings-table th,.standings-table td{border:1px solid #ccc;padding:.5rem}.team-card{background:#fff;border:1px solid #ccc}.teams-grid{grid-template-columns:repeat(2,1fr)}.score-saved{color:#000;font-weight:700}.match-score{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #eee}.app-container:before{content:"Padel Tournament";display:block;font-size:18pt;font-weight:700;text-align:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid black}}
