:root{--primary-color:#2c3e50;--secondary-color:#3498db;--accent-color:#e74c3c;--background-color:#f8f9fa;--text-color:#222;--text-secondary:#555;--border-color:#ddd;--card-background:#f0f2f5;--modal-overlay:rgba(0, 0, 0, 0.5);--success-color:#2ecc71;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--font-size-sm:0.875rem;--font-size-md:1rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-xxl:2rem;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:12px;--shadow-sm:0 1px 3px rgba(0, 0, 0, 0.1);--shadow-md:0 4px 6px rgba(0, 0, 0, 0.1);--shadow-lg:0 10px 15px rgba(0, 0, 0, 0.1)}@media (prefers-color-scheme:dark){:root{--primary-color:#1a2530;--secondary-color:#2980b9;--accent-color:#c0392b;--background-color:#121212;--text-color:#f1f1f1;--text-secondary:#aaa;--border-color:#333;--card-background:#1e1e1e}}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Open Sans','Helvetica Neue',sans-serif;line-height:1.6;color:var(--text-color);background-color:var(--background-color);max-width:1200px;margin:0 auto;padding:var(--spacing-md);display:flex;flex-direction:column}header{text-align:center;padding:var(--spacing-md) 0}footer{text-align:center;padding:var(--spacing-md) 0;margin-top:auto}header h1{font-size:var(--font-size-xxl);font-weight:500}header h1 a{color:var(--secondary-color);text-decoration:none;transition:color .2s}header h1 a:hover{color:#3498db}header h2{color:#5dade2;font-size:var(--font-size-lg);font-weight:400}.panel{display:none;padding:var(--spacing-md);height:100%;overflow-y:auto}.panel.active{display:block}.tournament-header{display:flex;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.tournament-header .tournament-name{flex:1;margin:0;display:flex;align-items:center;font-size:var(--font-size-xl);line-height:1}.tournament-header .tournament-actions{display:flex;align-items:center;height:100%}.tournament-header .leaderboard-btn{background-color:var(--secondary-color);color:#fff;border:none;border-radius:50%;width:2.5rem;height:2.5rem;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.back-button{background-color:var(--secondary-color);color:#fff;border:none;border-radius:var(--border-radius-sm);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md);cursor:pointer;font-weight:500;width:100%;text-align:center;display:block;transition:background-color .2s}.back-button:hover{background-color:#3498db}.tournament-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.tournament-title-info{flex:1}.tournament-title{margin-bottom:var(--spacing-xs);color:var(--secondary-color);font-weight:500}.tournament-date{color:var(--text-color-secondary);font-style:italic}.leaderboard-button{background-color:var(--secondary-color);color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:var(--font-size-md);cursor:pointer;transition:background-color .2s,transform .1s,box-shadow .2s;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.leaderboard-button:hover{background-color:#2980b9;box-shadow:var(--shadow-md)}.leaderboard-button:active{transform:scale(.95)}.leaderboard-icon{font-size:1.2em}.tournament-content{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg);margin-top:var(--spacing-md)}@media (min-width:768px){.tournament-content{grid-template-columns:1fr 1fr}}.leaderboard-section,.matches-section{background-color:var(--card-background);border-radius:var(--border-radius-md);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.round-header{margin:var(--spacing-md) 0;text-align:center}.round-header h3{margin:0;color:var(--text-color);font-size:1.1rem;font-weight:500}.round-footer{height:var(--spacing-md)}.match-card{background-color:var(--card-background);color:var(--text-color,#333);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);padding:var(--spacing-md);margin-bottom:var(--spacing-xs);position:relative;max-width:600px;margin-left:auto;margin-right:auto}.match-card:last-child{margin-bottom:0}.rest-match{background-color:var(--background-color);border:1px dashed var(--border-color);display:flex;justify-content:center;align-items:center;min-height:80px}.rest-info{text-align:center;width:100%}.rest-text{font-weight:500;color:var(--secondary-color);font-size:var(--font-size-md)}.match-content{display:flex;flex-direction:column;flex:1}.court-label{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);display:inline-block;font-size:.8rem;align-self:flex-start;border:1px solid;background-color:rgba(255,255,255,.15);font-weight:700;top:10px;right:10px;box-shadow:0 1px 3px rgba(0,0,0,.2);text-shadow:0 1px 1px rgba(0,0,0,.1)}.court-label[data-court="1"]{color:#0078ff;border-color:#0078ff;background-color:rgba(0,120,255,.1)}.court-label[data-court="2"]{color:#ff3b30;border-color:#ff3b30;background-color:rgba(255,59,48,.1)}.court-label[data-court="3"]{color:#34c759;border-color:#34c759;background-color:rgba(52,199,89,.1)}.court-label[data-court="4"]{color:#ff9500;border-color:#ff9500;background-color:rgba(255,149,0,.1)}.court-label[data-court="5"]{color:#af52de;border-color:#af52de;background-color:rgba(175,82,222,.1)}.court-label[data-court="6"]{color:#ff2d55;border-color:#ff2d55;background-color:rgba(255,45,85,.1)}.court-label:not([data-court="1"]):not([data-court="2"]):not([data-court="3"]):not([data-court="4"]):not([data-court="5"]):not([data-court="6"]){color:#fc0;border-color:#fc0;background-color:rgba(255,204,0,.1)}.rest-match{background-color:var(--background-color);border:1px dashed var(--border-color);box-shadow:none}.rest-info{display:flex;justify-content:center;align-items:center;height:60px}.rest-text{font-style:italic;color:#666;text-align:center;font-size:var(--font-size-sm)}.match-court{display:inline-block;padding:2px 8px;border-radius:var(--border-radius-sm);font-size:.7rem;font-weight:600;color:#fff;margin-bottom:var(--spacing-xs);box-shadow:var(--shadow-xs)}.court-1{background-color:#3498db}.court-2{background-color:#e74c3c}.court-3{background-color:#2ecc71}.match-court:not(.court-1):not(.court-2):not(.court-3){background-color:#9b59b6}.match-content{display:flex;flex-direction:column;gap:var(--spacing-sm)}.team-names-container{display:flex;align-items:stretch;justify-content:space-between;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid #333;min-height:3em;margin-top:10px}.team-name{font-weight:500;flex:1;text-align:center;padding:0 var(--spacing-xs);min-height:2.5em;display:flex;flex-direction:column;justify-content:center;line-height:1.2;word-break:break-word;color:#fff;font-size:.9rem}.team-name-left{text-align:right!important;align-items:flex-end}.vs{margin:0 var(--spacing-sm);color:#666;font-size:.8rem;flex:0 0 auto;display:flex;align-items:center;align-self:center}.scores-container{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.scores-separator{font-size:1.5rem;font-weight:700;color:var(--text-muted);margin:0 var(--spacing-xs)}.score-display{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:#000;border-radius:var(--border-radius-sm);cursor:pointer;font-weight:700;font-size:1.5rem;box-shadow:var(--shadow-sm);color:#fff}.score-form{display:flex;align-items:center;justify-content:center;margin-top:var(--spacing-sm)}.score-column{display:flex;flex-direction:column;align-items:center;min-width:80px}.team-name{font-size:var(--font-size-sm);font-weight:500;color:var(--secondary-color);margin-bottom:var(--spacing-xs);text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-display{width:70px;height:45px;text-align:center;padding:var(--spacing-xs);border:2px solid #333;border-radius:var(--border-radius-sm);background-color:#000;color:red;font-family:Orbitron,sans-serif;font-size:var(--font-size-lg);font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s,transform .1s;user-select:none;-webkit-tap-highlight-color:transparent;box-shadow:inset 0 0 10px rgba(255,0,0,.5),0 0 5px rgba(255,0,0,.2);text-shadow:0 0 5px rgba(255,0,0,.7)}.score-display:hover{box-shadow:inset 0 0 15px rgba(255,0,0,.7),0 0 8px rgba(255,0,0,.4);text-shadow:0 0 8px rgba(255,0,0,.9)}.score-display:active{transform:scale(.95)}.score-separator{margin:0 var(--spacing-sm);font-size:var(--font-size-md);font-weight:700;color:var(--text-secondary)}.score-picker-popup{position:fixed;bottom:0;left:0;right:0;background-color:#121212;border-top-left-radius:var(--border-radius-lg);border-top-right-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);padding:var(--spacing-md);z-index:2000;animation:slideUp .3s ease-out}@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}.score-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid #333}.score-picker-header h3{margin:0;font-family:Orbitron,sans-serif;font-size:var(--font-size-lg);font-variant-caps:all-small-caps;color:var(--secondary-color);text-align:center;width:100%}.score-picker-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--spacing-sm);margin-bottom:var(--spacing-md);background-color:#000;padding:var(--spacing-md)}.score-picker-button{padding:var(--spacing-md);border:2px solid #333;border-radius:var(--border-radius-sm);background-color:#000;color:red;font-family:Orbitron,sans-serif;font-size:var(--font-size-md);font-weight:700;cursor:pointer;transition:all .2s,transform .1s;box-shadow:inset 0 0 5px rgba(255,0,0,.3),0 0 3px rgba(255,0,0,.1);text-shadow:0 0 3px rgba(255,0,0,.5);min-height:45px;display:flex;align-items:center;justify-content:center}.score-picker-button:hover{box-shadow:inset 0 0 10px rgba(255,0,0,.5),0 0 5px rgba(255,0,0,.3);text-shadow:0 0 5px rgba(255,0,0,.7)}.score-picker-button:active{transform:scale(.95)}.score-picker-button.selected{background-color:#300;color:#f55;border-color:red;box-shadow:inset 0 0 15px rgba(255,0,0,.7),0 0 8px rgba(255,0,0,.4);text-shadow:0 0 8px rgba(255,0,0,.9)}.score-input-buttons{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-md)}.score-input-buttons button{padding:var(--spacing-md);border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:background-color .2s}.cancel-btn{background-color:#c0392b;color:#fff}.save-btn{background-color:#27ae60;color:#fff}.score-input-container{display:flex;justify-content:center;margin:var(--spacing-lg) 0}.score-input-container input{width:120px;height:60px;text-align:center;padding:var(--spacing-sm);border:2px solid #333;border-radius:var(--border-radius-sm);background-color:#000;color:red;font-family:Orbitron,sans-serif;font-size:var(--font-size-xl);font-weight:700;box-shadow:inset 0 0 10px rgba(255,0,0,.5),0 0 5px rgba(255,0,0,.2);text-shadow:0 0 5px rgba(255,0,0,.7)}.custom-score-button{background-color:#121212;color:red;text-align:center;padding:var(--spacing-md);font-size:var(--font-size-md);border:1px solid #333;border-radius:4px;cursor:pointer;margin-top:var(--spacing-md);width:100%;font-family:Orbitron,sans-serif;text-transform:uppercase;letter-spacing:1px}.custom-score-button:hover{background-color:#1a1a1a}.score-picker-cancel-button{background-color:#c0392b;color:#fff;text-align:center;padding:var(--spacing-md);font-size:var(--font-size-md);border:1px solid #333;border-radius:4px;cursor:pointer;margin-top:var(--spacing-md);width:100%;font-family:Orbitron,sans-serif;text-transform:uppercase;letter-spacing:1px}.score-picker-cancel-button:hover{background-color:#e74c3c}.score-picker-custom{grid-column:1/-1;background-color:#222;color:#fff;border:2px solid #444;margin-top:var(--spacing-sm)}.score-picker-close{width:100%;padding:var(--spacing-md);border:none;border-radius:var(--border-radius-sm);background-color:var(--accent-color);color:#fff;font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:background-color .2s}.score-picker-close:hover{background-color:#c0392b}.custom-score-form{padding:var(--spacing-md)}.custom-score-container{display:flex;justify-content:center;align-items:center;padding:var(--spacing-md)}.custom-score-box-container{display:flex;justify-content:center;align-items:center;gap:var(--spacing-md);margin:var(--spacing-lg) 0}.custom-score-input{width:60px;height:60px;display:flex;justify-content:center;align-items:center;font-family:Orbitron,sans-serif;font-size:var(--font-size-xl);font-weight:700;border:2px solid #333;border-radius:var(--border-radius-sm);text-align:center;background-color:#000;appearance:textfield;-moz-appearance:textfield}.custom-score-input::-webkit-inner-spin-button,.custom-score-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.custom-score-input.red-input{color:red;box-shadow:inset 0 0 10px rgba(255,0,0,.5),0 0 5px rgba(255,0,0,.2);text-shadow:0 0 5px rgba(255,0,0,.7)}.custom-score-input.white-input{color:#fff;box-shadow:inset 0 0 10px rgba(255,255,255,.5),0 0 5px rgba(255,255,255,.2);text-shadow:0 0 5px rgba(255,255,255,.7)}.custom-score-buttons-container{display:flex;justify-content:space-between;padding:0 var(--spacing-md);gap:var(--spacing-md)}.custom-score-cancel-button,.custom-score-save-button{flex:1;border:2px solid #333;border-radius:var(--border-radius-sm);font-size:var(--font-size-md);font-weight:500;cursor:pointer;text-transform:uppercase;font-family:Orbitron,sans-serif;transition:all .2s,transform .1s}.custom-score-save-button{background-color:#27ae60;color:#fff;box-shadow:inset 0 0 5px rgba(255,255,255,.3),0 0 3px rgba(255,255,255,.1)}.custom-score-save-button:hover{box-shadow:inset 0 0 10px rgba(255,255,255,.5),0 0 5px rgba(255,255,255,.3)}.custom-score-save-button:active{transform:scale(.95)}.custom-score-cancel-button{background-color:#e74c3c;color:#fff;box-shadow:inset 0 0 5px rgba(255,255,255,.3),0 0 3px rgba(255,255,255,.1)}.custom-score-cancel-button:hover{box-shadow:inset 0 0 10px rgba(255,255,255,.5),0 0 5px rgba(255,255,255,.3)}.custom-score-cancel-button:active{transform:scale(.95)}.custom-score-form h3{text-align:center;margin-top:0;margin-bottom:var(--spacing-md);color:var(--secondary-color)}.custom-score-input-container{display:flex;justify-content:center;margin-bottom:var(--spacing-md)}.custom-score-input{width:120px;height:60px;text-align:center;padding:var(--spacing-sm);border:2px solid #333;border-radius:var(--border-radius-sm);background-color:#000;color:red;font-family:Orbitron,sans-serif;font-size:var(--font-size-xl);font-weight:700;box-shadow:inset 0 0 10px rgba(255,0,0,.5),0 0 5px rgba(255,0,0,.2);text-shadow:0 0 5px rgba(255,0,0,.7)}.custom-score-input:focus{outline:0;box-shadow:inset 0 0 15px rgba(255,0,0,.7),0 0 8px rgba(255,0,0,.4)}.custom-score-input.error{border-color:red;animation:shake .5s}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.custom-score-buttons{display:flex;gap:var(--spacing-md)}.custom-score-cancel,.custom-score-save{flex:1;padding:var(--spacing-md);border:none;border-radius:var(--border-radius-sm);font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:background-color .2s}.custom-score-save{background-color:var(--success-color);color:#fff}.custom-score-save:hover{background-color:#27ae60}.custom-score-cancel{background-color:var(--accent-color);color:#fff}.custom-score-cancel:hover{background-color:#c0392b}.leaderboard-drawer{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--modal-overlay);z-index:2000;display:flex;justify-content:center;align-items:flex-end;opacity:0;pointer-events:none;transition:opacity .3s ease-out}.leaderboard-drawer.visible{opacity:1;pointer-events:auto}.leaderboard-drawer-content{background-color:var(--background-color);width:100%;max-width:600px;max-height:80vh;border-top-left-radius:var(--border-radius-lg);border-top-right-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);transform:translateY(100%);transition:transform .3s ease-out;overflow:hidden;display:flex;flex-direction:column}.leaderboard-drawer.visible .leaderboard-drawer-content{transform:translateY(0)}.leaderboard-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border-bottom:1px solid var(--border-color)}.leaderboard-drawer-header h3{margin:0;color:var(--secondary-color)}.leaderboard-drawer-close{background:0 0;border:none;font-size:var(--font-size-xl);color:var(--text-secondary);cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.leaderboard-drawer-close:hover{background-color:rgba(0,0,0,.1)}.leaderboard-drawer-body{padding:var(--spacing-md);overflow-y:auto;flex:1}@media (max-width:480px){.score-picker-grid{grid-template-columns:repeat(4,1fr)}.leaderboard-drawer-content{max-height:90vh}}.leaderboard-table{width:100%;border-collapse:collapse;margin-top:var(--spacing-md);font-size:var(--font-size-sm)}.leaderboard-table td,.leaderboard-table th{padding:var(--spacing-xs);text-align:center;border-bottom:1px solid var(--border-color)}.leaderboard-table th{font-weight:600;color:var(--secondary-color);border-bottom:2px solid var(--secondary-color)}.leaderboard-table tbody tr:hover{background-color:rgba(0,0,0,.05)}.leaderboard-table td:first-child,.leaderboard-table th:first-child{width:40px}.leaderboard-table td:nth-child(2),.leaderboard-table th:nth-child(2){text-align:left;width:auto}@media (max-width:767px){.leaderboard-table{font-size:calc(var(--font-size-sm) - 1px)}.leaderboard-table td,.leaderboard-table th{padding:calc(var(--spacing-xs)/ 2)}}.leaderboard-section h3,.matches-section h3{margin-top:0;margin-bottom:var(--spacing-md);color:var(--secondary-color);font-weight:500;border-bottom:1px solid var(--border-color);padding-bottom:var(--spacing-xs)}.tournament-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.tournaments-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md)}.tournament-card{background-color:var(--card-background);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);padding:var(--spacing-md);transition:transform .2s,box-shadow .2s;position:relative}.tournament-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.tournament-card-content{cursor:pointer}.tournament-card-actions{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);display:flex;gap:var(--spacing-xs);opacity:1;transition:opacity .2s}@media (hover:hover) and (pointer:fine){.tournament-card-actions{opacity:.7}.tournament-card:hover .tournament-card-actions{opacity:1}}.tournament-card-actions button{width:30px;height:30px;padding:0;margin:0;font-size:var(--font-size-sm);display:flex;align-items:center;justify-content:center;border-radius:50%;min-height:30px;max-height:30px;line-height:1}.tournament-card-actions .edit-btn{background-color:var(--secondary-color)}.tournament-card-actions .reset-btn{background-color:#f39c12}.tournament-card-actions .delete-btn{background-color:var(--accent-color)}.tournament-card h3{margin-top:0;color:var(--secondary-color);font-weight:500}.tournament-card .date-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.tournament-card .date{color:var(--secondary-color);font-size:var(--font-size-sm);font-weight:500}.mode-tag{font-size:.7rem;padding:2px 8px;border-radius:12px;font-weight:400;border:1px solid;display:inline-block;margin-left:8px;vertical-align:middle}.mode-tag.teams-mode{color:var(--secondary-color);border-color:var(--secondary-color);background-color:transparent}.mode-tag.players-mode{color:var(--success-color);border-color:var(--success-color);background-color:transparent}.modal-header{display:flex;justify-content:space-between;align-items:center}.modal-header h3{display:flex;align-items:center;margin:0}.tournament-card .stats-container{display:flex;justify-content:space-between;margin-top:var(--spacing-md);border-top:1px solid rgba(255,255,255,.1);padding-top:var(--spacing-sm)}.tournament-card .stats-item{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1}.tournament-card .stats-value{font-size:var(--font-size-md);font-weight:500;color:var(--text-color)}.tournament-card .stats-label{font-size:var(--font-size-xs);color:var(--text-secondary);opacity:.8;margin-top:2px}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--text-color);font-style:italic}.empty-state.hidden{display:none}.icon-button{width:40px;height:40px;border-radius:50%;background-color:var(--secondary-color);color:#fff;font-size:var(--font-size-xl);display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:background-color .2s}.icon-button:hover{background-color:var(--primary-color)}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--modal-overlay);display:flex;align-items:center;justify-content:center;z-index:1000}.modal.hidden{display:none}.modal-content{background-color:var(--card-background);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);width:90%;max-width:500px;max-height:90vh;overflow-y:auto;border:1px solid var(--border-color)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border-bottom:1px solid var(--border-color)}.modal-header h3{margin:0;color:var(--secondary-color);font-weight:500;font-size:var(--font-size-xl)}.close-button{width:30px;height:30px;padding:0;margin:0;font-size:var(--font-size-md);display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;color:var(--secondary-color);background-color:transparent;border:2px solid var(--secondary-color);transition:background-color .2s,color .2s}.close-button:hover{background-color:var(--secondary-color);color:#fff}.modal-body{padding:var(--spacing-md)}form{margin:var(--spacing-md) 0}label{display:block;margin-bottom:var(--spacing-xs);font-weight:700}button,input,select{width:100%;padding:var(--spacing-sm);margin-bottom:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:var(--font-size-md);height:auto;box-sizing:border-box}button{background-color:var(--secondary-color);color:#fff;border:none;cursor:pointer;transition:background-color .2s}button:hover{background-color:var(--primary-color)}button.danger{background-color:var(--accent-color)}.submit-button{background-color:var(--success-color);font-weight:700;margin-top:var(--spacing-md)}.submit-button:hover{background-color:#27ae60}.number-input{display:flex;align-items:center}.number-input input{width:50px;text-align:center;margin:0 var(--spacing-xs)}.checkbox-group{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-md)}.checkbox-container{display:flex;align-items:center;padding:var(--spacing-xs) 0}.checkbox-container input[type=checkbox]{width:20px;height:20px;margin:0;cursor:pointer}.checkbox-label{margin-left:var(--spacing-sm);cursor:pointer;font-weight:500;color:var(--secondary-color)}.help-text{font-size:var(--font-size-sm);color:var(--secondary-color);margin-top:var(--spacing-xs)}.tie-break-options{margin-bottom:var(--spacing-xl);padding:var(--spacing-md);background-color:var(--background-color-secondary);border-radius:var(--border-radius-sm);border:1px solid var(--border-color)}.number-input button{width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center;margin:0}.form-group+.form-group.checkbox-group{margin-top:var(--spacing-xl)}.team-input-container{display:flex;gap:var(--spacing-sm)}.team-input-container input{flex-grow:1;margin-bottom:0}.team-input-container button{width:auto;margin-bottom:0}.teams-list{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md);max-height:200px;overflow-y:auto;border:1px solid var(--border-color);border-radius:var(--border-radius-sm)}.team-item{display:flex;justify-content:space-between;align-items:center;padding:0 var(--spacing-md);border-bottom:1px solid var(--border-color);height:40px;position:relative}.team-item:last-child{border-bottom:none}.team-sequence{display:inline-block;width:24px;font-size:var(--font-size-md);font-weight:500;color:var(--secondary-color,#7f8c8d);text-align:right;margin-right:var(--spacing-sm)}.team-number{display:inline-block;width:24px;font-size:var(--font-size-md);font-weight:500;color:var(--secondary-color,#3498db);text-align:right;margin-right:var(--spacing-sm)}.team-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-md);font-weight:500;color:var(--text-color,#333);padding:0;margin:0;text-align:left}.remove-team-btn{background-color:var(--error-color,#e74c3c);color:#fff;border:none;border-radius:50%;width:24px;height:24px;min-width:24px;min-height:24px;max-height:24px;font-size:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-left:var(--spacing-sm);transition:background-color .2s ease;padding:0;position:absolute;right:12px;top:50%;transform:translateY(-50%);line-height:1;overflow:hidden}.remove-team-btn:hover{background-color:#c0392b}.team-count{text-align:right;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:var(--secondary-color);background-color:var(--background-color);border-top:1px solid var(--border-color);font-weight:500;margin-top:var(--spacing-xs)}.team-item .remove-team{background-color:transparent;color:var(--accent-color);width:30px;height:30px;padding:0;margin:0}table{width:100%;border-collapse:collapse;margin:var(--spacing-md) 0}td,th{padding:var(--spacing-sm);text-align:left;border-bottom:1px solid var(--border-color)}th{background-color:var(--primary-color);color:#fff}tr:nth-child(2n){background-color:rgba(0,0,0,.05)}@media (max-width:768px){.panel{padding:var(--spacing-sm)}.tournament-card{margin-bottom:var(--spacing-sm)}.modal-content{width:95%;max-width:none}.match-list{flex-direction:column}.match-card{width:100%;margin-right:0;margin-bottom:var(--spacing-sm)}button,input,select{min-height:44px;max-height:44px;font-size:16px;line-height:normal;height:44px}.close-button,.remove-team,.tournament-card-actions button{min-height:30px;max-height:30px;height:30px}.tie-break-form{display:flex;align-items:center;flex-wrap:wrap;justify-content:center}.tie-break-form select{flex:0 0 auto;margin:0 var(--spacing-xs)}.tie-break-form .score-submit{margin-top:var(--spacing-xs);width:100%}.checkbox-container{padding:var(--spacing-xs) 0}.checkbox-container input[type=checkbox]{width:22px;height:22px}.help-text{margin-top:var(--spacing-sm);line-height:1.4}}.mb-1{margin-bottom:var(--spacing-md)}.hidden{display:none}.text-center{text-align:center}.mt-1{margin-top:var(--spacing-md)}#app-size{font-size:var(--font-size-sm);color:var(--secondary-color)}.error-message{color:var(--accent-color);font-size:var(--font-size-sm);margin-top:var(--spacing-xs);display:none}.error-message.visible{display:block;animation:fadeIn .3s}.form-group.has-error input,.form-group.has-error select{border-color:var(--accent-color);background-color:rgba(231,76,60,.05)}.validation-popup{position:absolute;top:0;left:0;right:0;background-color:var(--accent-color);color:#fff;padding:var(--spacing-md);text-align:center;transform:translateY(-100%);transition:transform .3s;z-index:2000;box-shadow:var(--shadow-md)}.validation-popup.visible{transform:translateY(0)}.confirmation-dialog{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--modal-overlay);display:flex;align-items:center;justify-content:center;z-index:2000;opacity:1;transition:opacity .3s}.confirmation-dialog.hidden{display:none;opacity:0}.confirmation-content{background-color:var(--card-background);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);padding:var(--spacing-lg);width:90%;max-width:400px;text-align:center;border:1px solid var(--border-color)}.confirmation-content h3{margin-top:0;color:var(--secondary-color);font-weight:500;font-size:var(--font-size-xl)}.confirmation-content p{margin-bottom:var(--spacing-lg);color:var(--text-color);font-weight:500}.confirmation-actions{display:flex;gap:var(--spacing-md)}.confirmation-actions button{flex:1;padding:var(--spacing-sm)}.confirmation-actions .cancel-btn{background-color:var(--border-color);color:var(--text-color)}.confirmation-actions .confirm-btn{background-color:var(--accent-color)}.validation-popup .close-popup{position:absolute;right:var(--spacing-sm);top:50%;transform:translateY(-50%);background:0 0;border:none;color:#fff;font-size:var(--font-size-lg);cursor:pointer;width:30px;height:30px;padding:0;margin:0}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.toast-notification{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(100px);background-color:#333;color:#fff;padding:12px 24px;border-radius:4px;box-shadow:0 4px 6px rgba(0,0,0,.1);opacity:0;transition:transform .3s ease,opacity .3s ease;z-index:3000;font-weight:500;display:flex;align-items:center;gap:8px}.toast-notification.show{transform:translateX(-50%) translateY(0);opacity:1}.toast-notification.success{background-color:#2ecc71}.toast-notification.error{background-color:#e74c3c}