:root{--background: #E5DED0;--primary: #805330;--accent: #A62C30;--secondary: #334522;--dark: #141A24;--white: #FFFFFF;--gray: #F5F5F5;--text-dark: #333333;--text-light: #666666}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Arial,sans-serif;background-color:var(--background);color:var(--text-dark);line-height:1.6}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--primary);color:var(--white);padding:1rem 2rem;box-shadow:0 2px 10px #0000001a}.header h1{font-size:1rem;font-weight:700}.header-logo{display:flex;align-items:center}.header-logo img{height:60px;width:auto;filter:brightness(0) invert(1)}.header-subtitle{color:var(--white);font-size:1.2rem;font-weight:700;margin-left:2rem;opacity:.9}.footer{background:var(--white);padding:2rem;margin-top:auto;box-shadow:0 -2px 10px #0000001a}.footer-content{max-width:1200px;margin:0 auto;text-align:center}.partner-logos{max-width:100%;height:auto;max-height:120px}.header-controls{display:flex;gap:1rem;align-items:center}.header-time{display:flex;align-items:center;margin-left:1rem}.header-time .current-time{font-size:1.2rem;font-weight:700;color:var(--text-dark);background:var(--white);padding:.5rem 1rem;border-radius:4px;box-shadow:0 2px 10px #0000001a}.round-selector{display:flex;align-items:center;gap:.5rem}.round-selector select{padding:.5rem;border:none;border-radius:4px;background:var(--white);color:var(--text-dark);font-size:1rem}.btn-danger{background:var(--accent);color:var(--white);border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .3s}.btn-danger:hover{background:#8a1f23}.timer-container{background:var(--white);padding:1rem 2rem;text-align:center;box-shadow:0 2px 10px #0000001a}.timer-display{display:flex;flex-direction:column;align-items:center;gap:1rem}.timer-time{font-size:4rem;font-weight:700;font-family:Courier New,monospace;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.timer-normal{color:var(--accent)}.timer-warning{color:var(--secondary);animation:pulse 1s infinite}.timer-controls{display:flex;gap:1rem;justify-content:center}.timer-btn{padding:.75rem 1.5rem;border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:700;transition:all .3s}.timer-btn.start{background:var(--secondary);color:var(--white)}.timer-btn.stop{background:var(--accent);color:var(--white)}.timer-btn.reset{background:var(--primary);color:var(--white)}.timer-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}.timer-shortcuts{display:flex;gap:2rem;font-size:.9rem;color:var(--text-light)}.timer-progress-container{width:100%;max-width:400px;margin:.5rem 0 0}.timer-progress-bar{width:100%;height:8px;background:var(--gray);border-radius:4px;overflow:hidden;box-shadow:inset 0 1px 3px #0003}.timer-progress-fill{height:100%;transition:width .1s ease-out;border-radius:4px}.progress-normal{background:var(--accent)}.progress-warning{background:var(--secondary);animation:pulse 1s infinite}.main-content{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%;display:flex;flex-direction:column}.stage{background:var(--white);border-radius:12px;box-shadow:0 4px 20px #0000001a;overflow:hidden}.stage-header{background:var(--primary);color:var(--white);padding:1.5rem 2rem}.stage-header h2{font-size:1.8rem;margin-bottom:.5rem}.stage-info{display:flex;gap:2rem;font-size:1rem;opacity:.9}.stage-content{padding:2rem}.progress-bar{width:100%;height:8px;background:var(--gray);border-radius:4px;margin-bottom:1rem;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--secondary),var(--primary));transition:width .3s ease}.current-match{margin-bottom:0}.match-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.match-header h3{font-size:1.5rem;color:var(--primary);margin:0}.reset-match-btn{background:var(--accent);color:var(--white);border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.reset-match-btn:hover{background:#8a1f23}.editable-name{cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background-color .2s}.editable-name:hover{background:#a62c301a}.edit-name-container{display:flex;align-items:center;gap:.5rem}.edit-name-input{flex:1;padding:.25rem .5rem;border:2px solid var(--accent);border-radius:4px;font-size:inherit;font-family:inherit;background:var(--white);color:var(--dark)}.edit-buttons{display:flex;gap:.25rem}.edit-btn{padding:.25rem .5rem;border:none;border-radius:3px;cursor:pointer;font-size:.8rem;transition:background-color .2s}.edit-btn.save{background:var(--secondary);color:var(--white)}.edit-btn.save:hover{background:#2a5a1a}.edit-btn.cancel{background:var(--accent);color:var(--white)}.edit-btn.cancel:hover{background:#8a1f23}.btn-warning{background:#f39c12;color:var(--white);border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.btn-warning:hover{background:#e67e22}.btn-secondary{background:#95a5a6;color:var(--white);border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.btn-secondary:hover{background:#7f8c8d}.registration-page{min-height:100vh;background:var(--background);padding:1rem}.registration-header{text-align:center;margin-bottom:2rem;padding:1rem;background:var(--primary);border-radius:12px;color:var(--white)}.registration-header h1{margin:0 0 .5rem;font-size:1.8rem}.registration-header p{margin:0;opacity:.9}.refresh-btn{margin-top:1rem;padding:.5rem 1rem;background:var(--secondary);color:var(--white);border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:background-color .2s}.refresh-btn:hover:not(:disabled){background:var(--accent)}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.registration-content{max-width:600px;margin:0 auto}.search-section{margin-bottom:2rem}.search-input{width:100%;padding:1rem;border:2px solid var(--gray);border-radius:8px;font-size:1.1rem;background:var(--white);color:var(--dark)}.search-info{margin-top:.5rem;text-align:center;color:var(--text-dark);font-size:.9rem}.competitors-list{display:flex;flex-direction:column;gap:1rem}.competitor-item{background:var(--white);border:2px solid var(--gray);border-radius:12px;padding:1rem;display:flex;align-items:center;gap:1rem;transition:all .3s}.competitor-item:hover{border-color:var(--primary);box-shadow:0 4px 12px #0000001a}.competitor-photo-section{position:relative;flex-shrink:0;width:100%;max-width:80px}.competitor-photo,.competitor-photo-placeholder{width:60px;height:60px;border-radius:50%;object-fit:cover;background:var(--gray);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.photo-upload-input{display:none}.photo-upload-btn{position:absolute;bottom:-5px;right:-5px;background:var(--primary);color:var(--white);border:none;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:background-color .2s}.competitor-name-section{flex:1}.name-display{display:flex;align-items:center;gap:.5rem}.competitor-name{font-size:1.2rem;font-weight:600;color:var(--dark)}.edit-name-btn{background:none;border:none;cursor:pointer;font-size:1rem;padding:.25rem;border-radius:4px;transition:background-color .2s}.edit-name-btn:hover{background:#a62c301a}.competitor-info{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;color:var(--text-dark)}.no-results{text-align:center;padding:2rem;color:var(--text-dark)}@media (max-width: 768px){.registration-page{padding:.5rem}.registration-header h1{font-size:1.5rem}.competitor-item{flex-direction:column;text-align:center;gap:.75rem}.competitor-photo-section{align-self:center;width:auto;max-width:none}.competitor-name{font-size:1.1rem}.search-input{font-size:1rem;padding:.75rem}}.competitors-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:1rem}.competitor-card{background:var(--white);border:2px solid var(--gray);border-radius:12px;padding:1.5rem;text-align:center;cursor:pointer;transition:all .3s;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0}.competitor-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026;border-color:var(--primary)}.competitor-card.selected{border-color:var(--secondary);background:linear-gradient(135deg,var(--secondary),var(--primary));color:var(--white)}.competitor-card.winner{border-color:var(--accent);background:linear-gradient(135deg,var(--accent),#8a1f23);color:var(--white);animation:winnerPulse .6s ease-in-out}.competitor-card.disabled{opacity:.5;cursor:not-allowed;filter:grayscale(100%)}.competitor-card.disabled.winner{opacity:1;filter:none}.competitor-card.disabled:not(.winner){opacity:.3;filter:grayscale(100%)}.competitor-card.edit-mode{cursor:default}.competitor-card.edit-mode:hover{transform:none;box-shadow:none;border-color:var(--gray)}.competitor-photo{width:100%;height:100%;border-radius:50%;margin:0 auto 1rem;background:var(--gray);display:flex;align-items:center;justify-content:center;font-size:3rem;color:var(--text-light);border:3px solid var(--gray);transition:all .3s;flex-shrink:0;object-fit:cover}.competitor-card:hover .competitor-photo{border-color:var(--primary)}.competitor-card.selected .competitor-photo,.competitor-card.winner .competitor-photo{border-color:var(--white)}.competitor-name{font-size:1.2rem;font-weight:700;margin-bottom:.5rem;flex-shrink:0}.competitor-time{font-size:1rem;color:var(--text-light);font-weight:500}.stage-navigation{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem;background:var(--gray);border-radius:8px}.nav-btn{padding:.75rem 1.5rem;border:none;border-radius:6px;background:var(--primary);color:var(--white);cursor:pointer;font-weight:700;transition:all .3s}.nav-btn:hover:not(:disabled){background:var(--secondary);transform:translateY(-2px)}.nav-btn:disabled{opacity:.5;cursor:not-allowed}.nav-info{font-size:1.1rem;font-weight:700;color:var(--white);background:var(--primary);padding:.25rem .5rem;border-radius:4px}.warning-message{background:var(--accent);color:var(--white);padding:1rem;border-radius:8px;text-align:center;margin-bottom:1rem;animation:fadeIn .3s ease-in}.upcoming-matches{background:var(--gray);padding:1.5rem;border-radius:8px;margin-top:2rem;margin-bottom:1rem}.upcoming-matches h4{color:var(--primary);margin-bottom:1rem;font-size:1.2rem}.upcoming-list{display:flex;flex-direction:column;gap:.5rem}.upcoming-match{display:grid;grid-template-columns:80px 120px 1fr;gap:1rem;padding:.75rem;background:var(--white);border-radius:6px;font-weight:500;align-items:center}.upcoming-time{font-weight:700;color:var(--primary)}.upcoming-group{font-weight:700;color:var(--text-dark)}.upcoming-names{font-weight:500;color:var(--text-dark)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:1rem}.spinner{width:50px;height:50px;border:4px solid var(--gray);border-top:4px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes winnerPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.header-content{flex-direction:column;gap:1rem}.header h1{font-size:1.2rem}.header-logo img{height:40px}.header-subtitle{font-size:1rem;margin-left:1rem}.footer{padding:1rem}.partner-logos{max-height:80px}.timer-time{font-size:2.5rem}.competitors-grid{grid-template-columns:1fr}.stage-navigation{flex-direction:column;gap:1rem}.header-time{display:none}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--white);border-radius:12px;padding:2rem;max-width:500px;width:90%;box-shadow:0 10px 30px #0000004d}.modal-header{margin-bottom:1.5rem;text-align:center}.modal-header h2{color:var(--primary);font-size:1.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:700;color:var(--text-dark)}.form-group input{width:100%;padding:.75rem;border:2px solid var(--gray);border-radius:6px;font-size:1rem;transition:border-color .3s}.form-group input:focus{outline:none;border-color:var(--primary)}.error-message{background:var(--accent);color:var(--white);padding:.75rem;border-radius:6px;margin-bottom:1rem;text-align:center}.modal-actions{text-align:center;margin-bottom:1.5rem}.btn-primary{background:var(--secondary);color:var(--white);border:none;padding:.75rem 2rem;border-radius:6px;font-size:1rem;font-weight:700;cursor:pointer;transition:background .3s}.btn-primary:hover{background:var(--primary)}.modal-info{background:var(--gray);padding:1rem;border-radius:6px;font-size:.9rem}.modal-info ul{margin-top:.5rem;padding-left:1.5rem}.modal-info li{margin-bottom:.25rem}.winner-indicator,.selected-indicator{position:absolute;top:.5rem;right:.5rem;background:var(--accent);color:var(--white);padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:700}.selected-indicator{background:var(--secondary)}.public-mode .timer-controls,.public-mode .admin-controls{display:none}.public-mode .competitor-card{cursor:default}.public-mode .competitor-card:hover{transform:none;box-shadow:none}.presentation-mode{height:100vh;overflow:hidden}.presentation-mode .app{height:100vh;display:flex;flex-direction:column}.presentation-mode .header{flex-shrink:0;padding:.5rem 2rem}.presentation-mode .header h1{font-size:1.5rem}.presentation-mode .timer-container{flex-shrink:0;padding:.5rem 2rem}.presentation-mode .timer-time{font-size:4rem;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.presentation-mode .main-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.presentation-mode .stage{flex:1;display:flex;flex-direction:column;overflow:hidden}.presentation-mode .stage-header{flex-shrink:0;padding:.5rem 2rem}.presentation-mode .stage-header h2{font-size:1.5rem}.presentation-mode .stage-content{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:0 1rem}.presentation-mode .current-match{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:0}.presentation-mode .current-match h3{font-size:clamp(1rem,2.5vw,1.5rem);margin-bottom:1rem;text-align:center}.presentation-mode .match-header{margin-bottom:0}.presentation-mode .competitors-grid{flex:1;display:flex;align-items:stretch;justify-content:center;gap:2rem;min-height:0;padding:0 .5rem;width:100%;height:100%}.presentation-mode .competitor-card{flex:1;min-width:0;min-height:0;max-width:none;max-height:none;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;width:100%;height:100%;box-sizing:border-box}.presentation-mode .competitor-photo{width:100%;height:100%;font-size:clamp(2rem,4vw,4rem);margin-bottom:.5rem;flex-shrink:0;object-fit:cover}.presentation-mode .competitor-name{font-size:clamp(.7rem,1.8vw,1.3rem);font-weight:700;text-align:center;line-height:1.2;margin:0;flex-shrink:0;display:flex;align-items:center;justify-content:center;word-wrap:break-word;overflow-wrap:break-word;min-height:0}.presentation-mode .upcoming-matches{flex-shrink:0;margin-top:1rem;padding:1rem}.presentation-mode .upcoming-matches h4{font-size:1rem;margin-bottom:.5rem}.presentation-mode .upcoming-match{padding:.5rem;font-size:.9rem}.presentation-mode .footer{padding:1rem}.presentation-mode .partner-logos{max-height:60px}.schedule-page{max-width:1200px;margin:0 auto;padding:2rem}.schedule-header{text-align:center;margin-bottom:3rem}.schedule-header h1{color:var(--accent);margin-bottom:.5rem}.schedule-header p{color:var(--text);font-size:1.1rem}.schedule-content{display:flex;flex-direction:column;gap:2rem}.schedule-segment{background:var(--white);border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;border-left:4px solid var(--accent)}.segment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.segment-header h3{color:var(--accent);margin:0;font-size:1.3rem}.time-input{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.time-input label{font-weight:500;color:var(--text)}.time-input input[type=time]{padding:.5rem;border:2px solid var(--border);border-radius:4px;font-size:1rem;background:var(--white);color:var(--text)}.time-input input[type=time]:focus{outline:none;border-color:var(--accent)}.time-input button{padding:.5rem 1rem;background:var(--accent);color:var(--white);border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .2s}.time-input button:hover{background:var(--primary)}.time-input button:disabled{background:var(--border);color:var(--text);cursor:not-allowed;opacity:.6}.segment-times{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.match-time{display:inline-block;padding:.25rem .5rem;margin:.125rem;background:var(--background-light);border-radius:4px;font-size:.9rem;font-weight:500;color:var(--text);border:1px solid var(--border)}.match-time.defined{background:var(--secondary);color:var(--white);border:1px solid var(--secondary)}.match-time.placeholder{color:var(--accent);font-style:italic;background:var(--background);border:1px dashed var(--accent)}.schedule-break{text-align:center;padding:1rem;background:var(--background-light);border-radius:8px;border:2px dashed var(--border)}.schedule-break p{margin:0;color:var(--text);font-weight:500;font-size:1rem}.segment-db-info{margin-top:.5rem;padding:.5rem;background:var(--background-light);border-radius:4px;border-left:3px solid var(--secondary)}.segment-db-info small{color:var(--text);font-size:.8rem;font-family:monospace}@media (max-width: 768px){.schedule-page{padding:1rem}.segment-header{flex-direction:column;align-items:flex-start}.time-input{width:100%;justify-content:space-between}.segment-times{justify-content:center}}.admin-footer{background:var(--white);border-top:2px solid var(--border);padding:1rem 0;margin-top:auto}.admin-footer-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.admin-footer-section{display:flex;gap:.5rem;flex-wrap:wrap}.admin-footer button{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:all .2s;font-size:.9rem}.admin-footer .btn-secondary{background:var(--secondary);color:var(--white)}.admin-footer .btn-secondary:hover{background:var(--primary)}.admin-footer .btn-warning{background:var(--accent);color:var(--white)}.admin-footer .btn-warning:hover{background:var(--primary)}.admin-footer .btn-danger{background:var(--accent);color:var(--white)}.admin-footer .btn-danger:hover{background:var(--primary)}@media (max-width: 768px){.admin-footer-content{flex-direction:column;align-items:stretch;padding:0 1rem}.admin-footer-section{justify-content:center}}.competitor-photo-container{position:relative;width:120px;height:120px;margin:0 auto 1rem}.photo-edit-container{position:relative;width:100%;height:100%}.photo-edit-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;flex-direction:column;justify-content:center;align-items:center;opacity:0;transition:opacity .3s ease;border-radius:8px;text-align:center;gap:.5rem}.photo-edit-container:hover .photo-edit-overlay{opacity:1}.photo-upload-btn{background:var(--primary);color:var(--white);padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;transition:background .3s ease;text-align:center;white-space:nowrap;min-width:80px;margin:0}.photo-upload-btn:hover{background:var(--accent)}.save-photo-btn{background:var(--secondary);color:var(--white);padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;transition:background .3s ease}.save-photo-btn:hover{background:var(--accent)}.save-photo-btn:disabled{background:var(--border);cursor:not-allowed}.name-edit-container{display:flex;flex-direction:column;gap:.5rem;width:100%}.name-edit-input{padding:.5rem;border:1px solid var(--border);border-radius:4px;font-size:.9rem;width:100%}.name-edit-buttons{display:flex;gap:.5rem}.save-name-btn,.cancel-name-btn{padding:.25rem .5rem;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;flex:1}.save-name-btn{background:var(--secondary);color:var(--white)}.save-name-btn:hover{background:var(--accent)}.cancel-name-btn{background:var(--border);color:var(--text)}.cancel-name-btn:hover{background:var(--accent)}.competitor-name{text-align:center;font-weight:600;margin-top:.5rem;color:var(--text);font-size:.9rem;line-height:1.2;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.competitor-card.edit-mode .competitor-name:hover{background:var(--primary);color:var(--white);padding:.25rem .5rem;border-radius:4px;cursor:pointer;transition:all .2s ease}.winner-trophy{position:absolute;top:.5rem;right:.5rem;font-size:1.5rem;z-index:10;animation:winnerPulse 2s infinite}.competitor-card.placeholder{background:var(--gray);border:2px dashed var(--text-light);opacity:.7;cursor:default}.competitor-card.placeholder .competitor-photo{background:var(--text-light);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700}.competitor-card.placeholder .competitor-name{color:var(--text-light);font-style:italic}@media (max-width: 768px){.public-mode .competitor-photo,.public-mode .competitor-photo-container{display:none}.public-mode .competitor-card{padding:.5rem;min-height:auto;height:auto}.public-mode .competitor-name{font-size:.9rem;margin-top:0;text-align:center}.public-mode .winner-trophy{position:static;display:inline-block;margin-left:.5rem;font-size:1rem;vertical-align:middle}.public-mode .competitors-grid{grid-template-columns:1fr;gap:.25rem;margin-bottom:1rem}.public-mode .stage{margin-bottom:1rem}.public-mode .stage-header{font-size:1rem;padding:.5rem;margin-bottom:.5rem}.public-mode .current-match,.public-mode .upcoming-matches,.public-mode .upcoming-match{margin-bottom:.5rem}.public-mode .match-info{font-size:.8rem;margin-bottom:.25rem}.public-mode .header{padding:.5rem}.public-mode .header h1{font-size:1.2rem;margin:0}.public-mode .header-subtitle{font-size:.8rem;margin:.25rem 0 0}.public-mode .footer{padding:.5rem;margin-top:.5rem}.public-mode .partner-logos{max-height:30px}.public-mode .round-navigation{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem}.public-mode .round-number{font-size:1.2rem;font-weight:700;color:var(--white);margin-bottom:.25rem;background:var(--primary);padding:.25rem .5rem;border-radius:4px;display:inline-block}.public-mode .round-number{display:none}.public-mode .round-nav-buttons{display:flex;gap:1rem;align-items:center}.public-mode .round-nav-btn{background:var(--primary);color:var(--white);border:none;padding:.5rem 1rem;border-radius:.25rem;cursor:pointer;font-size:.9rem}.public-mode .round-nav-btn:hover{background:var(--accent)}.public-mode .round-nav-btn:disabled{opacity:.5;cursor:not-allowed}.public-mode .round-info{font-size:.8rem;color:var(--white);font-weight:700;display:flex;align-items:center;background:var(--primary);padding:.25rem .5rem;border-radius:4px}.public-mode .upcoming-text{font-size:.8rem;color:var(--text-light);font-style:italic;margin-top:.5rem;text-align:center}.public-mode .upcoming-list,.public-mode .stage-navigation{display:none}.public-mode .upcoming-text>div{margin-bottom:.5rem;text-align:center}.public-mode .upcoming-text .time-group{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-bottom:.25rem}.public-mode .upcoming-text .names{display:block;text-align:center;margin-top:.25rem}.registration-mode .header h1{font-size:1rem;margin:0}}.stage-navigation{display:flex;justify-content:space-between;align-items:center;margin:1rem 0;padding:1rem;background:var(--gray);border-radius:8px}.round-navigation{display:none}.upcoming-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.upcoming-text{display:none}@media (max-width: 768px){.public-mode .stage-navigation{display:none}.public-mode .round-navigation{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem}.public-mode .upcoming-list{display:none}.public-mode .upcoming-text{display:block;font-size:.8rem;color:var(--text-light);font-style:italic;margin-top:.5rem;text-align:center}}.photo-upload-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10}.photo-upload-loading .spinner{width:20px;height:20px;border:2px solid var(--primary);border-top:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite}.photo-upload-error{position:absolute;bottom:-25px;left:0;right:0;background:var(--danger);color:#fff;padding:2px 4px;font-size:.7rem;border-radius:3px;text-align:center;z-index:10}.photo-upload-btn.uploading{opacity:.5;cursor:not-allowed}.photo-upload-btn.uploading:hover{background:var(--primary)}.photo-delete-btn{position:absolute;top:-5px;right:-5px;background:var(--danger);color:#fff;border:none;border-radius:50%;width:20px;height:20px;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:15;transition:all .2s ease}.photo-delete-btn:hover{background:#d32f2f;transform:scale(1.1)}.competitor-photo.clickable{cursor:pointer;transition:transform .2s ease}.competitor-photo.clickable:hover{transform:scale(1.05)}.photo-preview-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.photo-preview-content{position:relative;background:#fff;border-radius:8px;padding:20px;max-width:90vw;max-height:90vh;overflow:auto}.photo-preview-close{position:absolute;top:10px;right:10px;background:var(--danger);color:#fff;border:none;border-radius:50%;width:30px;height:30px;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1001}.photo-preview-image{max-width:100%;max-height:70vh;object-fit:contain;border-radius:4px}.photo-preview-name{text-align:center;margin-top:10px;font-weight:700;color:var(--primary)}.delete-photo-btn{position:absolute;top:-5px;right:-5px;background:var(--white);color:var(--accent);border:2px solid var(--accent);border-radius:50%;width:25px;height:25px;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:15;transition:all .2s ease}.delete-photo-btn:hover{background:var(--accent);color:var(--white);transform:scale(1.1)}.delete-photo-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.competition-vote-page{max-width:1200px;margin:0 auto;padding:2rem}.competition-header{text-align:center;margin-bottom:2rem}.competition-header h1{color:var(--primary);font-size:2rem;margin-bottom:.5rem}.competition-header p{color:var(--text-dark);font-size:1.1rem}.vote-form{display:flex;flex-direction:column;gap:2rem}.email-section{display:flex;flex-direction:column;gap:.5rem}.email-section label{font-weight:700;color:var(--text-dark)}.email-section input{padding:.75rem;border:2px solid var(--gray);border-radius:6px;font-size:1rem}.email-section input:focus{outline:none;border-color:var(--primary)}.samples-grid{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.sample-card{background:var(--white);border:2px solid var(--gray);border-radius:8px;padding:1.5rem;text-align:center;cursor:pointer;transition:all .3s ease;flex:0 0 200px}.sample-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.sample-card.selected{border-color:var(--accent);background:var(--accent);color:var(--white)}.sample-code{font-size:2rem;font-weight:700;margin-bottom:.5rem;letter-spacing:2px}.sample-name{font-size:1rem;font-weight:500}.selected-votes{background:var(--gray);padding:1.5rem;border-radius:8px}.selected-votes h3{color:var(--primary);margin-bottom:1rem}.vote-list{display:flex;flex-direction:column;gap:.75rem}.vote-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:var(--white);border-radius:6px;cursor:grab;transition:all .2s ease;border:2px solid transparent}.vote-item:hover{background:var(--accent);color:var(--white);transform:translateY(-2px);box-shadow:0 4px 8px #0000001a;border-color:var(--primary)}.vote-item.dragging{opacity:.5;transform:rotate(5deg);cursor:grabbing}.vote-item:active{cursor:grabbing}.vote-number{font-weight:700;color:var(--primary);min-width:40px;font-size:1.2rem}.vote-code{font-weight:700;font-size:1.2rem;letter-spacing:1px;min-width:80px}.vote-name{color:var(--text-dark);flex:1}.submit-btn{background:var(--accent);color:var(--white);border:none;padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background-color .3s ease}.submit-btn:hover:not(:disabled){background:#8b1a1a}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.message{padding:1rem;border-radius:8px;text-align:center;font-weight:700}.message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.competition-admin-page{max-width:1200px;margin:0 auto;padding:2rem}.admin-header h1{color:var(--primary);text-align:center;margin-bottom:2rem}.tab-navigation{display:flex;gap:1rem;margin-bottom:2rem;justify-content:center}.tab-btn{padding:.75rem 1.5rem;border:2px solid var(--gray);background:var(--white);border-radius:6px;cursor:pointer;font-weight:700;transition:all .3s ease}.tab-btn:hover{border-color:var(--primary)}.tab-btn.active{background:var(--primary);color:var(--white);border-color:var(--primary)}.competition-content{display:flex;flex-direction:column;gap:2rem}.competition-header h2{color:var(--primary);text-align:center;margin-bottom:1rem}.settings-section,.samples-section,.results-section,.stats-section{background:var(--white);padding:1.5rem;border-radius:8px;border:1px solid var(--gray)}.samples-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.samples-header h3{margin:0;color:var(--primary)}.settings-section h3,.samples-section h3,.results-section h3,.stats-section h3{color:var(--primary);margin-bottom:1rem}.settings-controls{display:flex;gap:1rem;flex-wrap:wrap}.settings-controls button{background:var(--primary);color:var(--white);border:2px solid var(--primary);padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.settings-controls button:hover{background:var(--white);color:var(--primary)}.settings-controls button:disabled{opacity:.5;cursor:not-allowed}.settings-controls button:disabled:hover{background:var(--primary);color:var(--white)}.add-sample{display:flex;gap:1rem;margin-bottom:1rem}.add-sample input{flex:1;padding:.75rem;border:2px solid var(--gray);border-radius:6px;font-size:1rem}.add-sample input:focus{outline:none;border-color:var(--primary)}.samples-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.sample-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:var(--gray);border-radius:6px}.sample-name{flex:1;font-weight:500}.sample-code{font-weight:700;font-size:1.1rem;letter-spacing:1px;min-width:80px}.sample-actions{display:flex;gap:.5rem}.samples-actions{display:flex;gap:1rem;flex-wrap:wrap}.samples-actions .btn-danger{background:var(--accent);color:var(--white);border:2px solid var(--accent)}.samples-actions .btn-danger:hover{background:#8b1a1a;border-color:#8b1a1a}.results-list{display:flex;flex-direction:column;gap:.5rem}.result-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:var(--gray);border-radius:6px}.result-position{font-weight:700;color:var(--primary);min-width:40px}.result-code{font-weight:700;font-size:1.1rem;letter-spacing:1px;min-width:80px}.result-name{flex:1;font-weight:500}.result-points{font-weight:700;color:var(--accent);min-width:80px}.result-votes{color:var(--text-dark);font-size:.9rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-item{display:flex;justify-content:space-between;padding:.75rem;background:var(--gray);border-radius:6px}.stat-label{font-weight:500;color:var(--text-dark)}.stat-value{font-weight:700;color:var(--primary)}@media (max-width: 768px){.competition-vote-page,.competition-admin-page{padding:1rem}.competition-header h1{font-size:1.5rem}.samples-grid{gap:.75rem}.sample-card{padding:1rem;flex:0 0 150px}.sample-code{font-size:1.5rem}.vote-item{flex-direction:row;align-items:center;gap:.5rem}.vote-code{min-width:auto}.tab-navigation,.settings-controls,.add-sample{flex-direction:column}.sample-item{flex-direction:column;align-items:flex-start;gap:.5rem}.sample-actions{width:100%;justify-content:flex-end}.samples-actions{flex-direction:column}.result-item{flex-direction:column;align-items:flex-start;gap:.5rem}.stats-grid{grid-template-columns:1fr}}.info-text{color:var(--accent);font-size:.9rem;margin-top:.5rem;font-style:italic}.btn:disabled{opacity:.5;cursor:not-allowed;background:var(--gray)!important;color:#333!important;border-color:var(--gray)!important}.btn:disabled:hover{background:var(--gray)!important;color:#333!important;transform:none!important;box-shadow:none!important}.mobile-hint{position:absolute;top:-20px;right:5px;font-size:10px;color:var(--white);background:var(--primary);padding:2px 6px;border-radius:4px;border:1px solid var(--primary);opacity:.9;pointer-events:none}@media (max-width: 768px){.vote-item{position:relative;cursor:pointer}.vote-item:hover{transform:none;box-shadow:none}.vote-item:active{background:var(--accent);color:var(--white)}}.search-section{background:var(--white);border-radius:8px;margin:1rem auto;max-width:800px;box-shadow:0 2px 8px #0000001a}.search-container{padding:1.5rem}.search-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.search-header h3{margin:0;color:var(--primary);font-size:1.2rem}.search-content{padding-top:1rem}.search-input-container{margin-bottom:1rem}.search-input{width:100%;padding:.75rem;border:2px solid var(--light-gray);border-radius:4px;font-size:1rem;transition:border-color .3s ease}.search-input:focus{outline:none;border-color:var(--primary)}.search-results{margin-top:1rem}.search-results h4{margin:0 0 1rem;color:var(--primary);font-size:1.1rem}.search-result-item{background:var(--light-gray);border-radius:6px;padding:1rem;margin-bottom:.5rem;border-left:4px solid var(--primary)}.competitor-info{margin-bottom:.5rem}.competitor-info strong{color:var(--dark);font-size:1.1rem}.match-info{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}@media (max-width: 768px){.match-info{flex-direction:row;gap:.3rem;align-items:center;flex-wrap:wrap}.match-info>*{font-size:.7rem;padding:.15rem .3rem}}.round-info{background:var(--primary);color:var(--white);padding:.25rem .5rem;border-radius:4px;font-size:.9rem;font-weight:700}@media (max-width: 768px){.round-info{font-size:.8rem;padding:.2rem .4rem}}.group-info{background:var(--accent);color:var(--white);padding:.25rem .5rem;border-radius:4px;font-size:.9rem;font-weight:700}.time-info{background:var(--primary);color:var(--white);padding:.25rem .5rem;border-radius:4px;font-size:.9rem;font-weight:700}.winner-status{padding:.25rem .5rem;border-radius:4px;font-size:.9rem;font-weight:700}.winner-status.winner{background:#28a745;color:var(--white)}.winner-status.eliminated{background:#dc3545;color:var(--white)}.winner-status.active{background:#28a745;color:var(--white)}.live-stream-container{margin:1rem 0;border-radius:8px;overflow:hidden;box-shadow:0 4px 6px #0000001a;background:var(--white)}.stream-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--primary);color:var(--white)}.stream-header h3{margin:0;font-size:1.2rem;font-weight:600}.live-indicator{display:flex;align-items:center;gap:.5rem;font-weight:600;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.video-container{position:relative;background:#000;border-radius:0 0 8px 8px}.loading-overlay,.error-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#000c;color:var(--white);z-index:10}.loading-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top:4px solid var(--white);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-overlay p{margin:.5rem 0;text-align:center}.custom-controls{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;gap:1rem;z-index:5}.custom-controls button{background:#000000b3;color:var(--white);border:none;border-radius:50%;width:50px;height:50px;font-size:1.2rem;cursor:pointer;transition:all .3s ease}.custom-controls button:hover{background:#000000e6;transform:scale(1.1)}.external-stream{border-radius:0 0 8px 8px;overflow:hidden}.external-stream iframe{border-radius:0 0 8px 8px}@media (max-width: 768px){.stream-header{padding:.75rem}.stream-header h3{font-size:1rem}.live-indicator{font-size:.9rem}.custom-controls button{width:40px;height:40px;font-size:1rem}}.stream-settings-modal{max-width:90vw;width:1200px;max-height:85vh;overflow-y:auto;background:var(--white);border-radius:12px;box-shadow:0 10px 30px #0000004d}.settings-section{margin-bottom:2rem;padding:1.5rem;border:1px solid var(--light-gray);border-radius:8px;background:var(--white)}.settings-section h3{margin:0 0 1.5rem;color:var(--primary);font-size:1.2rem;font-weight:600;border-bottom:2px solid var(--primary);padding-bottom:.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.75rem;font-weight:600;color:var(--dark-gray);font-size:.95rem}.form-group input[type=text],.form-group input[type=url],.form-group textarea,.form-group select{width:100%;padding:1rem;border:2px solid var(--light-gray);border-radius:6px;font-size:1rem;transition:all .3s ease;background:var(--white)}.form-group input[type=text]:focus,.form-group input[type=url]:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #8b45131a;background:var(--white)}.form-group input[type=checkbox]{margin-right:.75rem;transform:scale(1.3);accent-color:var(--primary)}.form-group textarea{resize:vertical;min-height:100px;font-family:inherit}.form-group select{background:var(--white);cursor:pointer}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.settings-grid .form-group{margin-bottom:1rem}@media (max-width: 768px){.stream-settings-modal{max-width:95vw;width:95vw;margin:1rem;max-height:90vh}.settings-section{padding:1rem}.form-group input[type=text],.form-group input[type=url],.form-group textarea,.form-group select{padding:.75rem;font-size:.9rem}.settings-grid{grid-template-columns:1fr;gap:1rem}}.loading-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center}.loading-message .spinner{width:40px;height:40px;border:4px solid var(--light-gray);border-top:4px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.loading-message p{color:var(--gray);font-size:1rem;margin:0}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto}.language-toggle{background:var(--white);color:var(--primary);border:2px solid var(--white);border-radius:4px;padding:.5rem 1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.language-toggle:hover{background:var(--primary);color:var(--white);transform:translateY(-2px);box-shadow:0 4px 8px #0003}.admin-controls .language-toggle{margin-right:1rem;background:var(--white);color:var(--primary);border:2px solid var(--primary);border-radius:4px;padding:.5rem 1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.admin-controls .language-toggle:hover{background:var(--primary);color:var(--white);transform:translateY(-2px);box-shadow:0 4px 8px #0003}.competitor-registration{margin-top:.5rem;padding:.5rem;background-color:var(--gray);border-radius:4px;border:1px solid #ddd}.registration-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.registration-input{width:18px;height:18px;cursor:pointer;accent-color:var(--primary)}.registration-label{font-size:.9rem;color:var(--text-dark);font-weight:500}.registration-checkbox:hover .registration-label{color:var(--primary)}.sample-submission{margin-top:.5rem;padding:.5rem;background-color:var(--gray);border-radius:4px;border:1px solid #ddd}.submission-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.submission-input{width:18px;height:18px;cursor:pointer;accent-color:var(--primary)}.submission-label{font-size:.9rem;color:var(--text-dark);font-weight:500}.submission-checkbox:hover .submission-label{color:var(--primary)}.registration-input:checked+.registration-label{color:var(--primary);font-weight:600}.registration-input:disabled+.registration-label{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.competitor-registration{margin-top:.3rem;padding:.3rem}.registration-label{font-size:.8rem}}.admin-controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.mode-button{padding:.5rem 1rem;border:1px solid var(--primary);background:var(--white);color:var(--primary);border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.mode-button:hover,.mode-button.active{background:var(--primary);color:var(--white)}.stream-settings-button{padding:.5rem 1rem;border:1px solid var(--accent);background:var(--white);color:var(--accent);border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .3s ease;margin-left:.5rem}.stream-settings-button:hover{background:var(--accent);color:var(--white)}.language-toggle{padding:.5rem .75rem;border:1px solid var(--gray);background:var(--white);color:var(--gray);border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:600;transition:all .3s ease;margin-left:.5rem}.language-toggle:hover{background:var(--gray);color:var(--white)}
