*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-height:100vh;padding:20px}.navBar{display:flex;gap:15px;margin-bottom:20px;justify-content:center;flex-wrap:wrap}.navLink{padding:10px 20px;background:white;color:#667eea;text-decoration:none;border-radius:8px;font-weight:600;transition:all .3s;box-shadow:0 4px 12px #0000001a}.navLink:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000026;background:#f0f0f0}.container{padding:20px;color:#333;max-width:1400px;margin:0 auto}.section{background:#fff;border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 4px 6px #0000001a}.section h2{margin-bottom:15px;color:#333}.addPlayerForm{display:flex;gap:10px;margin-bottom:20px}.input{flex:1;padding:12px;border:2px solid #ddd;border-radius:8px;font-size:16px;transition:border-color .3s}.input:disabled{background-color:#f0f0f0;cursor:not-allowed}.button{padding:12px 20px;border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:700;transition:transform .2s,opacity .2s}.button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px #0003}.button:disabled{opacity:.6;cursor:not-allowed}.primaryBtn{background:#4CAF50;color:#fff}.dangerBtn{background:#f44336;color:#fff}.deleteBtn{background:#ff6b6b;color:#fff;padding:8px 12px;font-size:14px}.announceBtn{background:#2196F3;color:#fff;padding:15px 30px;font-size:18px}.winBtn{background:#FFD700;color:#000}.playersList{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-bottom:20px}.playerCard{display:flex;flex-direction:column;gap:15px;padding:25px;border:2px solid #ddd;border-radius:12px;background:#f9f9f9;transition:all .3s;min-height:180px}.playerCard.first5{background:#fff9e6;border-color:gold;border-width:3px;box-shadow:0 0 15px #ffd7004d}.playerInfo{flex:1}.playerInfo strong{display:block;font-size:18px;margin-bottom:12px;color:#333}.tokens{margin-bottom:10px;font-size:16px;color:#555;font-weight:500}.tokens span{font-size:18px;margin-left:5px}.playerActions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tokens{margin-top:8px;font-size:14px;color:#666}.tokenPositive{color:#4caf50;font-weight:700}.tokenNegative{color:#f44336;font-weight:700}.controls{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.announcerSection{display:flex;align-items:center;gap:30px;margin-bottom:20px;justify-content:center;flex-wrap:wrap}.announcedDisplay{text-align:center;padding:20px;background:#f0f0f0;border-radius:12px;min-width:150px}.announcedTitle{font-size:14px;color:#666;margin-bottom:10px}.lastNumber{font-size:48px;font-weight:700;color:#2196f3;margin:10px 0}.placeholderNumber{font-size:48px;font-weight:700;color:#ccc;margin:10px 0}.announcedCount{font-size:14px;color:#666;margin-top:10px}.announcedNumbers{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:15px}.announcedNumberBadge{background:#2196F3;color:#fff;padding:6px 10px;border-radius:6px;font-size:14px;font-weight:700}.ticketsContainer{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:20px}.ticketSection{padding:15px;background:#f9f9f9;border-radius:8px;border:2px solid #ddd}.playerName{text-align:center;margin-bottom:15px;color:#333}.numberGrid{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;margin-bottom:15px}.numberButton{padding:8px;border:2px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;font-weight:700;background:#fff;color:#333;transition:all .2s}.numberButton:hover:not(:disabled){background:#e3f2fd;border-color:#2196f3}.numberButtonMarked{background:#4CAF50;color:#fff;border-color:#4caf50}.numberButtonDisabled{background:#e0e0e0;color:#999;cursor:not-allowed;opacity:.6}.ticketActions{display:flex;justify-content:space-between;align-items:center;margin-top:15px;padding:10px;background:#fff;border-radius:6px}.markedCount{font-size:14px;font-weight:700;color:#666}.winnerBadge{font-size:12px;color:gold;margin-top:5px;font-weight:700}.first5Badge{font-size:12px;color:#ff9800;margin-top:5px;font-weight:700}.first5Btn{background:#FF9800;color:#fff;padding:8px 12px;font-size:12px}.first5Btn.active{background:#4CAF50}.infoBtn{background:#2196F3;color:#fff}.numberMatrix{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:15px;margin-top:20px}.matrixColumn{display:flex;flex-direction:column;gap:5px}.columnHeader{background:#2196F3;color:#fff;padding:8px;border-radius:4px;font-weight:700;font-size:12px;text-align:center}.matrixNumber{border:2px solid #ddd;padding:12px;text-align:center;font-weight:700;border-radius:6px;background:#fff;color:#333;transition:all .2s}.matrixNumber.announced{background:#4CAF50;color:#fff;border-color:#4caf50;font-weight:700}.winnerSection{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.winnerSection select{flex:1;min-width:200px}.announcementDisplay{background:#f5f5f5;padding:15px;border-radius:8px;margin-bottom:20px}.announcementTitle{font-weight:700;color:#333;margin-bottom:10px;font-size:14px}.sequentialNumbers{display:flex;gap:8px;overflow-x:auto;padding:10px;background:white;border-radius:6px;border:2px solid #ddd;min-height:50px;align-items:center}.sequentialNumbers::-webkit-scrollbar{height:6px}.sequentialNumbers::-webkit-scrollbar-track{background:#f1f1f1}.sequentialNumbers::-webkit-scrollbar-thumb{background:#2196F3;border-radius:3px}.sequentialNumber{display:flex;align-items:center;justify-content:center;background:#2196F3;color:#fff;padding:8px 14px;border-radius:6px;font-weight:700;min-width:50px;flex-shrink:0}.placeholderSequence{color:#999;font-size:14px}.announceControls{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.autoAnnounceSection{display:flex;gap:10px;align-items:center;background:#f9f9f9;padding:10px 15px;border-radius:8px;border:1px solid #ddd}.autoAnnounceSection label{font-weight:700;color:#333;font-size:14px}.intervalSelect{padding:8px 12px;border:2px solid #ddd;border-radius:6px;font-size:14px;cursor:pointer;background:white;color:#333}.intervalSelect:disabled{background-color:#f0f0f0;cursor:not-allowed;opacity:.6}.playBtn{background:#4CAF50;color:#fff}.pauseBtn{background:#FF9800;color:#fff}.winnerInfo{background:#e3f2fd;padding:12px;border-radius:6px;border-left:4px solid #2196F3;margin-bottom:15px}.imageBucketContainer{max-width:1200px;margin:0 auto;padding:20px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.title{text-align:center;color:#fff;font-size:2.5em;margin-bottom:30px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.section{background:white;border-radius:12px;padding:25px;margin-bottom:25px;box-shadow:0 8px 32px #0000001a}.section h2{color:#333;margin-top:0;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.refreshBtn{background:none;border:none;font-size:1.2em;cursor:pointer;padding:5px 10px;border-radius:4px;transition:background .2s}.refreshBtn:hover{background:rgba(102,126,234,.1)}.uploadForm{display:flex;flex-direction:column;gap:15px}.fileInput{padding:10px;border:2px dashed #667eea;border-radius:8px;cursor:pointer;background:#f8f9ff;transition:all .3s}.fileInput:hover{border-color:#764ba2;background:#f0f2ff}.fileInput:disabled{opacity:.5;cursor:not-allowed}.selectedFileInfo{padding:12px;background:#e8f5e9;border-left:4px solid #4caf50;border-radius:4px;color:#2e7d32;font-size:.95em}.uploadBtn{padding:12px 24px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.uploadBtn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.uploadBtn:disabled{opacity:.5;cursor:not-allowed}.errorMessage{background:#ffebee;border-left:4px solid #f44336;color:#c62828;padding:15px;border-radius:4px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.closeError{background:none;border:none;font-size:1.5em;cursor:pointer;color:#c62828;padding:0;width:30px;height:30px}.gallerySection{min-height:400px}.loadingMessage,.emptyState{text-align:center;padding:40px;color:#666;font-size:1.1em}.emptyState{background:#f5f5f5;border-radius:8px}.imageGallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.imageCard{border:1px solid #e0e0e0;border-radius:12px;overflow:hidden;background:white;transition:all .3s;display:flex;flex-direction:column;box-shadow:0 4px 12px #0000001a}.imageCard:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.imageCard.deleteConfirm{border-color:#f44336;background:#ffebee}.imagePreview{width:100%;height:200px;background:#f5f5f5;overflow:hidden;display:flex;align-items:center;justify-content:center}.imagePreview img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.imagePreview video{width:100%;height:100%;object-fit:cover}.imagePreview.videoPreview{position:relative;background:#000}.videoBadge{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.7);color:#fff;padding:6px 12px;border-radius:4px;font-size:.75em;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.imageCard:hover .imagePreview img{transform:scale(1.05)}.imageInfo{padding:15px;flex:1;display:flex;flex-direction:column}.imageName{font-weight:600;color:#333;margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all;font-size:.95em}.imageMetadata{display:flex;flex-direction:column;gap:5px;font-size:.85em;color:#666}.metaItem{display:flex;align-items:center;gap:5px}.imageActions{padding:12px 15px;background:#f9f9f9;border-top:1px solid #e0e0e0;display:flex;gap:8px;flex-wrap:wrap}.imageCard.deleteConfirm .imageActions{background:#fff3e0}.button{padding:8px 12px;border:none;border-radius:6px;font-size:.85em;font-weight:500;cursor:pointer;transition:all .2s;flex:1;white-space:nowrap;min-width:80px}.viewBtn{background:#e3f2fd;color:#1976d2;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:5px}.viewBtn:hover{background:#bbdefb}.deleteBtn{background:#ffebee;color:#d32f2f}.deleteBtn:hover{background:#ef5350;color:#fff}.confirmDeleteBtn{background:#f44336;color:#fff;flex:1.5}.confirmDeleteBtn:hover{background:#d32f2f}.cancelDeleteBtn{background:#9e9e9e;color:#fff}.cancelDeleteBtn:hover{background:#616161}@media (max-width: 768px){.imageBucketContainer{padding:10px}.title{font-size:1.8em;margin-bottom:20px}.section{padding:15px;margin-bottom:15px}.imageGallery{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.imagePreview{height:150px}.button{padding:6px 10px;font-size:.8em;min-width:60px}}@media (max-width: 480px){.imageGallery{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.imageActions{flex-direction:column}.button{width:100%}}.passwordProtectedContainer{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:20px}.passwordForm{background:white;border-radius:16px;padding:40px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:400px;text-align:center}.passwordForm h1{color:#333;margin-bottom:10px;font-size:2em}.subtitle{color:#666;margin-bottom:30px;font-size:1em}.inputGroup{margin-bottom:20px}.passwordInput{width:100%;padding:14px;font-size:1em;border:2px solid #e0e0e0;border-radius:8px;transition:all .3s;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.passwordInput:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.passwordInput.error{border-color:#f44336}.errorMessage{color:#f44336;margin-bottom:20px;padding:12px;background:#ffebee;border-radius:6px;font-size:.95em}.submitButton{width:100%;padding:14px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer;transition:all .3s}.submitButton:hover{transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.submitButton:active{transform:translateY(0)}.authHeader{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:15px 20px;border-radius:8px 8px 0 0;margin-bottom:0}.authBadge{color:#fff;font-weight:600;font-size:.95em;display:flex;align-items:center;gap:8px}.logoutButton{padding:8px 16px;background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:6px;font-size:.85em;font-weight:500;cursor:pointer;transition:all .3s}.logoutButton:hover{background:rgba(255,255,255,.3);border-color:#fff9}@media (max-width: 480px){.passwordForm{padding:30px 20px}.passwordForm h1{font-size:1.5em}.passwordInput,.submitButton{padding:12px;font-size:.95em}}
