.tournaments-page{min-height:100vh;background:#f9fafb;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.tournaments-page .loading-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f9fafb}.tournaments-page .loading-spinner{width:8rem;height:8rem;border:4px solid #e5e7eb;border-top-color:#10b981;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.tournaments-page .page-header{background:white;box-shadow:0 1px 3px rgba(0,0,0,.1);border-bottom:1px solid #e5e7eb}.tournaments-page .header-container{max-width:1280px;margin:0 auto;padding:0 1rem;display:flex;height:7rem;position:relative;align-items:center}@media (min-width:640px){.tournaments-page .header-container{padding:0 1.5rem}}@media (min-width:1024px){.tournaments-page .header-container{padding:0 2rem}}.tournaments-page .header-content{display:flex;justify-content:space-between;align-items:center;height:4rem}.tournaments-page .header-title h1{font-size:1.5rem;font-weight:700;color:#111827;margin:0;line-height:1.2}.tournaments-page .header-title p{color:#6b7280;font-size:.875rem;margin:.25rem 0 0}.tournaments-page .create-btn{background:#10b981;color:white;padding:.5rem 1rem;border-radius:.5rem;text-decoration:none;font-size:.875rem;font-weight:500;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem;border:none;cursor:pointer}.tournaments-page .create-btn:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px rgba(16,185,129,.3)}.tournaments-page .create-btn-icon{width:1rem;height:1rem}.tournaments-page .content-wrapper{max-width:1280px;margin:0 auto;padding:2rem 1rem}@media (min-width:640px){.tournaments-page .content-wrapper{padding:2rem 1.5rem}}@media (min-width:1024px){.tournaments-page .content-wrapper{padding:2rem}}.tournaments-page .filters-section{background:white;border-radius:.75rem;box-shadow:0 1px 3px rgba(0,0,0,.1);padding:1.5rem;margin-bottom:2rem}.tournaments-page .filters-container{display:flex;flex-direction:column;gap:1rem}@media (min-width:768px){.tournaments-page .filters-container{flex-direction:row}}.tournaments-page .search-wrapper{flex:1}.tournaments-page .search-container{position:relative}.tournaments-page .search-icon{position:absolute;top:50%;left:.75rem;transform:translateY(-50%);width:1.25rem;height:1.25rem;color:#9ca3af;pointer-events:none}.tournaments-page .search-input{display:block;width:100%;padding:.5rem .75rem .5rem 2.5rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;transition:all .2s ease}.tournaments-page .search-input:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.1)}.tournaments-page .filter-wrapper{display:flex;align-items:center;gap:.5rem}.tournaments-page .filter-icon{width:1.25rem;height:1.25rem;color:#9ca3af}.tournaments-page .filter-select{border:1px solid #d1d5db;border-radius:.5rem;padding:.5rem .75rem;font-size:.875rem;cursor:pointer;transition:all .2s ease;background:white}.tournaments-page .filter-select:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,.1)}.tournaments-page .tournaments-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width:768px){.tournaments-page .tournaments-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.tournaments-page .tournaments-grid{grid-template-columns:repeat(3,1fr)}}.tournaments-page .tournament-card{background:white;border-radius:.75rem;box-shadow:0 1px 3px rgba(0,0,0,.1);transition:all .3s ease;overflow:hidden}.tournaments-page .tournament-card:hover{box-shadow:0 10px 25px rgba(0,0,0,.15);transform:translateY(-2px)}.tournaments-page .card-content{padding:1.5rem}.tournaments-page .card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem}.tournaments-page .card-title-wrapper{display:flex;align-items:center;gap:.75rem}.tournaments-page .card-icon-wrapper{width:3rem;height:3rem;background:linear-gradient(135deg,#10b981,#14b8a6);border-radius:.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tournaments-page .card-icon{width:1.5rem;height:1.5rem;color:white}.tournaments-page .card-title-info h3{font-size:1.125rem;font-weight:600;color:#111827;margin:0;line-height:1.3}.tournaments-page .card-title-info p{font-size:.875rem;color:#6b7280;margin:.25rem 0 0}.tournaments-page .status-badge{display:inline-flex;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:9999px;white-space:nowrap}.tournaments-page .status-badge.upcoming{background:#dbeafe;color:#10b981}.tournaments-page .status-badge.ongoing{background:#d1fae5;color:#065f46}.tournaments-page .status-badge.completed{background:#f3f4f6;color:#374151}.tournaments-page .card-description{color:#6b7280;font-size:.875rem;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.tournaments-page .card-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}.tournaments-page .info-item{display:flex;align-items:center;gap:.5rem}.tournaments-page .info-icon{width:1rem;height:1rem;color:#9ca3af;flex-shrink:0}.tournaments-page .info-text{font-size:.875rem;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tournaments-page .prize-box{background:#fef3c7;border:1px solid #fde68a;border-radius:.5rem;padding:.75rem;margin-bottom:1rem}.tournaments-page .prize-content{display:flex;align-items:center;gap:.5rem}.tournaments-page .prize-icon{width:1rem;height:1rem;color:#d97706;flex-shrink:0}.tournaments-page .prize-text{font-size:.875rem;font-weight:500;color:#92400e}.tournaments-page .card-actions{display:flex;gap:.5rem}.tournaments-page .btn-details{flex:1;background:#10b981;color:white;text-align:center;padding:.5rem 1rem;border-radius:.5rem;text-decoration:none;font-weight:500;font-size:.875rem;transition:all .2s ease;display:inline-block}.tournaments-page .btn-details:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px rgba(16,185,129,.3)}.tournaments-page .btn-join{flex:1;border:1px solid #10b981;color:#10b981;padding:.5rem 1rem;border-radius:.5rem;background:white;font-weight:500;font-size:.875rem;transition:all .2s ease;cursor:pointer}.tournaments-page .btn-join:hover{background:#ecfdf5;border-color:#059669;color:#059669}.tournaments-page .btn-join.success{background:linear-gradient(135deg,#10b981,#059669);color:white;border:none;box-shadow:0 2px 8px rgba(16,185,129,.3);cursor:default}.tournaments-page .btn-join.success:disabled{opacity:1;cursor:default}.tournaments-page .empty-state{text-align:center;padding:3rem 1rem}.tournaments-page .empty-icon{width:4rem;height:4rem;color:#9ca3af;margin:0 auto 1rem}.tournaments-page .empty-title{font-size:1.25rem;font-weight:600;color:#111827;margin-bottom:.5rem}.tournaments-page .empty-description{color:#6b7280;margin-bottom:1.5rem;line-height:1.5}.tournaments-page .empty-action{display:inline-flex;align-items:center;gap:.5rem;background:#10b981;color:white;padding:.75rem 1.5rem;border-radius:.5rem;text-decoration:none;font-weight:500;transition:all .2s ease}.tournaments-page .empty-action:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px rgba(16,185,129,.3)}.tournaments-page .empty-action-icon{width:1.25rem;height:1.25rem}@media (max-width:768px){.tournaments-page .header-content{flex-direction:column;height:auto;padding:1rem 0;gap:1rem;align-items:flex-start}.tournaments-page .create-btn{width:100%;justify-content:center}.tournaments-page .card-content,.tournaments-page .content-wrapper,.tournaments-page .filters-section{padding:1rem}.tournaments-page .card-actions{flex-direction:column}.tournaments-page .btn-details,.tournaments-page .btn-join{width:100%}}@media (max-width:480px){.tournaments-page .header-title h1{font-size:1.25rem}.tournaments-page .card-title-wrapper{flex-direction:column;align-items:flex-start}.tournaments-page .card-info-grid{grid-template-columns:1fr}}