@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{min-width:320px;min-height:100vh}.navigation{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:#fff;box-shadow:0 2px 8px #00000014;position:sticky;top:0;z-index:100;flex-wrap:wrap;gap:1rem}.nav-brand{display:flex;align-items:center;gap:1rem}.nav-brand h1{font-size:1.25rem;color:var(--primary-color);margin:0}.back-btn{padding:.5rem 1rem;background:#f3f4f6;color:#374151;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s;font-size:.9rem}.back-btn:hover{background:#e5e7eb}.tournament-name-editable{cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background .2s}.tournament-name-editable:hover{background:#4f46e50d}.tournament-name-input{font-size:1.25rem;font-weight:700;color:var(--primary-color);border:2px solid var(--primary-color);border-radius:4px;padding:.25rem .5rem;outline:none}.nav-progress{display:flex;align-items:center;gap:.5rem}.progress-step{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:20px;font-size:.85rem;color:var(--text-secondary);transition:all .2s;border:none;background:transparent;cursor:default}.progress-step.clickable{cursor:pointer}.progress-step.clickable:hover{background:#4f46e50d}.progress-step:disabled{opacity:.5;cursor:not-allowed}.progress-step .step-number{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:50%;font-weight:600;font-size:.75rem}.progress-step.available .step-number{background:var(--primary-color);color:#fff}.progress-step.active{background:#4f46e51a;color:var(--primary-color)}.progress-step .step-label{display:none}@media(min-width:900px){.progress-step .step-label{display:inline}}.nav-actions{display:flex;gap:.5rem}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-primary:disabled{opacity:.7;cursor:not-allowed}@media(max-width:600px){.navigation{padding:1rem}.nav-progress{order:3;width:100%;justify-content:center}}.team-manager{max-width:800px;margin:0 auto}.team-manager .info-banner{background:#dbeafe;color:#1e40af;padding:1rem 1.25rem;border-radius:8px;margin-bottom:1.5rem;font-size:.95rem}.team-form{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.team-input{flex:1;min-width:200px;padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;transition:border-color .2s}.team-input:focus{outline:none;border-color:var(--primary-color)}.level-select{padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;background:#fff;cursor:pointer}.level-summary{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.level-badge{padding:.5rem 1rem;border-radius:20px;font-weight:600;font-size:.9rem}.level-total{background:var(--bg-secondary);color:var(--text-primary)}.teams-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.no-teams{text-align:center;color:var(--text-secondary);padding:2rem}.team-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:#fff;border-radius:10px;box-shadow:0 1px 3px #0000001a}.team-name{flex:1;font-weight:500}.team-actions{display:flex;gap:.5rem}.team-edit{display:flex;gap:.5rem;flex:1;align-items:center}.team-edit .team-input{flex:1;padding:.5rem .75rem}.team-edit .level-select{padding:.5rem .75rem}.pool-config{max-width:1000px;margin:0 auto}.info-banner{background:#dbeafe;color:#1e40af;padding:1rem 1.25rem;border-radius:8px;margin-bottom:1.5rem;font-size:.95rem}.config-section{margin-bottom:2rem}.config-label{display:block;font-weight:500;margin-bottom:.5rem}.config-input-group{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.config-input{width:80px;padding:.75rem;text-align:center;border:2px solid var(--border-color);border-radius:8px;font-size:1.25rem;font-weight:600}.config-input:focus{outline:none;border-color:var(--primary-color)}.preview-section{margin-bottom:2rem}.preview-section h3{margin-bottom:.5rem}.preview-info{color:var(--text-secondary);margin-bottom:1rem}.preview-pools{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.preview-pool{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #00000014}.preview-pool h4{margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--bg-secondary);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.pool-match-count{font-size:.8rem;font-weight:500;color:var(--text-secondary)}.preview-teams{display:flex;flex-direction:column;gap:.5rem}.preview-team{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:var(--bg-secondary);border-radius:6px}.match-format-options{display:flex;gap:1rem;margin-top:.5rem;flex-wrap:wrap}.match-format-option{flex:1;min-width:200px;display:flex;flex-direction:column;align-items:flex-start;padding:1rem 1.25rem;background:#fff;border:2px solid var(--border-color);border-radius:10px;cursor:pointer;transition:all .2s;text-align:left}.match-format-option:hover{border-color:var(--primary-color)}.match-format-option.active{border-color:var(--primary-color);background:#4f46e50d}.match-format-option .option-title{font-weight:600;margin-bottom:.25rem}.match-format-option .option-desc{font-size:.85rem;color:var(--text-secondary)}.match-card{background:#fff;border-radius:12px;padding:1rem 1.25rem;box-shadow:0 2px 8px #00000014;transition:transform .2s,box-shadow .2s}.match-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.match-card.match-played{background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.match-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:.85rem}.match-number{font-weight:600;color:var(--primary-color)}.match-referee{color:var(--text-secondary);font-style:italic}.match-teams{display:flex;align-items:center;gap:1rem}.match-team{flex:1;display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:8px;transition:background .2s}.match-team:first-child{justify-content:flex-end;text-align:right}.match-team.winner{background:#22c55e26}.match-team.winner .team-name{font-weight:700}.match-score{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.score-input{width:50px;padding:.5rem;text-align:center;border:2px solid var(--border-color);border-radius:8px;font-size:1.1rem;font-weight:600;transition:border-color .2s}.score-input:focus{outline:none;border-color:var(--primary-color)}.score-input::-webkit-inner-spin-button,.score-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.score-input[type=number]{-moz-appearance:textfield}.score-separator{font-size:1.25rem;font-weight:700;color:var(--text-secondary)}.standings{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #00000014;overflow-x:auto}.standings-title{margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--bg-secondary)}.standings-table{width:100%;border-collapse:collapse;font-size:.9rem}.standings-table th,.standings-table td{padding:.75rem .5rem;text-align:center}.standings-table th{background:var(--bg-secondary);font-weight:600;font-size:.8rem;text-transform:uppercase;color:var(--text-secondary)}.standings-table th:first-child{border-radius:8px 0 0 8px}.standings-table th:last-child{border-radius:0 8px 8px 0}.standings-table tbody tr{border-bottom:1px solid var(--border-color);transition:background .2s}.standings-table tbody tr:hover{background:var(--bg-secondary)}.standings-table tbody tr.qualified{background:#22c55e14}.standings-table tbody tr.qualified:hover{background:#22c55e26}.standings-table .rank{font-weight:700;color:var(--primary-color)}.standings-table .team-cell{text-align:left;display:flex;align-items:center;gap:.5rem}.standings-table .team-name{font-weight:500}.standings-table .wins{color:#16a34a;font-weight:600}.standings-table .losses{color:#dc2626;font-weight:600}.standings-table .positive{color:#16a34a;font-weight:600}.standings-table .negative{color:#dc2626;font-weight:600}.standings-table .points{font-weight:700;font-size:1rem;color:var(--primary-color)}.pool-view{max-width:1200px;margin:0 auto}.pool-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.pool-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;border:2px solid var(--border-color);border-radius:10px;font-weight:500;cursor:pointer;transition:all .2s}.pool-tab:hover{border-color:var(--primary-color)}.pool-tab.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.pool-progress{font-size:.8rem;padding:.2rem .5rem;background:#0000001a;border-radius:10px}.pool-tab.active .pool-progress{background:#fff3}.pool-content{display:grid;grid-template-columns:1fr 400px;gap:2rem;margin-bottom:2rem}@media(max-width:900px){.pool-content{grid-template-columns:1fr}}.pool-matches h3{margin-bottom:1rem}.matches-grid{display:flex;flex-direction:column;gap:1rem}.pool-standings{position:sticky;top:1rem;align-self:start}.pool-actions{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.bracket-config{max-width:1000px;margin:0 auto}.bracket-config .info-banner{background:#dbeafe;color:#1e40af;padding:1rem 1.25rem;border-radius:8px;margin-bottom:1.5rem;font-size:.95rem}.config-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}@media(max-width:700px){.config-grid{grid-template-columns:1fr}}.elimination-options{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.elimination-option{display:flex;flex-direction:column;align-items:flex-start;padding:1rem 1.25rem;background:#fff;border:2px solid var(--border-color);border-radius:10px;cursor:pointer;transition:all .2s;text-align:left}.elimination-option:disabled{opacity:.6;cursor:not-allowed}.elimination-option:hover:not(:disabled){border-color:var(--primary-color)}.elimination-option.active{border-color:var(--primary-color);background:#4f46e50d}.option-title{font-weight:600;margin-bottom:.25rem}.option-desc{font-size:.85rem;color:var(--text-secondary)}.preview-brackets{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}@media(max-width:700px){.preview-brackets{grid-template-columns:1fr}}.preview-bracket{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #00000014}.preview-bracket h3{margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--bg-secondary);color:var(--primary-color)}.preview-bracket.consolation h3{color:#f59e0b}.preview-teams-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}.preview-team-row{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:var(--bg-secondary);border-radius:6px}.preview-team-row .seed{font-weight:700;color:var(--primary-color);min-width:30px}.preview-team-row .team-name{flex:1;font-weight:500}.preview-team-row .stats{font-size:.85rem;color:var(--text-secondary)}.config-actions{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.bracket{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014;overflow-x:auto}.bracket-title{margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:3px solid var(--primary-color);color:var(--primary-color)}.bracket-consolation .bracket-title{border-color:#f59e0b;color:#f59e0b}.bracket-empty{text-align:center;padding:2rem;color:var(--text-secondary)}.bracket-rounds{display:flex;gap:2rem;min-width:max-content}.bracket-round{min-width:200px}.round-name{text-align:center;font-size:.9rem;color:var(--text-secondary);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.round-matches{display:flex;flex-direction:column;gap:1rem;justify-content:space-around;min-height:100%}.bracket-match{background:var(--bg-secondary);border-radius:8px;padding:.75rem;border-left:3px solid var(--border-color);transition:all .2s}.bracket-match:hover{box-shadow:0 2px 8px #0000001a}.bracket-match.played{border-left-color:#22c55e;background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.bracket-match.bye{opacity:.6}.bracket-match .match-referee{font-size:.75rem;color:var(--text-secondary);font-style:italic;margin-bottom:.5rem}.bracket-match .match-team{display:flex;justify-content:space-between;align-items:center;padding:.5rem;border-radius:4px;margin-bottom:.25rem}.bracket-match .match-team:last-of-type{margin-bottom:0}.bracket-match .match-team.winner{background:#22c55e33;font-weight:600}.bracket-match .match-team.empty{color:var(--text-secondary);font-style:italic}.bracket-match .team-name{flex:1}.bracket-match .team-score{font-weight:700;font-size:1.1rem;min-width:30px;text-align:right}.bracket-match .match-actions{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-color)}.score-edit{display:flex;align-items:center;gap:.5rem}.score-input-small{width:45px;padding:.35rem;text-align:center;border:1px solid var(--border-color);border-radius:4px;font-size:.9rem}.score-input-small:focus{outline:none;border-color:var(--primary-color)}.btn-tiny{padding:.35rem .6rem;font-size:.8rem}.bracket-winner{margin-top:1.5rem;padding:1rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:10px;text-align:center}.winner-label{display:block;font-size:.85rem;color:#92400e;margin-bottom:.25rem}.winner-name{font-size:1.25rem;font-weight:700;color:#78350f}.finals-view{max-width:1200px;margin:0 auto}.finals-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.finals-tab{padding:.75rem 1.5rem;background:#fff;border:2px solid var(--border-color);border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s}.finals-tab:hover{border-color:var(--primary-color)}.finals-tab.main.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.finals-tab.consolation.active{background:#f59e0b;border-color:#f59e0b;color:#fff}.finals-content{margin-bottom:2rem}.finals-actions{display:flex;justify-content:flex-start}.debug-panel{position:fixed;right:0;top:80px;width:200px;background:#1a1a2e;border-left:2px solid #4a4a6a;border-radius:8px 0 0 8px;box-shadow:-4px 0 12px #0000004d;z-index:1000}.debug-header{background:#2d2d44;padding:10px 15px;font-weight:700;color:gold;border-radius:8px 0 0;display:flex;align-items:center;gap:8px}.debug-content{padding:15px}.debug-section{margin-bottom:15px}.debug-section h4{margin:0 0 10px;font-size:.85rem;color:#aaa;text-transform:uppercase;letter-spacing:.5px}.debug-section button{width:100%;padding:8px 12px;margin-bottom:8px;background:#3d3d5c;border:1px solid #5a5a7a;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;transition:all .2s}.debug-section button:hover:not(:disabled){background:#4d4d6c;border-color:#7a7a9a}.debug-section button:disabled{opacity:.5;cursor:not-allowed}.debug-row{display:flex;gap:8px;margin-bottom:8px}.debug-row input{flex:1;padding:8px;background:#2d2d44;border:1px solid #5a5a7a;border-radius:4px;color:#fff;font-size:.9rem;width:60px}.debug-row button{margin-bottom:0;flex:1}.debug-section small{color:#888;font-size:.75rem}.landing-page{min-height:100vh;background:#fafafa}.landing-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:#fff;box-shadow:0 1px 3px #0000001a;position:sticky;top:0;z-index:100}.landing-logo{display:flex;align-items:center;gap:.5rem}.logo-icon{font-size:1.5rem}.logo-text{font-size:1.25rem;font-weight:700;color:#1a1a2e}.landing-nav{display:flex;align-items:center;gap:1.5rem}.landing-nav a{color:#4b5563;text-decoration:none;font-weight:500;transition:color .2s}.landing-nav a:hover{color:#667eea}.nav-button{padding:.5rem 1.25rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;border:none;font-size:.95rem}.nav-button:not(.secondary){background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.nav-button.secondary{background:transparent;color:#667eea;border:1px solid #667eea}.nav-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.hero{display:flex;align-items:center;justify-content:space-between;padding:4rem 4rem 6rem;max-width:1200px;margin:0 auto;gap:4rem}.hero-content{flex:1;max-width:560px}.hero-content h1{font-size:2.75rem;line-height:1.2;color:#1a1a2e;margin-bottom:1.5rem}.hero-content p{font-size:1.15rem;color:#4b5563;line-height:1.7;margin-bottom:2rem}.hero-buttons{display:flex;gap:1rem}.cta-button{padding:1rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s}.cta-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.secondary-button{padding:1rem 2rem;background:#fff;color:#667eea;border:2px solid #667eea;border-radius:10px;font-size:1.1rem;font-weight:600;text-decoration:none;transition:all .2s}.secondary-button:hover{background:#667eea;color:#fff}.hero-visual{flex:1;display:flex;justify-content:center}.visual-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 20px 60px #0000001a;width:300px}.visual-header{font-weight:600;color:#1a1a2e;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid #f3f4f6}.visual-teams{display:flex;flex-direction:column;gap:.75rem}.visual-team{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:#f9fafb;border-radius:8px}.team-badge{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;color:#fff}.team-badge.a{background:#10b981}.team-badge.b{background:#f59e0b}.team-badge.c{background:#ef4444}.features{padding:5rem 2rem;background:#fff}.features h2{text-align:center;font-size:2.25rem;color:#1a1a2e;margin-bottom:3rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.feature-card{padding:2rem;background:#fafafa;border-radius:16px;transition:transform .2s,box-shadow .2s}.feature-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0000001a}.feature-icon{font-size:2.5rem;margin-bottom:1rem}.feature-card h3{font-size:1.25rem;color:#1a1a2e;margin-bottom:.75rem}.feature-card p{color:#6b7280;line-height:1.6}.pricing{padding:5rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2)}.pricing h2{text-align:center;font-size:2.25rem;color:#fff;margin-bottom:.75rem}.pricing-subtitle{text-align:center;color:#fffc;font-size:1.1rem;margin-bottom:3rem}.pricing-cards{display:flex;justify-content:center;gap:2rem;max-width:900px;margin:0 auto}.pricing-card{background:#fff;border-radius:20px;padding:2.5rem;width:100%;max-width:380px;position:relative}.pricing-card.featured{transform:scale(1.05);box-shadow:0 25px 80px #0000004d}.pricing-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#10b981;color:#fff;padding:.35rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600}.pricing-header{text-align:center;margin-bottom:2rem}.pricing-header h3{font-size:1.5rem;color:#1a1a2e;margin-bottom:.5rem}.price{display:flex;align-items:baseline;justify-content:center;gap:.25rem}.price .amount{font-size:3rem;font-weight:700;color:#1a1a2e}.price .period{color:#6b7280;font-size:1rem}.pricing-features{list-style:none;margin-bottom:2rem}.pricing-features li{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;color:#4b5563;border-bottom:1px solid #f3f4f6}.pricing-features li:last-child{border-bottom:none}.pricing-features .check{color:#10b981;font-weight:700}.pricing-button{width:100%;padding:1rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.pricing-button:not(.secondary){background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.pricing-button.secondary{background:#f3f4f6;color:#374151}.pricing-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.landing-footer{padding:2rem;background:#1a1a2e}.footer-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.footer-brand{display:flex;align-items:center;gap:.5rem}.footer-brand .logo-text{color:#fff}.footer-content p{color:#fff9;font-size:.9rem}@media(max-width:768px){.hero{flex-direction:column;padding:2rem;text-align:center}.hero-content h1{font-size:2rem}.hero-buttons{flex-direction:column}.hero-visual{display:none}.pricing-cards{flex-direction:column;align-items:center}.pricing-card.featured{transform:none}.landing-nav a{display:none}.footer-content{flex-direction:column;gap:1rem;text-align:center}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.auth-container{background:#fff;border-radius:16px;padding:2.5rem;width:100%;max-width:420px;box-shadow:0 20px 60px #0003}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{font-size:1.75rem;color:#1a1a2e;margin-bottom:.5rem}.auth-header p{color:#666;font-size:.95rem}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.auth-error{background:#fee2e2;color:#dc2626;padding:.75rem 1rem;border-radius:8px;font-size:.9rem}.auth-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.875rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:.5rem}.auth-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.auth-button:disabled{opacity:.7;cursor:not-allowed}.auth-divider{display:flex;align-items:center;margin:1.5rem 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#e5e7eb}.auth-divider span{padding:0 1rem;color:#9ca3af;font-size:.875rem}.google-button{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;font-size:.95rem;font-weight:500;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s}.google-button:hover{background:#f9fafb;border-color:#9ca3af}.auth-switch{text-align:center;margin-top:1.5rem;color:#6b7280;font-size:.9rem}.auth-switch button{background:none;border:none;color:#667eea;font-weight:600;cursor:pointer;font-size:.9rem}.auth-switch button:hover{text-decoration:underline}.dashboard-page{min-height:100vh;background:#f5f5f7}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:#fff;box-shadow:0 1px 3px #0000001a}.dashboard-logo{display:flex;align-items:center;gap:.5rem;cursor:pointer}.dashboard-user{display:flex;align-items:center;gap:1rem}.user-name{font-weight:500;color:#374151}.premium-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600}.account-button,.logout-button{padding:.5rem 1rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s;border:none;font-size:.9rem}.account-button{background:#f3f4f6;color:#374151}.logout-button{background:transparent;color:#6b7280}.account-button:hover,.logout-button:hover{background:#e5e7eb}.dashboard-main{padding:2rem;max-width:1200px;margin:0 auto}.dashboard-content{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 20px #0000000d}.dashboard-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.dashboard-title-row h1{font-size:1.75rem;color:#1a1a2e}.new-tournament-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.new-tournament-button:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.new-tournament-button.disabled{opacity:.5;cursor:not-allowed}.upgrade-banner{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);padding:1.5rem;border-radius:12px;margin-bottom:2rem}.upgrade-info h3{font-size:1.1rem;color:#92400e;margin-bottom:.25rem}.upgrade-info p{color:#a16207;font-size:.9rem}.upgrade-button{padding:.75rem 1.5rem;background:#92400e;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.upgrade-button:hover{background:#78350f}.dashboard-error{background:#fee2e2;color:#dc2626;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.dashboard-loading{text-align:center;padding:3rem;color:#6b7280}.empty-state{text-align:center;padding:4rem 2rem}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h2{font-size:1.5rem;color:#1a1a2e;margin-bottom:.5rem}.empty-state p{color:#6b7280;margin-bottom:1.5rem}.tournaments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.tournament-card{background:#fafafa;border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;transition:transform .2s,box-shadow .2s}.tournament-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.tournament-info h3{font-size:1.15rem;color:#1a1a2e;margin-bottom:.25rem}.tournament-date{font-size:.85rem;color:#6b7280}.tournament-actions{display:flex;gap:.75rem}.load-button,.delete-button{flex:1;padding:.6rem 1rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s;border:none;font-size:.9rem}.load-button{background:#667eea;color:#fff}.load-button:hover{background:#5a67d8}.delete-button{background:#fee2e2;color:#dc2626}.delete-button:hover{background:#fecaca}@media(max-width:768px){.dashboard-header{flex-direction:column;gap:1rem}.dashboard-title-row{flex-direction:column;gap:1rem;align-items:stretch}.upgrade-banner{flex-direction:column;gap:1rem;text-align:center}}.account-page{min-height:100vh;background:#f5f5f7}.account-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:#fff;box-shadow:0 1px 3px #0000001a}.account-logo{display:flex;align-items:center;gap:.5rem;cursor:pointer}.back-button{padding:.5rem 1rem;background:#f3f4f6;color:#374151;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.back-button:hover{background:#e5e7eb}.account-main{padding:2rem;max-width:800px;margin:0 auto}.account-content{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 20px #0000000d}.account-content h1{font-size:1.75rem;color:#1a1a2e;margin-bottom:2rem}.account-success{background:#d1fae5;color:#065f46;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.account-error{background:#fee2e2;color:#dc2626;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.account-section{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid #e5e7eb}.account-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.account-section h2{font-size:1.25rem;color:#374151;margin-bottom:1.5rem}.profile-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:#374151;font-size:.9rem}.form-group input{padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background:#f3f4f6;color:#6b7280}.google-linked{display:flex;align-items:center;gap:.5rem;color:#6b7280;font-size:.9rem}.save-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;align-self:flex-start}.save-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.save-button:disabled{opacity:.7;cursor:not-allowed}.subscription-card{display:flex;justify-content:space-between;align-items:center;background:#fafafa;padding:1.5rem;border-radius:12px}.subscription-plan{margin-bottom:.5rem}.plan-badge{padding:.35rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600}.plan-badge.premium{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.plan-badge.free{background:#e5e7eb;color:#374151}.subscription-details{color:#6b7280;font-size:.9rem}.manage-button,.upgrade-button{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;border:none;white-space:nowrap}.manage-button{background:#f3f4f6;color:#374151}.manage-button:hover{background:#e5e7eb}.upgrade-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.upgrade-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.danger-zone h2{color:#dc2626}.logout-button-large{padding:.75rem 1.5rem;background:#fee2e2;color:#dc2626;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.logout-button-large:hover{background:#fecaca}@media(max-width:768px){.subscription-card{flex-direction:column;gap:1rem;text-align:center}}:root{--primary-color: #4f46e5;--primary-hover: #4338ca;--success-color: #22c55e;--danger-color: #ef4444;--warning-color: #f59e0b;--text-primary: #1f2937;--text-secondary: #6b7280;--bg-primary: #f9fafb;--bg-secondary: #f3f4f6;--border-color: #e5e7eb}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding:2rem;padding-right:220px}@media(max-width:600px){.main-content{padding:1rem}}h2{margin-top:0;margin-bottom:1.5rem;font-size:1.75rem;font-weight:700}h3{margin-top:0;font-size:1.25rem;font-weight:600}h4{margin-top:0;font-size:1rem;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.25rem;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--border-color)}.btn-success{background:var(--success-color);color:#fff}.btn-success:hover:not(:disabled){background:#16a34a}.btn-danger{background:var(--danger-color);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-small{padding:.5rem .75rem;font-size:.85rem}.btn-large{padding:1rem 2rem;font-size:1.1rem}.level-badge{padding:.25rem .5rem;border-radius:4px;font-weight:600;font-size:.75rem}.level-a{background:#fef3c7;color:#92400e}.level-b{background:#dbeafe;color:#1e40af}.level-c{background:#dcfce7;color:#166534}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:#f5f5f7}.loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen p{color:#6b7280;font-size:.95rem}
