:root{--background: #FFFFFF;--primary: #000000;--accent: #333333;--secondary: #666666;--dark: #000000;--white: #FFFFFF;--gray: #F5F5F5;--text-dark: #000000;--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 #0000004d;border-bottom:2px solid var(--accent)}.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 #0000004d;border-top:2px solid var(--accent)}.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-controls .language-toggle{background:var(--white)!important;color:var(--primary)!important;border:2px solid var(--white)!important;border-radius:4px;padding:.5rem 1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.header-controls .language-toggle:hover{background:var(--primary)!important;color:var(--white)!important;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.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(--white);color:var(--primary);border:2px solid var(--primary);padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .3s}.btn-danger:hover{background:var(--primary);color:var(--white)}.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:2px solid var(--primary);border-radius:6px;cursor:pointer;font-size:1rem;font-weight:700;transition:all .3s;background:var(--white);color:var(--primary)}.timer-btn.start,.timer-btn.stop,.timer-btn.reset{background:var(--white);color:var(--primary);border-color:var(--primary)}.timer-btn:hover{background:var(--primary);color:var(--white);transform:translateY(-2px);box-shadow:0 4px 8px #0000004d}.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 #0000004d;border:2px solid var(--accent);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}.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(--primary);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 #0000004d;border-color:var(--accent);background:var(--gray)}.competitor-card.selected{border-color:var(--primary);background:var(--primary);color:var(--white)}.competitor-card.winner{border-color:var(--primary);background:var(--primary);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}.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(--primary);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(--primary);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(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #0000004d;background:var(--gray)}.sample-card.selected{border-color:var(--primary);background:var(--primary);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(--white);color:var(--primary);border:2px solid var(--primary);padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.submit-btn:hover:not(:disabled){background:var(--primary);color:var(--white)}.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}.section-navigation{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid var(--gray);padding-bottom:1rem}.section-btn{background:var(--white);color:var(--text);border:2px solid var(--gray);padding:.75rem 1.5rem;border-radius:8px 8px 0 0;cursor:pointer;font-weight:500;transition:all .3s ease;position:relative}.section-btn:hover{background:var(--gray);color:var(--white)}.section-btn.active{background:var(--primary);color:var(--white);border-color:var(--primary)}.section-btn.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--primary)}.section-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--gray)}.section-header h2{margin:0;color:var(--primary);font-size:1.5rem}@media (max-width: 768px){.section-navigation{flex-wrap:wrap;gap:.25rem}.section-btn{flex:1;min-width:calc(50% - .125rem);padding:.5rem .75rem;font-size:.9rem}}.samples-controls,.results-controls{display:flex;gap:1rem;margin-bottom:2rem;padding:1rem;background:var(--gray-light);border-radius:8px}.no-results{text-align:center;padding:3rem 2rem;color:var(--text-light);background:var(--gray-light);border-radius:8px;margin:2rem 0}.no-results p{margin:0;font-size:1.1rem}.results-page{max-width:1200px;margin:0 auto;padding:2rem}.results-header{text-align:center;margin-bottom:3rem}.results-header h1{color:var(--primary);margin-bottom:.5rem}.results-header p{color:var(--text-light);font-size:1.1rem}.results-sections{display:flex;flex-direction:column;gap:3rem}.results-section{background:var(--white);border:2px solid var(--gray);border-radius:12px;padding:2rem}.results-section h2{color:var(--primary);margin-bottom:1.5rem;text-align:center}.results-list{display:flex;flex-direction:column;gap:1rem}.result-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--gray-light);border-radius:8px;transition:all .3s ease}.result-item:hover{background:var(--gray);transform:translateY(-2px)}.result-position{font-size:1.5rem;font-weight:700;color:var(--primary);min-width:3rem;text-align:center}.result-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.result-code{font-weight:700;font-size:1.1rem;color:var(--text)}.result-name{color:var(--text-light);font-size:.9rem}.result-score{font-weight:700;color:var(--primary);display:flex;align-items:center;gap:.5rem}.result-breakdown{font-size:.8rem;color:var(--text-light);font-weight:400}.results-hidden{display:flex;justify-content:center;align-items:center;min-height:400px}.hidden-message{text-align:center;padding:3rem;background:var(--gray-light);border-radius:12px;border:2px solid var(--gray)}.hidden-message h2{color:var(--primary);margin-bottom:1rem}.hidden-message p{color:var(--text-light);margin-bottom:.5rem}.judge-details-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:var(--white);border-radius:12px;max-width:800px;max-height:80vh;overflow-y:auto;margin:2rem}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--gray)}.modal-header h3{margin:0;color:var(--primary)}.btn-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-light);padding:.5rem}.btn-close:hover{color:var(--primary)}.judge-details-content{padding:1.5rem}.judge-evaluation{border:1px solid var(--gray);border-radius:8px;padding:1rem;margin-bottom:1rem;background:var(--white)}.judge-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--gray);gap:1rem}.judge-header h4{margin:0;color:var(--primary)}.total-score{font-weight:700;color:var(--primary);font-size:1.1rem;background:var(--gray-light);padding:.5rem 1rem;border-radius:6px;border:1px solid var(--gray)}.categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.category{background:var(--gray-light);padding:.75rem;border-radius:6px;display:flex;flex-direction:column}.category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.category-name{font-weight:500;color:var(--text)}.category-score{font-weight:700;color:var(--primary)}.category-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.5rem;align-items:flex-start}.category .tag{background:var(--primary);color:var(--white);padding:.125rem .375rem;border-radius:12px;font-size:.75rem}@media (max-width: 768px){.results-page{padding:.5rem}.results-section{padding:.75rem}.results-header{text-align:center;margin-bottom:1.5rem}.results-header h1{font-size:1.5rem;margin-bottom:.5rem}.results-header p{font-size:.9rem;line-height:1.4}.results-categories{display:flex;flex-direction:column;gap:1.5rem}.results-category{background:var(--white);border-radius:12px;padding:1rem;box-shadow:0 2px 8px #0000001a}.results-category h3{font-size:1.3rem;text-align:center;margin-bottom:1rem;color:var(--primary);padding-bottom:.5rem;border-bottom:2px solid var(--primary)}.results-description{background:var(--gray-light);padding:1rem;border-radius:8px;margin-bottom:1rem;border-left:4px solid var(--primary)}.results-description p{margin:0 0 .5rem;font-size:.95rem;color:var(--text);line-height:1.4;font-weight:500}.results-description p:last-child{margin-bottom:0}.results-list{display:flex;flex-direction:column;gap:.75rem}.result-item{background:var(--gray-light);border-radius:8px;padding:1rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;border:1px solid var(--gray)}.result-position{font-size:1.4rem;font-weight:700;color:var(--primary);background:var(--white);padding:.5rem 1rem;border-radius:20px;min-width:50px;text-align:center}.result-info{width:100%;text-align:center}.result-name{font-size:1.4rem;font-weight:700;color:var(--text);margin-bottom:.5rem;text-align:center}.result-code{font-size:.9rem;color:var(--text-light);font-weight:500;text-align:center}.result-score,.result-points,.result-votes{font-size:1.1rem;font-weight:700;color:var(--primary);background:var(--white);padding:.6rem 1.2rem;border-radius:25px;margin-top:.75rem;text-align:center;display:inline-block}.result-breakdown{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem;font-size:1rem;align-items:center}.result-breakdown .result-points{background:var(--accent);color:var(--white);text-align:center;display:inline-block}.result-breakdown .result-votes{background:var(--primary);color:var(--white);text-align:center;display:inline-block}.judge-details-btn{width:100%;padding:.75rem;font-size:.9rem;margin-top:.75rem;background:var(--primary);color:var(--white);border:none;border-radius:6px;cursor:pointer;transition:background-color .2s}.judge-details-btn:hover{background:var(--primary-dark)}.judge-details-modal{padding:.5rem}.modal-content{margin:.5rem;max-height:95vh;width:calc(100vw - 1rem);border-radius:12px}.modal-header{padding:1rem;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.modal-header h3{font-size:1.2rem;margin:0}.btn-close{position:absolute;top:1rem;right:1rem;font-size:1.5rem;padding:.5rem;background:var(--gray);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.judge-details-content{padding:1rem}.judge-evaluation{margin-bottom:1rem;padding:1rem;background:var(--white);border-radius:8px;border:1px solid var(--gray)}.judge-header{flex-direction:column;align-items:center;text-align:center;gap:.5rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--gray)}.judge-header h4{font-size:1.1rem;margin:0;color:var(--primary)}.total-score{font-size:1.1rem;padding:.5rem 1rem;background:var(--primary);color:var(--white);border-radius:20px}.categories{display:flex;flex-direction:column;gap:.75rem}.category{background:var(--gray-light);padding:.75rem;border-radius:6px}.category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.category-name{font-weight:600;color:var(--text);font-size:.95rem}.category-score{font-weight:700;color:var(--primary);font-size:.9rem}.category-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.5rem}.category .tag{background:var(--primary);color:var(--white);padding:.2rem .5rem;border-radius:12px;font-size:.75rem}.no-results{text-align:center;padding:2rem 1rem;background:var(--gray-light);border-radius:8px;margin:1rem 0}.no-results h3{font-size:1.2rem;color:var(--text);margin-bottom:.5rem}.no-results p{font-size:.9rem;color:var(--text-light);line-height:1.4}}.admin-header h1{color:var(--primary);text-align:center;margin-bottom:2rem}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 1rem}.logout-btn{background:var(--white);color:var(--primary);border:1px solid var(--white);padding:.5rem 1rem;border-radius:4px;font-size:.9rem;cursor:pointer;transition:all .3s ease}.logout-btn:hover{background:var(--primary);color:var(--white)}.header-controls .logout-btn{background:var(--white);color:var(--primary);border:1px solid var(--white);padding:.5rem 1rem;border-radius:4px;font-size:.9rem;cursor:pointer;transition:all .3s ease;margin-left:1rem}.header-controls .logout-btn:hover{background:var(--primary);color:var(--white)}.tab-navigation{display:flex;gap:1rem;margin-bottom:2rem;justify-content:center}.tab-btn{padding:.75rem 1.5rem;border:2px solid var(--primary);background:var(--white);color:var(--primary);border-radius:6px;cursor:pointer;font-weight:700;transition:all .3s ease}.tab-btn:hover{background:var(--gray);border-color:var(--accent)}.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-info{display:flex;align-items:center;gap:1rem;flex:1}.sample-name{flex:1;font-weight:500}.sample-name-input{flex:1;padding:.25rem .5rem;border:2px solid var(--gray);border-radius:4px;font-size:1rem;font-weight:500;background:var(--white);color:var(--text);transition:border-color .3s ease}.sample-name-input:focus{outline:none;border-color:var(--primary)}.sample-name-input:disabled{background:var(--gray-light);color:var(--text-light);cursor:not-allowed}.sample-code{font-weight:700;font-size:1.1rem;letter-spacing:1px;min-width:80px}.sample-actions{display:flex;gap:.5rem;align-items:center}.sample-actions .btn{display:inline-block;visibility:visible;opacity:1}.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,.sample-info{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)!important;color:var(--primary)!important;border:2px solid var(--white)!important;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)}.judge-vote-page{max-width:1200px;margin:0 auto;padding:2rem}.judge-form{background:var(--white);padding:2rem;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin-bottom:2rem}.judge-name-section{margin-bottom:2rem}.judge-name-section label{display:block;margin-bottom:.5rem;font-weight:700;color:var(--text-dark)}.judge-name-section input{width:100%;padding:.75rem;border:2px solid var(--primary);border-radius:4px;font-size:1rem;transition:border-color .3s ease}.judge-name-section input:focus{outline:none;border-color:var(--primary)}.samples-scoring{margin-bottom:2rem}.samples-scoring h3{margin-bottom:1rem;color:var(--text-dark)}.sample-scoring-card{background:var(--white);padding:1rem;border-radius:8px;border:2px solid var(--primary);transition:all .3s ease}.sample-scoring-card:hover{border-color:var(--accent);transform:translateY(-2px);background:var(--gray)}.sample-code{font-size:1.5rem;font-weight:700;text-align:center;margin-bottom:1rem;color:var(--primary);background:var(--white);padding:.5rem;border-radius:4px}.score-input{display:flex;flex-direction:column;align-items:center;gap:.5rem}.score-input label{font-weight:700;color:var(--text-dark)}.score-field{width:80px;padding:.5rem;border:2px solid var(--primary);border-radius:4px;text-align:center;font-size:1.2rem;font-weight:700;transition:border-color .3s ease}.score-field:focus{outline:none;border-color:var(--primary)}.score-range{font-size:.9rem;color:var(--text-light)}.submit-btn{background:var(--primary);color:var(--white);border:none;padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;width:100%}.submit-btn:hover:not(:disabled){background:var(--accent);transform:translateY(-2px)}.submit-btn:disabled{background:var(--text-light);cursor:not-allowed;transform:none}.success-message{background:#d4edda;color:#155724;padding:1rem;border-radius:4px;border:1px solid #c3e6cb;margin:1rem 0;text-align:center;font-weight:700}.result-breakdown{font-size:.8rem;color:var(--text-light);display:block;margin-top:.25rem}.public-home{max-width:1200px;margin:0 auto;padding:2rem}.home-content{text-align:center}.home-content h2{color:var(--primary);font-size:2.5rem;margin-bottom:1rem}.home-content p{color:var(--text-dark);font-size:1.2rem;margin-bottom:3rem}.home-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.home-link{background:var(--white);border:2px solid var(--primary);border-radius:12px;padding:2rem;text-decoration:none;color:var(--text-dark);transition:all .3s ease;display:block}.home-link:hover{background:var(--primary);color:var(--white);transform:translateY(-4px);box-shadow:0 8px 25px #0000004d}.home-link h3{font-size:1.5rem;margin-bottom:1rem;color:inherit}.home-link p{font-size:1rem;margin:0;color:inherit}.home-link.admin-link{border-color:var(--accent)}.home-link.admin-link:hover{background:var(--accent)}@media (max-width: 768px){.judge-vote-page,.judge-form{padding:1rem}.samples-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem}.sample-scoring-card{padding:.5rem}.sample-code{font-size:1.2rem}.score-field{width:60px;font-size:1rem}.home-links{grid-template-columns:1fr;gap:1rem}.home-link{padding:1.5rem}}.judge-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--background);padding:2rem}.login-container{background:var(--white);padding:3rem;border-radius:12px;box-shadow:0 4px 20px #0000001a;max-width:500px;width:100%}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{color:var(--primary);margin-bottom:.5rem}.login-header p{color:var(--text-secondary);font-size:1.1rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.judge-code-input{width:100%;padding:1rem;border:2px solid var(--border);border-radius:8px;font-size:1.1rem;text-align:center;letter-spacing:.1em;text-transform:uppercase}.judge-code-input:focus{outline:none;border-color:var(--primary)}.btn-large{padding:1rem 2rem;font-size:1.1rem}.login-help{text-align:center;margin-top:2rem;color:var(--text-secondary)}.judge-evaluation{padding:2rem;max-width:1200px;margin:0 auto}.judge-header{text-align:center;margin-bottom:2rem;padding:2rem;background:var(--white);border-radius:12px;box-shadow:0 2px 10px #0000001a}.judge-header h2{color:var(--primary);margin-bottom:.5rem}.judge-header p{color:var(--text-secondary);font-size:1.1rem}.samples-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.samples-grid h3{grid-column:1 / -1;color:var(--primary);margin-bottom:1rem}.sample-card{background:var(--white);border:2px solid var(--border);border-radius:12px;padding:1.5rem;text-align:center;cursor:pointer;transition:all .3s ease}.sample-card:hover{transform:translateY(-2px);box-shadow:0 4px 15px #0000001a}.sample-card.completed{border-color:var(--success);background:var(--success-light)}.sample-card.in_progress{border-color:var(--warning);background:var(--warning-light)}.sample-code{font-size:1.5rem;font-weight:700;color:var(--primary);margin-bottom:.5rem}.sample-name{color:var(--text);margin-bottom:1rem}.sample-status .score{color:var(--success);font-weight:700}.sample-status .status{color:var(--text-secondary)}.evaluation-summary{background:var(--white);padding:1.5rem;border-radius:12px;box-shadow:0 2px 10px #0000001a;text-align:center}.evaluation-summary h3{color:var(--primary);margin-bottom:1rem}.sample-evaluation-form{max-width:800px;margin:0 auto;background:var(--white);border-radius:12px;padding:2rem;box-shadow:0 4px 20px #0000001a}.form-header{text-align:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--border)}.form-header h2{color:var(--primary);margin-bottom:.5rem}.evaluation-categories{display:flex;flex-direction:column;gap:2rem}.evaluation-category{border:2px solid var(--border);border-radius:12px;padding:1.5rem}.evaluation-category h3{color:var(--primary);margin-bottom:1rem;text-align:center}.tags-section{margin-bottom:1.5rem}.tags-section h4{color:var(--text);margin-bottom:1rem}.tags-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.5rem}.tag-button{padding:.5rem 1rem;border:2px solid var(--border);background:var(--white);color:var(--text);border-radius:20px;cursor:pointer;transition:all .3s ease;font-size:.9rem;text-align:center}.tag-button:hover{border-color:var(--primary);color:var(--primary)}.score-section{display:flex;align-items:center;gap:1rem}.score-section label{font-weight:700;color:var(--text);min-width:120px}.score-input{width:100px;padding:.5rem;border:2px solid var(--border);border-radius:8px;text-align:center;font-size:1.1rem}.score-input:focus{outline:none;border-color:var(--primary)}.form-footer{margin-top:2rem;padding-top:1rem;border-top:2px solid var(--border);display:flex;justify-content:space-between;align-items:center}.total-score{font-size:1.2rem;color:var(--primary)}.form-actions{display:flex;gap:1rem}.judges-management{background:var(--white);border-radius:12px;padding:2rem;box-shadow:0 2px 10px #0000001a;margin-bottom:2rem}.judges-management h3{color:var(--primary);margin-bottom:1.5rem}.add-judge-form{display:flex;gap:1rem;align-items:end;margin-bottom:2rem;padding:1.5rem;background:var(--background);border-radius:8px}.form-group{flex:1}.form-group label{display:block;margin-bottom:.5rem;font-weight:700;color:var(--text)}.form-group input{width:100%;padding:.75rem;border:2px solid var(--border);border-radius:8px;font-size:1rem}.form-group input:focus{outline:none;border-color:var(--primary)}.judges-list h4{color:var(--primary);margin-bottom:1rem}.judges-table{overflow-x:auto}.judges-table table{width:100%;border-collapse:collapse}.judges-table th,.judges-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--border)}.judges-table th{background:var(--background);font-weight:700;color:var(--primary)}.judge-code{background:var(--background);padding:.25rem .5rem;border-radius:4px;font-family:monospace;font-size:.9rem}.btn-sm{padding:.5rem 1rem;font-size:.9rem}@media (max-width: 768px){.samples-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.tags-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.add-judge-form{flex-direction:column;align-items:stretch}.form-footer{flex-direction:column;gap:1rem}.form-actions{width:100%;justify-content:center}.score-section{flex-direction:column;align-items:flex-start;gap:.5rem}.score-section label{min-width:auto}}.results-category{margin-bottom:2rem;background:var(--white);border-radius:12px;padding:1.5rem;box-shadow:0 2px 10px #0000001a}.results-category h4{color:var(--primary);margin-bottom:1rem;font-size:1.2rem;display:flex;align-items:center;gap:.5rem}.results-category .results-list{display:flex;flex-direction:column;gap:.5rem}.results-category .result-item{display:grid;grid-template-columns:40px 60px 1fr auto auto;gap:1rem;align-items:center;padding:.75rem;background:var(--background);border-radius:8px;border-left:4px solid var(--primary)}.results-category .result-position{font-weight:700;color:var(--primary);font-size:1.1rem}.results-category .result-code{font-family:monospace;font-weight:700;color:var(--text);background:var(--white);padding:.25rem .5rem;border-radius:4px;text-align:center}.results-category .result-name{color:var(--text);font-weight:500}.results-category .result-points{color:var(--primary);font-weight:700;text-align:right}.results-category .result-breakdown{display:block;font-size:.9rem;color:var(--text-secondary);font-weight:400;margin-top:.25rem}.results-category .result-votes{color:var(--text-secondary);font-size:.9rem;text-align:right}@media (max-width: 768px){.results-category .result-item{grid-template-columns:1fr;gap:.5rem;text-align:center}.results-category .result-position{order:1}.results-category .result-code{order:2}.results-category .result-name{order:3}.results-category .result-points{order:4;text-align:center}.results-category .result-votes{order:5;text-align:center}}.sample-code-container{display:flex;align-items:center;gap:.5rem}.code-reveal-btn{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:.25rem;border-radius:4px;transition:all .3s ease;opacity:.7}.code-reveal-btn:hover{opacity:1;background:var(--background);transform:scale(1.1)}.sample-code.revealed{color:var(--primary)!important;background:var(--success-light)!important;border:2px solid var(--success)!important;animation:revealCode .3s ease-in-out}@keyframes revealCode{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.sample-evaluation-form{padding:1rem;max-width:100%;margin:0 auto;width:100%!important;box-sizing:border-box!important;overflow:hidden!important}.sample-card{background:var(--white);border:2px solid var(--gray);border-radius:8px;padding:1rem;cursor:pointer;transition:all .3s ease;text-align:center}.sample-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.sample-card.not_started{background:var(--white);border-color:var(--gray)}.sample-card.in_progress{background:#e7f3ff;border-color:#007bff}.sample-card.in_progress:hover{border-color:#007bff;background:#d1ecf1}.sample-card.completed{background:#d4edda;border-color:#28a745}.sample-card.completed:hover{border-color:#28a745;background:#c3e6cb}.sample-card.finalized{cursor:not-allowed;opacity:.8;position:relative}.sample-card.finalized:hover{transform:none;box-shadow:none;border-color:#28a745;background:#d4edda}.sample-card.finalized:after{content:"🔒";position:absolute;top:.5rem;right:.5rem;font-size:1.2rem}.sample-code{font-size:1.2rem;font-weight:700;color:var(--primary);margin-bottom:.5rem}.sample-status{font-size:.9rem}.sample-status .score{color:#28a745;font-weight:700}.sample-status .finalized-score{color:#28a745;font-weight:700;font-style:italic}.sample-status .status{color:var(--text-light)}.judge-status{font-weight:700;margin-top:.5rem;padding:.5rem;border-radius:4px;background:var(--gray)}.finalize-section{margin-top:1rem;padding:1rem;background:var(--white);border:2px solid var(--primary);border-radius:8px;text-align:center}.finalize-info{margin-bottom:1rem;font-weight:700;color:var(--text)}.btn-finalize{background:var(--primary);color:var(--white);border:none;padding:1rem 2rem;border-radius:6px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;min-width:200px}.btn-finalize:hover:not(:disabled){background:var(--secondary);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.btn-finalize:disabled{background:var(--gray);color:var(--text-light);cursor:not-allowed;opacity:.6}.finalize-warning{padding:1rem;background:#fff3cd;border:2px solid #ffc107;border-radius:6px;text-align:center}.finalize-warning p{margin:.5rem 0;font-weight:700;color:#856404}.finalize-warning p:first-child{font-size:1.1rem}.finalize-ready{color:#28a745;font-weight:700;margin-bottom:1rem;font-size:1.1rem}.judge-actions{display:flex;gap:.5rem;align-items:center}.btn-info{background:transparent;color:var(--text);border:1px solid var(--gray);padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:.875rem}.btn-info:hover{background:var(--gray);color:var(--white)}.judge-evaluations-modal{margin-top:2rem;background:var(--white);border:2px solid var(--primary);border-radius:8px;padding:1.5rem}.evaluations-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--gray)}.evaluations-header h4{margin:0;color:var(--primary)}.evaluations-table{overflow-x:auto}.evaluations-table table{width:100%;border-collapse:collapse;font-size:.9rem}.evaluations-table th,.evaluations-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--gray)}.evaluations-table th{background:var(--gray);font-weight:700;color:var(--primary)}.position{display:block;font-size:.8rem;color:var(--text-light);margin-top:.25rem}.score.completed{color:#28a745;font-weight:700}.score.pending{color:#ffc107;font-weight:700}.status.completed{color:#28a745;font-weight:700}.status.pending{color:#ffc107;font-weight:700}.category-score{display:flex;flex-direction:column;gap:.25rem}.category-score .score{font-weight:700;color:var(--primary)}.tags{display:flex;flex-wrap:wrap;gap:.25rem}.tag{background:var(--gray);color:var(--text);padding:.125rem .375rem;border-radius:12px;font-size:.75rem;white-space:nowrap}.input-group{display:flex;gap:.5rem;align-items:center}.judge-code-input{flex:1}.btn-scanner{background:#17a2b8;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .3s ease;white-space:nowrap}.btn-scanner:hover{background:#138496}.btn-scanner.active{background:#dc3545}.btn-scanner.active:hover{background:#c82333}.btn-scanner.disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.btn-scanner.disabled:hover{background:#6c757d}.qr-scanner-container{margin-top:2rem;background:var(--white);border:2px solid var(--primary);border-radius:8px;padding:1.5rem}.scanner-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--gray)}.scanner-header h3{margin:0;color:var(--primary)}.scanner-video{position:relative;width:100%;max-width:400px;margin:0 auto 1rem;border-radius:8px;overflow:hidden;background:#000}.scanner-video-element{width:100%;height:300px;object-fit:cover;display:block}.scanner-instructions{text-align:center;color:var(--text-light);font-size:.9rem}.scanner-instructions p{margin:0 0 .5rem}.scanner-instructions ul{margin:.5rem 0 0;padding-left:1.5rem;text-align:left}.scanner-instructions li{margin:.25rem 0;font-size:.9rem}.scanner-error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24;padding:.75rem;border-radius:.375rem;margin-top:.5rem}.scanner-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;display:flex;align-items:center;justify-content:center}.scanner-frame{width:200px;height:200px;border:2px solid #17a2b8;border-radius:8px;position:relative;box-shadow:0 0 0 9999px #0000004d}.scanner-frame:before,.scanner-frame:after{content:"";position:absolute;width:20px;height:20px;border:3px solid #17a2b8}.scanner-frame:before{top:-3px;left:-3px;border-right:none;border-bottom:none}.scanner-frame:after{bottom:-3px;right:-3px;border-left:none;border-top:none}.scanner-status{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10}.scanner-loading{background:#000c;color:#fff;padding:1rem 2rem;border-radius:8px;font-size:.9rem;text-align:center;animation:pulse 1.5s ease-in-out infinite;transition:opacity .3s ease-out}.scanner-loading.hidden{opacity:0;pointer-events:none;display:none!important}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}.qr-scanner-modal{max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.qr-scanner-modal .scanner-video{position:relative;width:100%;max-width:400px;margin:0 auto 1rem;border-radius:8px;overflow:hidden;background:#000}.qr-scanner-modal .scanner-video-element{width:100%;height:300px;object-fit:cover;display:block}.qr-scanner-modal .scanner-instructions{text-align:center;color:var(--text-light);font-size:.9rem;margin-top:1rem}.qr-scanner-modal .scanner-instructions p{margin:0 0 .5rem;font-weight:600}.qr-scanner-modal .scanner-instructions ul{margin:.5rem 0 0;padding-left:1.5rem;text-align:left}.qr-scanner-modal .scanner-instructions li{margin:.25rem 0;font-size:.9rem}@media (max-width: 768px){.qr-scanner-modal{width:95%;max-width:none}.qr-scanner-modal .scanner-video{max-width:100%}.qr-scanner-modal .scanner-video-element{height:250px}.qr-scanner-modal .scanner-frame{width:150px;height:150px}.qr-scanner-modal .scanner-instructions ul{padding-left:1rem}.qr-scanner-modal .scanner-instructions li{font-size:.85rem}}@media (max-width: 768px){.input-group{flex-direction:column;gap:.75rem}.btn-scanner{width:100%;padding:.75rem}.scanner-video{max-width:100%}.scanner-video-element{height:250px}.scanner-frame{width:150px;height:150px}.scanner-instructions ul{padding-left:1rem}.scanner-instructions li{font-size:.85rem}}.evaluation-categories{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.evaluation-category{background:var(--white);border:1px solid var(--gray);border-radius:8px;padding:1rem;box-shadow:0 2px 4px #0000001a}.evaluation-category h3{margin:0 0 1rem;color:var(--primary);font-size:1.1rem;font-weight:700}.tags-section{margin-bottom:1rem}.tags-section h4{margin:0 0 .5rem;font-size:.9rem;color:var(--text-light)}.tags-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;margin-bottom:1rem}.tag-button{padding:.5rem .75rem;border:1px solid var(--gray);background:var(--white);color:var(--text);border-radius:6px;cursor:pointer;font-size:.8rem;transition:all .3s ease;text-align:center;min-height:40px;display:flex;align-items:center;justify-content:center}.tag-button:hover{background:var(--gray);border-color:var(--primary)}.tag-button.selected{background:var(--primary);color:var(--white);border-color:var(--primary)}.score-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--gray);display:flex!important;flex-direction:column!important}.score-display{display:block!important;margin-bottom:.5rem!important;font-weight:700!important;color:var(--primary)!important;font-size:1.1rem!important;text-align:center!important;padding:.5rem!important;background:var(--gray)!important;border-radius:6px!important;border:2px solid var(--primary)!important;width:100%!important;box-sizing:border-box!important;flex-shrink:0!important;overflow:hidden!important}.score-slider{width:100%;height:12px;border-radius:6px;background:var(--gray);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:.5rem 0;cursor:pointer}.score-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:var(--primary);cursor:pointer;border:3px solid var(--white);box-shadow:0 2px 6px #0000004d;transition:all .2s ease}.score-slider::-webkit-slider-thumb:hover{background:var(--secondary);transform:scale(1.1)}.score-slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--primary);cursor:pointer;border:3px solid var(--white);box-shadow:0 2px 6px #0000004d;transition:all .2s ease}.score-slider::-moz-range-thumb:hover{background:var(--secondary);transform:scale(1.1)}.form-footer{background:var(--white);border-top:2px solid var(--primary);padding:1.5rem;margin-top:2rem;border-radius:8px;box-shadow:0 -2px 8px #0000001a}.total-score{text-align:center;margin-bottom:1.5rem;padding:1rem;background:var(--gray);border-radius:8px;font-size:1.2rem;color:var(--primary)}.form-actions{display:flex;gap:1rem;justify-content:center}.form-actions button{flex:1;max-width:150px;padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:700;cursor:pointer;transition:all .3s ease;font-size:1rem}.btn-primary{background:var(--primary);color:var(--white)}.btn-primary:hover{background:var(--secondary);transform:translateY(-2px)}.btn-success{background:#27ae60;color:var(--white);border:2px solid #27ae60;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.btn-success:hover{background:#229954;border-color:#229954}.judges-actions{display:flex;gap:1rem;flex-wrap:wrap;margin:1rem 0}.judges-actions .btn{padding:.5rem 1rem;border-radius:4px;border:1px solid var(--primary);background:var(--white);color:var(--primary);cursor:pointer;transition:all .3s ease}.judges-actions .btn:hover:not(:disabled){background:var(--primary);color:var(--white)}.judges-actions .btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--gray);color:var(--text);border:1px solid var(--text-light);padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.btn-secondary:hover{background:var(--text-light);color:var(--white)}@media (max-width: 768px){.sample-evaluation-form{padding:.5rem}.evaluation-category{padding:.75rem}.tags-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.4rem}.tag-button{padding:.4rem .6rem;font-size:.75rem;min-height:36px}.form-footer{padding:1rem}.form-actions{flex-direction:column;gap:.75rem}.form-actions button{max-width:none;padding:1rem}.total-score{font-size:1.1rem;padding:.75rem}}@media (max-width: 768px){.competition-admin-page,.limited-admin-page{padding:.5rem}.section-navigation{flex-direction:column;gap:.5rem}.section-btn{width:100%;padding:1rem;font-size:1rem;text-align:center}.results-controls{flex-direction:column;gap:.75rem;padding:.75rem}.results-controls button{width:100%;padding:1rem;font-size:1rem}.samples-grid{grid-template-columns:1fr;gap:.75rem}.sample-card{padding:1rem;margin:0}.sample-actions{flex-direction:column;gap:.5rem;margin-top:.75rem}.sample-actions button{width:100%;padding:.75rem}.judge-evaluation{padding:.75rem;margin-bottom:.75rem}.judge-header{flex-direction:column;align-items:flex-start;gap:.5rem}.judge-header h4{font-size:1.1rem}.total-score{align-self:flex-end;font-size:1rem;padding:.5rem .75rem}.categories{grid-template-columns:1fr;gap:.75rem}.category{padding:.75rem}.category-header{flex-direction:column;align-items:flex-start;gap:.25rem}.category-tags{margin-top:.5rem;gap:.25rem}.category .tag{font-size:.7rem;padding:.2rem .4rem}.judge-details-modal .modal-content{margin:.5rem;max-height:95vh;width:calc(100vw - 1rem)}.modal-header{padding:1rem;flex-direction:column;align-items:flex-start;gap:.5rem}.modal-header h3{font-size:1.2rem;text-align:center;width:100%}.btn-close{align-self:flex-end;font-size:1.5rem;padding:.5rem}.judge-details-content{padding:1rem}.stats-section{padding:.75rem}.stats-grid{grid-template-columns:1fr;gap:.75rem}.stat-item{padding:.75rem;text-align:center}.stat-label{font-size:.9rem}.stat-value{font-size:1.1rem}.results-category{margin-bottom:1.5rem}.results-category h3,.results-category h4{font-size:1.2rem;text-align:center;margin-bottom:1rem}.result-item{padding:.75rem;margin-bottom:.5rem;flex-direction:column;align-items:flex-start;gap:.5rem}.result-position{font-size:1.2rem;font-weight:700;align-self:center}.result-info{width:100%;text-align:center}.result-code{font-size:1.1rem;font-weight:700}.result-name{font-size:1rem;margin-top:.25rem}.result-score,.result-points,.result-votes{font-size:.9rem;text-align:center;width:100%}.add-sample{flex-direction:column;gap:.75rem}.add-sample input,.add-sample button{width:100%;padding:.75rem;font-size:1rem}.message{padding:.75rem;font-size:.9rem;text-align:center}}
