body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.tab-navigation{background-color:#f8f9fa;padding:1rem;border-bottom:1px solid #ddd}.app-title{font-size:2rem;font-weight:700;text-align:center;margin-bottom:1rem}.tabs{display:flex;flex-wrap:wrap;justify-content:space-between;padding:10px;background-color:#f1f1f1}.tab{flex:1 1 auto;padding:10px 15px;text-decoration:none;color:#333;border:1px solid transparent;border-radius:5px;margin:5px;text-align:center}.tab:hover{background-color:#ddd}.tab.active{background-color:#4caf50;color:#fff;border:1px solid #4CAF50}.logout-tab{margin-left:auto;color:#f44336}.component-container{width:95%;max-width:1200px;margin:0 auto;padding:20px;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.section-title{color:#333;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #eee}.data-table{width:100%;border-collapse:collapse;margin-bottom:20px}.data-table th,.data-table td{padding:12px;text-align:left;border-bottom:1px solid #ddd}.data-table th{background-color:#f2f2f2;font-weight:700}.data-table tr:hover{background-color:#f9f9f9}.form-container{background-color:#f9f9f9;padding:20px;border-radius:8px;margin-bottom:20px}@media screen and (max-width:768px){.component-container{width:100%;padding:15px;border-radius:0}.data-table th,.data-table td{padding:8px;font-size:14px}.data-table{display:block;overflow-x:auto}}@media screen and (min-width:769px)and (max-width:1199px){.component-container{width:90%}}@media screen and (min-width:1200px){.component-container{width:80%;padding:30px}.form-container{padding:25px}}.home-container{max-width:1200px;margin:0 auto;padding:2rem;text-align:center}.home-container h1{font-size:2.5rem;margin-bottom:1rem;color:#333}.home-container p{font-size:1.2rem;color:#666;margin-bottom:2rem}.auth-buttons{display:flex;justify-content:center;gap:1rem;margin-top:2rem}.btn{padding:.8rem 1.5rem;border-radius:4px;font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;transition:all .3s ease}.btn-primary{background-color:#4caf50;color:#fff;border:none}.btn-primary:hover{background-color:#45a049}.btn-light{background-color:#f8f9fa;color:#333;border:1px solid #ddd}.btn-light:hover{background-color:#e9ecef}.dashboard-links{margin-top:2rem}.dashboard-links h2{font-size:1.8rem;margin-bottom:1.5rem;color:#333}.panel-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}.panel-link{background-color:#f9f9f9;border-radius:8px;padding:1.5rem;text-decoration:none;color:#333;box-shadow:0 2px 5px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.panel-link:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0000001a}.panel-link h3{font-size:1.4rem;margin-bottom:.5rem;color:#4caf50}.panel-link p{font-size:1rem;color:#666;margin-bottom:0}.panel-link.admin{background-color:#f5f5f5;border:1px solid #ddd}.panel-link.admin h3{color:#ff9800}@media(max-width:768px){.home-container h1{font-size:2rem}.panel-links{grid-template-columns:1fr}.auth-buttons{flex-direction:column;gap:.5rem}.btn{width:100%}}.auth-container{width:100%;max-width:none;padding:15px;margin:1rem auto;background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 4px #0000001a}.auth-container h2{text-align:center;margin-bottom:20px;color:#333}.form-group{margin-bottom:15px;width:100%}.form-group input,.auth-button{width:100%;box-sizing:border-box;padding:10px;border-radius:4px;font-size:16px}.form-group input{border:1px solid #ddd;transition:border-color .3s ease}.form-group input:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033}.auth-button{padding:12px;background-color:#4caf50;color:#fff;border:none;cursor:pointer;font-size:16px;margin-top:15px;transition:background-color .3s ease}.auth-button:hover{background-color:#45a049}.error-message{color:#f44336;margin-bottom:15px;padding:10px;background-color:#ffebee;border-radius:4px;font-size:14px}.success-message{color:green;margin:10px 0;font-weight:700}@media screen and (max-width:480px){.auth-container{width:100%;padding:15px;margin:1rem auto}.form-group input,.auth-button{padding:10px}}@media screen and (min-width:481px)and (max-width:1199px){.auth-container{max-width:450px;margin:3rem auto}}@media screen and (min-width:1200px){.auth-container{max-width:500px;margin:4rem auto;padding:30px}.form-group input,.auth-button{padding:12px}.auth-button{margin-top:20px}}.player-list-container{padding:15px;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;max-width:100%}.player-list-container h2{margin:0 0 15px;color:#333;font-size:24px}.add-player-section{display:flex;gap:8px;margin-bottom:20px}.player-input{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:16px;outline:none;min-width:0}.player-input:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033}.add-button{padding:8px 16px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:16px;white-space:nowrap}.add-button:hover{background-color:#45a049}.players-list{background-color:#f9f9f9;border-radius:4px}.list-header{display:flex;padding:10px 15px;background-color:#f5f5f5;border-top-left-radius:4px;border-top-right-radius:4px;font-weight:500;color:#666}.header-number,.player-number{width:30px;text-align:center}.header-name{flex:1}.header-actions{width:80px;text-align:right}.player-row{display:flex;padding:8px 15px;border-bottom:1px solid #eee;align-items:center}.player-row:last-child{border-bottom:none}.player-row:hover{background-color:#f5f5f5}.player-name{flex:1;font-size:16px;color:#333;margin-right:15px}.player-actions{width:80px;text-align:right}.delete-button{padding:4px 8px;background-color:#f44336;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.delete-button:hover{background-color:#d32f2f}.error-message{color:#f44336;margin:10px 0;padding:8px;background-color:#ffebee;border-radius:4px;font-size:14px}@media(max-width:600px){.player-list-container{padding:10px}.add-player-section{flex-direction:column}.add-button{width:100%}.player-row{padding:8px 10px}.header-actions,.player-actions{width:60px}.delete-button{padding:4px 6px;font-size:12px}}.players-table{width:100%;border-collapse:collapse;margin-top:20px}.players-table th,.players-table td{padding:12px;text-align:left;border-bottom:1px solid #ddd}.players-table th{background-color:#f5f5f5;font-weight:700}.players-table tr:hover{background-color:#f9f9f9}.players-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-top:20px}.player-card{display:flex;justify-content:space-between;align-items:center;padding:12px;background-color:#f5f5f5;border-radius:4px}.remove-button{padding:4px 8px;background-color:#f44;color:#fff;border:none;border-radius:4px;cursor:pointer}.info-message{color:#666;margin-top:20px;text-align:center;font-style:italic}.game-card{border:1px solid #e0e0e0;border-radius:12px;padding:20px;margin:16px 0;background-color:#fff;box-shadow:0 4px 12px #00000014;transition:all .3s ease;transition:background-color .5s ease}.game-card:hover{transform:translateY(-3px);box-shadow:0 6px 16px #0000001f}.game-card.faded{background-color:#4d4d4780}.game-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.match-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;border-bottom:2px solid #f0f0f0;padding-bottom:10px}.match-label,.court-label{font-weight:700;font-size:1.1rem;color:#333}.court-name{font-weight:400}.score-container{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:12px;border-top:2px solid #f0f0f0}.score{font-size:1.5rem;font-weight:700;color:#2196f3;padding:4px 12px;border-radius:8px;background-color:#f0f7ff}.score-editor{display:flex;justify-content:space-between;align-items:center;width:100%}.score-inputs{display:flex;align-items:center}.score-input{width:60px;height:40px;padding:8px;text-align:center;border:2px solid #2196F3;border-radius:6px;font-size:1.2rem;font-weight:600;color:#333}.score-separator{font-weight:700;font-size:1.5rem;margin:0 8px;color:#555}.score-actions{display:flex;gap:8px}.teams{margin-bottom:16px}.team{display:flex;align-items:center;margin-bottom:8px;padding:8px;border-radius:8px;background-color:#f9f9f9}.team-label{font-weight:600;color:#444;margin-right:10px;min-width:70px}.player{display:inline-block;margin-right:10px;padding:6px 12px;background-color:#eaeaea;border-radius:20px;font-size:.9rem;color:#333}.save-button,.cancel-button,.edit-score-button{padding:8px 16px;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease}.save-button{background-color:#4caf50;color:#fff;box-shadow:0 2px 5px #4caf504d}.save-button:hover{background-color:#388e3c}.cancel-button{background-color:#f44336;color:#fff;box-shadow:0 2px 5px #f443364d}.cancel-button:hover{background-color:#d32f2f}.edit-score-button{background-color:#2196f3;color:#fff;border:none;border-radius:6px;padding:8px 16px;font-weight:600;cursor:pointer;transition:background-color .2s ease;box-shadow:0 2px 5px #2196f34d}.edit-score-button:hover{background-color:#1976d2}.score-display{display:flex;justify-content:space-between;align-items:center;width:100%}@media(max-width:768px){.score-container,.score-display,.score-editor{flex-direction:column;align-items:flex-start;gap:12px}.score-actions{margin-top:8px}}.game-list-container{padding:20px;max-width:1200px;margin:0 auto}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.controls{display:flex;gap:10px}.generate-button{padding:10px 20px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer}.generate-button:hover{background-color:#45a049}.generate-button:disabled{background-color:#ccc;cursor:not-allowed}.error-message{color:red;padding:10px;margin:10px 0;background-color:#ffebee;border-radius:4px}.games-table th,.games-table td{padding:12px;text-align:left;border-bottom:1px solid #ddd}.games-table th{background-color:#f5f5f5;font-weight:700}.games-table tr:hover{background-color:#f9f9f9}.no-games{text-align:center;color:#666;padding:20px}.clear-button{background-color:#f44336;color:#fff}.clear-button:disabled{background-color:#ccc;cursor:not-allowed}.warning-message{color:#ff9800;margin:10px 0}.games-container{padding:20px;max-width:100%}.button-container{margin:20px 0;display:flex;gap:10px;width:100%;justify-content:space-between}.button-container .generate-button{margin-left:0}.button-container .delete-button{margin-right:0}.delete-button:hover{background-color:#c82333}.table-container{overflow-x:auto}.games-table{width:100%;border-collapse:collapse;margin-top:20px}.games-table th,.games-table td{border:1px solid #ddd;padding:8px;text-align:left}.games-table th{background-color:#f4f4f4}.games-table tr:nth-child(2n){background-color:#f9f9f9}.games-table tr:hover{background-color:#f5f5f5}.stats-container{margin:20px 0;padding:20px;background:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px #0000001a}.distribution-chart{margin:20px 0;padding:20px;background:#fff;border-radius:4px;box-shadow:0 1px 3px #0000001a}.player-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;margin-top:20px}.player-stat{padding:15px;background:#fff;border-radius:4px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;gap:5px}.button-container button:disabled{opacity:.6;cursor:not-allowed}.stats-container{padding:20px;max-width:1200px;margin:0 auto}.no-stats-message{text-align:center;padding:40px;color:#666;font-style:italic}.error-message{color:#d32f2f;background-color:#ffebee;padding:16px;border-radius:4px;margin:20px 0}.player-stats-grid{margin-top:40px}.player-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;margin-top:20px}.stat-row{display:flex;justify-content:space-between;margin-bottom:8px}.stat-row span:first-child{color:#666}.stat-row span:last-child{font-weight:700;color:#2c3e50}.tournament-stats{padding:20px;max-width:1200px;margin:0 auto}.table-container{overflow-x:auto;white-space:nowrap;margin-bottom:20px}.tournament-stats-table{width:100%;min-width:600px;border-collapse:collapse}.tournament-stats-table th,.tournament-stats-table td{padding:10px;border:1px solid #ccc;text-align:left}.tournament-stats-table th{background-color:#f2f2f2;font-weight:700}.sticky-col{position:sticky;left:0;background-color:#fff;z-index:15}.player-name-col{left:0;border-right:1px solid #ddd}.points-col,.distribution-value-col{border-right:1px solid #ddd}th.sticky-col{background-color:#f5f5f5;z-index:15}.tournament-stats-table tbody tr:nth-child(2n){background-color:#f9f9f9}.tournament-stats-table tbody tr:hover{background-color:#f1f1f1}@media(max-width:768px){.table-container{max-height:400px}.tournament-stats-table th,.tournament-stats-table td{padding:8px 10px;min-width:100px}}.admin-dashboard{padding:20px}.dashboard-section{margin-bottom:30px;background-color:#f9f9f9;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:700}.form-group input,.form-group textarea{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px}.form-group textarea{height:100px}.tournament-table{width:100%;border-collapse:collapse}.tournament-table th,.tournament-table td{padding:10px;text-align:left;border-bottom:1px solid #ddd}.tournament-table th{background-color:#f2f2f2}.btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px}.btn-primary{background-color:#4caf50;color:#fff}.btn-danger{background-color:#f44336;color:#fff}.error-message{color:#f44336;margin-bottom:15px;padding:10px;background-color:#ffebee;border-radius:4px}.App{padding:40px;max-width:1200px;margin:0 auto;font-family:Arial,sans-serif}h1{text-align:center;margin-bottom:30px;color:#333}.container{display:grid;gap:60px;margin-top:30px}.players-section,.games-section{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.player-table,.games-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:20px;border:1px solid #e0e0e0;border-radius:8px}.player-table th,.player-table td,.games-table th,.games-table td{padding:15px;text-align:left;border-bottom:1px solid #e0e0e0}.player-table th,.games-table th{background-color:#f8f9fa;font-weight:700;color:#333;text-transform:uppercase;font-size:.9em}.add-player-form{margin-bottom:30px;display:flex;gap:10px}.add-player-form input{flex:1;padding:12px;border:2px solid #e0e0e0;border-radius:6px;font-size:16px}.add-player-form input:focus{border-color:#4caf50;outline:none}button{padding:12px 20px;font-size:16px;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s}button[type=submit]{background-color:#4caf50;color:#fff}button[type=submit]:hover{background-color:#45a049}button:disabled{background-color:#ccc;cursor:not-allowed}.remove-button{background-color:#f44;color:#fff;padding:8px 16px;font-size:14px}.remove-button:hover{background-color:#c00}.generate-button{background-color:#2196f3;color:#fff;font-size:18px;padding:15px 30px;display:block;margin:0 auto}.generate-button:hover:not(:disabled){background-color:#1976d2}h2{color:#333;margin-bottom:20px;font-size:24px}.player-table tbody tr:hover,.games-table tbody tr:hover{background-color:#f5f5f5}.loading{padding:20px;text-align:center;color:#666;font-style:italic}.error-message{padding:12px;margin-bottom:20px;background-color:#ffebee;color:#c62828;border:1px solid #ffcdd2;border-radius:4px}
