.home-page[data-v-1ce010c0]{max-width:960px;margin:0 auto}.hero[data-v-1ce010c0]{text-align:center;padding:48px 16px}.hero-icon[data-v-1ce010c0]{font-size:64px;display:block;margin-bottom:12px}.hero h1[data-v-1ce010c0]{font-size:36px;color:#1b5e20;margin:0 0 4px}.hero-subtitle[data-v-1ce010c0]{font-size:16px;color:#64748b;margin-bottom:12px}.hero-desc[data-v-1ce010c0]{font-size:15px;color:#64748b;max-width:480px;margin:0 auto 24px;line-height:1.6}.hero-actions[data-v-1ce010c0]{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.btn-hero[data-v-1ce010c0]{padding:12px 28px;font-size:16px}.btn-hero-outline[data-v-1ce010c0]{padding:12px 28px;font-size:16px;background:transparent;border:2px solid #2e7d32;color:#2e7d32;border-radius:8px;font-weight:500;cursor:pointer;text-decoration:none;transition:background .15s}.btn-hero-outline[data-v-1ce010c0]:hover{background:#e8f5e9}.section[data-v-1ce010c0]{padding:0 16px 32px}.section h2[data-v-1ce010c0]{font-size:20px;margin-bottom:16px}.section-subtitle[data-v-1ce010c0]{font-size:14px;color:#64748b;margin:0 0 8px;font-weight:600}.tournament-list[data-v-1ce010c0]{display:flex;flex-direction:column;gap:8px}.tournament-card[data-v-1ce010c0]{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow:hidden}.tournament-card.expanded[data-v-1ce010c0]{box-shadow:0 0 0 2px #2e7d32}.tournament-header[data-v-1ce010c0]{display:flex;align-items:center;justify-content:space-between;padding:16px;cursor:pointer;transition:background .15s}.tournament-header[data-v-1ce010c0]:hover{background:#f8fafc}.tournament-header-left[data-v-1ce010c0]{display:flex;align-items:center;gap:12px;min-width:0}.tournament-icon[data-v-1ce010c0]{font-size:28px;flex-shrink:0}.tournament-name[data-v-1ce010c0]{font-weight:600;font-size:16px}.tournament-meta[data-v-1ce010c0]{font-size:13px;color:#64748b;margin-top:2px}.register-btn[data-v-1ce010c0]{display:inline-block;font-size:13px;font-weight:700;color:#fff;background:#2e7d32;text-decoration:none;margin-top:10px;padding:6px 16px;border-radius:8px;transition:background .15s}.register-btn[data-v-1ce010c0]:hover{background:#1b5e20}.status-badge[data-v-1ce010c0]{font-size:11px;padding:2px 8px;border-radius:4px;text-transform:uppercase;font-weight:600;letter-spacing:.3px;white-space:nowrap}.status-badge.upcoming[data-v-1ce010c0]{background:#fff3e0;color:#e65100}.status-badge.in_progress[data-v-1ce010c0]{background:#e3f2fd;color:#1565c0}.status-badge.scheduled[data-v-1ce010c0]{background:#fff3e0;color:#e65100}.status-badge.completed[data-v-1ce010c0]{background:#e8f5e9;color:#2e7d32}.tournament-body[data-v-1ce010c0]{padding:0 16px 16px;border-top:1px solid #e2e8f0}.rules-section[data-v-1ce010c0]{padding:12px 0 4px}.rules-description[data-v-1ce010c0]{font-size:14px;color:#475569;line-height:1.5;margin-bottom:8px}.rules-grid[data-v-1ce010c0]{display:flex;flex-wrap:wrap;gap:6px}.rules-tag[data-v-1ce010c0]{font-size:12px;background:#e8f5e9;color:#2e7d32;padding:3px 10px;border-radius:6px;font-weight:500}.participants-list[data-v-1ce010c0]{padding:12px 0 4px}.participant-row[data-v-1ce010c0]{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:14px;border-bottom:1px solid #f1f5f9}.participant-row[data-v-1ce010c0]:last-child{border:none}.participant-name[data-v-1ce010c0]{font-weight:500;flex:1}.participant-seed[data-v-1ce010c0]{font-size:12px;color:#2e7d32;background:#e8f5e9;padding:1px 6px;border-radius:4px}.participant-rank[data-v-1ce010c0]{font-size:12px;color:#64748b}.paid-badge[data-v-1ce010c0]{font-size:11px;color:#2e7d32;background:#e8f5e9;padding:1px 6px;border-radius:4px;font-weight:500}.unpaid-badge[data-v-1ce010c0]{font-size:11px;color:#b71c1c;background:#ffebee;padding:1px 6px;border-radius:4px;font-weight:500}.tournament-matches-section[data-v-1ce010c0]{padding:12px 0 4px;border-top:1px solid #e2e8f0;margin-top:8px}.group-header-xs[data-v-1ce010c0]{font-size:12px;font-weight:700;color:#1b5e20;padding:8px 0 4px;text-transform:uppercase;letter-spacing:.5px}.tournament-match-row[data-v-1ce010c0]{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-bottom:1px solid #f1f5f9;font-size:13px}.tournament-match-row[data-v-1ce010c0]:last-child{border:none}.tm-players[data-v-1ce010c0]{display:flex;align-items:center;gap:8px}.tm-player[data-v-1ce010c0]{flex:1;font-weight:500}.tm-vs[data-v-1ce010c0]{color:#94a3b8;font-size:11px;font-weight:600;flex-shrink:0}.tm-meta[data-v-1ce010c0]{display:flex;align-items:center;gap:8px;font-size:12px;color:#64748b}.tm-round[data-v-1ce010c0]{font-weight:600;color:#475569}.tm-time[data-v-1ce010c0]{flex:1}.tm-score[data-v-1ce010c0]{font-weight:600;color:#1b5e20}.tm-status-tag[data-v-1ce010c0]{font-size:10px;padding:1px 6px;border-radius:3px;text-transform:uppercase;font-weight:600}.tm-status-tag.scheduled[data-v-1ce010c0]{background:#fff3e0;color:#e65100}.tm-status-tag.in_progress[data-v-1ce010c0]{background:#e3f2fd;color:#1565c0}.tm-status-tag.completed[data-v-1ce010c0]{background:#e8f5e9;color:#2e7d32}.group-header-sm[data-v-1ce010c0]{font-size:13px;font-weight:700;color:#1b5e20;padding:12px 0 4px;text-transform:uppercase;letter-spacing:.5px}.group-header-sm[data-v-1ce010c0]:first-of-type{padding-top:0}.match-list[data-v-1ce010c0]{display:flex;flex-direction:column;gap:10px}.match-card[data-v-1ce010c0]{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 3px #0000000f}.match-card.completed[data-v-1ce010c0]{border-left:3px solid #2e7d32}.match-card-header[data-v-1ce010c0]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.match-tournament-name[data-v-1ce010c0]{font-size:13px;color:#64748b;font-weight:500}.match-players[data-v-1ce010c0]{display:flex;align-items:center;gap:12px;margin-bottom:10px}.match-player-name[data-v-1ce010c0]{flex:1;font-weight:500;font-size:15px}.match-player-result[data-v-1ce010c0]{flex:1;font-size:15px;font-weight:500;display:flex;align-items:center;gap:4px}.match-player-result.winner[data-v-1ce010c0]{color:#2e7d32;font-weight:700}.winner-check[data-v-1ce010c0]{color:#2e7d32;font-weight:700;font-size:16px}.match-vs[data-v-1ce010c0]{color:#94a3b8;font-size:13px;font-weight:600;flex-shrink:0}.match-card-footer[data-v-1ce010c0]{display:flex;align-items:center;gap:12px;border-top:1px solid #f1f5f9;padding-top:10px}.match-round-label[data-v-1ce010c0]{font-size:13px;color:#64748b;font-weight:500}.match-datetime[data-v-1ce010c0]{flex:1;text-align:right;font-size:13px;color:#1a1a2e}.match-datetime.muted[data-v-1ce010c0]{color:#94a3b8}.match-score-final[data-v-1ce010c0]{flex:1;text-align:right;font-size:15px;font-weight:700;color:#1b5e20}.cta-section[data-v-1ce010c0]{text-align:center;padding:32px 16px 48px;border-top:1px solid #e2e8f0}.cta-section p[data-v-1ce010c0]{color:#64748b;margin-bottom:12px;font-size:15px}.calendar-nav[data-v-1ce010c0]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.cal-nav-left[data-v-1ce010c0]{display:flex;align-items:center;gap:6px}.cal-nav-btn[data-v-1ce010c0]{width:36px;height:36px;border-radius:50%;border:1px solid #e2e8f0;background:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#475569;transition:all .15s}.cal-nav-btn[data-v-1ce010c0]:hover{background:#f1f5f9;border-color:#2e7d32;color:#2e7d32}.cal-today-btn[data-v-1ce010c0]{padding:6px 14px;font-size:13px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;color:#475569;font-weight:500;transition:all .15s}.cal-today-btn[data-v-1ce010c0]:hover{background:#e8f5e9;border-color:#2e7d32;color:#2e7d32}.cal-week-range[data-v-1ce010c0]{font-size:15px;font-weight:700;color:#1a1a2e}.week-grid[data-v-1ce010c0]{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.week-day-col[data-v-1ce010c0]{background:#fff;border-radius:10px;box-shadow:0 1px 3px #0000000f;overflow:hidden;display:flex;flex-direction:column}.week-day-col.clickable[data-v-1ce010c0]{cursor:pointer;transition:box-shadow .15s}.week-day-col.clickable[data-v-1ce010c0]:hover{box-shadow:0 2px 8px #0000001a}.week-day-col.is-today[data-v-1ce010c0]{background:#f0f9ff}.week-day-col.is-today .day-header[data-v-1ce010c0]{background:#e0f2fe}.week-day-col.is-today .day-num[data-v-1ce010c0]{color:#0369a1}.week-day-col.selected-day[data-v-1ce010c0]{outline:2px solid #1b5e20;outline-offset:-2px;background:#f1f8e9}.week-day-col.selected-day .day-header[data-v-1ce010c0]{background:#e8f5e9}.week-day-col.selected-day .day-num[data-v-1ce010c0]{color:#1b5e20}.week-day-col.is-today.selected-day[data-v-1ce010c0]{background:#f1f8e9}.week-day-col.is-today.selected-day .day-header[data-v-1ce010c0]{background:#e8f5e9}.day-header[data-v-1ce010c0]{text-align:center;padding:8px 4px;background:#f8fafc;border-bottom:1px solid #f1f5f9}.day-name[data-v-1ce010c0]{display:block;font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.day-num[data-v-1ce010c0]{display:block;font-size:18px;font-weight:700;color:#1a1a2e;margin-top:2px}.day-num.today[data-v-1ce010c0]{color:#2e7d32}.day-matches[data-v-1ce010c0]{padding:6px;flex:1;display:flex;flex-direction:column;gap:4px}.cal-match-card[data-v-1ce010c0]{background:#fff8e1;border-radius:6px;padding:6px;border-left:3px solid #f57f17;font-size:12px;line-height:1.3}.cal-match-card.completed[data-v-1ce010c0]{background:#e8f5e9;border-left-color:#2e7d32}.cal-match-time[data-v-1ce010c0]{font-size:11px;font-weight:600;color:#e65100;margin-bottom:2px}.cal-match-card.completed .cal-match-time[data-v-1ce010c0]{color:#2e7d32}.cal-match-players[data-v-1ce010c0]{display:flex;align-items:center;gap:3px}.cal-p1[data-v-1ce010c0],.cal-p2[data-v-1ce010c0]{font-weight:600;color:#1a1a2e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60px}.cal-vs[data-v-1ce010c0]{color:#94a3b8;font-size:10px;flex-shrink:0}.cal-match-tournament[data-v-1ce010c0]{font-size:10px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-empty-day[data-v-1ce010c0]{text-align:center;color:#e2e8f0;font-size:18px;padding:12px 0}.day-match-info[data-v-1ce010c0]{padding:10px 4px;text-align:center}.day-match-count[data-v-1ce010c0]{font-size:13px;font-weight:700;color:#2e7d32}.day-match-tournaments[data-v-1ce010c0]{font-size:10px;color:#64748b;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-matches-table[data-v-1ce010c0]{margin-top:20px;animation:fadeIn-1ce010c0 .2s ease}@keyframes fadeIn-1ce010c0{0%{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dmt-header[data-v-1ce010c0]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dmt-header h3[data-v-1ce010c0]{font-size:16px;color:#1b5e20;margin:0;text-transform:capitalize}.dmt-wrapper[data-v-1ce010c0]{overflow-x:auto;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f}.dmt-table[data-v-1ce010c0]{width:100%;border-collapse:collapse;font-size:14px}.dmt-table th[data-v-1ce010c0]{text-align:left;padding:12px 10px;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;background:#f8fafc;border-bottom:2px solid #e2e8f0;white-space:nowrap}.dmt-table td[data-v-1ce010c0]{padding:10px;border-bottom:1px solid #f1f5f9;vertical-align:middle}.dmt-table tr:last-child td[data-v-1ce010c0]{border-bottom:none}.dmt-table tbody tr:hover td[data-v-1ce010c0]{background:#f8fafc}.dmt-table tbody tr.completed td[data-v-1ce010c0]{background:#fafef5}.dmt-th-time[data-v-1ce010c0],.dmt-td-time[data-v-1ce010c0]{width:60px}.dmt-th-player[data-v-1ce010c0],.dmt-td-player[data-v-1ce010c0]{min-width:120px}.dmt-th-vs[data-v-1ce010c0],.dmt-td-vs[data-v-1ce010c0]{width:30px;text-align:center}.dmt-th-round[data-v-1ce010c0],.dmt-td-round[data-v-1ce010c0]{min-width:100px}.dmt-th-score[data-v-1ce010c0],.dmt-td-score[data-v-1ce010c0]{width:80px;text-align:center}.dmt-th-tournament[data-v-1ce010c0],.dmt-td-tournament[data-v-1ce010c0]{min-width:120px}.dmt-th-status[data-v-1ce010c0],.dmt-td-status[data-v-1ce010c0]{width:80px}.dmt-td-time .dmt-time[data-v-1ce010c0]{font-weight:600;color:#e65100;font-size:13px}.dmt-td-time .dmt-time.muted[data-v-1ce010c0]{color:#94a3b8;font-weight:400}.dmt-td-player[data-v-1ce010c0]{display:flex;align-items:center;gap:6px;font-weight:500}.dmt-td-player.winner[data-v-1ce010c0]{color:#2e7d32;font-weight:700}.dmt-td-player .player-dot[data-v-1ce010c0]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dmt-td-player .winner-check[data-v-1ce010c0]{color:#2e7d32;font-weight:700;font-size:14px}.dmt-td-vs[data-v-1ce010c0]{text-align:center;color:#94a3b8;font-size:12px;font-weight:600}.dmt-td-round[data-v-1ce010c0]{display:flex;flex-direction:column;gap:2px}.dmt-round[data-v-1ce010c0]{font-size:12px;font-weight:600;color:#475569}.dmt-group-badge[data-v-1ce010c0]{font-size:10px;font-weight:700;color:#2e7d32;background:#e8f5e9;padding:1px 6px;border-radius:4px;display:inline-block;width:fit-content}.dmt-td-score .dmt-score-final[data-v-1ce010c0]{font-weight:700;color:#1b5e20;font-size:14px}.dmt-td-score .dmt-score-muted[data-v-1ce010c0]{color:#94a3b8}.dmt-td-tournament[data-v-1ce010c0]{color:#64748b;font-size:13px}.dmt-status-tag[data-v-1ce010c0]{font-size:11px;padding:2px 8px;border-radius:4px;text-transform:uppercase;font-weight:600;letter-spacing:.3px;white-space:nowrap;display:inline-block}.dmt-status-tag.scheduled[data-v-1ce010c0]{background:#fff3e0;color:#e65100}.dmt-status-tag.in_progress[data-v-1ce010c0]{background:#e3f2fd;color:#1565c0}.dmt-status-tag.completed[data-v-1ce010c0]{background:#e8f5e9;color:#2e7d32}.admin-table[data-v-61572ba9]{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table th[data-v-61572ba9],.admin-table td[data-v-61572ba9]{padding:.65rem .75rem;text-align:left;border-bottom:1px solid var(--border-color, #eee)}.admin-table th[data-v-61572ba9]{font-weight:600;color:var(--text-muted, #666);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.admin-table tbody tr[data-v-61572ba9]:hover{background:var(--hover-bg, #f8f8f8)}.cell-id[data-v-61572ba9]{width:40px;color:var(--text-muted, #999);font-size:.8rem}.cell-date[data-v-61572ba9]{white-space:nowrap;color:var(--text-muted, #888);font-size:.8rem}.cell-actions[data-v-61572ba9]{white-space:nowrap;display:flex;gap:.35rem}.role-badge[data-v-61572ba9]{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.role-admin[data-v-61572ba9]{background:#fff3cd;color:#856404}.role-user[data-v-61572ba9]{background:#cce5ff;color:#004085}.role-player[data-v-61572ba9]{background:#d4edda;color:#155724}.role-edit[data-v-61572ba9]{display:flex;gap:.25rem;align-items:center}.status-dot[data-v-61572ba9]{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.35rem;vertical-align:middle}.status-dot.active[data-v-61572ba9]{background:#28a745}.status-dot.inactive[data-v-61572ba9]{background:#dc3545}.badge[data-v-61572ba9]{background:var(--border-color, #eee);padding:.25rem .65rem;border-radius:999px;font-size:.8rem;color:var(--text-muted, #666)}.form-row[data-v-296eb023]{display:flex;gap:10px}.form-row .input-field[data-v-296eb023]{flex:1}.checkbox-label[data-v-296eb023]{display:flex;align-items:center;gap:6px;font-size:14px;color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox][data-v-296eb023]{width:16px;height:16px;accent-color:#2e7d32}.card-header-row[data-v-296eb023]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.card-header-actions[data-v-296eb023]{display:flex;gap:6px}.group-header[data-v-296eb023]{font-size:14px;font-weight:700;color:#1b5e20;padding:16px 0 6px;text-transform:uppercase;letter-spacing:.5px}.group-header[data-v-296eb023]:first-of-type{padding-top:0}.match-card-item[data-v-296eb023]{padding:12px 0;border-bottom:1px solid #f1f5f9}.match-card-item[data-v-296eb023]:last-child{border:none}.match-top[data-v-296eb023]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.match-round-badge[data-v-296eb023]{font-size:12px;font-weight:600;color:#475569;background:#f1f5f9;padding:2px 8px;border-radius:4px}.match-status-tag[data-v-296eb023]{font-size:11px;padding:2px 8px;border-radius:4px;text-transform:uppercase;font-weight:600}.match-status-tag.scheduled[data-v-296eb023]{background:#fff3e0;color:#e65100}.match-status-tag.in_progress[data-v-296eb023]{background:#e3f2fd;color:#1565c0}.match-status-tag.completed[data-v-296eb023]{background:#e8f5e9;color:#2e7d32}.match-players-row[data-v-296eb023]{display:flex;align-items:center;gap:10px;margin-bottom:6px}.match-player-name[data-v-296eb023]{flex:1;font-weight:500;font-size:14px}.match-vs-label[data-v-296eb023]{color:#94a3b8;font-size:12px;font-weight:600;flex-shrink:0}.match-bottom[data-v-296eb023]{display:flex;align-items:center;gap:10px;font-size:13px}.match-schedule[data-v-296eb023]{flex:1;color:#64748b}.match-schedule.muted[data-v-296eb023]{color:#94a3b8}.match-score-final[data-v-296eb023]{font-weight:600;color:#1b5e20}.match-score-final.muted[data-v-296eb023]{color:#94a3b8;font-weight:400}.error-msg[data-v-296eb023]{background:#fef2f2;color:#d32f2f;padding:10px 14px;border-radius:8px;font-size:14px;margin:0 0 10px}.tournament-info[data-v-296eb023]{padding:12px 0 0}.info-desc[data-v-296eb023]{font-size:14px;color:#475569;line-height:1.5;margin-bottom:10px}.info-grid[data-v-296eb023]{display:flex;flex-wrap:wrap;gap:6px 16px}.info-item[data-v-296eb023]{font-size:13px;color:#64748b}.status-badge-sm[data-v-296eb023]{font-size:11px;padding:1px 6px;border-radius:4px;text-transform:uppercase;font-weight:600}.status-badge-sm.upcoming[data-v-296eb023]{background:#fff3e0;color:#e65100}.status-badge-sm.in_progress[data-v-296eb023]{background:#e3f2fd;color:#1565c0}.status-badge-sm.completed[data-v-296eb023]{background:#e8f5e9;color:#2e7d32}.bulk-bar[data-v-296eb023]{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#e8f5e9;border-radius:10px;margin-bottom:12px}.bulk-bar[data-v-296eb023]{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#e8f5e9;border-radius:8px;margin-bottom:12px}.bulk-count[data-v-296eb023]{flex:1;font-size:14px;font-weight:600;color:#2e7d32}.reg-check[data-v-296eb023]{width:16px;height:16px;accent-color:#2e7d32;cursor:pointer;flex-shrink:0}.reg-paid-label[data-v-296eb023]{display:flex;align-items:center;gap:4px;font-size:13px;white-space:nowrap;cursor:pointer}.standings-table[data-v-296eb023]{width:100%;border-collapse:collapse}.standings-row[data-v-296eb023]{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #f1f5f9;font-size:14px}.standings-row[data-v-296eb023]:last-child{border-bottom:none}.standings-header[data-v-296eb023]{font-weight:700;color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e2e8f0}.st-rank[data-v-296eb023]{width:28px;text-align:center;font-weight:600;color:#94a3b8}.st-name[data-v-296eb023]{flex:1;font-weight:500}.st-group[data-v-296eb023]{width:80px;text-align:center;color:#64748b;font-size:13px}.st-played[data-v-296eb023]{width:70px;text-align:center;color:#64748b}.st-points[data-v-296eb023]{width:60px;text-align:center;font-weight:700;color:#2e7d32}.btn.active[data-v-296eb023]{background:#2e7d32;color:#fff;border-color:#2e7d32}.bracket[data-v-296eb023]{display:flex;gap:32px;overflow-x:auto;padding:16px 8px;align-items:stretch}.bracket-round[data-v-296eb023]{display:flex;flex-direction:column;justify-content:space-around;min-width:140px;gap:16px}.bracket-round-title[data-v-296eb023]{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;text-align:center;margin-bottom:4px}.bracket-match[data-v-296eb023]{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px;min-height:64px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 1px 3px #0000000a}.bracket-match.completed[data-v-296eb023]{border-color:#c8e6c9;background:#f1f8e9}.bm-player[data-v-296eb023]{display:flex;justify-content:space-between;align-items:center;padding:2px 0;font-size:13px;border-bottom:1px solid #f1f5f9}.bm-player[data-v-296eb023]:last-child{border-bottom:none}.bm-player.winner[data-v-296eb023]{font-weight:700;color:#2e7d32}.bm-name[data-v-296eb023]{flex:1}.bm-score[data-v-296eb023]{margin-left:8px;font-size:12px;font-weight:600;color:#64748b}.bm-group[data-v-296eb023]{margin:0 6px;font-size:10px;font-weight:700;color:#94a3b8;background:#f1f5f9;padding:1px 5px;border-radius:4px;letter-spacing:.3px}.bracket-tree[data-v-296eb023]{display:flex;flex-direction:column;align-items:center;gap:0;padding:20px 8px;overflow-x:auto}.bt-round[data-v-296eb023]{width:100%;display:flex;flex-direction:column;align-items:center}.bt-round-title[data-v-296eb023]{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;text-align:center;margin-bottom:6px}.bt-matches[data-v-296eb023]{display:flex;width:100%;justify-content:center}.bt-match[data-v-296eb023]{display:flex;flex-direction:column;align-items:center;padding:0 4px;max-width:200px}.bt-bridge[data-v-296eb023]{display:flex;width:100%;justify-content:center;height:28px;position:relative;margin-bottom:4px}.bt-branch[data-v-296eb023]{display:flex;flex-direction:column;align-items:center;position:relative}.bt-bv[data-v-296eb023]{width:2px;flex:1;background:#cbd5e1}.bt-bh[data-v-296eb023]{position:absolute;top:50%;height:2px;background:#cbd5e1}.bt-bh-r[data-v-296eb023]{left:50%;right:0}.bt-bh-l[data-v-296eb023]{left:0;right:50%}.bt-branch:only-child .bt-bh[data-v-296eb023]{display:none}.bt-hint[data-v-296eb023]{font-size:11px;color:#94a3b8;text-align:center;padding:4px 0 8px;font-style:italic}.paid-badge[data-v-296eb023]{font-size:11px;padding:1px 6px;border-radius:4px;font-weight:500}.paid-badge.paid[data-v-296eb023]{color:#2e7d32;background:#e8f5e9}.paid-badge.unpaid[data-v-296eb023]{color:#b71c1c;background:#ffebee}.paid-badge.clickable[data-v-296eb023]{cursor:pointer}.paid-badge.clickable[data-v-296eb023]:hover{opacity:.8}.btn-xs[data-v-296eb023]{font-size:11px;padding:2px 8px}.input-xs[data-v-296eb023]{font-size:12px;padding:3px 6px;width:auto}.match-edit-schedule[data-v-296eb023]{display:flex;gap:6px;align-items:center;padding:6px 0}.btn-success[data-v-296eb023]{background:#2e7d32;color:#fff;border-color:#2e7d32}.btn-success[data-v-296eb023]:hover{background:#1b5e20}.group-select[data-v-296eb023]{max-width:130px;margin-left:8px;padding:3px 8px;font-size:12px;width:auto}.filter-bar[data-v-f3c48291]{display:flex;gap:12px;margin-bottom:20px}.filter-select[data-v-f3c48291]{max-width:320px}.section-title[data-v-f3c48291]{font-size:18px;margin:0 0 16px}.results-section[data-v-f3c48291]{margin-top:32px;padding-top:16px;border-top:2px solid #e2e8f0}.day-slider-header[data-v-f3c48291]{display:flex;align-items:center;gap:12px;margin-bottom:16px}.slide-btn[data-v-f3c48291]{width:40px;height:40px;border-radius:50%;border:1px solid #e2e8f0;background:#fff;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#475569;transition:all .15s;flex-shrink:0}.slide-btn[data-v-f3c48291]:hover:not(:disabled){background:#f1f5f9;border-color:#2e7d32;color:#2e7d32}.slide-btn[data-v-f3c48291]:disabled{opacity:.3;cursor:default}.day-title[data-v-f3c48291]{flex:1;text-align:center}.day-title-date[data-v-f3c48291]{font-size:15px;font-weight:700;color:#1b5e20;text-transform:capitalize}.day-dots[data-v-f3c48291]{display:flex;justify-content:center;gap:6px;margin-top:6px}.dot[data-v-f3c48291]{width:8px;height:8px;border-radius:50%;background:#e2e8f0;cursor:pointer;transition:all .15s}.dot.active[data-v-f3c48291]{background:#2e7d32;width:24px;border-radius:4px}.dot[data-v-f3c48291]:hover{background:#94a3b8}.day-section[data-v-f3c48291]{margin-bottom:28px}.day-header-static[data-v-f3c48291]{font-size:15px;font-weight:700;color:#1b5e20;padding:8px 0 4px;text-transform:capitalize;border-bottom:1px solid #e2e8f0;margin-bottom:8px}.group-section[data-v-f3c48291]{margin-bottom:12px}.group-header[data-v-f3c48291]{font-size:13px;font-weight:700;color:#374151;padding:6px 0 4px;text-transform:uppercase;letter-spacing:.5px}.day-slide[data-v-f3c48291]{animation:fadeIn-f3c48291 .2s ease}@keyframes fadeIn-f3c48291{0%{opacity:.4;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.match-grid[data-v-f3c48291]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}.match-card[data-v-f3c48291]{background:#fff;border-radius:12px;padding:14px;box-shadow:0 1px 3px #0000000f}.match-card.completed[data-v-f3c48291]{border-left:3px solid #2e7d32}.match-header[data-v-f3c48291]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.match-tourney[data-v-f3c48291]{font-size:12px;color:#64748b;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:8px}.match-status-badge[data-v-f3c48291]{font-size:10px;padding:2px 6px;border-radius:4px;text-transform:uppercase;font-weight:600;letter-spacing:.3px;white-space:nowrap}.match-status-badge.scheduled[data-v-f3c48291]{background:#fff3e0;color:#e65100}.match-status-badge.completed[data-v-f3c48291]{background:#e8f5e9;color:#2e7d32}.match-players[data-v-f3c48291]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.match-player[data-v-f3c48291]{flex:1;font-weight:500;font-size:14px;display:flex;align-items:center;gap:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-player.is-winner[data-v-f3c48291]{color:#2e7d32;font-weight:700}.player-dot[data-v-f3c48291]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.winner-check[data-v-f3c48291]{color:#2e7d32;font-weight:700;font-size:14px;flex-shrink:0}.match-vs[data-v-f3c48291]{color:#94a3b8;font-size:12px;font-weight:600;flex-shrink:0}.match-footer[data-v-f3c48291]{display:flex;align-items:center;gap:8px;border-top:1px solid #f1f5f9;padding-top:8px}.match-round-label[data-v-f3c48291]{font-size:12px;color:#64748b;font-weight:500}.match-time[data-v-f3c48291]{flex:1;text-align:right;font-size:13px;color:#1a1a2e;font-weight:600}.match-score-final[data-v-f3c48291]{flex:1;text-align:right;font-size:14px;font-weight:700;color:#1b5e20}.btn-xs[data-v-f3c48291]{font-size:11px;padding:2px 8px}.input-xs[data-v-f3c48291]{font-size:12px;padding:3px 6px;width:auto}.match-edit-schedule[data-v-f3c48291]{display:flex;gap:6px;align-items:center;padding:6px 0}.btn-success[data-v-f3c48291]{background:#2e7d32;color:#fff;border-color:#2e7d32}.btn-success[data-v-f3c48291]:hover{background:#1b5e20}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f0f2f5;color:#1a1a2e;-webkit-text-size-adjust:100%;line-height:1.5}.input-field{width:100%;padding:10px 14px;border:1px solid #cbd5e1;border-radius:8px;font-size:15px;background:#fff;transition:border-color .15s}.input-field:focus{outline:none;border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d321a}select.input-field{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.btn,.btn-outline,.btn-danger{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border:none;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:background .15s}.btn:disabled,.btn-outline:disabled,.btn-danger:disabled{opacity:.5;cursor:default}.btn,.btn-outline,.btn-danger{background:#2e7d32;color:#fff}.btn:hover:not(:disabled),.btn-outline:hover:not(:disabled),.btn-danger:hover:not(:disabled){background:#1b5e20}.btn-danger{background:#d32f2f}.btn-danger:hover:not(:disabled){background:#b71c1c}.btn-outline{background:transparent;border:1px solid #cbd5e1;color:#64748b}.btn-outline:hover:not(:disabled){background:#f1f5f9}.btn-sm{padding:6px 14px;font-size:13px}.empty-state{text-align:center;color:#94a3b8;padding:40px 20px;font-size:15px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.page-header h2{margin:0;font-size:20px}.card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;padding:20px;margin-bottom:16px}.app-shell{display:flex;min-height:100vh}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:99}.sidebar-overlay.visible{display:block}.sidebar{position:fixed;top:0;left:-260px;width:260px;height:100vh;background:#1b5e20;color:#fff;display:flex;flex-direction:column;z-index:100;transition:left .25s ease}.sidebar.open{left:0}@media(min-width:640px){.sidebar,.sidebar.open{left:0}.sidebar-overlay,.hamburger,.sidebar-close{display:none!important}.main-area.with-sidebar{margin-left:260px;transition:margin-left .25s ease}}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:20px 16px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-brand{display:flex;align-items:center;gap:10px}.brand-icon{font-size:28px}.brand-text{font-size:20px;font-weight:700}.sidebar-close{background:none;border:none;color:#ffffffb3;font-size:22px;cursor:pointer}.sidebar-close:hover{color:#fff}.sidebar-nav{flex:1;padding:12px 8px;display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;color:#ffffffd9;text-decoration:none;font-size:15px;font-weight:500;transition:background .15s}.nav-item:hover{background:#ffffff1f}.nav-item.router-link-active{background:#ffffff2e;color:#fff}.nav-icon{font-size:20px}.sidebar-footer{padding:12px 16px 20px;border-top:1px solid rgba(255,255,255,.1)}.user-badge{display:flex;align-items:center;gap:10px;margin-bottom:10px}.user-avatar{width:36px;height:36px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0}.user-email{font-size:13px;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-logout{width:100%;padding:10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:14px;cursor:pointer;transition:background .15s}.btn-logout:hover{background:#fff3}.main-area{flex:1;display:flex;flex-direction:column;min-width:0}.top-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:50}.top-bar-title{font-size:17px;font-weight:600;color:#1b5e20}.spacer{flex:1}.hamburger{background:none;border:none;font-size:24px;cursor:pointer;color:#333}main{flex:1;padding:16px}.app-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;background:#fff;border-top:1px solid #e2e8f0;font-size:13px;color:#64748b}.footer-contacts{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.footer-phone{display:inline-flex;align-items:center;gap:6px;font-weight:500;color:#1b5e20}.footer-copy{opacity:.7}.card-list{display:flex;flex-direction:column;gap:8px}.list-item{display:flex;align-items:center;gap:14px;background:#fff;border-radius:12px;padding:14px 16px;box-shadow:0 1px 3px #0000000f}.list-item.clickable{cursor:pointer;transition:box-shadow .15s}.list-item.clickable:hover{box-shadow:0 2px 8px #0000001a}.list-item.active{box-shadow:0 0 0 2px #2e7d32}.item-avatar{width:42px;height:42px;border-radius:50%;background:#e8f5e9;color:#2e7d32;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;flex-shrink:0}.item-icon{font-size:28px;flex-shrink:0}.item-body{flex:1;min-width:0}.item-name{font-weight:600;font-size:16px}.item-meta{font-size:13px;color:#64748b;margin-top:2px}.match-card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 3px #0000000f}.match-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.match-tourney{font-size:13px;color:#64748b;font-weight:500}.match-status-badge.completed{background:#e8f5e9;color:#2e7d32;font-size:11px;padding:2px 8px;border-radius:4px;text-transform:uppercase;font-weight:600;letter-spacing:.3px}.match-status-badge.scheduled{background:#fff3e0;color:#e65100;font-size:11px;padding:2px 8px;border-radius:4px;text-transform:uppercase;font-weight:600;letter-spacing:.3px}.match-status-badge.in_progress{background:#e3f2fd;color:#1565c0;font-size:11px;padding:2px 8px;border-radius:4px;text-transform:uppercase;font-weight:600;letter-spacing:.3px}.match-players{display:flex;align-items:center;gap:12px;margin-bottom:12px}.match-player{flex:1;display:flex;align-items:center;gap:8px;font-weight:500;font-size:15px}.match-player.winner{color:#2e7d32;font-weight:700}.player-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.match-vs{color:#94a3b8;font-size:13px;font-weight:600;flex-shrink:0}.match-footer{display:flex;align-items:center;gap:12px;border-top:1px solid #f1f5f9;padding-top:10px}.match-round-label{font-size:13px;color:#64748b;font-weight:500}.match-score-display{flex:1;text-align:center;font-size:14px;font-weight:600;color:#334155}.detail-section{display:flex;flex-direction:column;gap:16px;margin-top:16px}.reg-item{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:14px;border-bottom:1px solid #f1f5f9}.reg-item:last-child{border:none}.match-item{display:flex;align-items:center;gap:12px;padding:8px 0;font-size:14px;border-bottom:1px solid #f1f5f9}.match-item:last-child{border:none}.match-round{font-weight:600;min-width:60px}.match-score{flex:1;text-align:center;color:#475569}.match-status{font-size:12px;padding:2px 8px;border-radius:4px}.match-status.completed{background:#e8f5e9;color:#2e7d32}.match-status.scheduled{background:#fff3e0;color:#e65100}.match-status.in_progress{background:#e3f2fd;color:#1565c0}.match-grid{display:flex;flex-direction:column;gap:12px}@media(min-width:640px){.match-grid{display:grid;grid-template-columns:repeat(3,1fr)}}.form-grid{display:flex;flex-direction:column;gap:10px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:200;padding:16px}.modal-card{background:#fff;border-radius:16px;padding:28px 24px;width:100%;max-width:400px;box-shadow:0 20px 60px #0000004d}.modal-form{display:flex;flex-direction:column;gap:10px}.modal-actions{display:flex;gap:8px;margin-top:4px}.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#1b5e20,#2e7d32,#388e3c);padding:16px}.login-card{width:100%;max-width:400px;background:#fff;border-radius:16px;padding:40px 32px;box-shadow:0 20px 60px #0000004d}.login-brand{text-align:center;margin-bottom:28px}.login-icon{font-size:48px;display:block;margin-bottom:8px}.login-brand h1{font-size:26px;color:#1b5e20;margin:0}.login-subtitle{color:#64748b;font-size:14px;margin-top:4px}.login-form{display:flex;flex-direction:column;gap:14px}.error-msg{background:#fef2f2;color:#d32f2f;padding:10px 14px;border-radius:8px;font-size:14px;margin:0}.toggle-link{text-align:center;font-size:14px;color:#2e7d32;text-decoration:none}.toggle-link:hover{text-decoration:underline}
