#auth-wall,#tournament-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:Be Vietnam Pro,Inter,sans-serif;padding:16px}.aw-card{background:#fff;border-radius:20px;padding:36px 32px;width:100%;box-shadow:0 24px 64px #00000038;animation:aw-slide-in .25s ease}@keyframes aw-slide-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.aw-logo{display:block;margin:0 auto 20px;height:36px}.aw-title{font-size:20px;font-weight:700;color:#111827;margin:0 0 6px;text-align:center}.aw-sub{font-size:13px;color:#6b7280;text-align:center;margin:0 0 24px}.aw-label{display:block;font-size:12px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px}.aw-input{width:100%;padding:12px 16px;border-radius:12px;border:1.5px solid #e5e7eb;font-size:15px;outline:none;background:#f9fafb;box-sizing:border-box;font-family:inherit;transition:border-color .2s}.aw-input:focus{border-color:#f93d3a;background:#fff}.aw-field{margin-bottom:16px}.aw-btn{width:100%;padding:14px;border-radius:12px;border:none;background:#f93d3a;color:#fff;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .2s;margin-top:4px}.aw-btn:hover{background:#d92b28}.aw-btn:disabled{background:#fca5a5;cursor:not-allowed}.aw-btn-ghost{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb;padding:8px 18px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s}.aw-btn-ghost:hover{background:#e5e7eb}.aw-btn-danger{background:#fee2e2;color:#dc2626;border:1px solid #fecaca;padding:8px 18px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s}.aw-btn-danger:hover{background:#fecaca}.aw-error{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;padding:10px 14px;font-size:13px;margin-bottom:16px}.aw-btn-google{width:100%;padding:13px;border-radius:12px;border:1.5px solid #e5e7eb;background:#fff;color:#374151;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .15s,border-color .15s;margin-bottom:20px}.aw-btn-google:hover{background:#f9fafb;border-color:#d1d5db}.aw-divider{display:flex;align-items:center;gap:12px;color:#9ca3af;font-size:13px;margin-bottom:20px}.aw-divider:before,.aw-divider:after{content:"";flex:1;border-top:1px solid #e5e7eb}.aw-picker-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.aw-picker-actions{display:flex;gap:8px;flex-shrink:0;margin-left:12px}.aw-list{overflow-y:auto;max-height:55vh;margin:0 -4px;padding:0 4px}.aw-tournament-item{border:1.5px solid #e5e7eb;border-radius:14px;padding:14px 18px;margin-bottom:10px;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s;background:#fff}.aw-tournament-item:hover{border-color:#f93d3a;background:#fff5f5;box-shadow:0 4px 16px #f93d3a1a}.aw-tournament-name{font-size:15px;font-weight:700;color:#111827;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aw-tournament-meta{font-size:12px;color:#6b7280}.aw-badge-published{display:inline-block;padding:2px 10px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap;flex-shrink:0;background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}.aw-badge-draft{display:inline-block;padding:2px 10px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap;flex-shrink:0;background:#fef9c3;color:#854d0e;border:1px solid #fde047}.aw-empty{text-align:center;padding:40px 20px;color:#9ca3af}.aw-empty-icon{font-size:40px;margin-bottom:12px}#operator-user-chip{display:flex;align-items:center;gap:10px;margin-left:auto;white-space:nowrap;flex-shrink:0}#operator-user-chip .aw-chip-name{font-size:13px;color:#374151;font-weight:500;white-space:nowrap;flex-shrink:0}.aw-switcher-btn{display:flex;align-items:center;gap:6px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:10px;padding:6px 12px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;color:#111827;transition:background .15s;max-width:220px;white-space:nowrap;flex-shrink:0}.aw-switcher-btn span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.aw-access-denied{position:fixed;top:0;right:0;bottom:0;left:0;background:#fff;z-index:99999;display:flex;align-items:center;justify-content:center;font-family:sans-serif;color:#6b7280}.aw-tournament-subtitle{margin-top:6px;display:flex;align-items:center;gap:8px}.aw-tournament-subtitle>span{display:inline-flex;align-items:center;gap:5px;background:#fff5f5;border:1px solid #fecaca;color:#dc2626;font-size:13px;font-weight:600;padding:3px 12px;border-radius:20px;white-space:nowrap}.view-mode-toggle{display:inline-flex;align-items:center;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;padding:3px;gap:2px}.view-mode-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;border:none;background:transparent;color:#475569;border-radius:6px;cursor:pointer;transition:all .15s ease;line-height:1.2}.view-mode-btn:hover{color:#1a338e}.view-mode-btn.active{background:#1a338e;color:#fff;box-shadow:0 1px 3px #0000001f}.bracket-container{width:100%;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;box-shadow:0 2px 10px #0000000a;margin-bottom:32px;position:relative;overflow:hidden}.bracket-container:fullscreen{padding:24px;border-radius:0;background:#fff;overflow:auto}.bracket-top-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #e2e8f0}.bracket-title-wrap{display:flex;align-items:center;gap:12px}.bracket-title-badge{font-size:12px;font-weight:700;background:#1a338e;color:#fff;padding:4px 10px;border-radius:6px;letter-spacing:.5px;text-transform:uppercase}.bracket-title-text h3{margin:0;font-size:16px;font-weight:700;color:#0f172a}.bracket-title-text p{margin:2px 0 0;font-size:12px;color:#64748b}.bracket-series-tabs{display:flex;gap:8px;margin-bottom:16px;border-bottom:2px solid #e2e8f0;padding-bottom:8px}.bracket-series-btn{padding:6px 14px;font-size:13px;font-weight:600;background:#f8fafc;border:1px solid #cbd5e1;color:#334155;border-radius:6px;cursor:pointer;transition:all .15s ease}.bracket-series-btn.active{background:#1a338e;border-color:#1a338e;color:#fff}.bracket-actions{display:flex;align-items:center;gap:8px}.bracket-zoom-controls{display:inline-flex;align-items:center;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;overflow:hidden}.btn-zoom{padding:6px 10px;font-size:13px;font-weight:700;background:transparent;border:none;border-right:1px solid #cbd5e1;color:#334155;cursor:pointer;transition:background .15s ease;line-height:1}.btn-zoom:last-child{border-right:none}.btn-zoom:hover{background:#e2e8f0;color:#0f172a}.zoom-level-text{font-size:11px;font-weight:600;color:#475569;padding:0 8px;min-width:44px;text-align:center;-webkit-user-select:none;user-select:none}.btn-bracket-action{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;background:#fff;border:1px solid #cbd5e1;color:#334155;border-radius:6px;cursor:pointer;transition:all .15s ease}.btn-bracket-action:hover{background:#f1f5f9;border-color:#94a3b8;color:#0f172a}.bracket-notice-banner{display:flex;align-items:center;gap:8px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:18px}.bracket-empty-state{text-align:center;padding:48px 24px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;margin:16px 0}.bracket-empty-title{font-size:16px;font-weight:700;color:#0f172a;margin-bottom:6px}.bracket-empty-desc{font-size:13px;color:#64748b;max-width:500px;margin:0 auto 18px;line-height:1.5}.bracket-scroll-wrapper{width:100%;overflow:auto;padding:16px 8px 32px;-webkit-overflow-scrolling:touch;-webkit-user-select:none;user-select:none}.bracket-scroll-wrapper.is-panning{cursor:grabbing!important}.bracket-scroll-wrapper.can-pan{cursor:grab}.bracket-board{display:flex;align-items:stretch;gap:52px;min-width:max-content;position:relative;padding:12px 16px;transform-origin:top left;transition:transform .15s ease-out}.bracket-column{display:flex;flex-direction:column;width:290px;position:relative}.bracket-round-header{text-align:center;margin-bottom:24px;padding:8px 12px;background:#1a338e;color:#fff;border-radius:6px;border:1px solid #162a75}.bracket-round-header.header-champ{background:#0f172a;border-color:#020617}.bracket-round-title{font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.bracket-round-subtitle{font-size:11px;opacity:.85;margin-top:2px}.bracket-matches-list{display:flex;flex-direction:column;justify-content:space-around;flex:1;gap:32px;position:relative}.bracket-match-pair{display:flex;flex-direction:column;gap:24px;position:relative}.bracket-match-card{width:290px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 4px #0000000a;position:relative;transition:border-color .15s ease,box-shadow .15s ease;overflow:hidden}.bracket-match-card:hover{border-color:#1a338e;box-shadow:0 3px 10px #1a338e1a}.bracket-match-card.is-live{border-color:#ef4444;box-shadow:0 0 0 1px #ef4444}.bracket-match-card.is-finished{border-color:#cbd5e1}.bmc-header{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:#f8fafc;border-bottom:1px solid #f1f5f9;font-size:11px}.bmc-label{font-weight:700;color:#334155}.bmc-court{color:#64748b;margin-left:6px;font-weight:500}.bmc-status-badge{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase}.bmc-status-badge.status-PENDING{background:#f1f5f9;color:#64748b}.bmc-status-badge.status-PLAYING,.bmc-status-badge.status-CALLPLAYER{background:#fee2e2;color:#dc2626;font-weight:800}.bmc-status-badge.status-FINISHED{background:#f0fdf4;color:#16a34a}.bmc-body{display:flex;flex-direction:column}.bmc-team-row{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-bottom:1px solid #f1f5f9;position:relative;transition:background .15s ease}.bmc-team-row:last-child{border-bottom:none}.bmc-team-row.team-1{border-left:3px solid #1a338e}.bmc-team-row.team-2{border-left:3px solid #ef4444}.bmc-team-row.is-winner{background:#f0fdf4}.bmc-team-row.is-loser{opacity:.6}.bmc-team-info{display:flex;flex-direction:column;gap:1px;overflow:hidden;flex:1;padding-right:6px}.bmc-team-name-row{display:flex;align-items:center;gap:5px}.bmc-team-name{font-size:12px;font-weight:700;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.bmc-team-label{font-size:10px;font-weight:600;background:#e2e8f0;color:#334155;padding:1px 4px;border-radius:3px}.bmc-winner-tag{font-size:10px;font-weight:700;color:#16a34a}.bmc-edit-btn{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:2px;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease;line-height:1}.bmc-edit-btn:hover{color:#1a338e;background:#f1f5f9}.bmc-edit-btn svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.bmc-players-list{display:flex;flex-wrap:wrap;gap:2px 6px;font-size:11px;color:#475569}.bmc-player-item{display:inline-flex;align-items:center;gap:2px;white-space:nowrap}.bmc-player-item b{color:#64748b;font-size:10px}.bmc-score-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:1px;min-width:38px}.bmc-sets-won{font-size:14px;font-weight:800;color:#0f172a;min-width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border-radius:4px;padding:0 4px}.bmc-team-row.is-winner .bmc-sets-won{background:#16a34a;color:#fff}.bmc-set-details{font-size:9px;color:#64748b;letter-spacing:.2px;white-space:nowrap}.bmc-footer{display:flex;justify-content:flex-end;align-items:center;padding:5px 8px;background:#f8fafc;border-top:1px solid #f1f5f9}.bmc-action-btn{padding:3px 8px;font-size:11px;font-weight:600;border-radius:4px;border:1px solid #cbd5e1;background:#fff;color:#334155;cursor:pointer;display:inline-flex;align-items:center;gap:3px;transition:all .15s ease}.bmc-action-btn:hover{background:#f1f5f9;border-color:#1a338e;color:#1a338e}.bracket-branch-right{position:absolute;right:-52px;top:50%;width:52px;height:2px;background:#cbd5e1}.bracket-pair-connector{position:absolute;right:-26px;top:25%;bottom:25%;width:26px;border-right:2px solid #cbd5e1;border-top:2px solid #cbd5e1;border-bottom:2px solid #cbd5e1}.bracket-pair-connector-stem{position:absolute;right:-52px;top:50%;width:26px;height:2px;background:#cbd5e1}.bracket-champion-box{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fff;border:2px solid #1a338e;border-radius:8px;padding:20px 16px;margin-top:auto;margin-bottom:auto;width:250px;position:relative;box-shadow:0 4px 12px #1a338e14}.bracket-champion-badge{background:#1a338e;color:#fff;font-size:11px;font-weight:800;letter-spacing:1px;padding:3px 8px;border-radius:4px;text-transform:uppercase;margin-bottom:8px}.bracket-champion-name{font-size:15px;font-weight:800;color:#0f172a;margin:0 0 4px;line-height:1.3}.bracket-champion-players{font-size:12px;color:#475569;font-weight:600}.bracket-champion-pending{font-size:12px;color:#64748b;font-style:italic}.bracket-third-place-wrap{margin-top:28px;display:flex;flex-direction:column;align-items:center}.bracket-third-header{font-size:11px;font-weight:700;color:#475569;margin-bottom:8px;letter-spacing:.5px;text-transform:uppercase}.operate-page .match-card{background:#fff;border:1px solid var(--neutral-200);border-radius:12px;padding:16px;margin-bottom:16px;display:flex;flex-direction:column;gap:12px}.operate-page .match-header{display:flex;justify-content:space-between;font-size:13px;color:var(--neutral-500);font-weight:600;border-bottom:1px dashed var(--neutral-200);padding-bottom:8px}.operate-page .team-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.operate-page .team-name{font-weight:600;color:var(--neutral-800);font-size:15px}.operate-page .mc-team-row{gap:10px;align-items:center;min-width:0;border-radius:10px;padding:10px 8px;transition:background .15s ease}.operate-page .mc-team-row:hover{background:#f8fafc}.operate-page .mc-team-row--blue{border-left:3px solid #60a5fa}.operate-page .mc-team-row--red{border-left:3px solid #f87171}.operate-page .mc-team-row.is-winner{background:#fffbeb}.operate-page .mc-team-main{flex:1;min-width:0}.operate-page .mc-team-heading{display:flex;align-items:center;gap:6px;min-width:0}.operate-page .mc-team-heading .team-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operate-page .mc-team-label{flex:0 0 auto;padding:2px 6px;border-radius:99px;background:var(--neutral-100);color:var(--neutral-500);font-size:10px;font-weight:600}.operate-page .mc-team-locked{color:var(--neutral-400);font-size:10px;white-space:nowrap}.operate-page .mc-player-list{display:flex;flex-wrap:wrap;gap:4px 6px;margin-top:5px}.operate-page .mc-player{min-width:0;color:var(--neutral-600);font-size:11px;line-height:1.3;white-space:nowrap}.operate-page .mc-player b{color:var(--neutral-500)}.operate-page .mc-player em{color:var(--neutral-400);font-size:10px;font-style:normal;margin-left:3px}.operate-page .mc-team-controls{display:flex;align-items:center;gap:6px;flex:0 0 auto}.operate-page .mc-edit-button{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;border:1px solid #dbeafe;border-radius:9px;background:#eff6ff;color:#2563eb;cursor:pointer;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.operate-page .mc-edit-button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.operate-page .mc-edit-button:hover{background:#dbeafe;box-shadow:0 3px 8px #2563eb2e;transform:translateY(-1px)}.operate-page .mc-edit-button:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}@media (max-width: 420px){.operate-page .mc-team-row{padding:8px 6px}.operate-page .mc-player-list{display:block}.operate-page .mc-player{display:block;overflow:hidden;text-overflow:ellipsis}.operate-page .mc-team-controls{gap:4px}}.operate-page .match-actions{display:flex;gap:6px;margin-top:12px}.operate-page .btn-action{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:9px 10px;border:none;border-radius:10px;font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.2px;cursor:pointer;transition:transform .12s,box-shadow .12s,filter .12s;white-space:nowrap}.operate-page .btn-action:active{transform:scale(.96)}.operate-page .btn-action:disabled{opacity:.45;cursor:not-allowed}.operate-page .btn-action-start{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 2px 8px #3b82f659}.operate-page .btn-action-start:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 4px 14px #3b82f673}.operate-page .btn-action-score{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 2px 8px #6366f159}.operate-page .btn-action-score:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 4px 14px #6366f173}.operate-page .btn-action-call{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 2px 8px #f59e0b59}.operate-page .btn-action-call:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 4px 14px #f59e0b73}.operate-page .btn-action-quick{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 8px #10b98159}.operate-page .btn-action-quick:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 4px 14px #10b98173}.operate-page .btn-action-finish{background:linear-gradient(135deg,#f93d3a,#dc2626);color:#fff;box-shadow:0 2px 8px #f93d3a4d}.operate-page .btn-action-finish:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 4px 14px #f93d3a66}.operate-page .status-badge{padding:2px 8px;border-radius:12px;font-size:11px}.operate-page .status-PENDING{background:var(--neutral-100);color:var(--neutral-600)}.operate-page .status-STARTED,.operate-page .status-PLAYING,.operate-page .status-CALLPLAYER{background:#e3f2fd;color:#1976d2}.operate-page .status-FINISHED{background:#e8f5e9;color:#388e3c}.operate-page .round-section{margin-top:32px}.operate-page .round-title{font-size:18px;font-weight:700;margin-bottom:16px;color:var(--neutral-800)}.sm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px}.sm-modal{background:#fff;border-radius:20px;padding:28px 24px;width:100%;max-width:420px;box-shadow:0 24px 64px #0003;animation:sm-in .2s ease}@keyframes sm-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.sm-title{font-size:16px;font-weight:700;color:#111827;margin-bottom:4px}.sm-sub{font-size:12px;color:#6b7280;margin-bottom:20px}.sm-set-row{display:grid;grid-template-columns:40px 1fr 32px 1fr;gap:8px;align-items:center;margin-bottom:12px}.sm-set-label{font-size:13px;font-weight:600;color:#374151;text-align:center}.sm-vs{font-size:12px;color:#9ca3af;text-align:center}.sm-input{width:100%;padding:8px;border:1.5px solid #e5e7eb;border-radius:8px;font-size:18px;font-weight:700;text-align:center;outline:none;transition:border-color .15s}.sm-input:focus{border-color:#f93d3a}.sm-limit-notice{grid-column:2 / -1;margin-top:-2px;padding:5px 7px;border-radius:6px;background:#fff7ed;color:#c2410c;font-size:10px;font-weight:600}.sm-team-header{display:grid;grid-template-columns:40px 1fr 32px 1fr;gap:8px;margin-bottom:6px}.sm-team-name{font-size:11px;font-weight:600;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sm-actions{display:flex;gap:10px;margin-top:20px}.sm-btn-cancel{flex:1;padding:11px;border-radius:10px;border:1.5px solid #e5e7eb;background:#f9fafb;font-size:14px;font-weight:600;color:#374151;cursor:pointer}.sm-btn-submit{flex:2;padding:11px;border-radius:10px;border:none;background:#f93d3a;color:#fff;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s}.sm-btn-submit:hover{background:#d92b28}.tm-overlay{z-index:10000;backdrop-filter:none;-webkit-backdrop-filter:none;background:#0f172a8c;overflow-y:auto}.tm-modal{max-width:390px;padding:22px;max-height:calc(100vh - 32px);overflow-y:auto}.tm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--neutral-200)}.tm-head .sm-title{margin-bottom:3px}.tm-sub{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px}.tm-close{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;border:0;border-radius:8px;background:var(--neutral-100);color:var(--neutral-600);cursor:pointer;font-size:22px;line-height:1}.tm-close:hover{background:var(--neutral-200);color:var(--neutral-800)}.tm-field{margin-bottom:15px}.tm-label{display:block;margin-bottom:6px;color:var(--neutral-600);font-size:12px;font-weight:700}.tm-input{box-sizing:border-box;width:100%;height:38px;padding:0 10px;border:1.5px solid var(--neutral-200);border-radius:8px;color:var(--neutral-800);background:#fff;font:inherit;font-size:13px;outline:none;transition:border-color .15s,box-shadow .15s}.tm-player-row{display:flex;align-items:center;gap:7px;margin-top:7px}.tm-player-letter{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:50%;background:#eef2ff;color:#4f46e5;font-size:11px;font-weight:800}.tm-quick{display:flex;gap:8px;padding-top:1px}.tm-quick-btn{flex:1;min-width:0;padding:8px 6px;border:1px solid var(--neutral-200);border-radius:8px;background:#f8fafc;color:var(--neutral-600);font:inherit;font-size:11px;font-weight:700;cursor:pointer}.tm-quick-btn:hover:not(:disabled){border-color:#c7d2fe;background:#eef2ff;color:#4f46e5}.tm-quick-btn:disabled{opacity:.5;cursor:not-allowed}.tm-note{margin-top:8px;color:var(--neutral-500);font-size:11px}.tm-error{margin-top:12px;padding:8px 10px;border-radius:8px;background:#fef2f2;color:#dc2626;font-size:12px}.tm-modal .sm-btn-submit:disabled{opacity:.5;cursor:not-allowed}.operate-page .group-select{display:inline-flex;align-items:center;padding:6px 32px 6px 12px;font-size:13px;font-weight:600;color:var(--neutral-700);background-color:#fff;border:1px solid var(--neutral-300);border-radius:20px;outline:none;cursor:pointer;margin-bottom:20px;transition:all .2s ease;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234b5563' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 10px center;background-size:14px}.operate-page .group-select:hover{background-color:var(--neutral-50);border-color:var(--neutral-400)}.operate-page .group-select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.operate-page .team-row-toggle{width:22px;height:22px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--neutral-200);border-radius:6px;background:#fff;color:var(--neutral-500);font-size:11px;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.operate-page .team-row-toggle:hover{background:var(--neutral-100);color:var(--neutral-700);border-color:var(--neutral-300)}.operate-page .swap-panel{margin-top:4px;padding:12px;border:1px dashed var(--neutral-300);border-radius:10px;background:#f9fafb}.operate-page .swap-panel-title{font-size:13px;font-weight:700;color:var(--neutral-700);margin-bottom:10px}.operate-page .swap-cols{display:flex;flex-direction:column;gap:12px}.operate-page .swap-col{display:flex;flex-direction:column;min-width:0}.operate-page .swap-col-title{font-size:11px;font-weight:600;color:var(--neutral-500);margin-bottom:6px}.operate-page .swap-search{width:100%;box-sizing:border-box;padding:6px 8px;font-size:12px;border:1px solid var(--neutral-200);border-radius:6px;margin-bottom:6px;outline:none;font-family:inherit}.operate-page .swap-search:focus{border-color:#6366f1}.operate-page .swap-list{max-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding-right:2px}.operate-page .swap-row{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:6px;cursor:pointer;font-size:12px;background:#fff;border:1px solid transparent}.operate-page .swap-row:hover{background:var(--neutral-50)}.operate-page .swap-row.active{border-color:#6366f1;background:#eef2ff}.operate-page .swap-row input[type=radio]{margin:0;flex-shrink:0}.operate-page .swap-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--neutral-800)}.operate-page .swap-team-badge{font-size:10px;font-weight:600;color:var(--neutral-500);background:var(--neutral-100);padding:1px 6px;border-radius:8px;flex-shrink:0;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operate-page .swap-empty{font-size:12px;color:var(--neutral-400);font-style:italic;padding:6px 0}.operate-page .swap-actions{margin-top:12px;display:flex;justify-content:flex-end}.operate-page .btn-action-swap{flex:0 0 auto;padding:8px 16px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 2px 8px #6366f159}.operate-page .btn-action-swap:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 4px 14px #6366f173}.operate-page .mc-card{gap:10px;padding:14px;overflow:visible}.operate-page .mc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px dashed var(--neutral-200)}.operate-page .mc-head-left,.operate-page .mc-head-right{display:flex;align-items:center;gap:7px;min-width:0}.operate-page .mc-head-left{flex-wrap:wrap}.operate-page .mc-head-right{flex-shrink:0}.operate-page .mc-match-no{font-size:14px;font-weight:700;color:var(--neutral-800)}.operate-page .mc-meta{font-size:11px;color:var(--neutral-500)}.operate-page .mc-court{padding:3px 7px;border-radius:999px;background:var(--blue-50);color:var(--blue-600);font-size:10px;font-weight:700}.operate-page .mc-teams{display:flex;flex-direction:column;gap:4px}.operate-page .mc-team{border:1px solid var(--neutral-200);border-radius:10px;background:#fff;overflow:visible}.operate-page .mc-team--blue{border-left:3px solid var(--blue-400)}.operate-page .mc-team--red{border-left:3px solid var(--red-400)}.operate-page .mc-team.is-winner{background:#fffbeb;border-color:#fcd34d}.operate-page .mc-team-row{min-height:56px;display:flex;align-items:center;gap:8px;padding:8px 7px}.operate-page .mc-team-idx{width:20px;height:20px;flex:0 0 20px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--neutral-100);color:var(--neutral-500);font-size:10px;font-weight:800}.operate-page .mc-team-info{min-width:0;flex:1}.operate-page .mc-team-title,.operate-page .mc-players,.operate-page .mc-team-right{display:flex;align-items:center;min-width:0}.operate-page .mc-team-title{gap:5px}.operate-page .mc-team-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--neutral-800);font-size:13px;font-weight:700}.operate-page .mc-seed,.operate-page .mc-player-seed{flex:0 0 auto;color:var(--neutral-500);font-size:9px;font-weight:600}.operate-page .mc-win,.operate-page .mc-lock{flex:0 0 auto;font-size:12px}.operate-page .mc-players{gap:4px 8px;margin-top:3px;flex-wrap:wrap}.operate-page .mc-player{display:inline-flex;align-items:center;min-width:0;gap:3px;color:var(--neutral-600);font-size:10px}.operate-page .mc-player-letter{color:var(--neutral-400);font-weight:700}.operate-page .mc-player-name{max-width:126px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operate-page .mc-team-right{flex:0 0 auto;gap:5px}.operate-page .mc-team-right>div:first-child{gap:4px!important}.operate-page .mc-team-right>div:first-child>div{min-width:30px!important;width:30px;height:30px!important;font-size:15px!important}.operate-page .mc-edit-btn{width:30px;height:30px;flex:0 0 30px;display:inline-flex;align-items:center;justify-content:center;color:var(--neutral-500);border:1px solid var(--neutral-200);border-radius:8px;background:#fff;cursor:pointer;transition:.15s ease}.operate-page .mc-edit-btn:hover,.operate-page .mc-edit-btn.is-open{color:#4f46e5;background:#eef2ff;border-color:#c7d2fe}.operate-page .mc-vs{height:7px;display:flex;align-items:center;justify-content:center}.operate-page .mc-vs:before,.operate-page .mc-vs:after{content:"";height:1px;flex:1;background:var(--neutral-200)}.operate-page .mc-vs span{margin:0 8px;color:var(--neutral-400);font-size:9px;font-weight:800}.operate-page .mc-wait-note{flex:1;min-width:0;padding:8px 0;color:var(--neutral-500);font-size:11px;font-weight:600}.operate-page .btn-action-edit{flex:0 0 auto;background:#eef2ff;color:#4f46e5;border:1px solid #c7d2fe}.tm-modal{max-width:390px;padding:20px}.tm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.tm-sub{overflow:hidden;margin-bottom:16px;text-overflow:ellipsis;white-space:nowrap}.tm-close{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:0;border-radius:7px;background:var(--neutral-100);color:var(--neutral-600);font-size:22px;line-height:1;cursor:pointer}.tm-close:hover{background:var(--neutral-200)}.tm-field{margin-bottom:14px}.tm-label{display:block;margin-bottom:6px;color:var(--neutral-600);font-size:11px;font-weight:700}.tm-input{width:100%;height:36px;box-sizing:border-box;padding:0 10px;border:1px solid var(--neutral-300);border-radius:8px;color:var(--neutral-800);font:inherit;font-size:13px;outline:none}.tm-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11f}.tm-player-row{display:flex;align-items:center;gap:6px;margin-top:6px}.tm-player-letter{width:20px;flex:0 0 20px;color:var(--neutral-500);font-size:11px;font-weight:800;text-align:center}.tm-quick{display:flex;gap:8px;margin:4px 0 8px}.tm-quick-btn{flex:1;min-width:0;height:34px;padding:0 8px;border:1px solid #c7d2fe;border-radius:8px;background:#eef2ff;color:#4f46e5;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.tm-quick-btn:hover:not(:disabled){background:#e0e7ff}.tm-quick-btn:disabled{cursor:not-allowed;opacity:.5}.tm-note{margin-top:-2px;color:var(--neutral-500);font-size:10px}.tm-error{margin-top:10px;padding:8px 10px;border-radius:7px;background:#fef2f2;color:#dc2626;font-size:11px}.tm-modal .sm-actions{margin-top:16px}@media (max-width: 440px){.operate-page .mc-card{padding:12px}.operate-page .mc-team-row{gap:6px;padding:7px 5px}.operate-page .mc-team-idx{display:none}.operate-page .mc-player-name{max-width:92px}.operate-page .mc-head{align-items:center}.operate-page .mc-meta{width:100%}}.referee-desk-page .match-card{background:#fff;border:1px solid var(--neutral-200);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px;height:100%}.referee-desk-page .container{max-width:1600px}.referee-desk-page .courts-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.referee-desk-page .courts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:32px}@media (max-width: 1200px){.referee-desk-page .courts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.referee-desk-page .courts-grid{grid-template-columns:minmax(0,1fr)}}.referee-desk-page .court-card{background:#fff;border:2px solid var(--blue);border-radius:12px;padding:0;display:flex;flex-direction:column;min-height:320px;height:auto;overflow:visible}.referee-desk-page .court-body{flex:1;display:flex;flex-direction:column;overflow:visible}.referee-desk-page .court-card.court-ending{border-color:#ef4444;box-shadow:0 0 12px #ef444466}.referee-desk-page .court-card.court-ending .court-header{background:#ef4444}.referee-desk-page .court-header{background:var(--blue);color:#fff;padding:8px 16px;font-weight:700;font-size:16px;display:flex;justify-content:space-between;align-items:stretch;gap:8px;flex-wrap:nowrap}.referee-desk-page .court-header .status-badge{display:inline-flex;align-items:center;white-space:nowrap;font-size:11px;padding:2px 8px}.referee-desk-page .court-title{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;min-width:0;flex:1}.referee-desk-page .court-title-line{display:flex;align-items:center;gap:6px;min-width:0}.referee-desk-page .court-name{white-space:nowrap;flex-shrink:0}.referee-desk-page .court-referee{font-size:11px;font-weight:400;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;min-width:0}.referee-desk-page .court-timer{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.4;white-space:nowrap;flex-shrink:0;border-radius:6px;padding:1px 6px;background:#ffffff38;border:1px solid rgba(255,255,255,.4)}.referee-desk-page .court-timer--finished{background:#ffffff1f;border-style:dashed}.referee-desk-page .court-actions{display:flex;align-items:stretch;gap:8px;flex-shrink:0}.referee-desk-page .court-header-btn{display:inline-flex;align-items:center;justify-content:center;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.4);padding:2px 10px;white-space:nowrap}.referee-desk-page .court-header-btn:hover{background:#ffffff59}.referee-desk-page .court-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;background:#f8fafc;gap:12px}.referee-desk-page .match-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:4px;font-size:13px;color:var(--neutral-500);font-weight:600;border-bottom:1px dashed var(--neutral-200);padding-bottom:8px}.referee-desk-page .team-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0}.referee-desk-page .team-name{font-weight:600;color:var(--neutral-800);font-size:15px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.referee-desk-page .match-actions{display:flex;gap:8px;margin-top:8px;align-items:center;flex-wrap:wrap}.referee-desk-page .queue-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.referee-desk-page .queue-btn{background:none;border:1px solid var(--neutral-200);border-radius:4px;color:var(--neutral-600);cursor:pointer;font-size:13px;line-height:1;padding:3px 6px}.referee-desk-page .queue-btn:hover:not(:disabled){background:var(--neutral-100);color:var(--blue)}.referee-desk-page .queue-btn:disabled{opacity:.35;cursor:not-allowed}.referee-desk-page .queue-btn--remove{color:#ef4444;font-size:16px;border-color:#fecaca}.swap-current{display:flex;align-items:center;gap:10px;padding:12px;margin-bottom:12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px}.swap-current-tag{flex-shrink:0;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--blue);color:#fff;white-space:nowrap}.swap-list{max-height:360px;overflow-y:auto}.swap-group{margin-bottom:12px}.swap-group-title{font-size:12px;font-weight:700;color:var(--neutral-500);text-transform:uppercase;margin-bottom:6px}.swap-option{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--neutral-200);border-radius:8px;margin-bottom:6px;cursor:pointer}.swap-option:hover{background:var(--neutral-50)}.swap-option--active{border-color:var(--blue);background:#eff6ff}.swap-option-head{display:flex;align-items:center;font-size:12px;font-weight:600;color:var(--blue)}.swap-option-teams{font-size:13px;font-weight:600;color:var(--neutral-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auto-schedule-config{display:flex;align-items:center;gap:10px;padding:12px;margin-bottom:16px;background:var(--neutral-50);border:1px solid var(--neutral-200);border-radius:8px;flex-wrap:wrap}.auto-schedule-empty{padding:20px;text-align:center;font-size:13px;color:var(--neutral-500);background:#f9fafb;border-radius:8px}.auto-schedule-court{border:1px solid var(--neutral-200);border-radius:8px;padding:12px;margin-bottom:12px}.auto-schedule-court-title{font-weight:700;font-size:14px;color:var(--blue);margin-bottom:8px}.auto-schedule-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px dashed var(--neutral-200)}.auto-schedule-row:first-of-type{border-top:none}.auto-schedule-slot{flex-shrink:0;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:#e0f2fe;color:#0369a1;white-space:nowrap}.auto-schedule-match-title{display:flex;align-items:center;font-size:12px;font-weight:600;color:var(--neutral-500);margin-bottom:4px}.auto-schedule-remove{flex-shrink:0;background:none;border:none;color:#ef4444;font-size:22px;line-height:1;cursor:pointer;padding:0 4px}.auto-schedule-skipped{font-size:12px;color:var(--neutral-500);margin-top:8px}.auto-schedule-skipped ul{margin:8px 0 0;padding-left:20px}.auto-schedule-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;border-top:1px solid var(--neutral-200);padding-top:16px}.referee-desk-page .btn-small{padding:6px 12px;font-size:13px;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1)}.referee-desk-page .btn-small:hover{filter:brightness(.95)}.referee-desk-page .btn-small:active{transform:scale(.96)}.referee-desk-page .btn-start{background:var(--blue);color:#fff;border:none}.referee-desk-page .btn-update,.referee-desk-page .btn-update-lg{background:var(--neutral-100);color:var(--neutral-800);border:1px solid var(--neutral-300)}.referee-desk-page .btn-danger{background:#fee2e2;color:#ef4444;border:1px solid #fca5a5}.referee-desk-page .status-badge{padding:2px 8px;border-radius:12px;font-size:11px}.referee-desk-page .status-PENDING{background:var(--neutral-100);color:var(--neutral-600)}.referee-desk-page .status-PLAYING,.referee-desk-page .status-CALLPLAYER{background:#e3f2fd;color:#1976d2}.referee-desk-page .status-FINISHED{background:#e8f5e9;color:#388e3c}.referee-desk-page .round-section{margin-top:32px}.referee-desk-page .round-title{font-size:18px;font-weight:700;margin-bottom:16px;color:var(--neutral-800);display:flex;align-items:center;gap:8px}.referee-desk-page .badge-count{background:var(--neutral-200);padding:2px 8px;border-radius:12px;font-size:13px;color:var(--neutral-700)}.referee-desk-page .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;padding:20px}.referee-desk-page .modal-content{background:#fff;border-radius:12px;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 25px #0003}.referee-desk-page .modal-header{padding:16px 20px;border-bottom:1px solid var(--neutral-200);display:flex;justify-content:space-between;align-items:center}.referee-desk-page .modal-body{padding:20px;overflow-y:auto;flex:1}.referee-desk-page .mini-match-card{border:1px solid var(--neutral-200);border-radius:8px;padding:12px;margin-bottom:12px;cursor:pointer;transition:all .2s}.referee-desk-page .mini-match-card:hover{border-color:var(--blue);background:#f0f9ff}.referee-score-page{position:fixed;top:0;right:0;bottom:0;left:0;margin:0;padding:0;font-family:Be Vietnam Pro,sans-serif;background:#f1f5f9;color:#1e293b;height:100dvh;width:100vw;overflow:hidden;display:flex;flex-direction:column;user-select:none;-webkit-user-select:none}.referee-score-page .topbar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#fff;border-bottom:1px solid #e2e8f0;z-index:30;gap:8px;box-sizing:border-box;width:100%}.referee-score-page .topbar-exit-btn{display:flex;align-items:center;gap:6px;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:10px;color:#475569;font-family:inherit;font-size:13px;font-weight:600;padding:6px 12px;cursor:pointer;transition:background .18s;white-space:nowrap;flex-shrink:0}.referee-score-page .topbar-exit-btn:active{background:#e2e8f0}.referee-score-page .topbar-center{text-align:center;flex:1 1 auto;min-width:0;padding:0 4px}.referee-score-page .topbar-center .match-title{font-size:15px;font-weight:800;color:#0f172a;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.referee-score-page .topbar-center .court-label{font-size:12px;color:#94a3b8;font-weight:500;margin-top:1px}.referee-score-page .set-badge{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;color:#2563eb;font-size:12px;font-weight:800;padding:6px 10px;white-space:nowrap;letter-spacing:.5px;flex-shrink:0;max-width:45%;overflow:hidden;text-overflow:ellipsis}.referee-score-page .score-header{flex:0 0 auto;background:#fff;border-bottom:1px solid #e2e8f0;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;box-sizing:border-box;width:100%}.referee-score-page .team-info{flex:1 1 0%;min-width:0;display:flex;flex-direction:column;gap:2px;overflow:hidden}.referee-score-page .team-info.team-a{align-items:flex-start;text-align:left}.referee-score-page .team-info.team-b{align-items:flex-end;text-align:right}.referee-score-page .team-players{font-size:12px;font-weight:600;color:#475569;line-height:1.35;white-space:pre-line;word-break:break-word;overflow-wrap:anywhere;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.referee-score-page .team-info.team-b .team-players{text-align:right}.referee-score-page .score-center{display:flex;align-items:center;justify-content:center;gap:4px;flex:0 0 auto;flex-shrink:0;padding:0 4px}.referee-score-page .score-num{font-size:clamp(32px,6vw,48px);font-weight:900;line-height:1;min-width:36px;text-align:center}.referee-score-page .score-num.blue{color:#2563eb}.referee-score-page .score-num.red{color:#dc2626}.referee-score-page .score-colon{font-size:clamp(24px,4vw,36px);font-weight:700;color:#cbd5e1;margin-bottom:2px}.referee-score-page .court-wrapper{flex:1 1 0;min-height:0;position:relative;display:flex;overflow:hidden}.referee-score-page .pause-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#f1f5f9bf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;display:flex;align-items:center;justify-content:center}.referee-score-page .pause-text{font-size:20px;font-weight:800;color:#1e293b;background:#fff;padding:14px 32px;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 8px 24px #0000001a;letter-spacing:2px}.referee-score-page .court-half{flex:1;position:relative;overflow:hidden}.referee-score-page .court-half.left-half{background:#dbeafe}.referee-score-page .court-half.right-half{background:#fee2e2}.referee-score-page .court-half:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:2px solid rgba(0,0,0,.12);border-radius:2px;pointer-events:none}.referee-score-page .court-half:after{content:"";position:absolute;left:8px;right:8px;top:50%;height:2px;background:#0000001a;pointer-events:none}.referee-score-page .court-line-short{position:absolute;left:8px;right:8px;height:1px;background:#00000014;pointer-events:none}.referee-score-page .court-line-short.top-third{top:28%}.referee-score-page .court-line-short.bot-third{top:72%}.referee-score-page .court-net{position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);width:10px;z-index:10;pointer-events:none;display:flex;flex-direction:column;align-items:center}.referee-score-page .net-pole-top,.referee-score-page .net-pole-bottom{width:8px;height:16px;background:#64748b;border-radius:4px;flex-shrink:0}.referee-score-page .net-body{flex:1;width:4px;background:repeating-linear-gradient(to bottom,rgba(71,85,105,.8) 0px,rgba(71,85,105,.8) 3px,transparent 3px,transparent 8px)}.referee-score-page .corner-letter{position:absolute;font-size:12px;font-weight:700;color:#00000026;pointer-events:none}.referee-score-page .player-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20}.referee-score-page .player-avatar{position:absolute;transform:translate(-50%,-50%);width:clamp(72px,20vw,110px);height:clamp(72px,20vw,110px);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .15s ease,top .3s ease-in-out,left .3s ease-in-out;-webkit-tap-highlight-color:transparent}.referee-score-page .player-avatar.team-left-color{background:#fff;border:2.5px solid #2563eb;box-shadow:0 4px 16px #2563eb2e,0 2px 6px #0000001a}.referee-score-page .player-avatar.team-right-color{background:#fff;border:2.5px solid #dc2626;box-shadow:0 4px 16px #dc26262e,0 2px 6px #0000001a}.referee-score-page .player-avatar:active{transform:translate(-50%,-50%) scale(.93)}.referee-score-page .player-avatar.dragging{opacity:.4;border-style:dashed}.referee-score-page .player-name-main{font-size:clamp(11px,3vw,14px);font-weight:700;color:#1e293b;text-align:center;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.referee-score-page .serve-badge{position:absolute;top:-3px;right:-3px;width:clamp(18px,5vw,24px);height:clamp(18px,5vw,24px);background:#16a34a;border:2px solid #f1f5f9;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:clamp(9px,2.5vw,11px);box-shadow:0 2px 6px #16a34a4d;animation:servePulse 2s infinite;opacity:0;transform:scale(.6);transition:opacity .2s,transform .2s;z-index:26}.referee-score-page .serve-badge.active{opacity:1;transform:scale(1)}@keyframes servePulse{0%{box-shadow:0 0 #16a34a80}70%{box-shadow:0 0 0 8px #16a34a00}to{box-shadow:0 0 #16a34a00}}.referee-score-page .control-bar{flex:0 0 auto;background:#fff;border-top:1px solid #e2e8f0;padding:10px 12px;padding-bottom:max(10px,env(safe-area-inset-bottom));display:flex;gap:10px}.referee-score-page .control-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 6px;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc;color:#475569;font-family:inherit;font-size:11px;font-weight:600;cursor:pointer;transition:background .15s,transform .1s;-webkit-tap-highlight-color:transparent}.referee-score-page .control-btn:active{background:#e2e8f0;transform:scale(.97)}.referee-score-page .control-btn .ctrl-icon{font-size:18px;line-height:1}.referee-score-page .btn-pause.paused-active{background:#fef3c7;border-color:#fcd34d;color:#92400e}.referee-score-page .control-btn.btn-restart{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.referee-score-page .rs-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0f172a66;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px}.referee-score-page .modal-box{background:#fff;border-radius:18px;padding:24px;width:100%;max-width:400px;border:1px solid #e2e8f0;box-shadow:0 20px 60px #00000026;max-height:90vh;overflow-y:auto;color:#1e293b}.referee-score-page .modal-title{font-size:20px;font-weight:800;margin-bottom:16px;text-align:center}.referee-score-page .setup-btn{width:100%;padding:12px;border-radius:10px;border:1px solid #cbd5e1;background:#f8fafc;color:#334155;font-family:inherit;font-size:14px;font-weight:600;margin-bottom:12px;cursor:pointer;transition:all .2s}.referee-score-page .setup-btn:hover{background:#e2e8f0}.referee-score-page .setup-btn.active{background:#eff6ff;border-color:#2563eb;color:#1d4ed8}.referee-score-page .setup-btn.serve-error{border-color:#dc2626}.referee-score-page .start-btn{width:100%;padding:14px;border-radius:10px;border:none;background:#16a34a;color:#fff;font-family:inherit;font-weight:700;font-size:16px;cursor:pointer;margin-top:8px;box-shadow:0 4px 14px #16a34a40;transition:all .2s}.referee-score-page .start-btn:hover{background:#15803d}.referee-score-page .fullscreen-state{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d1520;z-index:900;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px;text-align:center}.referee-score-page .fullscreen-state h2{color:#f8fafc}.referee-score-page .fullscreen-state p{color:#64748b}.referee-score-page .spinner{width:40px;height:40px;border:4px solid #1e293b;border-top:4px solid #3b82f6;border-radius:50%;animation:rs-spin 1s linear infinite;margin-bottom:16px}@keyframes rs-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.referee-score-page .token-counter{position:absolute;top:12px;background:#fffffff2;border:2px solid #64748b;border-radius:8px;padding:6px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;z-index:40;box-shadow:0 4px 10px #0000001a;transition:transform .1s,background-color .2s;-webkit-user-select:none;user-select:none}.referee-score-page .token-counter:active{transform:scale(.92);background:#f1f5f9}.referee-score-page .left-half .token-counter{left:20px;border-color:#2563eb}.referee-score-page .right-half .token-counter{right:20px;border-color:#dc2626}.referee-score-page .token-label{font-size:9px;font-weight:800;color:#64748b;letter-spacing:.5px;margin-bottom:2px}.referee-score-page .left-half .token-label{color:#2563eb}.referee-score-page .right-half .token-label{color:#dc2626}.referee-score-page .token-value{font-size:20px;font-weight:950;color:#0f172a;line-height:1}.staff-page{background-color:var(--neutral-50);font-family:Inter,sans-serif}.staff-page .staff-card{background:#fff;border:1px solid var(--neutral-200);border-radius:12px;padding:16px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 3px #0000000d}.staff-page .staff-info{display:flex;align-items:center;gap:12px}.staff-page .staff-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;background:#eee}.staff-page .role-badge{font-size:11px;font-weight:600;padding:4px 8px;border-radius:6px;display:inline-block;margin-top:4px}.staff-page .role-host{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.staff-page .role-referee{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.staff-page .status-badge{font-size:11px;padding:2px 8px;border-radius:12px}.staff-page .status-accepted{background:#dcfce7;color:#166534}.staff-page .status-pending{background:#fef9c3;color:#854d0e}.staff-page .btn-remove{background:#fef2f2;color:#dc2626;border:none;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.staff-page .btn-remove:hover{background:#fee2e2}.staff-page .search-box{background:#fff;padding:24px;border-radius:12px;border:1px solid var(--neutral-200);margin-bottom:32px;box-shadow:0 4px 6px -1px #0000000d}.manage-tournament-page{padding:24px 0 64px;background:var(--neutral-100)}.manage-grid{display:grid;grid-template-columns:1fr;gap:24px}@media (min-width: 992px){.manage-grid{grid-template-columns:1.6fr 1fr}}.management-card{background:#fff;border-radius:16px;border:1px solid var(--neutral-200);box-shadow:0 4px 20px #00000008;padding:24px;margin-bottom:24px;transition:transform .2s,box-shadow .2s}.management-card:hover{box-shadow:0 10px 30px #0000000d}.section-subtitle{font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--neutral-500);margin-bottom:12px;font-weight:600}.gradient-title{font-size:24px;font-weight:800;background:linear-gradient(135deg,#1a338e,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:8px}.tabs-container{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;border-bottom:1px solid var(--neutral-200);margin-bottom:20px}.tab-pill{padding:8px 16px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:20px;font-size:13px;font-weight:600;color:var(--neutral-600);cursor:pointer;transition:all .2s ease;white-space:nowrap}.tab-pill:hover{background:#e5e7eb;color:var(--neutral-800)}.tab-pill.active{background:#8b5cf6;border-color:#8b5cf6;color:#fff;box-shadow:0 4px 10px #8b5cf633}.team-item-card{border:1px solid var(--neutral-200);border-radius:12px;background:#fff;margin-bottom:16px;transition:all .2s ease;overflow:hidden}.team-item-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000005}.team-header-bar{display:flex;justify-content:space-between;align-items:center;background:#f8fafc;padding:12px 16px;border-bottom:1px solid #f1f5f9}.team-name-section{display:flex;align-items:center;gap:8px;flex:1}.team-name-text{font-size:15px;font-weight:700;color:var(--neutral-800)}.seed-badge{font-size:11px;font-weight:700;padding:3px 8px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;border-radius:12px}.seed-input-wrapper{display:flex;align-items:center;gap:4px}.seed-small-input{width:50px;padding:4px 6px;border:1px solid var(--neutral-300);border-radius:6px;font-size:12px;font-weight:600;text-align:center}.participants-list{padding:12px 16px}.participant-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px dashed #f1f5f9}.participant-row:last-child{border-bottom:none}.participant-info{display:flex;flex-direction:column;gap:2px}.participant-name{font-size:14px;font-weight:600;color:var(--neutral-800)}.participant-phone{font-size:11px;color:var(--neutral-500)}.action-buttons-group{display:flex;gap:6px}.btn-mini{padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:4px}.btn-mini-primary{background:#f1f5f9;color:#475569}.btn-mini-primary:hover{background:#e2e8f0;color:#1e293b}.btn-mini-danger{background:#fee2e2;color:#ef4444}.btn-mini-danger:hover{background:#fca5a5}.btn-control{width:100%;padding:12px 16px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:12px;border:none}.btn-draw{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;box-shadow:0 4px 12px #8b5cf64d}.btn-draw:hover{box-shadow:0 6px 16px #8b5cf666;filter:brightness(1.05)}.btn-draw:disabled{opacity:.6;cursor:not-allowed}.btn-reset{background:#fee2e2;color:#dc2626;border:1px solid #fca5a5}.btn-reset:hover{background:#fcd3d3}.btn-reset:disabled{opacity:.6;cursor:not-allowed}.btn-resequence{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.btn-resequence:hover{background:#dbeafe}.btn-resequence:disabled{opacity:.6;cursor:not-allowed}.form-section-title{font-size:15px;font-weight:700;color:var(--neutral-800);border-bottom:1px solid var(--neutral-200);padding-bottom:8px;margin-bottom:16px}.input-label{display:block;font-size:12px;font-weight:600;color:var(--neutral-700);margin-bottom:6px}.input-field{width:100%;padding:10px 12px;border:1.5px solid var(--neutral-200);border-radius:8px;font-size:14px;outline:none;background:#fff;transition:border-color .2s;box-sizing:border-box}.input-field:focus{border-color:#8b5cf6}.textarea-field{width:100%;height:120px;padding:10px 12px;border:1.5px solid var(--neutral-200);border-radius:8px;font-size:13px;font-family:monospace;outline:none;background:#fff;transition:border-color .2s;box-sizing:border-box;resize:vertical}.textarea-field:focus{border-color:#8b5cf6}.inline-edit-form{display:flex;align-items:center;gap:8px;flex:1}.inline-edit-input{flex:1;padding:6px 10px;border:1.5px solid #8b5cf6;border-radius:6px;font-size:14px;outline:none}:root{--court-canvas: #f8fafc;--court-surface: #ffffff;--court-surface-elevated: #f1f5f9;--court-border: #e2e8f0;--court-border-active: #cbd5e1;--court-accent: #2563eb;--court-accent-hover: #1d4ed8;--court-accent-glow: rgba(37, 99, 235, .12);--court-volt: #10b981;--court-volt-bg: #ecfdf5;--court-volt-border: #a7f3d0;--court-warning: #b45309;--court-warning-bg: #fffbeb;--court-warning-border: #fde68a;--court-fault: #b91c1c;--court-fault-bg: #fef2f2;--court-fault-border: #fecaca;--court-info: #1d4ed8;--court-info-bg: #eff6ff;--court-info-border: #bfdbfe;--court-text-primary: #0f172a;--court-text-secondary: #334155;--court-text-muted: #64748b;--court-text-disabled: #94a3b8;--font-display: "Plus Jakarta Sans", system-ui, sans-serif;--font-body: "Plus Jakarta Sans", system-ui, sans-serif;--court-radius-xs: 4px;--court-radius-sm: 6px;--court-radius-md: 8px;--court-radius-lg: 12px;--emp-bg: var(--court-canvas);--emp-surface: var(--court-surface);--emp-card-bg: var(--court-surface);--emp-border: var(--court-border);--emp-border-hover: var(--court-border-active);--emp-primary: var(--court-accent);--emp-primary-hover: var(--court-accent-hover);--emp-primary-light: var(--court-accent-glow);--emp-primary-border: var(--court-border-active);--emp-text-main: var(--court-text-primary);--emp-text-sub: var(--court-text-secondary);--emp-text-muted: var(--court-text-muted);--emp-text-light: var(--court-text-disabled);--emp-font: var(--font-body)}body{background-color:var(--court-canvas);color:var(--court-text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased}.emp-layout{min-height:100vh;background-color:var(--court-canvas);color:var(--court-text-primary);font-family:var(--font-body)}.emp-top-header{position:sticky;top:0;z-index:50;background-color:#fff;border-bottom:1px solid var(--court-border);box-shadow:0 1px 2px #00000008}.emp-top-header-inner{max-width:1400px;margin:0 auto;padding:0 1.5rem;height:3.75rem;display:flex;align-items:center;justify-content:space-between}.emp-brand{display:flex;align-items:center;gap:.875rem}.emp-brand-logo{width:2.25rem;height:2.25rem;border-radius:8px;background-color:var(--court-accent);color:#fff;font-family:var(--font-body);font-weight:800;font-size:1.125rem;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #2563eb40}.emp-brand-title{font-family:var(--font-body);font-size:1rem;font-weight:700;color:var(--court-text-primary);letter-spacing:-.02em;line-height:1.1;display:flex;align-items:center;gap:.5rem}.emp-brand-title span{font-size:.6875rem;font-weight:700;color:var(--court-accent);background:#eff6ff;border:1px solid #bfdbfe;padding:.125rem .375rem;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}.emp-brand-sub{font-size:.6875rem;color:var(--court-text-muted);font-weight:500}.emp-nav-menu{display:flex;align-items:center;gap:.25rem;height:100%}.emp-nav-tab{height:100%;padding:0 1.125rem;font-family:var(--font-body);font-size:.8125rem;font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:.5rem;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--court-text-muted);cursor:pointer;position:relative;transition:color .15s ease,border-color .15s ease}.emp-nav-tab:hover{color:var(--court-text-primary)}.emp-nav-tab--active{color:var(--court-accent);border-bottom-color:var(--court-accent)}.emp-main-container{max-width:1400px;margin:0 auto;padding:1.75rem 1.5rem}.emp-stat-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}@media (min-width: 640px){.emp-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.emp-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.emp-stat-card{background-color:#fff;border:1px solid var(--court-border);border-radius:12px;padding:1.25rem;box-shadow:0 1px 2px #00000008;display:flex;flex-direction:column;justify-content:space-between;transition:border-color .15s ease,box-shadow .15s ease}.emp-stat-card:hover{border-color:#cbd5e1;box-shadow:0 2px 6px -1px #0000000f}.emp-stat-label{font-family:var(--font-body);font-size:.6875rem;font-weight:600;color:var(--court-text-muted);text-transform:uppercase;letter-spacing:.06em}.emp-stat-value{font-family:var(--font-body);font-size:1.75rem;font-weight:800;color:var(--court-text-primary);margin-top:.35rem;line-height:1.1;letter-spacing:-.03em}.emp-stat-value--primary{color:var(--court-accent)}.emp-stat-value--success{color:#047857}.emp-stat-value--warning{color:#b45309}.emp-stat-value--danger{color:#b91c1c}.emp-stat-sub{font-size:.75rem;font-weight:500;margin-top:.35rem;color:var(--court-text-muted)}.emp-toolbar{background-color:#fff;border:1px solid var(--court-border);border-radius:12px;padding:.75rem 1rem;margin-bottom:1.5rem;box-shadow:0 1px 2px #00000008;display:flex;flex-direction:column;gap:.75rem}@media (min-width: 768px){.emp-toolbar{flex-direction:row;align-items:center;justify-content:space-between}}.emp-search-input{width:100%;height:2.5rem;padding:0 1rem 0 2.25rem;font-family:var(--font-body);font-size:.8125rem;font-weight:500;background-color:#f8fafc;border:1px solid var(--court-border);border-radius:8px;color:var(--court-text-primary);outline:none;transition:all .15s ease}.emp-search-input:focus{background-color:#fff;border-color:var(--court-accent);box-shadow:0 0 0 3px var(--court-accent-glow)}.emp-tab-group{display:inline-flex;align-items:center;background-color:#f1f5f9;padding:3px;border-radius:8px;border:1px solid #e2e8f0;overflow-x:auto}.emp-tab-btn{height:2rem;padding:0 .75rem;font-family:var(--font-body);font-size:.75rem;font-weight:600;border:none;border-radius:6px;background:transparent;color:var(--court-text-muted);cursor:pointer;transition:all .15s ease;white-space:nowrap;display:inline-flex;align-items:center;gap:.375rem}.emp-tab-btn:hover{color:var(--court-text-primary)}.emp-tab-btn--active{background-color:#fff;color:var(--court-accent);box-shadow:0 1px 2px #0000000f}.emp-table-wrapper{background-color:#fff;border:1px solid var(--court-border);border-radius:12px;box-shadow:0 1px 2px #00000008;overflow:hidden}.emp-table-responsive{width:100%;overflow-x:auto}.emp-table{width:100%;text-align:left;border-collapse:collapse;font-size:.8125rem}.emp-table th{background-color:#f8fafc;border-bottom:1px solid var(--court-border);padding:.75rem 1rem;font-family:var(--font-body);font-size:.6875rem;font-weight:700;color:var(--court-text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.emp-table td{padding:.875rem 1rem;border-bottom:1px solid #f1f5f9;vertical-align:middle;color:var(--court-text-secondary)}.emp-table tr:last-child td{border-bottom:none}.emp-table tbody tr{transition:background-color .15s ease}.emp-table tbody tr:hover{background-color:#f8fafccc}.emp-btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;height:2.5rem;padding:0 1rem;border-radius:8px;font-family:var(--font-body);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap;border:1px solid transparent}.emp-btn-sm{height:2rem;padding:0 .625rem;font-size:.6875rem;border-radius:6px}.emp-btn-primary{background-color:var(--court-accent);color:#fff;box-shadow:0 1px 2px #2563eb33}.emp-btn-primary:hover{background-color:var(--court-accent-hover)}.emp-btn-outline{background-color:#fff;border-color:var(--court-border);color:var(--court-text-secondary);box-shadow:0 1px 2px #00000005}.emp-btn-outline:hover{background-color:#f8fafc;color:var(--court-text-primary);border-color:#cbd5e1}.emp-btn-danger{background-color:#fef2f2;border-color:#fecaca;color:#b91c1c}.emp-btn-danger:hover{background-color:#fee2e2}.emp-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:6px;font-size:.6875rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}.emp-badge--admin{background-color:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.emp-badge--host{background-color:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.emp-badge--brand{background-color:#eef2ff;color:#4338ca;border:1px solid #c7d2fe}.emp-badge--warning{background-color:#fffbeb;color:#b45309;border:1px solid #fde68a}.emp-badge--success{background-color:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.emp-badge--user{background-color:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.emp-badge--zombie{background-color:#f5f3ff;color:#6d28d9;border:1px solid #ddd6fe}.auth-modal-content{position:relative;background:#fff;border-radius:24px;padding:40px 36px 36px;width:100%;max-width:440px;margin:0 auto;box-shadow:0 25px 60px -15px #0000001f,0 0 1px 1px #0000000a;overflow:hidden}.auth-modal-content:before,.auth-card:before{content:"";position:absolute;top:0;left:15%;right:15%;height:3px;background:linear-gradient(90deg,transparent,rgba(249,61,58,.6),rgba(26,51,142,.6),transparent);border-radius:9999px;pointer-events:none}.auth-card{position:relative;background:#fff;border-radius:24px;padding:42px 38px 38px;width:100%;max-width:440px;margin:0 auto;box-shadow:0 20px 45px -12px #0f172a1a,0 0 1px 1px #0f172a0d;overflow:hidden}.auth-step-container{display:flex;flex-direction:column}.auth-header-pill{display:inline-flex;align-items:center;gap:7px;background:#eff6ff;border:1px solid #dbeafe;color:#1d4ed8;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;padding:5px 12px;border-radius:9999px;margin-bottom:14px}.auth-header-pill svg{width:14px;height:14px;color:#2563eb}.auth-title-modern{font-family:Be Vietnam Pro,Inter,-apple-system,sans-serif;font-size:26px;font-weight:800;color:#0f172a;letter-spacing:-.5px;line-height:1.25;margin-bottom:8px;text-align:center}.auth-subtitle-modern{font-family:Be Vietnam Pro,Inter,-apple-system,sans-serif;font-size:14px;color:#64748b;line-height:1.55;margin-bottom:28px;text-align:center;padding:0 8px}.emp-ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:inherit;font-weight:700;cursor:pointer;border:none;outline:none;transition:all .22s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;user-select:none;text-decoration:none;position:relative}.emp-btn--full{width:100%}.emp-btn--primary{background:linear-gradient(135deg,#ff453a,#ea2b28);color:#fff;border-radius:14px;padding:14px 20px;font-size:15px;box-shadow:0 8px 20px -4px #f93d3a59,0 2px 5px #f93d3a26}.emp-btn--primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 26px -4px #f93d3a73,0 4px 8px #f93d3a33;filter:brightness(1.03)}.emp-btn--primary:active:not(:disabled){transform:translateY(1px) scale(.985);box-shadow:0 4px 10px #f93d3a40}.emp-btn--primary:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.emp-btn--zalo{background:linear-gradient(135deg,#0068ff,#0054cc);color:#fff;border-radius:14px;padding:13px 20px;font-size:15px;box-shadow:0 8px 20px -4px #0068ff59,0 2px 5px #0068ff26}.emp-btn--zalo:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 24px -4px #0068ff73;filter:brightness(1.04)}.emp-btn--zalo:active:not(:disabled){transform:translateY(1px) scale(.985);box-shadow:0 4px 10px #0068ff33}.emp-btn--secondary{background:#f1f5f9;color:#334155;border-radius:14px;padding:13px 20px;font-size:14px}.emp-btn--secondary:hover:not(:disabled){background:#e2e8f0;color:#0f172a}.emp-btn--otp{background:#f8fafc;color:#1a338e;border:1px solid #cbd5e1;border-radius:9999px;padding:6px 14px;font-size:12.5px;font-weight:600;box-shadow:0 1px 3px #0000000a}.emp-btn--otp:hover:not(:disabled){background:#eff6ff;border-color:#93c5fd;color:#1d4ed8;transform:translateY(-1px)}.emp-input-wrapper{display:flex;flex-direction:column;margin-bottom:20px;text-align:left}.emp-input-label{font-size:13px;font-weight:600;color:#334155;margin-bottom:7px;display:flex;align-items:center;gap:4px}.emp-input-required{color:#ef4444}.emp-input-box{display:flex;align-items:center;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:14px;transition:all .2s cubic-bezier(.16,1,.3,1);overflow:hidden}.emp-input-box:focus-within{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a}.emp-input-box--error{border-color:#ef4444!important;background:snow!important}.emp-input-box--error:focus-within{box-shadow:0 0 0 4px #ef44441a!important}.emp-input-prefix{display:flex;align-items:center;gap:6px;padding:12px 14px;font-size:14px;font-weight:600;color:#334155;border-right:1px solid #e2e8f0;-webkit-user-select:none;user-select:none}.emp-ui-input{flex:1;width:100%;border:none;background:transparent;padding:13px 16px;font-family:inherit;font-size:15px;color:#0f172a;outline:none}.emp-ui-input::placeholder{color:#94a3b8}.emp-input-helper-msg{font-size:12px;color:#64748b;margin-top:6px;line-height:1.4}.emp-input-error-msg{display:flex;align-items:center;gap:6px;font-size:12px;color:#dc2626;margin-top:6px}.auth-divider-modern{display:flex;align-items:center;text-align:center;color:#94a3b8;font-size:12.5px;font-weight:500;margin:24px 0}.auth-divider-modern:before,.auth-divider-modern:after{content:"";flex:1;border-bottom:1px solid #e2e8f0}.auth-divider-modern span{padding:0 14px;background:#fff}.auth-back-nav{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#64748b;cursor:pointer;margin-bottom:18px;border:none;background:none;padding:4px 8px 4px 0;border-radius:8px;transition:color .2s,transform .2s}.auth-back-nav:hover{color:#1a338e;transform:translate(-2px)}.otp-boxes-modern{display:flex;justify-content:space-between;gap:8px;margin:22px 0 24px}.otp-box-modern{width:50px;height:56px;border:1.5px solid #e2e8f0;border-radius:14px;background:#f8fafc;text-align:center;font-size:24px;font-weight:800;color:#1a338e;font-family:inherit;outline:none;transition:all .2s cubic-bezier(.16,1,.3,1)}.otp-box-modern:focus{border-color:#3b82f6;background:#fff;box-shadow:0 0 0 4px #3b82f61f;transform:translateY(-2px) scale(1.04)}.otp-box-modern.filled{border-color:#1a338e;background:#fff}.athlete-card-luxury{background:linear-gradient(135deg,#102263,#1e3bb3 55%,#14277a);border-radius:18px;padding:20px 22px;color:#fff;margin-bottom:24px;position:relative;overflow:hidden;box-shadow:0 12px 28px -6px #1a338e59;border:1px solid rgba(255,255,255,.18)}.athlete-card-luxury:before{content:"";position:absolute;top:-40px;right:-40px;width:140px;height:140px;background:radial-gradient(circle,rgba(255,69,58,.35) 0%,transparent 70%);border-radius:50%;pointer-events:none}.athlete-card-luxury-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.athlete-card-luxury-tag{font-size:11px;text-transform:uppercase;letter-spacing:1px;opacity:.85;font-weight:700}.athlete-card-luxury-id{font-family:SF Mono,Fira Code,monospace;font-size:17px;font-weight:800;letter-spacing:1.5px;color:#fde047;background:#00000047;padding:4px 10px;border-radius:8px;border:1px solid rgba(253,224,71,.2)}.athlete-card-luxury-body{display:flex;align-items:center;gap:14px}.athlete-card-luxury-avatar{width:52px;height:52px;border-radius:50%;border:2px solid #ffffff;object-fit:cover;background:#fff;box-shadow:0 4px 10px #00000026}.athlete-card-luxury-name{font-size:17px;font-weight:800;letter-spacing:-.2px;margin-bottom:3px}.athlete-card-luxury-meta{font-size:12.5px;opacity:.88;display:flex;align-items:center;gap:8px}.athlete-card-luxury-elo{background:#ffffff38;padding:2px 7px;border-radius:6px;font-weight:700;font-size:11px}.avatar-picker-wrapper{display:flex;flex-direction:column;align-items:center;margin-bottom:24px}.avatar-upload-disc{width:96px;height:96px;border-radius:50%;position:relative;cursor:pointer;border:3.5px solid #eff6ff;box-shadow:0 6px 18px #00000014;transition:transform .2s cubic-bezier(.16,1,.3,1);overflow:hidden;background:#f1f5f9}.avatar-upload-disc:hover{transform:scale(1.04)}.avatar-upload-disc-img{width:100%;height:100%;object-fit:cover}.avatar-upload-disc-badge{position:absolute;bottom:0;left:0;right:0;background:#0f172aa6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:#fff;font-size:10.5px;font-weight:600;text-align:center;padding:4px 0}.avatar-presets-title{font-size:12.5px;color:#64748b;margin:12px 0 10px}.avatar-presets-row{display:flex;gap:12px;justify-content:center}.avatar-preset-item{width:42px;height:42px;border-radius:50%;padding:2px;border:2px solid transparent;cursor:pointer;transition:all .2s;background:transparent}.avatar-preset-item.active{border-color:#ff453a;transform:scale(1.12);box-shadow:0 4px 10px #ff453a40}.avatar-preset-item img{width:100%;height:100%;border-radius:50%;object-fit:cover}.modal-close-round{position:absolute;top:18px;right:18px;width:34px;height:34px;border-radius:50%;background:#f1f5f9;color:#64748b;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;border:none;transition:all .2s;z-index:10}.modal-close-round:hover{background:#e2e8f0;color:#0f172a;transform:scale(1.05)}.auth-page-wrapper{min-height:100vh;background:radial-gradient(circle at 50% 20%,#f8fafc,#eef2f6);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:32px 20px}.auth-page-brand{display:flex;align-items:center;gap:14px;margin-bottom:28px;cursor:pointer;transition:transform .2s}.auth-page-brand:hover{transform:translateY(-1px)}:root{--blue: #1A338E;--primary-50: #EEF8FF;--primary-400: #3B82F6;--primary-950: #1A338E;--secondary-400: #F93D3A;--neutral-50: #FCFCFC;--neutral-100: #F5F5F5;--neutral-200: #E5E5E5;--neutral-300: #D4D4D4;--neutral-400: #A3A3A3;--neutral-500: #737373;--neutral-700: #404040;--neutral-800: #262626;--neutral-900: #171717;--white: #ffffff;--red: #F93D3A;--blue-dark: #1A338E;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 12px rgba(0,0,0,.1);--shadow-lg: 0 8px 24px rgba(0,0,0,.12);--radius-card: 16px;--radius-btn: 12px;--radius-input: 8px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Be Vietnam Pro,sans-serif;background:var(--neutral-900);color:var(--neutral-700);font-size:15px;line-height:1.6}.page-wrapper{position:relative;z-index:2;background:var(--neutral-100);box-shadow:0 8px 40px #00000059,0 2px #0003;border-radius:0 0 20px 20px;overflow:hidden;margin-bottom:0}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}button{cursor:pointer;border:none;background:none;font-family:inherit}ul{list-style:none}.container{max-width:1160px;margin:0 auto;padding:0 20px}.navbar{position:sticky;top:0;z-index:100;background:var(--white);border-bottom:1px solid var(--neutral-200);box-shadow:var(--shadow-sm)}.navbar__inner{display:flex;align-items:center;gap:32px;height:64px}.navbar__logo img{height:36px;transform:scale(1.7);transform-origin:left center}.navbar__nav{display:flex;align-items:center;gap:28px;flex:1}.navbar__link{font-size:14px;font-weight:500;color:var(--neutral-500);padding:4px 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.navbar__link:hover{color:var(--blue-dark)}.navbar__link--active{color:var(--blue-dark);font-weight:600;border-color:var(--blue-dark)}.navbar__actions{display:flex;align-items:center;gap:16px;margin-left:auto}.navbar__icon-btn{position:relative;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;color:var(--neutral-700);transition:background .2s}.navbar__icon-btn:hover{background:var(--neutral-100)}.navbar__badge{position:absolute;top:4px;right:4px;background:var(--red);color:#fff;font-size:9px;font-weight:700;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center}.navbar__user{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 10px;border-radius:24px;transition:background .2s}.navbar__user:hover{background:var(--neutral-100)}.navbar__avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.navbar__username{font-size:14px;font-weight:600;color:var(--neutral-700)}.hero{position:relative;background:linear-gradient(135deg,#0a1628,#1a2f6b,#0d1f45);min-height:380px;overflow:hidden;padding:60px 0 0}.hero__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#0a1628eb,#0a1628b3 55%,#0a16281a);z-index:1}.hero__bg-img{position:absolute;right:0;top:0;bottom:0;width:55%;z-index:0}.hero__photo{width:100%;height:100%;object-fit:cover;object-position:center top;filter:brightness(.7)}.hero__content{position:relative;z-index:2;padding-bottom:40px}.hero__badge{display:inline-flex;align-items:center;gap:6px;background:var(--red);color:#fff;font-size:12px;font-weight:600;padding:5px 12px;border-radius:20px;margin-bottom:16px}.hero__title{font-size:44px;font-weight:700;color:var(--white);line-height:1.15;margin-bottom:4px}.hero__subtitle{font-size:44px;font-weight:700;color:var(--red);line-height:1.15;margin-bottom:12px}.hero__desc{font-size:16px;color:#ffffffbf;margin-bottom:36px}@keyframes floatUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero__meta{display:flex;gap:0;background:#ffffff0f;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);border-top:1px solid rgba(255,255,255,.35);border-left:1px solid rgba(255,255,255,.25);border-radius:24px;margin:20px 0 0;padding:0;box-shadow:0 20px 40px #00000040,inset 0 1px #ffffff1a;overflow:hidden;animation:floatUp .8s cubic-bezier(.16,1,.3,1) forwards}.hero__meta-item{display:flex;align-items:flex-start;gap:12px;flex:1;padding:24px 20px;color:#fff;border-right:1px solid rgba(255,255,255,.1);transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.hero__meta-item:hover{background:#ffffff1f;box-shadow:inset 0 0 20px #ffffff0d}.hero__meta-item:last-child{border-right:none}.hero__meta-item svg{margin-top:2px;flex-shrink:0;opacity:.9;width:18px;height:18px;color:#fff;transition:transform .3s ease}.hero__meta-item:hover svg{transform:scale(1.15) rotate(-5deg)}.hero__meta-label{font-size:13px;color:#ffffffb3;margin-bottom:4px;font-weight:500;transition:color .3s ease}.hero__meta-item:hover .hero__meta-label{color:#fff}.hero__meta-value{font-size:15px;font-weight:700;color:#fff;letter-spacing:.2px}.hero__meta-sub{font-size:12px;color:#fff9;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.text-red{color:var(--red)}.main-content{padding:32px 0 0}.main-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.card{background:var(--white);border-radius:var(--radius-card);box-shadow:var(--shadow-md);padding:28px}.card__title{font-size:13px;font-weight:700;color:var(--blue-dark);letter-spacing:.08em;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--neutral-200)}.match-info__tags{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:20px}.tag{display:inline-flex;align-items:center;font-size:12px;padding:5px 12px;border-radius:20px}.tag--outline{border:1px solid var(--neutral-200);color:var(--neutral-700);background:var(--neutral-50)}.match-info__price{margin-left:auto;font-size:20px;font-weight:700;color:var(--red)}.match-info__price small{font-size:12px;color:var(--neutral-500);font-weight:400}.match-info__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.match-info__field-label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--neutral-500);margin-bottom:4px}.match-info__field-value{font-size:15px;font-weight:600;color:var(--neutral-900)}.match-info__field-sub{font-size:12px;color:var(--neutral-500)}.match-info__host{display:flex;align-items:center;gap:12px;padding:14px 0;margin-bottom:16px;border-top:1px solid var(--neutral-100);border-bottom:1px solid var(--neutral-100)}.match-info__host-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.match-info__desc{margin-bottom:20px}.match-info__desc-label{font-size:13px;font-weight:600;color:var(--neutral-700);margin-bottom:6px}.match-info__desc p{font-size:14px;color:var(--neutral-500);line-height:1.7}.notice-box{background:#eef8ff;border:1px solid #BFDBFE;border-radius:10px;padding:16px}.notice-box__title{font-size:12px;font-weight:700;color:var(--blue-dark);margin-bottom:10px;letter-spacing:.06em}.notice-box ul{display:flex;flex-direction:column;gap:8px}.notice-box li{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--neutral-700)}.notice-check{color:var(--blue-dark);font-size:13px;flex-shrink:0;margin-top:1px}.participants__count{color:var(--neutral-500);font-weight:400}.participants__note{font-size:12px;color:var(--neutral-500);margin-bottom:16px}.participants__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px 8px;margin-bottom:16px}.participant{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.participant:hover{transform:translateY(-4px) scale(1.05)}.participant img,.participant__avatar-placeholder{width:44px;height:44px;border-radius:50%;object-fit:cover;transition:box-shadow .25s ease,border-color .25s ease}.participant:hover img,.participant:hover .participant__avatar-placeholder{box-shadow:0 4px 12px #0000001f}.participant__avatar-placeholder{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.participant__avatar-placeholder--empty{background:var(--neutral-200)!important;color:var(--neutral-400)!important;border:2px dashed var(--neutral-300)}.participant--empty:hover{transform:none}.participant--empty:hover .participant__avatar-placeholder--empty{border-color:var(--neutral-400)}.participant span{font-size:11px;color:var(--neutral-700);text-align:center;line-height:1.3;max-width:52px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.participant small{font-size:10px;color:var(--red);font-weight:600}.participant--empty span{color:var(--neutral-400)}.btn-see-all{width:100%;padding:10px;border:1px solid var(--neutral-200);background:#fff;border-radius:8px;font-size:13px;font-weight:600;color:var(--blue);cursor:pointer;transition:all .2s}.btn-see-all:hover{background:var(--neutral-50);border-color:var(--neutral-300);transform:translateY(-2px);box-shadow:0 2px 8px #0000000d}.btn-see-all:active{transform:translateY(0)}.reg-card{margin-bottom:24px}.reg-grid{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.reg-block__label{font-size:13px;font-weight:600;color:var(--neutral-700);margin-bottom:12px}.optional{font-weight:400;color:var(--neutral-400)}.radio-card{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:10px;border:1.5px solid var(--neutral-200);cursor:pointer;margin-bottom:10px;transition:border-color .2s,background .2s}.radio-card input[type=radio]{display:none}.radio-card__dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--neutral-300);flex-shrink:0;margin-top:1px;transition:border-color .2s,background .2s}.radio-card--selected{border-color:var(--red);background:#fff5f5}.radio-card--selected .radio-card__dot{border-color:var(--red);background:var(--red);box-shadow:inset 0 0 0 3px #fff}.radio-card__title{font-size:14px;font-weight:600;color:var(--neutral-800)}.radio-card__desc{font-size:12px;color:var(--neutral-500);margin-top:2px}.user-info-card{display:flex;align-items:center;gap:14px;padding:16px;border-radius:10px;border:1.5px solid var(--neutral-200);background:var(--neutral-50)}.user-info-card__avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}.user-info-card__name{font-size:15px;font-weight:700;color:var(--neutral-900)}.user-info-card__phone{font-size:13px;color:var(--neutral-500)}.user-info-card__level{font-size:12px;color:var(--neutral-500)}.reg-textarea{width:100%;padding:12px;border:1.5px solid var(--neutral-200);border-radius:var(--radius-input);font-family:inherit;font-size:13px;color:var(--neutral-700);resize:none;outline:none;transition:border-color .2s;background:var(--neutral-50)}.reg-textarea:focus{border-color:var(--primary-400)}.reg-textarea__count{font-size:11px;color:var(--neutral-400);text-align:right;margin-top:4px}.reg-footer{display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:1px solid var(--neutral-200)}.checkbox-label{display:flex;align-items:center;gap:10px;font-size:13px;cursor:pointer}.checkbox-label input{display:none}.checkbox-custom{width:18px;height:18px;border:2px solid var(--neutral-300);border-radius:4px;flex-shrink:0;transition:border-color .2s,background .2s;position:relative}.checkbox-label input:checked+.checkbox-custom{background:var(--blue-dark);border-color:var(--blue-dark)}.checkbox-label input:checked+.checkbox-custom:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:11px;font-weight:700}.checkbox-label.error{color:var(--red);animation:shakeX .4s ease-in-out}.checkbox-label.error .checkbox-custom{border-color:var(--red);background-color:#f12f2c0d}@keyframes shakeX{0%,to{transform:translate(0)}25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-4px)}}.link-blue{color:var(--blue-dark);font-weight:600}.btn-register{width:100%;background:var(--red);color:#fff;font-size:15px;font-weight:700;padding:14px;border-radius:12px;border:none;cursor:pointer;box-shadow:0 4px 14px #f93d3a4d;transition:all .2s}.btn-register:hover{background:#d92b28;transform:translateY(-2px);box-shadow:0 6px 16px #e5393566}.btn-register:active{transform:translateY(0);box-shadow:none}.reg-secure{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--neutral-500)}.related-section{padding:40px 0}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.link-see-all{font-size:13px;font-weight:600;color:var(--blue-dark)}.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.match-card{background:var(--white);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .2s}.match-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.match-card__img{position:relative;height:120px;overflow:hidden}.match-card__img img{width:100%;height:100%;object-fit:cover}.match-card__date{position:absolute;top:10px;left:10px;background:#f0fdf4;color:#166534;font-size:11px;font-weight:700;padding:3px 8px;border-radius:10px}.match-card__date--red{background:#fff5f5;color:var(--red)}.match-card__body{padding:12px}.match-card__time{font-size:12px;color:var(--neutral-500);margin-bottom:2px}.match-card__venue{font-size:13px;font-weight:600;color:var(--neutral-800);margin-bottom:4px}.match-card__price{font-size:13px;font-weight:700;color:var(--red);margin-bottom:10px}.match-card__footer{display:flex;align-items:center;justify-content:space-between}.match-card__avatars{display:flex}.sm-avatar{width:24px;height:24px;border-radius:50%;color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-left:-6px;border:2px solid #fff}.match-card__avatars .sm-avatar:first-child{margin-left:0}.match-card__slots{font-size:11px;color:var(--neutral-500)}.footer{position:sticky;bottom:0;z-index:1;background:var(--neutral-900);color:#ffffffb3;padding:48px 0 0;border-top:3px solid var(--red)}.footer__inner{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr auto;gap:32px;padding-bottom:40px}.footer__brand p{font-size:13px;margin-top:12px;line-height:1.7;color:#ffffff80}.footer__socials{display:flex;gap:10px;margin-top:16px}.footer__social{width:36px;height:36px;border-radius:50%;background:#ffffff14;display:flex;align-items:center;justify-content:center;color:#ffffffb3;transition:background .2s,color .2s}.footer__social:hover{background:var(--red);color:#fff}.footer__col-title{font-size:11px;font-weight:700;color:#fff;letter-spacing:.08em;margin-bottom:14px}.footer__col ul{display:flex;flex-direction:column;gap:10px}.footer__col li{display:flex;align-items:center;gap:8px;font-size:13px;color:#ffffff8c}.footer__col a{color:#ffffff8c;transition:color .2s}.footer__col a:hover{color:#fff}.footer__logo-big{display:flex;align-items:center}.footer__copy{font-size:12px;color:#ffffff4d;text-align:center;padding:16px;border-top:1px solid rgba(255,255,255,.06)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}.modal--show{opacity:1;pointer-events:auto}.modal__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal__content{position:relative;z-index:2;width:100%;max-width:400px;background:var(--white);border-radius:20px;padding:32px;box-shadow:var(--shadow-lg);transform:translateY(20px);transition:transform .3s}.modal--show .modal__content{transform:translateY(0)}.modal__close{position:absolute;top:16px;right:16px;font-size:24px;color:var(--neutral-400)}.auth-title{font-size:20px;font-weight:700;color:var(--neutral-900);margin-bottom:8px;text-align:center}.auth-desc{font-size:14px;color:var(--neutral-500);margin-bottom:24px;text-align:center}.auth-field{margin-bottom:16px}.auth-input{width:100%;padding:12px 16px;border-radius:12px;border:1.5px solid var(--neutral-200);font-size:15px;outline:none;transition:border-color .2s;background:var(--neutral-50)}.auth-input:focus{border-color:var(--primary-400)}.btn-primary{background:var(--red);color:#fff;font-size:15px;font-weight:700;padding:14px;border-radius:12px;border:none;cursor:pointer;transition:all .2s}.btn-primary:hover{background:#d92b28;transform:translateY(-2px);box-shadow:0 6px 16px #e539354d}.btn-primary:active{transform:translateY(0);box-shadow:none}.w-100{width:100%}.d-none{display:none!important}.auth-switch{font-size:13px;color:var(--neutral-500);text-align:center;margin-top:16px}.auth-field--otp{display:flex;gap:8px}.btn-otp{background:var(--neutral-100);color:var(--blue-dark);font-size:13px;font-weight:600;padding:0 16px;border-radius:12px;border:1px solid var(--neutral-200)}.btn-google{display:flex;align-items:center;justify-content:center;gap:12px;background:#fff;border:1px solid var(--neutral-200);color:var(--neutral-700);font-weight:600;font-size:15px;padding:14px;border-radius:12px;cursor:pointer;transition:background .2s;margin-bottom:24px}.btn-google:hover{background:var(--neutral-50)}.auth-divider{display:flex;align-items:center;text-align:center;color:var(--neutral-500);font-size:13px;margin-bottom:24px}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--neutral-200)}.auth-divider span{padding:0 12px}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s}.dialog-overlay.active{opacity:1;visibility:visible}.dialog-card{background:var(--white);padding:24px;border-radius:var(--radius-card);width:90%;max-width:360px;box-shadow:var(--shadow-lg);transform:translateY(20px);transition:all .3s;text-align:center}.dialog-overlay.active .dialog-card{transform:translateY(0)}.dialog-icon{width:48px;height:48px;background:var(--primary-50);color:var(--primary-400);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.dialog-icon.warning{background:#fffbeb;color:#f59e0b}.dialog-icon.success{background:#ecfdf5;color:#10b981}.dialog-title{font-size:18px;font-weight:700;color:var(--neutral-900);margin-bottom:8px}.dialog-message{font-size:15px;color:var(--neutral-500);margin-bottom:24px;white-space:pre-wrap;word-wrap:break-word}.dialog-actions{display:flex;gap:12px}.btn-dialog{flex:1;padding:12px;font-size:15px;font-weight:600;border-radius:12px;cursor:pointer;border:none;transition:background .2s}.btn-dialog--cancel{background:var(--neutral-100);color:var(--neutral-700)}.btn-dialog--cancel:hover{background:var(--neutral-200)}.btn-dialog--confirm{background:var(--primary-400);color:var(--white)}.btn-dialog--confirm:hover{background:var(--primary-950)}.btn-dialog--confirm.danger{background:var(--red)}.btn-dialog--confirm.danger:hover{background:#d92b28}@media (max-width: 768px){.container{padding:0 24px}.navbar__inner{padding-top:16px;padding-bottom:16px}.navbar__nav{display:none}.hero{padding:60px 24px 80px;border-radius:0 0 24px 24px}.hero__title{font-size:32px}.hero__subtitle{font-size:40px}.main-grid{grid-template-columns:1fr;gap:24px;margin-top:16px}.card{padding:20px}.match-info__grid{grid-template-columns:1fr;gap:16px}.participants__grid{grid-template-columns:repeat(5,1fr)}.reg-grid{grid-template-columns:1fr;gap:24px}.related-grid{grid-template-columns:repeat(2,1fr);gap:16px}.footer{padding:60px 0 40px}.footer__inner{grid-template-columns:1fr;gap:32px}.footer__col{align-items:center;text-align:center}.footer__logo{justify-content:center}.footer__bottom{flex-direction:column;gap:16px;text-align:center}.auth-modal{padding:24px;width:90%;max-width:400px}}@media (max-width: 480px){.hero__title{font-size:28px}.hero__subtitle{font-size:32px}.hero__meta{display:grid;grid-template-columns:1fr 1fr;background:transparent;border:none;margin:24px 0 0;padding:0;gap:12px;box-shadow:none;animation:floatUp .8s cubic-bezier(.16,1,.3,1) forwards}.hero__meta-item{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;background:#ffffff0f;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);border-top:1px solid rgba(255,255,255,.35);border-left:1px solid rgba(255,255,255,.25);border-radius:20px;box-shadow:0 12px 32px #0003,inset 0 1px #ffffff1a;transition:all .3s cubic-bezier(.4,0,.2,1)}.hero__meta-item:active{transform:scale(.96);background:#ffffff26}.hero__meta-item svg{margin-top:0;margin-bottom:4px;width:22px;height:22px;color:var(--red);transition:transform .3s ease}.hero__meta-item:active svg{transform:scale(1.15) rotate(-5deg)}.hero__meta-item:last-child{grid-column:span 2}.participants__grid{grid-template-columns:repeat(4,1fr)}.related-grid{grid-template-columns:1fr}}.dashboard-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.dashboard-tabs::-webkit-scrollbar{display:none}.tab-btn{background:transparent;border:none;border-bottom:2px solid transparent;padding:8px 4px;font-size:15px;font-weight:600;color:var(--neutral-500);cursor:pointer;display:flex;align-items:center;white-space:nowrap;transition:all .2s ease}.tab-btn--active{color:var(--neutral-900);border-bottom-color:var(--red)}.homepage-hero{background:linear-gradient(135deg,#0f0f1a,#1a1128,#0f1f2e);min-height:420px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;position:relative}.homepage-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 80% at 30% 50%,rgba(249,61,58,.18) 0%,transparent 70%);pointer-events:none}.homepage-hero__inner{display:flex;flex-direction:column;justify-content:center;padding-top:56px;padding-bottom:56px;gap:0;position:relative;z-index:2}.homepage-hero__title{font-size:clamp(32px,4vw,52px);font-weight:800;color:#fff;line-height:1.15;margin:12px 0 16px;letter-spacing:-.02em}.homepage-hero__title span{color:var(--red)}.homepage-hero__desc{font-size:16px;color:#fff9;line-height:1.7;max-width:420px;margin-bottom:28px}.homepage-stats{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.homepage-stat{display:flex;flex-direction:column;align-items:flex-start}.homepage-stat span{font-size:24px;font-weight:800;color:#fff;line-height:1}.homepage-stat small{font-size:12px;color:#ffffff80;margin-top:2px}.homepage-stat__divider{width:1px;height:36px;background:#ffffff26}.homepage-hero__images{position:relative;overflow:hidden}.homepage-hero__img{position:absolute;object-fit:cover;border-radius:12px}.homepage-hero__img--1{width:65%;height:85%;top:7%;right:4%;box-shadow:0 20px 60px #00000080}.homepage-hero__img--2{width:38%;height:50%;bottom:5%;left:2%;box-shadow:0 12px 32px #0006;border:3px solid rgba(255,255,255,.08)}.homepage-hero__img--3{width:34%;height:36%;top:8%;left:4%;box-shadow:0 8px 24px #00000059;border:3px solid rgba(255,255,255,.08)}.hp-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-bottom:2px solid var(--neutral-100);padding-bottom:0}.hp-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;font-size:13px;font-weight:600;color:var(--neutral-500);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;border-radius:0;transition:color .18s,border-color .18s;white-space:nowrap}.hp-tab:hover{color:var(--neutral-700)}.hp-tab--active{color:var(--red);border-bottom-color:var(--red)}.hp-tab svg{flex-shrink:0}.hp-filter-btn{background:var(--neutral-100);border:1px solid var(--neutral-200);border-radius:20px;padding:6px 16px;font-size:13px;font-weight:600;color:var(--neutral-600);cursor:pointer;transition:all .18s ease}.hp-filter-btn:hover{background:var(--neutral-200)}.hp-filter-btn--active{background:var(--red);border-color:var(--red);color:#fff}.homepage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.hp-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 12px #00000012;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:box-shadow .22s ease,transform .22s ease;border:1px solid var(--neutral-100)}.hp-card:hover{box-shadow:0 8px 32px #00000021;transform:translateY(-3px)}.hp-card--full{opacity:.75}.hp-card--skeleton{height:280px;background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s infinite;cursor:default}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.hp-card__img{position:relative;height:180px;overflow:hidden;flex-shrink:0}.hp-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.hp-card:hover .hp-card__img img{transform:scale(1.04)}.hp-badge{position:absolute;top:10px;left:10px;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;letter-spacing:.02em}.hp-badge--today{background:var(--red)}.hp-badge--soon{background:#f97316}.hp-badge--full{background:var(--neutral-700)}.hp-reg-chip{display:inline-flex;align-items:center;font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;letter-spacing:.02em;white-space:nowrap}.hp-reg-chip--accepted{background:#dcfce7;color:#15803d}.hp-reg-chip--pending{background:#fef9c3;color:#854d0e}.hp-reg-chip--rejected{background:#fee2e2;color:#b91c1c}.hp-card__slots-bar{position:absolute;bottom:0;left:0;right:0;height:4px;background:#ffffff40}.hp-card__slots-bar div{height:100%;background:var(--red);border-radius:4px;transition:width .5s ease}.hp-card__body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}.hp-card__title{font-size:15px;font-weight:700;color:var(--neutral-900);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;overflow:hidden}.hp-card__meta{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--neutral-500)}.hp-card__meta svg{flex-shrink:0;color:var(--neutral-400)}.hp-card__footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:8px;border-top:1px solid var(--neutral-100)}.hp-card__price{font-size:14px;font-weight:700;color:var(--red)}@media (max-width: 900px){.homepage-hero{grid-template-columns:1fr;min-height:auto}.homepage-hero__images{display:none}.homepage-hero__inner{padding-top:40px;padding-bottom:40px}.homepage-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 580px){.homepage-grid{grid-template-columns:1fr}.homepage-hero__title{font-size:28px}}.hp-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236b7280'/%3E%3C/svg%3E") no-repeat right 10px center;border:1px solid var(--neutral-200);border-radius:8px;padding:6px 28px 6px 12px;font-size:13px;font-weight:500;color:var(--neutral-700);cursor:pointer;outline:none;transition:border-color .18s}.hp-select:focus{border-color:var(--red)}.hp-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:32px;padding-top:20px;border-top:1px solid var(--neutral-100)}.hp-page-btn{min-width:36px;height:36px;padding:0 10px;border:1px solid var(--neutral-200);border-radius:8px;background:var(--white);color:var(--neutral-700);font-size:13px;font-weight:600;cursor:pointer;transition:all .18s ease;display:inline-flex;align-items:center;justify-content:center}.hp-page-btn:hover:not(:disabled){background:var(--neutral-50);border-color:var(--neutral-300)}.hp-page-btn--active{background:var(--red);border-color:var(--red);color:#fff}.hp-page-btn:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 580px){.hp-pagination{justify-content:center}}.right-sidebar{display:flex;flex-direction:column;gap:16px}.cta-app-banner{display:flex;background:var(--primary-50, #EEF8FF);border-radius:12px;overflow:hidden;position:relative;text-decoration:none;box-shadow:0 4px 12px #2563eb0d}.cta-app-banner__left{flex:1;padding:24px;display:flex;flex-direction:column}.cta-app-banner__title{font-size:14px;font-weight:800;color:var(--blue-dark, #1A338E);margin:0 0 4px;text-transform:uppercase;letter-spacing:.5px}.cta-app-banner__subtitle{font-size:16px;font-weight:700;color:var(--blue-dark, #1A338E);margin:0 0 12px}.cta-app-banner__desc{font-size:13px;color:var(--neutral-700);margin:0 0 16px;line-height:1.5}.cta-app-banner__list{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:8px}.cta-app-banner__list li{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--neutral-700);font-weight:500}.cta-app-banner__list svg{width:16px;height:16px;color:var(--blue-dark, #1A338E);margin-top:2px;flex-shrink:0}.cta-app-banner__download{display:flex;align-items:center;gap:16px;margin-top:auto}.cta-app-banner__qr{width:64px;height:64px;border-radius:8px;object-fit:cover}.cta-app-banner__buttons{display:flex;gap:8px}.download-btn{display:inline-block;transition:transform .2s}.download-btn:hover{transform:translateY(-2px)}.download-btn img{height:36px;width:auto}.cta-app-banner__right{width:220px;position:relative;display:flex;align-items:flex-end;justify-content:center;padding-right:24px}.cta-app-banner__mockup{width:100%;height:auto;max-height:120%;object-fit:contain;margin-bottom:-16px;display:block}@media (max-width: 500px){.cta-app-banner{flex-direction:column}.cta-app-banner__right{width:100%;height:auto;padding:0;margin-top:16px;align-items:center}.cta-app-banner__mockup{width:220px;margin-bottom:-20px}.cta-app-banner__buttons{flex-direction:column}}.hp-search-filter-wrapper{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hp-search-box{position:relative;display:flex;align-items:center;flex:1;min-width:240px;max-width:380px}.hp-search-box__input{width:100%;height:42px;padding:0 38px 0 40px;background:#fff;border:1.5px solid var(--neutral-200);border-radius:9999px;font-size:14px;color:var(--neutral-800);outline:none;transition:all .2s ease;box-shadow:0 2px 6px #00000008}.hp-search-box__input:focus{border-color:var(--red);box-shadow:0 0 0 3px #e00b411f,0 2px 8px #0000000d}.hp-search-box__icon{position:absolute;left:14px;color:var(--neutral-400);pointer-events:none;display:flex;align-items:center;justify-content:center}.hp-search-box__clear{position:absolute;right:12px;background:none;border:none;color:var(--neutral-400);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:color .15s}.hp-search-box__clear:hover{color:var(--neutral-700)}.hp-filter-btn{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;background:#fff;border:1.5px solid var(--neutral-200);border-radius:9999px;font-size:13.5px;font-weight:600;color:var(--neutral-700);cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px #00000008;white-space:nowrap}.hp-filter-btn:hover{border-color:var(--neutral-300);background:var(--neutral-50)}.hp-filter-btn--active{border-color:var(--red);color:var(--red);background:#fff1f2}.hp-filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9999px;background:var(--red);color:#fff;font-size:11px;font-weight:700}.filter-chip{padding:8px 16px;border-radius:9999px;border:1.5px solid #e2e8f0;background:#fff;color:#475569;font-size:13px;font-weight:600;cursor:pointer;transition:all .18s ease}.filter-chip:hover{border-color:#cbd5e1;background:#f8fafc}.filter-chip--active{border-color:#e00b41!important;background:#fff1f2!important;color:#e00b41!important}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
