.layout{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary)}.header-wrap{padding:16px 24px 0;position:sticky;top:0;z-index:100}.header{background:#fff;border-radius:10px;height:65px;display:flex;align-items:center;justify-content:space-between;padding:0 20px 0 12px;box-shadow:0 2px 12px #00000014}[data-theme=dark] .header{background:#0e0e16;box-shadow:0 2px 12px #00000080}.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);min-width:0}.logo:hover{text-decoration:none;color:var(--text)}.logo-img{height:52px;width:auto;display:block;flex-shrink:0}.logo-text{font-family:Outfit,sans-serif;font-size:20px;font-weight:700;color:#000;white-space:nowrap}[data-theme=dark] .logo-text{color:#f0e0e0}.nav{display:flex;align-items:center;gap:28px}.nav-link{font-family:Outfit,sans-serif;font-size:20px;font-weight:400;color:#000;text-decoration:none;white-space:nowrap;transition:color .15s}.nav-link:hover{color:var(--color-blue);text-decoration:none}[data-theme=dark] .nav-link{color:#f0e0e0}.nav-register{font-size:.9rem}.avatar-menu{position:relative}.avatar-btn{width:44px;height:44px;border-radius:50%;border:none;padding:0;cursor:pointer;overflow:hidden;background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;transition:box-shadow .15s}.avatar-btn:hover{box-shadow:0 0 0 3px #0000001f}.avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-placeholder{width:100%;height:100%;background:var(--color-blue);color:#fff;font-family:Outfit,sans-serif;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;border-radius:50%}.avatar-dropdown{position:absolute;top:calc(100% + 10px);right:0;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #0000001f;min-width:160px;overflow:hidden;display:flex;flex-direction:column}.dropdown-item{padding:.75rem 1.1rem;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:500;color:var(--text);text-decoration:none;background:none;border:none;cursor:pointer;text-align:left;transition:background .12s;min-height:44px;display:flex;align-items:center}.dropdown-item:hover{background:var(--bg-elevated);text-decoration:none;color:var(--text)}.dropdown-item-danger,.dropdown-item-danger:hover{color:var(--danger, #dc2626)}.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;padding:8px;cursor:pointer;width:44px;height:44px;border-radius:8px}.hamburger:hover{background:#0000000f}.hamburger span{display:block;width:22px;height:2px;background:#000;border-radius:2px}[data-theme=dark] .hamburger span{background:#f0e0e0}.mobile-nav{background:#fff;border-radius:0 0 10px 10px;display:flex;flex-direction:column;padding:8px 0 12px;box-shadow:0 4px 12px #00000014}[data-theme=dark] .mobile-nav{background:#0e0e16}.mobile-nav-link{padding:.85rem 1.25rem;font-family:Outfit,sans-serif;font-size:1rem;font-weight:500;color:#000;text-decoration:none;background:none;border:none;cursor:pointer;text-align:left;width:100%;min-height:44px;display:flex;align-items:center;transition:background .12s}.mobile-nav-link:hover{background:#0000000a;text-decoration:none;color:#000}[data-theme=dark] .mobile-nav-link{color:#f0e0e0}.mobile-nav-danger{color:var(--danger, #dc2626)!important}.mobile-nav-primary{color:var(--color-blue)!important;font-weight:700}.main{flex:1;padding:2rem 1.5rem;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}.footer{padding:1rem 1.5rem;display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;text-align:center;background:#fff;color:var(--text-muted);font-size:.875rem}[data-theme=dark] .footer{background:#0e0e16}.theme-toggle-footer{padding:.4rem .6rem;border:none;border-radius:8px;background:var(--bg-primary);color:var(--text-muted);font-size:1.1rem;line-height:1;cursor:pointer}.theme-toggle-footer:hover{background:var(--border)}.btn{padding:.5rem 1rem;border-radius:var(--radius);border:none;font-weight:600;font-size:.9rem;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.btn-primary{background:var(--color-blue);color:#fff}a.btn-primary,a.btn-primary:hover{color:#fff;text-decoration:none}.btn-primary:hover{background:var(--accent-dim);color:#fff}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover{color:var(--text)}.card{background:var(--bg-card);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem}.card h2{margin:0 0 .5rem;font-size:1.1rem}.card p{margin:0;color:var(--text-muted);font-size:.9rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.35rem;font-weight:500;color:var(--text-muted)}.form-group input,.form-group select{width:100%;padding:.6rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-primary);color:var(--text);min-height:44px}.form-group input:focus{outline:none;border-color:var(--color-blue)}@media(max-width:768px){.nav{display:none}.hamburger{display:flex}.header-wrap{padding:10px 12px 0}.header{height:56px;padding:0 12px}.logo-text{font-size:16px}.logo-img{height:40px}}@media(max-width:480px){.main{padding:1rem}.logo-text{font-size:14px}}.home{text-align:center}.hero{padding:3rem 0}.hero-logo{width:min(160px,40vw);height:auto;margin-bottom:1rem;display:block;margin-left:auto;margin-right:auto}.hero h1{font-size:clamp(1.6rem,5vw,2.5rem);margin:0 0 1rem;background:linear-gradient(135deg,var(--color-blue),var(--color-red));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tagline{font-size:clamp(1rem,3vw,1.15rem);color:var(--text-muted);max-width:520px;margin:0 auto 2rem;line-height:1.5}.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-lg{padding:.75rem 1.5rem;font-size:1rem}.btn-outline{background:transparent;border:2px solid var(--color-blue);color:var(--color-blue)}.btn-outline:hover{background:var(--color-blue);color:#fff;text-decoration:none}.games{margin-top:3rem}.games h2{margin-bottom:1rem;font-size:1.25rem}.game-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:1rem;max-width:560px;margin:0 auto}.game-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;font-weight:600;color:inherit;text-decoration:none;transition:border-color .2s,background .2s}.game-card:hover{border-color:var(--color-blue);background:var(--bg-card);color:inherit;text-decoration:none}@media(max-width:480px){.hero{padding:2rem 0}.hero-actions{flex-direction:column;align-items:center}.hero-actions .btn-lg{width:100%;max-width:280px}}.auth-page{max-width:400px;margin:0 auto}.auth-card h1{margin:0 0 1.5rem;font-size:1.5rem}.btn-block{width:100%;margin-top:.5rem}.password-hint{font-size:.8rem;color:var(--text-muted);margin:.35rem 0 0;line-height:1.3}.error{color:var(--danger);font-size:.9rem;margin:0 0 .5rem}.success{color:var(--color-blue);font-size:.9rem;margin:0 0 .5rem}.auth-tabs{display:flex;gap:0;margin-bottom:1.25rem;border-bottom:1px solid var(--border)}.auth-tab{flex:1;padding:.5rem 1rem;border:none;background:transparent;color:var(--text-muted);font-weight:500;font-size:.95rem;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.auth-tab:hover{color:var(--text)}.auth-tab.active{color:var(--color-blue);border-bottom-color:var(--color-blue)}.code-input{font-size:1.5rem;letter-spacing:.4em;text-align:center}.auth-back-link{margin-top:.75rem}.auth-footer{margin:1.25rem 0 0;color:var(--text-muted);font-size:.9rem}.auth-subtitle{color:var(--text-muted);margin:-1rem 0 1.5rem;font-size:.95rem}.role-choice-buttons{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.role-choice-btn{display:flex;flex-direction:column;align-items:center;padding:1.25rem 1rem;text-align:center;transition:all .2s ease}.role-choice-btn:hover{border-color:var(--color-blue);background:var(--bg-elevated)}.role-icon{font-size:2rem;margin-bottom:.5rem}.role-label{font-size:1.1rem;font-weight:600;color:var(--text)}.role-desc{font-size:.85rem;color:var(--text-muted);margin-top:.25rem}.unavailable-icon{font-size:3rem;text-align:center;margin-bottom:1rem}.unavailable-message{font-size:1.1rem;color:var(--text);text-align:center;margin-bottom:1rem;line-height:1.5}.unavailable-details{font-size:.9rem;color:var(--text-muted);text-align:center;margin-bottom:1.5rem;line-height:1.5}.back-btn{background:none;border:none;color:var(--text-muted);font-size:.9rem;cursor:pointer;padding:0;margin-bottom:1rem;display:inline-flex;align-items:center}.back-btn:hover{color:var(--text)}.dashboard h1{margin-bottom:.25rem}.muted{color:var(--text-muted);margin:0 0 1.5rem}.tournament-list{list-style:none;padding:0;margin:0}.tournament-list li{padding:.5rem 0;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.tournament-list li:last-child{border-bottom:none}.badge{font-size:.75rem;padding:.2rem .5rem;background:var(--bg-elevated);border-radius:6px;color:var(--text-muted)}.filter-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.5rem}.filter-toolbar .filter-input{flex:1;min-width:min(220px,100%)}@media(max-width:640px){.filter-toolbar{gap:.5rem}.filter-toolbar .filter-input{min-width:0;width:100%}.filter-toolbar .btn{width:100%}}.stores-page h1{margin-bottom:1rem}.stores-page .error{color:#c40000;margin-bottom:.75rem}.sort-hint{margin:-.5rem 0 1rem;font-size:.9rem}.store-distance{color:var(--color-blue);font-weight:600;font-size:.95rem;margin:0 0 .35rem}.store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:1rem}.store-card h3{margin:0 0 .5rem}.store-card p{margin:.25rem 0}.store-card{display:flex;flex-direction:column;overflow:hidden;text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease}.store-card:hover{text-decoration:none;color:inherit;transform:scale(1.03);box-shadow:0 6px 20px #0000001f}.store-card-photo-wrap{width:100%;height:180px;background:var(--bg-primary);flex-shrink:0;border-radius:var(--radius);overflow:hidden}.store-card-photo{width:100%;height:100%;object-fit:cover}.store-card-photo-placeholder{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.9rem}.store-card-body{padding:1rem;flex:1;display:flex;flex-direction:column}.store-card-body h3{margin:0 0 .35rem}.store-card-body p{margin:.2rem 0}@media(max-width:480px){.store-grid{grid-template-columns:1fr}}.store-detail-page h1{margin:0 0 .5rem}.store-detail-header{margin-bottom:1.5rem}.store-detail-header-inner{display:flex;align-items:flex-start;gap:1.25rem;flex-wrap:wrap}.store-detail-header-photo{width:min(120px,30vw);height:min(120px,30vw);object-fit:cover;border-radius:var(--radius);border:1px solid var(--border);flex-shrink:0}.store-detail-header-photo-placeholder{width:min(120px,30vw);height:min(120px,30vw);flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-muted);font-size:.9rem}.store-detail-header-info{flex:1;min-width:0}.store-detail-header-info h1{margin:0 0 .5rem}.store-detail-location{margin-top:.75rem;color:var(--text-muted)}.store-detail-location p{margin:.2rem 0}.store-detail-section{margin-bottom:1.5rem}.store-detail-section h2{margin:0 0 1rem;font-size:1.15rem}.store-detail-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem}.store-detail-filters label{display:flex;align-items:center;gap:.35rem}.store-detail-filters label span{font-size:.9rem;color:var(--text-muted)}.store-detail-filters input[type=date]{padding:.4rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text)}.date-filter-select{padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font-size:.95rem;cursor:pointer;min-width:min(140px,100%)}.date-filter-select:hover{border-color:var(--color-blue)}.date-filter-select:focus{outline:none;border-color:var(--color-blue);box-shadow:0 0 0 2px #3b82f633}.store-detail-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.store-detail-table{width:100%;border-collapse:collapse;font-size:.95rem;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--bg-card)}.store-detail-table th,.store-detail-table td{padding:.75rem 1rem;text-align:left;border-right:1px solid var(--border);border-bottom:1px solid var(--border);white-space:nowrap}.store-detail-table th:last-child,.store-detail-table td:last-child{border-right:none}.store-detail-table thead tr{background:var(--color-dark-blue);color:#fff}.store-detail-table thead th{font-weight:600;border-bottom:2px solid rgba(255,255,255,.2)}.store-detail-table tbody tr:last-child td{border-bottom:none}.store-detail-table tbody tr:nth-child(2n){background:var(--bg-elevated)}.store-detail-table tbody tr:hover{background:var(--bg-primary)}.store-detail-league-badge{display:inline-block;padding:.2rem .5rem;font-size:.8rem;background:var(--accent);color:#fff;border-radius:6px;text-decoration:none}.store-detail-league-badge:hover{color:#fff;opacity:.9}.store-detail-page .tournament-status-badge,.store-detail-page .league-status-badge{display:inline-block;padding:.25rem .6rem;border-radius:6px;font-size:.85rem;font-weight:600;white-space:nowrap}.store-detail-page .tournament-status-in-progress{background:#cce5ff;color:#004085}[data-theme=dark] .store-detail-page .tournament-status-in-progress{background:#1a3a5c;color:#99c9f0}.store-detail-page .tournament-status-registration-open{background:#d4edda;color:#155724}[data-theme=dark] .store-detail-page .tournament-status-registration-open{background:#1e4620;color:#a3cfbb}.store-detail-page .tournament-status-finished{background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border)}.store-detail-page .tournament-status-draft{background:#fff3cd;color:#856404}[data-theme=dark] .store-detail-page .tournament-status-draft{background:#4a3f00;color:#ffe69c}.store-detail-page .tournament-status-cancelled{background:#f8d7da;color:#721c24}[data-theme=dark] .store-detail-page .tournament-status-cancelled{background:#4a1c21;color:#f5c2c7}.store-detail-page .league-status-created{background:#d4edda;color:#155724}[data-theme=dark] .store-detail-page .league-status-created{background:#1e4620;color:#a3cfbb}.store-detail-page .league-status-finished{background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border)}@media(max-width:640px){.store-detail-filters{flex-direction:column;align-items:stretch}.store-detail-filters label{flex-wrap:wrap}.date-filter-select{width:100%}.store-detail-table th,.store-detail-table td{padding:.5rem .6rem;font-size:.82rem}}.tournament-card{background:#fff;border-radius:10px;width:100%;min-height:110px;display:flex;align-items:center;overflow:hidden;padding:15px;box-sizing:border-box;gap:17px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.tournament-card:hover{transform:scale(1.03);box-shadow:0 6px 20px #0000001f}.tournament-card-photo-wrap{width:80px;height:80px;border-radius:10px;flex-shrink:0;overflow:hidden}.tournament-card-photo{width:100%;height:100%;object-fit:cover}.tournament-card-photo-placeholder{width:100%;height:100%;background:#e0e0e0}.tournament-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.tournament-card-name{font-family:Outfit,sans-serif;font-size:clamp(14px,3.5vw,18px);font-weight:600;color:#000;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tournament-card-game{font-family:Outfit,sans-serif;font-size:12px;font-weight:400;color:var(--text-muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tournament-card-row{display:flex;align-items:center;gap:6px}.tournament-card-label,.tournament-card-value{font-family:Outfit,sans-serif;font-size:13px;font-weight:400;color:#000}.tournament-card-badge{display:inline-block;padding:.2rem .55rem;border-radius:6px;font-size:.78rem;font-weight:600;white-space:nowrap}.badge-open{background:#d4edda;color:#155724}.badge-closed{background:#f8d7da;color:#721c24}[data-theme=dark] .tournament-card{background:var(--bg-card)}[data-theme=dark] .tournament-card-name,[data-theme=dark] .tournament-card-label,[data-theme=dark] .tournament-card-value{color:#fff}[data-theme=dark] .tournament-card-photo-placeholder{background:#333}[data-theme=dark] .badge-open{background:#1e4620;color:#a3cfbb}[data-theme=dark] .badge-closed{background:#4a1c21;color:#f5c2c7}@media(max-width:480px){.tournament-card{gap:10px;padding:10px}.tournament-card-photo-wrap{width:60px;height:60px}}.tournaments-page h1{margin-bottom:.75rem}.game-filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.game-filter-btn{height:36px;padding:0 1rem;border-radius:10px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);font-family:Outfit,sans-serif;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.game-filter-btn:hover{border-color:var(--accent);color:var(--text)}.game-filter-btn--active{background:var(--accent);border-color:var(--accent);color:#fff}.game-filter-btn--active:hover{color:#fff}.tournament-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:1rem}.date-filter-select{padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font-size:.95rem;cursor:pointer;min-width:min(160px,100%);margin-bottom:1rem}.date-filter-select:focus{outline:none;border-color:var(--accent)}.game-badge{background:var(--bg-elevated);padding:.2rem .4rem;border-radius:4px;font-size:.85rem}@media(max-width:480px){.tournament-grid{grid-template-columns:1fr}}.error-popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.error-popup-box{background:var(--bg-elevated);color:var(--text);border-radius:var(--radius);padding:1.5rem;max-width:420px;width:100%;box-shadow:0 8px 32px #0003;border:1px solid var(--border)}.error-popup-title{margin:0 0 .75rem;font-size:1.25rem;color:var(--danger)}.error-popup-message{margin:0 0 1.25rem;font-size:1rem;line-height:1.4;color:var(--text)}.error-popup-box .btn{width:100%}.td-header-bar{background:var(--bg-elevated);border:none;border-radius:10px;min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1.25rem;margin-bottom:.75rem}.td-header-name{font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:400;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-header-players{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.td-header-players-label{font-size:.9rem;color:var(--text-muted)}.td-header-players-count{font-size:1rem;font-weight:500;color:var(--text)}.td-detail-card.card{background:var(--bg-elevated);border:none}.td-detail-card{display:flex;flex-direction:row;align-items:flex-start;gap:1.5rem;margin-bottom:.75rem;padding:1.25rem}.td-qr-col{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:.5rem}.td-qr-image{width:min(260px,35vw);height:min(260px,35vw);display:block;border-radius:10px;object-fit:contain}.td-qr-placeholder{width:min(260px,35vw);height:min(260px,35vw);display:flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--border);color:var(--text-muted);font-size:.85rem;text-align:center;padding:1rem}.td-info-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:.5rem}.td-info-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.25rem}.td-info-row{margin:0;font-size:1rem;color:var(--text)}.td-info-row--muted{font-size:.9rem;color:var(--text-muted)}.td-info-description{margin:.25rem 0 0;font-size:.95rem;color:var(--text-muted);line-height:1.5}.td-invite-link{word-break:break-all;font-size:.85rem}.actions-section{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.actions-section h2{width:100%;margin-bottom:.5rem}.round{margin-bottom:1rem}.round h3{margin:0 0 .5rem;font-size:1rem}.match-list{list-style:none;padding:0;margin:0}.match-list li{padding:.5rem 0;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.report-result{display:inline-flex;gap:.5rem;margin-left:auto;flex-wrap:wrap}.report-result select{height:auto;min-height:36px;padding:.35rem .5rem;background:var(--bg-primary);color:var(--text);border:1px solid var(--border);width:auto}.match-status-waiting{color:var(--text-muted);font-size:.9rem}.match-status-conflict{color:var(--warning, #b45309);font-size:.9rem;font-weight:500}.resolve-conflict{display:inline-flex;gap:.5rem;margin-left:auto;flex-wrap:wrap}.resolve-conflict select{height:auto;min-height:36px;padding:.35rem .5rem;background:var(--bg-primary);color:var(--text);border:1px solid var(--border);width:auto}.btn-sm{padding:.35rem .75rem;font-size:.85rem;min-height:36px}.standings-table{width:100%;border-collapse:collapse;font-size:.95rem}.standings-table th{text-align:left;padding:.5rem .75rem;font-weight:600;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap}.standings-table td{padding:.6rem .75rem;border-bottom:1px solid var(--border);color:var(--text)}.standings-table tbody tr:last-child td{border-bottom:none}.standings-table tbody tr:hover{background:var(--bg-primary)}.standings-rank{font-weight:600;color:var(--text-muted);width:2.5rem}.standings-wins{color:var(--accent);font-weight:600}.standings-losses{color:var(--text-muted)}.standings-first td{background:color-mix(in srgb,var(--accent) 8%,transparent)}.standings-first .standings-rank{color:var(--accent)}@media(max-width:640px){.td-detail-card{flex-direction:column;gap:1rem}.td-qr-image,.td-qr-placeholder{width:min(200px,60vw);height:min(200px,60vw)}.actions-section .btn{width:100%}.report-result,.resolve-conflict{margin-left:0;width:100%}}@media(max-width:480px){.td-header-bar{padding:0 .85rem}.td-header-name{font-size:1rem}.td-header-players-label{display:none}}.join-tournament-page{max-width:420px;margin:0 auto}.join-card h1{font-size:1.25rem;margin:0 0 .5rem;color:var(--text-muted)}.join-card h2{margin:0 0 1rem}.join-card .success{color:var(--accent)}.join-card .btn-lg{margin-top:1rem}.league-card{background:#fff;border-radius:10px;width:100%;min-height:110px;display:flex;align-items:center;overflow:hidden;padding:15px;box-sizing:border-box;gap:13px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.league-card:hover{transform:scale(1.03);box-shadow:0 6px 20px #0000001f}.league-card-photo-wrap{width:80px;height:80px;border-radius:10px;flex-shrink:0;overflow:hidden}.league-card-photo{width:100%;height:100%;object-fit:cover}.league-card-photo-placeholder{width:100%;height:100%;background:#e0e0e0}.league-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.league-card-name{font-family:Outfit,sans-serif;font-size:clamp(15px,3.5vw,20px);font-weight:600;color:#000;margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.league-card-game{font-family:Outfit,sans-serif;font-size:12px;font-weight:400;color:var(--text-muted);margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.league-card-detail{font-family:Outfit,sans-serif;font-size:13px;font-weight:400;color:#000;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-theme=dark] .league-card{background:var(--bg-card)}[data-theme=dark] .league-card-name,[data-theme=dark] .league-card-detail{color:#fff}[data-theme=dark] .league-card-photo-placeholder{background:#333}@media(max-width:480px){.league-card{gap:10px;padding:10px}.league-card-photo-wrap{width:60px;height:60px}}.leagues-page h1{margin-bottom:1rem}.leagues-section{margin-bottom:1.5rem}.leagues-section h2{margin:0 0 1rem}.create-league-form .form-group{margin-bottom:.75rem}.create-league-form .form-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.league-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:12px;margin-top:1rem}.league-list{list-style:none;padding:0;margin:1rem 0 0}.league-list li{padding:.35rem 0;border-bottom:1px solid var(--border)}.league-list li:last-child{border-bottom:none}.league-detail-page .detail-header{margin-bottom:1.5rem}.league-detail-page .detail-header h1{margin:0 0 .25rem}.league-detail-page .section-card{margin-bottom:1.5rem}.league-detail-page .section-card h2{margin:0 0 .75rem}.league-detail-page .pending-list,.league-detail-page .participants-list,.league-detail-page .tournaments-list,.league-detail-page .match-history-list{list-style:none;padding:0;margin:0}.league-detail-page .pending-list li,.league-detail-page .participants-list li,.league-detail-page .tournaments-list li{padding:.5rem 0;border-bottom:1px solid var(--border)}.league-detail-page .match-history-list li{padding:.4rem 0;border-bottom:1px solid var(--border);font-size:.95rem}.league-detail-page .store-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.league-detail-page .player-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(120px,100%),1fr));gap:.75rem;margin-bottom:1rem}.league-detail-page .stat-box{background:var(--bg-elevated);padding:.75rem;border-radius:8px;text-align:center}.league-detail-page .stat-box .value{font-size:1.5rem;font-weight:700}.league-detail-page .stat-box .label{font-size:.85rem;color:var(--text-muted)}.league-detail-page .error{color:#c40000;margin:.5rem 0}.league-detail-page .success{color:var(--color-green, #0a0);margin:.5rem 0}.league-detail-page .muted{color:var(--text-muted);font-size:.95rem}.league-detail-page .btn-sm{padding:.35rem .6rem;font-size:.875rem}.league-standings-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.league-detail-page .league-standings-table{width:100%;border-collapse:collapse;margin-bottom:1rem;font-size:.95rem}.league-detail-page .league-standings-table th,.league-detail-page .league-standings-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.league-detail-page .league-standings-table th{font-weight:600;color:#fff}.league-detail-page .league-standings-table tr.current-player td{background:var(--primary-light, rgba(37, 99, 235, .12));font-weight:600;border-left:3px solid var(--primary, #2563eb)}.league-detail-page .league-standings-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}@media(max-width:640px){.league-detail-page .store-actions{flex-direction:column}.league-detail-page .store-actions .btn{width:100%}.league-detail-page .league-standings-table th,.league-detail-page .league-standings-table td{padding:.4rem .5rem;font-size:.82rem}}.notifications-page{max-width:600px}.notifications-page h1{margin-bottom:1rem}.notifications-list{list-style:none;padding:0;margin:0}.notifications-list li{border:1px solid var(--border, #e0e0e0);border-radius:8px;padding:1rem;margin-bottom:.75rem;background:var(--card-bg, #fff)}.notifications-list li.unread{border-left:4px solid var(--primary, #2563eb)}.notification-body{display:flex;flex-direction:column;gap:.5rem}.notification-body p{margin:0}.notification-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.25rem}.notification-date{font-size:.85rem;margin-top:.25rem}.notifications-error{color:var(--danger, #c00);margin-top:1rem}.notifications-toggle{margin:0 0 .75rem}.notifications-toggle .link{background:none;border:none;color:var(--primary, #2563eb);cursor:pointer;text-decoration:underline;font-size:inherit;padding:0}.accept-invite-page{max-width:480px;margin:0 auto}.accept-invite-page.card{padding:1.5rem;border-radius:12px;border:1px solid var(--border, #e0e0e0);background:var(--card-bg, #fff)}.accept-invite-page h1{margin-top:0;margin-bottom:1rem}.accept-invite-actions{display:flex;gap:.75rem;align-items:center;margin:1rem 0}.accept-invite-page .muted{margin-bottom:1rem}.date-input{width:100%;min-width:min(180px,100%)}.profile-page h1{margin-bottom:.25rem}.profile-required-banner{margin-bottom:1rem;border-left:4px solid var(--primary, #2563eb)}.profile-required-banner p{margin:.25rem 0}.profile-required-banner p:first-child{margin-top:0}.auth-notice{font-size:.9rem;color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;margin:0 0 1rem;line-height:1.4}.profile-page .card h2{margin-bottom:1rem}.profile-page .card h3{margin:1rem 0 .5rem;font-size:1rem}.profile-page ul{margin:0;padding-left:1.25rem}.profile-page li{padding:.25rem 0}.profile-status{font-weight:600;padding:.2rem .5rem;border-radius:6px;font-size:.9rem}.profile-status-active{background:#d4edda;color:#155724}[data-theme=dark] .profile-status-active{background:#1e4620;color:#a3cfbb}.profile-status-pending{background:#fff3cd;color:#856404}[data-theme=dark] .profile-status-pending{background:#4a3f00;color:#ffe69c}.profile-status-inactive{background:#f8d7da;color:#721c24}[data-theme=dark] .profile-status-inactive{background:#4a1c21;color:#f5c2c7}.profile-card .profile-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.profile-card form>p.muted{margin-bottom:1.25rem}.profile-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover}.profile-avatar-placeholder{background:var(--bg-elevated);border:2px dashed var(--border);display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--text-muted)}.profile-info{margin:1rem 0}.profile-info p{margin:.35rem 0}.profile-photo-field{margin-top:1rem;margin-bottom:1.25rem}.profile-photo-field label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-muted)}.profile-photo-upload{display:flex;align-items:center;gap:.75rem;margin-top:.25rem}.profile-photo-upload input[type=file]{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;z-index:-1}.profile-photo-upload label.btn{cursor:pointer;margin:0}.profile-avatar-preview{display:block;width:64px;height:64px;border-radius:50%;object-fit:cover;margin-top:.75rem}.profile-tournament-list{list-style:none;padding-left:0}.profile-tournament-list li{padding:.5rem 0;border-bottom:1px solid var(--border)}.profile-tournament-list li:last-child{border-bottom:none}.profile-tournaments-wrap{overflow-x:auto;margin-top:.5rem}.profile-tournaments-table{margin:0}.profile-tournaments-table .profile-tournament-name{font-weight:600;color:var(--accent)}.profile-tournaments-table .profile-tournament-name:hover{text-decoration:underline}.profile-tournaments-table td .profile-league-badge{margin-left:.5rem;vertical-align:middle}.profile-league-badge{display:inline-block;padding:.15rem .4rem;font-size:.75rem;background:var(--accent);color:#fff;border-radius:4px}.profile-tournament-action{text-align:right;white-space:nowrap}.tournament-status-badge{display:inline-block;padding:.25rem .6rem;border-radius:6px;font-size:.85rem;font-weight:600;white-space:nowrap}.tournament-status-in-progress{background:#cce5ff;color:#004085}[data-theme=dark] .tournament-status-in-progress{background:#1a3a5c;color:#99c9f0}.tournament-status-registration-open{background:#d4edda;color:#155724}[data-theme=dark] .tournament-status-registration-open{background:#1e4620;color:#a3cfbb}.tournament-status-finished{background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border)}.tournament-status-draft{background:#fff3cd;color:#856404}[data-theme=dark] .tournament-status-draft{background:#4a3f00;color:#ffe69c}.tournament-status-cancelled{background:#f8d7da;color:#721c24}[data-theme=dark] .tournament-status-cancelled{background:#4a1c21;color:#f5c2c7}:root{--color-red: #E73B3A;--color-gold: #FFD200;--color-blue: #2F76C4;--color-dark-blue: #2C3A7A;--color-orange: #F79020;--bg-primary: #E8E8EC;--bg-card: #ffffff;--bg-elevated: #ffffff;--accent: var(--color-blue);--accent-dim: #2563b0;--text: #1a1a2e;--text-muted: #4a4a5e;--border: #c8c8d4;--danger: var(--color-red);--warning: var(--color-gold);--radius: 12px;--font-sans: "Outfit", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--input-bg: #ffffff;--input-bg-disabled: #cdcdcd;--input-text: #2c2c2c;--input-placeholder: #c0c0c0;--input-error-color: #c40000;--input-radius: 10px;--input-height: 45px}[data-theme=dark]{--bg-primary: #08080f;--bg-card: #0e0e16;--bg-elevated: #17171f;--accent: #5c9ae8;--accent-dim: #7ab0f0;--text: #eeeef8;--text-muted: #8888aa;--border: #252530;--danger: #e73b3a;--warning: #FFD200;--input-bg: #101018;--input-bg-disabled: #1e1e28;--input-text: #eeeef8;--input-placeholder: #555570}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg-primary);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}#root{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:none}button{font-family:var(--font-sans);cursor:pointer}input:not([type=checkbox]):not([type=radio]):not([type=file]),select{height:var(--input-height);background:var(--input-bg);color:var(--input-text);border:none;border-radius:var(--input-radius);padding:0 10px;font-size:.875rem;font-family:var(--font-sans);outline:none;box-sizing:border-box}textarea{background:var(--input-bg);color:var(--input-text);border:none;border-radius:var(--input-radius);padding:10px;font-size:.875rem;font-family:var(--font-sans);outline:none;resize:vertical;min-height:80px;box-sizing:border-box}input::placeholder,textarea::placeholder{color:var(--input-placeholder)}input:disabled,select:disabled,textarea:disabled{background:var(--input-bg-disabled);cursor:not-allowed;opacity:1}input:not([type=checkbox]):not([type=radio]):not([type=file]):focus:not(:disabled),select:focus:not(:disabled),textarea:focus:not(:disabled){border:1px solid var(--accent)}[data-theme=dark] input:not([type=checkbox]):not([type=radio]):not([type=file]):not(:focus),[data-theme=dark] select:not(:focus),[data-theme=dark] textarea:not(:focus){border:1px solid var(--border)}.input-error{border:1px solid var(--input-error-color)!important}.input-error-msg{display:block;color:var(--input-error-color);font-size:.75rem;font-weight:200;margin:4px 0 0 7px}input[type=date]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}input[type=date]::-webkit-calendar-picker-indicator:hover,input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{opacity:1}[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator,[data-theme=dark] input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(1)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.card table{width:100%;border-collapse:collapse;font-size:.95rem;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--bg-card)}.card table th,.card table td{padding:.75rem 1rem;text-align:left;border-right:1px solid var(--border);border-bottom:1px solid var(--border);white-space:nowrap}.card table th:last-child,.card table td:last-child{border-right:none}.card table thead tr{background:var(--color-dark-blue);color:#fff}.card table thead th{font-weight:600;border-bottom:2px solid var(--border)}.card table tbody tr:last-child td{border-bottom:none}.card table tbody tr:nth-child(2n){background:var(--bg-elevated)}.card table tbody tr:hover{background:var(--bg-primary)}@media(max-width:640px){.card table th,.card table td{padding:.5rem .6rem;font-size:.82rem}}
