*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0a1628;--bg-card: #0f1f3c;--bg-surface: #162442;--bg-input: #1b2d52;--accent: #F5A500;--accent-light: #FFB822;--accent-bright: #FFD060;--accent-dim: rgba(245, 165, 0, .15);--text-primary: #FFFFFF;--text-secondary: #B0C3DC;--text-muted: #6882A0;--danger: #F44336;--danger-dark: #C62828;--warning: #FF9800;--info: #2196F3;--border: #1e3060;--radius: 8px;--radius-sm: 4px;--radius-lg: 12px;--shadow: 0 2px 8px rgba(0, 0, 0, .4);--shadow-lg: 0 4px 20px rgba(0, 0, 0, .5);--transition: .2s ease;--navbar-height: 60px;--font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font);background-color:var(--bg-primary);background-image:radial-gradient(ellipse at 85% 10%,rgba(245,165,0,.1) 0%,transparent 45%),radial-gradient(ellipse at 15% 85%,rgba(245,165,0,.07) 0%,transparent 45%);color:var(--text-primary);line-height:1.5;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:var(--accent-light);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent-bright)}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding-top:var(--navbar-height)}.page{max-width:1200px;margin:0 auto;padding:1rem}.page-header{margin-bottom:1.5rem}.page-header h1{font-size:1.75rem;font-weight:700}.home-hero{text-align:center;padding:2rem 1rem 1.5rem;margin-bottom:1.5rem;background:linear-gradient(135deg,#0f1f3c,#162442,#0f1f3c);border-radius:var(--radius-lg);border:1px solid var(--border);position:relative;overflow:hidden}.home-hero:before{content:"";position:absolute;top:-40%;right:-10%;width:300px;height:300px;background:radial-gradient(circle,rgba(245,165,0,.15) 0%,transparent 70%);pointer-events:none}.home-hero:after{content:"";position:absolute;bottom:-40%;left:-10%;width:250px;height:250px;background:radial-gradient(circle,rgba(245,165,0,.1) 0%,transparent 70%);pointer-events:none}.home-hero-ball{font-size:2.5rem;margin-bottom:.5rem}.home-hero-title{font-size:1.6rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;background:linear-gradient(135deg,#FFFFFF 0%,var(--accent-bright) 50%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.navbar{position:fixed;top:0;left:0;right:0;height:var(--navbar-height);background-color:#08122080;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:1000;box-shadow:var(--shadow)}.navbar-container{max-width:1200px;margin:0 auto;padding:0 1rem;height:100%;display:flex;align-items:center;justify-content:space-between}.navbar-brand{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);font-weight:700;font-size:1.25rem}.navbar-brand:hover{color:var(--accent-light)}.navbar-logo{font-size:1.5rem}.navbar-hamburger{display:flex;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;min-width:44px;min-height:44px;align-items:center;justify-content:center}.hamburger-line{display:block;width:24px;height:2px;background-color:var(--text-primary);transition:transform var(--transition),opacity var(--transition)}.hamburger-line.open:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.navbar-menu{display:none;position:absolute;top:var(--navbar-height);left:0;right:0;background-color:#0a1628f0;border-bottom:1px solid var(--border);padding:1rem;flex-direction:column;gap:1rem;box-shadow:var(--shadow)}.navbar-menu.active{display:flex}.navbar-links{display:flex;flex-direction:column;gap:.5rem}.navbar-link{color:var(--text-secondary);padding:.75rem;border-radius:var(--radius-sm);min-height:44px;display:flex;align-items:center;transition:background-color var(--transition),color var(--transition)}.navbar-link:hover{background-color:var(--bg-surface);color:var(--text-primary)}.navbar-auth{display:flex;align-items:center;gap:.75rem;padding-top:.5rem;border-top:1px solid var(--border)}.navbar-username{color:var(--accent-light);font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;border:none;border-radius:var(--radius);font-size:.9rem;font-weight:600;cursor:pointer;transition:background-color var(--transition),transform var(--transition),box-shadow var(--transition);min-height:44px;min-width:44px;text-decoration:none;white-space:nowrap}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{background-color:var(--accent);color:#0a1628}.btn-primary:hover:not(:disabled){background-color:var(--accent-light)}.btn-secondary{background-color:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-input)}.btn-danger{background-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background-color:var(--danger-dark)}.btn-sm{padding:.4rem .75rem;font-size:.8rem;min-height:36px}.btn-xs{padding:.25rem .5rem;font-size:.75rem;min-height:30px;min-width:30px}.btn-block{width:100%}.btn-link{background:none;border:none;color:var(--accent-light);cursor:pointer;font-size:.9rem;padding:.5rem;min-height:44px}.btn-link:hover{color:var(--accent-bright);text-decoration:underline}.form{display:flex;flex-direction:column;gap:1.5rem}.form-section{background-color:var(--bg-card);border-radius:var(--radius-lg);padding:1.5rem;border:1px solid var(--border)}.form-section-title{font-size:1.1rem;font-weight:600;margin-bottom:1rem;color:var(--accent-light)}.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.form-group:last-child{margin-bottom:0}.form-label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.form-row{display:grid;grid-template-columns:1fr;gap:1rem}.input{width:100%;padding:.75rem;background-color:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:.9rem;font-family:var(--font);transition:border-color var(--transition),box-shadow var(--transition);min-height:44px}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #f5a50033}.input::placeholder{color:var(--text-muted)}.textarea{resize:vertical;min-height:100px}.input-color{width:44px;height:44px;padding:2px;border:1px solid var(--border);border-radius:var(--radius);background-color:var(--bg-input);cursor:pointer}.input-score{width:60px;text-align:center;padding:.5rem}.input-score-large{width:80px;text-align:center;font-size:2rem;font-weight:700;padding:.5rem}.input-status{max-width:150px}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary);cursor:pointer;min-height:44px}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.card-grid{display:grid;grid-template-columns:1fr;gap:1rem}.card{background-color:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);overflow:hidden;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--accent)}.tournament-card{cursor:pointer;padding:1.25rem}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:.5rem}.card-title{font-size:1.1rem;font-weight:600;line-height:1.3}.card-body{display:flex;flex-direction:column;gap:.4rem}.card-info{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.card-info-label{font-size:.9rem}.badge{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:12px;font-size:.7rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.badge-sm{padding:.15rem .4rem;font-size:.65rem}.search-bar{margin-bottom:1.5rem}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.empty-state-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state h2{font-size:1.25rem;margin-bottom:.5rem;color:var(--text-primary)}.empty-state p{font-size:.9rem;max-width:400px;margin:0 auto}.loading-container{display:flex;align-items:center;justify-content:center;min-height:200px}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.alert{padding:.75rem 1rem;border-radius:var(--radius);font-size:.9rem;margin-bottom:1rem}.alert-error{background-color:#f4433626;border:1px solid var(--danger);color:#ef9a9a}.auth-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - var(--navbar-height) - 2rem)}.auth-card{background-color:var(--bg-card);border-radius:var(--radius-lg);padding:2rem;width:100%;max-width:400px;border:1px solid var(--border)}.auth-header{text-align:center;margin-bottom:1.5rem}.auth-header h1{font-size:1.5rem;margin-bottom:.5rem}.auth-subtitle{color:var(--text-secondary);font-size:.9rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-toggle{text-align:center;margin-top:1rem}.tournament-header{background-color:var(--bg-card);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem;border:1px solid var(--border)}.tournament-header-info{margin-bottom:1rem}.tournament-title{font-size:1.5rem;font-weight:700;margin-bottom:.75rem;color:var(--accent-bright)}.tournament-meta{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.tournament-meta-item{font-size:.85rem;color:var(--text-secondary)}.tournament-actions{display:flex;flex-wrap:wrap;gap:.5rem}.phase-actions{margin-bottom:1.5rem;display:flex;gap:.75rem;flex-wrap:wrap}.finished-banner{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-light) 100%);padding:1rem;border-radius:var(--radius);text-align:center;font-weight:600;font-size:1.1rem;margin-bottom:1.5rem;color:#0a1628}.tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:1.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.tab{background:none;border:none;padding:.75rem 1rem;color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;white-space:nowrap;min-height:44px;transition:color var(--transition),border-color var(--transition)}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--accent-light);border-bottom-color:var(--accent)}.tab-content{min-height:200px}.team-add-row{display:flex;gap:.5rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.team-add-row .input{flex:1;min-width:150px}.teams-list{display:flex;flex-direction:column;gap:.5rem}.teams-list h3{font-size:.9rem;color:var(--text-secondary);margin-bottom:.5rem}.team-item{background-color:var(--bg-surface);border-radius:var(--radius);padding:.75rem;border:1px solid var(--border)}.team-display-row{display:flex;align-items:center;gap:.75rem}.team-color-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;border:1px solid rgba(255,255,255,.2)}.team-name{flex:1;font-weight:500}.team-actions{display:flex;gap:.4rem;margin-left:auto}.team-edit-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.team-edit-row .input{flex:1;min-width:120px}.group-stage{display:flex;flex-direction:column;gap:2rem}.group-section{background-color:var(--bg-card);border-radius:var(--radius-lg);padding:1.25rem;border:1px solid var(--border)}.group-title{font-size:1.1rem;font-weight:600;color:var(--accent-light);margin-bottom:1rem}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1rem}.standings-table{width:100%;border-collapse:collapse;font-size:.8rem;min-width:500px}.standings-table th{background-color:var(--bg-surface);padding:.6rem .4rem;text-align:center;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap}.standings-table th:nth-child(2){text-align:left}.standings-table td{padding:.6rem .4rem;text-align:center;border-bottom:1px solid var(--border)}.standings-table td:nth-child(2){text-align:left}.standings-table tr.qualified{background-color:#f5a50014}.standings-table tr.qualified td:first-child{border-left:3px solid var(--accent)}.standings-team{display:flex;align-items:center;gap:.4rem}.standings-table .points{font-weight:700;color:var(--accent-light)}.standings-table .positive{color:var(--accent-light)}.standings-table .negative{color:var(--danger)}.group-matches{display:flex;flex-direction:column;gap:.4rem}.group-match-item{background-color:var(--bg-surface);border-radius:var(--radius);padding:.6rem .75rem;border:1px solid var(--border)}.match-display{display:flex;align-items:center;gap:.5rem}.match-display.editable{cursor:pointer}.match-display.editable:hover{background-color:var(--bg-input)}.navbar-title{font-weight:700;font-size:1.1rem}.teams-section,.matches-section{display:flex;flex-direction:column;gap:.75rem}.match-team-name{flex:1;font-size:.85rem}.match-team-name.home{text-align:right}.match-team-name.away{text-align:left}.match-inline-score{font-weight:700;min-width:50px;text-align:center;color:var(--accent-light);font-size:.9rem}.match-edit{display:flex;flex-direction:column;gap:.75rem}.match-edit-teams{display:flex;align-items:center;gap:.5rem;justify-content:center;flex-wrap:wrap}.match-edit-scores{display:flex;align-items:center;gap:.25rem}.match-edit-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.matches-list{display:flex;flex-direction:column;gap:.75rem}.match-card{background-color:var(--bg-card);border-radius:var(--radius);padding:1rem;border:1px solid var(--border);cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition)}.match-card:hover{border-color:var(--accent);box-shadow:var(--shadow)}.match-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.match-stage{font-size:.75rem;color:var(--text-muted);text-transform:uppercase}.match-card-body{display:flex;align-items:center;gap:.75rem}.match-team{flex:1;display:flex;align-items:center;gap:.5rem;font-size:.9rem}.match-team.home{justify-content:flex-end}.match-team.away{justify-content:flex-start}.match-score{font-size:1.2rem;font-weight:700;color:var(--accent-light);min-width:60px;text-align:center}.match-vs{color:var(--text-muted);font-weight:400}.knockout-stage{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:1rem}.bracket{display:flex;gap:1.5rem;min-width:fit-content}.bracket-round{display:flex;flex-direction:column;min-width:220px}.round-title{font-size:.85rem;font-weight:600;color:var(--accent-light);text-align:center;margin-bottom:1rem;padding:.4rem;background-color:var(--bg-surface);border-radius:var(--radius-sm)}.bracket-matches{display:flex;flex-direction:column;gap:1rem;justify-content:space-around;flex:1}.bracket-match{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color var(--transition),box-shadow var(--transition);position:relative}.bracket-match.editable{cursor:pointer}.bracket-match.editable:hover{border-color:var(--accent);box-shadow:var(--shadow)}.bracket-match.editing{border-color:var(--accent);padding:.75rem}.bracket-team{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;border-bottom:1px solid var(--border);font-size:.85rem;transition:background-color var(--transition)}.bracket-team:last-child{border-bottom:none}.bracket-team.winner{background-color:#f5a5001f}.bracket-team-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bracket-team-score{font-weight:700;min-width:20px;text-align:center}.bracket-penalty{font-size:.75rem;color:var(--text-muted)}.bracket-edit-btn{position:absolute;top:2px;right:2px;background:var(--bg-surface);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.7rem;padding:2px 4px;opacity:0;transition:opacity var(--transition)}.bracket-match:hover .bracket-edit-btn{opacity:1}.match-edit-compact{display:flex;flex-direction:column;gap:.5rem}.match-edit-line{display:flex;align-items:center;gap:.5rem}.match-edit-team{flex:1;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-edit-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.match-edit-buttons{display:flex;gap:.4rem}.penalty-section{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.penalty-label{font-size:.8rem;color:var(--text-secondary)}.penalty-inputs{display:flex;align-items:center;gap:.25rem}.back-btn{margin-bottom:1rem}.match-detail{background-color:var(--bg-card);border-radius:var(--radius-lg);padding:2rem;border:1px solid var(--border)}.match-detail-header{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:2rem}.match-round-label{font-size:.9rem;color:var(--text-secondary)}.match-detail-body{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap}.match-detail-team{display:flex;align-items:center;gap:.75rem;flex:1;min-width:100px}.match-detail-team.home{justify-content:flex-end;text-align:right}.match-detail-team.away{justify-content:flex-start}.match-detail-color{width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,255,255,.3)}.match-detail-team-name{font-size:1.1rem;font-weight:600}.match-detail-score{text-align:center}.score-display-large{display:flex;align-items:center;gap:.75rem}.score-number{font-size:3rem;font-weight:700;color:var(--accent-light)}.score-separator{font-size:2rem;color:var(--text-muted)}.score-vs{font-size:1.5rem;color:var(--text-muted)}.score-edit-large{display:flex;align-items:center;gap:.5rem}.penalty-display{font-size:.85rem;color:var(--text-secondary);margin-top:.5rem}.penalty-edit{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.match-detail-controls{border-top:1px solid var(--border);padding-top:1.5rem;display:flex;flex-direction:column;gap:1rem;align-items:center}.match-detail-buttons{display:flex;gap:.75rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background-color:var(--bg-card);border-radius:var(--radius-lg);padding:1.5rem;width:100%;max-width:400px;border:1px solid var(--border);animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.modal-header h2{font-size:1.25rem}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);transition:background-color var(--transition)}.modal-close:hover{background-color:var(--bg-surface);color:var(--text-primary)}.modal-body{display:flex;flex-direction:column;gap:1rem}.modal-center{align-items:center;text-align:center}.qr-code-img{max-width:250px;width:100%;border-radius:var(--radius);background-color:#fff;padding:1rem}.qr-text{color:var(--text-secondary);font-size:.85rem}.share-url{display:flex;gap:.5rem}.share-url .input{flex:1;font-size:.8rem}@media(min-width:768px){.page{padding:1.5rem}.card-grid{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr 1fr}.navbar-hamburger{display:none}.navbar-menu{display:flex;position:static;flex-direction:row;align-items:center;padding:0;border-bottom:none;box-shadow:none;background-color:transparent;gap:1.5rem}.navbar-links{flex-direction:row;gap:0}.navbar-link{padding:.5rem .75rem}.navbar-auth{border-top:none;padding-top:0}.bracket-round{min-width:250px}.home-hero-title{font-size:2.2rem}}@media(min-width:1024px){.page{padding:2rem}.card-grid{grid-template-columns:repeat(3,1fr)}.page-header h1{font-size:2rem}.tournament-header{display:flex;align-items:flex-start;justify-content:space-between}.tournament-header-info{margin-bottom:0}.match-detail-body{flex-wrap:nowrap}}@media(max-width:360px){.page{padding:.75rem}.form-section,.tournament-header{padding:1rem}.standings-table{font-size:.7rem}.bracket-round{min-width:180px}}.timing-summary{display:flex;flex-wrap:wrap;gap:.75rem;background:#f5a50014;border:1px solid rgba(245,165,0,.25);border-radius:10px;padding:1rem 1.25rem;margin-bottom:1.25rem}.timing-summary-item{display:flex;flex-direction:column;align-items:center;min-width:80px}.timing-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.2rem}.timing-value{font-size:1rem;font-weight:700;color:var(--accent)}.match-time{font-size:.85rem;font-weight:700;color:var(--accent);background:#f5a5001f;border-radius:5px;padding:.1rem .45rem;margin-right:.25rem}.timing-delay{font-size:.72rem;font-weight:600;color:#ff6b6b;background:#ff6b6b1f;border-radius:5px;padding:.1rem .4rem;margin-left:auto}.competition-section{margin-bottom:2rem;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}.competition-header{display:flex;align-items:center;gap:.6rem;padding:.75rem 1.25rem;font-size:1.05rem;font-weight:700;letter-spacing:.03em}.competition-icon{font-size:1.3rem}.competition-label{font-size:1rem;font-weight:700}.competition-champions .competition-header{background:linear-gradient(90deg,#1a3a6e,#0d2347);color:gold;border-bottom:2px solid #FFD700}.competition-europa .competition-header{background:linear-gradient(90deg,#4a1a00,#2d0f00);color:#ff8c00;border-bottom:2px solid #FF8C00}.competition-conference .competition-header{background:linear-gradient(90deg,#0d3320,#071a10);color:#00c853;border-bottom:2px solid #00C853}.competition-champions{border-color:#ffd70040}.competition-europa{border-color:#ff8c0040}.competition-conference{border-color:#00c85340}.navbar-logo-img{height:32px;width:auto;object-fit:contain;border-radius:4px}.home-hero-logo{height:100px;width:auto;object-fit:contain;margin-bottom:1rem;filter:drop-shadow(0 4px 16px rgba(245,165,0,.3))}
