@font-face{font-display:swap;font-family:Baumans;font-style:normal;font-weight:400;src:url(/static/media/Baumans.730317c93a02b195a024.ttf) format("truetype")}@font-face{font-display:swap;font-family:Belanosima;font-style:normal;font-weight:400 700;src:url(/static/media/Belanosima.b88b03558170595da2d8.ttf) format("truetype")}:root{--background:#fff;--foreground:#3d1657;--card:#fff;--card-foreground:#3d1657;--primary:#8a6bab;--primary-hover:#6e5490;--primary-foreground:#fff;--secondary:#b88ea0;--secondary-foreground:#fff;--muted:#f0ecf4;--muted-foreground:#686178;--accent:#e8e0f0;--accent-foreground:#3d1657;--destructive:#b91c1c;--destructive-foreground:#fff;--live:#8a6bab;--live-foreground:#fff;--success:#15803d;--success-foreground:#fff;--warning:#b88ea0;--highlight:#ec9cee;--border:#e5dfed;--input:#e5dfed;--ring:#8a6bab;--font-heading:"Baumans","Segoe UI",sans-serif;--font-body:"Belanosima","Segoe UI",sans-serif;--radius:0.5rem;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--shadow-primary:0 4px 14px #8a6bab40;--shadow-card:0 2px 12px #3d16570f;--shadow-card-hover:0 8px 24px #8a6bab1f;--gold:#d4af37;--gold-bg:linear-gradient(135deg,#f7e7a4,#d4af37 50%,#a67c00);--silver:silver;--silver-bg:linear-gradient(135deg,#f1f1f1,silver 50%,#8b8b8b);--bronze:#cd7f32;--bronze-bg:linear-gradient(135deg,#f3c8a5,#cd7f32 50%,#8c4a1e);--game-table-tennis:#8a6bab;--game-pickleball:#b88ea0;--game-badminton:#686178;--game-football:#949598;--game-cricket:#8a6bab;--game-volleyball:#ec9cee;--game-basketball:#686178;--game-tennis:#b88ea0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1400px;--content-max:1200px;--content-max-wide:1400px;--touch-target-min:44px;--page-padding-mobile:16px;--page-padding-tablet:24px;--page-padding-desktop:32px;--font-size-mobile-body:16px;--font-size-mobile-sm:14px;--font-size-mobile-xs:13px;--line-height-tight:1.3;--line-height-body:1.4;--line-height-compact:1.25}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-overflow-scrolling:touch;overflow-x:hidden}@media (max-width:767px){html{font-size:16px}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(165deg,#fff,#faf8fc 50%,#f0ecf4);background-attachment:fixed;color:#3d1657;color:var(--foreground);font-family:Belanosima,Segoe UI,sans-serif;font-family:var(--font-body);font-size:1rem;line-height:1.4;line-height:var(--line-height-body);margin:0;min-height:100vh}@media (min-width:768px){body{font-size:16px}}@supports (padding:env(safe-area-inset-top)){body{padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}.overflow-auto,.overflow-y-auto,[data-scroll],body{-webkit-overflow-scrolling:touch}@media (max-width:767px){input,input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{font-size:16px!important}}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}.page-title{color:#3d1657;color:var(--foreground);font-family:Baumans,Segoe UI,sans-serif;font-family:var(--font-heading);font-size:1.375rem;font-weight:700;letter-spacing:-.025em;line-height:1.3;line-height:var(--line-height-tight);margin:0}@media (min-width:768px){.page-title{font-size:1.75rem}}@media (min-width:1024px){.page-title{font-size:1.875rem}}.page-subtitle{color:#686178;color:var(--muted-foreground);font-size:14px;font-size:var(--font-size-mobile-sm,.875rem);line-height:1.3;line-height:var(--line-height-tight);margin:.125rem 0 0}.btn-destructive,.btn-primary,.btn-secondary{-webkit-tap-highlight-color:transparent;align-items:center;border-radius:.5rem;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;justify-content:center;line-height:1.25;min-height:44px;min-height:var(--touch-target-min);padding:12px 20px}.btn-primary{background:linear-gradient(180deg,#8a6bab,#6e5490);background:linear-gradient(180deg,var(--primary) 0,var(--primary-hover) 100%);box-shadow:0 4px 14px #8a6bab40;box-shadow:var(--shadow-primary);color:var(--primary-foreground);transition:transform .15s,box-shadow .2s}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #8a6bab59;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:focus-visible{outline:2px solid #8a6bab;outline:2px solid var(--ring);outline-offset:2px}.btn-secondary{background:var(--background);border:2px solid #8a6bab;color:#8a6bab}.btn-secondary:hover{background:#e8e0f0;background:var(--accent);border-color:#8a6bab;box-shadow:0 2px 8px #8a6bab33;color:#3d1657;color:var(--accent-foreground)}.btn-secondary:focus-visible{outline:2px solid #8a6bab;outline:2px solid var(--ring);outline-offset:2px}.btn-destructive{background:#b91c1c;background:var(--destructive);border:none;color:#fff;color:var(--destructive-foreground);transition:opacity .2s}.btn-destructive:hover:not(:disabled){opacity:.9}.btn-destructive:focus-visible{outline:2px solid #b91c1c;outline:2px solid var(--destructive);outline-offset:2px}.btn-destructive:disabled{cursor:not-allowed;opacity:.6}.card,.card-ui{animation:card-enter .35s ease-out;background:#fff;background:var(--card);border:1px solid #e5dfed;border:1px solid var(--border);border-radius:calc(.5rem + 4px);border-radius:var(--radius-xl);box-shadow:0 2px 12px #3d16570f;box-shadow:var(--shadow-card);color:#3d1657;color:var(--card-foreground);transition:box-shadow .2s,border-color .2s}.card-ui:hover{border-color:#8a6bab40;box-shadow:0 8px 24px #8a6bab1f;box-shadow:var(--shadow-card-hover)}@keyframes card-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dashboard-status-badge,.status-badge{border-radius:.5rem;border-radius:var(--radius)}.dashboard-status-badge.status-scheduled,.status-scheduled{background:linear-gradient(135deg,#93c5fd,#60a5fa);color:#1e3a8a;font-weight:700}.dashboard-status-badge.status-in-progress,.status-in-progress{animation:gameplay-pulse 1.5s ease-in-out infinite;background:linear-gradient(135deg,#fda4af,#f43f5e);color:#fff;font-weight:700}.dashboard-status-badge.status-completed,.status-completed{background:linear-gradient(135deg,#86efac,#22c55e);color:#14532d;font-weight:700}.dashboard-status-badge.status-unschedulable,.schedule-status-badge.status-unschedulable,.status-unschedulable{background:linear-gradient(135deg,#fde68a,#f59e0b);color:#78350f;font-weight:700}@keyframes gameplay-pulse{50%{filter:brightness(1.05);opacity:.95}}@media (max-width:767px){[role=button],a.btn,button:not(.no-touch-target){min-height:44px;min-height:var(--touch-target-min);min-width:44px;min-width:var(--touch-target-min)}button.no-touch-target{min-height:auto;min-width:auto}.btn-destructive,.btn-primary,.btn-secondary{font-size:15px;min-height:44px;padding:10px 16px}.card,.card-ui{border-radius:.5rem;border-radius:var(--radius-lg);padding:12px 14px}body{line-height:1.4}.text-muted,.text-secondary{font-size:14px;font-size:var(--font-size-mobile-sm);line-height:1.35}}@media (min-width:768px){body{font-size:15px;line-height:1.45}}@media (min-width:1024px){body{font-size:16px;line-height:1.5}}[role=button]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #8a6bab;outline:2px solid var(--ring);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:0}.mobile-stack{display:flex;flex-direction:column;gap:12px}@media (min-width:768px){.mobile-stack{flex-direction:row;gap:16px}}.app-layout-main,.container,.page-content{max-width:100%;width:100%}@media (min-width:768px){.page-content{max-width:1200px;max-width:var(--content-max)}}@media (min-width:1280px){.container{max-width:1400px;max-width:var(--content-max-wide)}}.table-container,.table-wrap{-webkit-overflow-scrolling:touch;margin-bottom:16px;max-width:100%;overflow-x:auto;width:100%}.table-container table,.table-wrap table{min-width:280px}@media (min-width:768px){.table-container table,.table-wrap table{min-width:500px}}.table-container::-webkit-scrollbar,.table-wrap::-webkit-scrollbar{height:8px}@media (max-width:767px){.search-input,input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{min-height:48px;padding:12px 14px;width:100%}select{padding-right:36px}}[role=button],[tabindex="0"],a,button{-webkit-tap-highlight-color:transparent}.safe-bottom{padding-bottom:calc(12px + env(safe-area-inset-bottom, 0))}.safe-top{padding-top:calc(12px + env(safe-area-inset-top, 0))}@media (max-width:767px){.hide-mobile{display:none!important}}@media (min-width:768px){.show-mobile-only{display:none!important}}@media (max-width:767px){.show-mobile-only{display:block}}.pac-container{font-family:inherit;z-index:10000!important}.player-name-link,.profile-link,.team-stats-link{-webkit-tap-highlight-color:transparent;background:none;border:none;color:#8a6bab;color:var(--primary);cursor:pointer;display:inline;font:inherit;padding:0;text-decoration:none}.player-name-link:hover,.profile-link:hover,.team-stats-link:hover{text-decoration:underline}.player-name-link:focus-visible,.profile-link:focus-visible,.team-stats-link:focus-visible{outline:2px solid #8a6bab;outline:2px solid var(--ring);outline-offset:2px}@media (max-width:767px){.player-name-link,.profile-link,.team-stats-link{align-items:center;display:inline-flex;min-height:44px;min-height:var(--touch-target-min);padding:4px 0}}.upgrade-overlay{align-items:center;box-sizing:border-box;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:900}.upgrade-overlay-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;inset:0;position:absolute}.upgrade-overlay-card{background:#fff;background:var(--card,#fff);border-radius:16px;box-shadow:0 8px 32px #0003;max-width:420px;padding:28px 24px;position:relative;text-align:center;width:100%}.upgrade-overlay-icon{font-size:48px;line-height:1;margin-bottom:12px}.upgrade-overlay-title{color:#111;color:var(--foreground,#111);font-size:1.35rem;font-weight:700;margin:0 0 12px}.upgrade-overlay-message{color:#555;color:var(--muted-foreground,#555);font-size:.95rem;line-height:1.5;margin:0 0 20px}.upgrade-overlay-message strong{color:#111;color:var(--foreground,#111)}.upgrade-overlay-plans{background:#f5f5f5;background:var(--muted,#f5f5f5);border-radius:12px;margin-bottom:24px;padding:16px;text-align:left}.upgrade-overlay-plan-item{margin-bottom:10px}.upgrade-overlay-plan-item:last-child{margin-bottom:0}.upgrade-overlay-plans-heading{color:#555;color:var(--muted-foreground,#555);font-size:.85rem;font-weight:600;margin:0 0 10px}.upgrade-overlay-plan-name{color:#111;color:var(--foreground,#111);display:block;font-size:.9rem;font-weight:600}.upgrade-overlay-plan-tagline{font-weight:400}.upgrade-overlay-plan-desc,.upgrade-overlay-plan-tagline{color:#666;color:var(--muted-foreground,#666);font-size:.8rem}.upgrade-overlay-plan-desc{display:block;margin-top:2px}.upgrade-overlay-actions{display:flex;flex-direction:column;gap:10px}.upgrade-overlay-btn{border:none;border-radius:10px;cursor:pointer;font-size:.95rem;font-weight:600;padding:12px 20px;transition:background .15s,transform .1s}.upgrade-overlay-btn:active{transform:scale(.98)}.upgrade-overlay-btn-primary{background:#2563eb;background:var(--primary,#2563eb);color:#fff}.upgrade-overlay-btn-primary:hover{background:#1d4ed8;background:var(--primary-hover,#1d4ed8)}.upgrade-overlay-btn-secondary{background:#0000;border:1px solid #ddd;border:1px solid var(--border,#ddd);color:#666;color:var(--muted-foreground,#666)}.upgrade-overlay-btn-secondary:hover{background:#f0f0f0;background:var(--muted,#f0f0f0);color:#111;color:var(--foreground,#111)}.alert-modal-overlay{align-items:center;animation:alert-overlay-in .2s ease;background:#00000073;display:flex;inset:0;justify-content:center;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));position:fixed;z-index:10000}@media (max-width:767px){.alert-modal-overlay{padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}}@keyframes alert-overlay-in{0%{opacity:0}to{opacity:1}}.alert-modal{animation:alert-modal-in .25s ease;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:440px;width:100%}@keyframes alert-modal-in{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.alert-modal-header{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:18px 20px 0}.alert-modal-title{color:#1a1a1a;font-size:18px;font-weight:600;margin:0}.alert-modal--error .alert-modal-title{color:#b91c1c}.alert-modal--warning .alert-modal-title{color:#b45309}.alert-modal--success .alert-modal-title{color:#047857}.alert-modal-close{background:none;border:none;border-radius:6px;color:#737373;cursor:pointer;font-size:28px;line-height:1;margin:-4px -4px -4px 0;padding:4px;transition:color .15s,background .15s}.alert-modal-close:hover{background:#f0f0f0;color:#1a1a1a}.alert-modal-body{padding:16px 20px 24px}.alert-modal-message{color:#404040;font-size:15px;line-height:1.5;margin:0 0 8px}.alert-modal-message:last-child{margin-bottom:0}.alert-modal-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;padding:0 20px 20px}.alert-modal-btn{border-radius:10px;cursor:pointer;font-size:15px;font-weight:600;min-height:44px;padding:10px 20px;transition:transform .15s,box-shadow .15s,background .15s,color .15s}.alert-modal-btn:active{transform:scale(.98)}.alert-modal-btn--primary{background:#2563eb;background:var(--primary,#2563eb);border:none;box-shadow:0 2px 8px #00000026;color:#fff}.alert-modal-btn--primary:hover{box-shadow:0 4px 12px #0003;filter:brightness(1.05)}.alert-modal-btn--danger{background:#dc2626;color:#fff}.alert-modal-btn--danger:hover{background:#b91c1c}.alert-modal-btn--secondary{background:#fff;border:2px solid #d4d4d4;color:#404040}.alert-modal-btn--secondary:hover{background:#f5f5f5;border-color:#a3a3a3}.toast-container{align-items:flex-end;bottom:calc(24px + env(safe-area-inset-bottom, 0));display:flex;flex-direction:column;gap:10px;left:auto;pointer-events:none;position:fixed;right:calc(24px + env(safe-area-inset-right, 0));z-index:9999}@media (max-width:767px){.toast-container{align-items:stretch;left:16px;right:16px}.toast{max-width:none}}.toast-container .toast{pointer-events:auto}.toast{align-items:center;border-radius:10px;box-shadow:0 4px 20px #00000026;display:flex;gap:12px;max-width:400px;min-width:280px;opacity:0;padding:14px 18px;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease}.toast--visible{opacity:1;transform:translateY(0)}.toast-message{color:#fff;flex:1 1;font-size:14px;line-height:1.4}.toast--info{background:#2563eb;color:#fff}.toast--success{background:#059669;color:#fff}.toast--error{background:#dc2626;color:#fff}.toast--warning{background:#d97706;color:#fff}.toast-dismiss{background:none;border:none;border-radius:4px;color:#ffffffe6;cursor:pointer;flex-shrink:0;font-size:22px;line-height:1;margin:-4px -4px -4px 0;padding:0 4px}.toast-dismiss:hover{background:#ffffff26;color:#fff}.conflict-modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:10000}.conflict-modal{background:#fff;background:var(--card-bg,#fff);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 8px 32px #0003;max-width:420px;padding:24px;width:90%}.conflict-modal-title{font-size:1.25rem;margin:0 0 12px}.conflict-modal-desc{font-size:.95rem;margin:0 0 12px}.conflict-modal-desc,.conflict-modal-meta{color:#666;color:var(--muted-foreground,#666)}.conflict-modal-meta{font-size:.875rem;margin:0 0 20px}.conflict-modal-actions{display:flex;flex-wrap:wrap;gap:10px}.conflict-modal-actions .btn-primary,.conflict-modal-actions .btn-secondary{min-height:40px}.consent-banner{border-top:1px solid #e5e7eb;border-top:1px solid var(--border,#e5e7eb);bottom:0;box-shadow:0 -4px 12px #00000014;padding:16px;position:fixed;z-index:9999}.consent-banner,.consent-banner--fullpage{background:#fff;background:var(--background,#fff);left:0;right:0}.consent-banner--fullpage{align-items:center;border-top:none;bottom:auto;box-shadow:none;display:flex;justify-content:center;min-height:100vh;top:0}.consent-banner--fullpage .consent-banner-inner{background:#fff;background:var(--background,#fff);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:8px;border-radius:var(--radius,8px);box-shadow:0 4px 24px #0000001f;margin:16px;max-width:520px;padding:24px}.consent-banner-required{color:#111;color:var(--foreground,#111);font-size:.875rem;font-weight:600;margin:0 0 12px}.consent-banner-legal-toggle{margin:0 0 16px}.consent-banner-toggle-btn{background:#f3f4f6;background:var(--muted,#f3f4f6);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:6px;border-radius:var(--radius,6px);color:#2563eb;color:var(--primary,#2563eb);cursor:pointer;display:block;font-size:.875rem;font-weight:600;margin:0 0 8px;padding:10px 12px;text-align:left;width:100%}.consent-banner-toggle-btn:hover{background:#e5e7eb;background:var(--muted-hover,#e5e7eb)}.consent-banner-legal-scroll{background:#f9fafb;background:var(--muted,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:6px;border-radius:var(--radius,6px);margin:0 0 12px;max-height:40vh;overflow-y:auto;padding:12px}.consent-banner-legal-content h2{font-size:1rem;margin:0 0 8px}.consent-banner-legal-content h3{font-size:.9375rem;margin:12px 0 6px}.consent-banner-legal-content p,.consent-banner-legal-content ul{font-size:.8125rem;line-height:1.5;margin:0 0 8px}.consent-banner-legal-content a{color:#2563eb;color:var(--primary,#2563eb);text-decoration:none}.consent-banner-legal-content a:hover{text-decoration:underline}.consent-banner-full-page-link{font-size:.8125rem;margin:8px 0 0}.consent-banner-full-page-link a{color:#2563eb;color:var(--primary,#2563eb);text-decoration:none}.consent-banner-full-page-link a:hover{text-decoration:underline}.consent-banner-inner{margin:0 auto;max-width:720px}.consent-banner-title{color:#111;color:var(--foreground,#111);font-size:1rem;font-weight:600;margin:0 0 8px}.consent-banner-desc{font-size:.875rem;margin:0 0 12px}.consent-banner-desc,.consent-banner-terms{color:#6b7280;color:var(--muted-foreground,#6b7280);line-height:1.5}.consent-banner-terms{font-size:.8125rem;margin:0 0 16px}.consent-banner-terms a{color:#2563eb;color:var(--primary,#2563eb);text-decoration:none}.consent-banner-terms a:hover{text-decoration:underline}.consent-banner-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.consent-banner-btn{border:none;border-radius:6px;border-radius:var(--radius,6px);cursor:pointer;font-size:.875rem;font-weight:600;padding:8px 16px;transition:background .15s,color .15s}.consent-banner-btn-accept{background:#2563eb;background:var(--primary,#2563eb);color:#fff}.consent-banner-btn-accept:hover{background:#1d4ed8;background:var(--primary-hover,#1d4ed8)}.consent-banner-btn-essential{background:#f3f4f6;background:var(--muted,#f3f4f6);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);color:#111;color:var(--foreground,#111)}.consent-banner-btn-essential:hover{background:#e5e7eb;background:var(--muted-hover,#e5e7eb)}.consent-banner-link{color:#2563eb;color:var(--primary,#2563eb);font-size:.875rem;margin-left:auto;text-decoration:none}.consent-banner-link:hover{text-decoration:underline}@media (max-width:480px){.consent-banner-actions{align-items:stretch;flex-direction:column}.consent-banner-link{margin-left:0;text-align:center}}.leaderboard-celebration-overlay{align-items:center;animation:leaderboard-celebration-fade-in .3s ease;background:#00000080;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:10000}@keyframes leaderboard-celebration-fade-in{0%{opacity:0}to{opacity:1}}.leaderboard-celebration-modal{animation:leaderboard-celebration-scale-in .35s ease;max-width:420px;padding:32px 24px;text-align:center;width:100%}@keyframes leaderboard-celebration-scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.leaderboard-celebration-icon{filter:drop-shadow(0 4px 12px rgba(234,179,8,.4));font-size:4rem;margin-bottom:16px}.leaderboard-celebration-icon-motivation{filter:drop-shadow(0 4px 12px rgba(37,99,235,.3))}.leaderboard-celebration-title{color:var(--foreground);font-size:1.5rem;font-weight:800;margin:0 0 8px}.leaderboard-celebration-subtitle{color:var(--muted-foreground);font-size:.95rem;margin:0 0 20px}.leaderboard-celebration-motivation{color:var(--foreground);font-size:1rem;margin:0 0 12px}.leaderboard-celebration-pts-hint{color:var(--muted-foreground);font-size:.9rem}.leaderboard-celebration-next-match{color:var(--primary);font-size:.9rem;font-weight:600;margin:0 0 24px}.leaderboard-celebration-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px}.leaderboard-celebration-suppress{color:var(--muted-foreground);font-size:.85rem}.leaderboard-celebration-suppress:hover{color:var(--foreground)}.position-change-toast{animation:position-change-toast-slide-in .3s ease;bottom:24px;box-shadow:0 8px 32px #0003;max-width:320px;padding:16px;position:fixed;right:24px;z-index:9999}@keyframes position-change-toast-slide-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.position-change-toast__header{align-items:center;display:flex;gap:8px;margin-bottom:6px}.position-change-toast__icon{font-size:1.25rem}.position-change-toast__title{color:var(--foreground);font-size:1rem;font-weight:700}.position-change-toast__tournament{color:var(--muted-foreground);font-size:.875rem;margin:0 0 10px}.position-change-toast__changes{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.position-change-toast__change{color:var(--foreground);font-size:.9rem;font-weight:600}.position-change-toast__actions{display:flex;gap:8px}.cached-avatar-initials{align-items:center;border-radius:50%;color:#fff;display:inline-flex;font-size:.65em;font-weight:600;justify-content:center;letter-spacing:.02em;line-height:1;object-fit:cover;text-transform:uppercase}.cached-avatar-initials.top-nav-user-avatar,.top-nav-user-avatar.cached-avatar-initials{height:36px;min-height:36px;min-width:36px;width:36px}.cached-avatar-initials.entity-profile-avatar-preview,.entity-profile-avatar-preview.cached-avatar-initials{font-size:.5em;height:64px;min-height:64px;min-width:64px;width:64px}.cached-avatar-initials.match-player-avatar,.match-player-avatar.cached-avatar-initials{font-size:.6em;height:32px;min-height:32px;min-width:32px;width:32px}.cached-avatar-initials.score-player-avatar,.score-player-avatar.cached-avatar-initials{font-size:.55em;height:40px;min-height:40px;min-width:40px;width:40px}.profile-stats-modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:10000}.profile-stats-modal{background:#fff;background:var(--card-bg,#fff);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:520px;width:100%}.profile-stats-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border,#e5e7eb);display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.profile-stats-modal-title{font-size:1.125rem;font-weight:600;margin:0}.profile-stats-modal-close{align-items:center;background:#f3f4f6;background:var(--muted,#f3f4f6);border:none;border-radius:6px;border-radius:var(--radius,6px);color:#6b7280;color:var(--muted-foreground,#6b7280);cursor:pointer;display:flex;font-size:1.5rem;height:36px;justify-content:center;line-height:1;padding:0;width:36px}.profile-stats-modal-close:hover{background:#e5e7eb;background:var(--border,#e5e7eb);color:#111;color:var(--foreground,#111)}.profile-stats-modal-body{overflow-y:auto;padding:20px}.profile-stats-modal-identity{align-items:center;display:flex;gap:12px;margin-bottom:16px}.profile-stats-modal-avatar{border-radius:50%;flex-shrink:0;height:48px;object-fit:cover;width:48px}.profile-stats-modal-avatar.cached-avatar-initials{align-items:center;color:#fff;display:flex;font-size:1.25rem;font-weight:600;justify-content:center}.profile-stats-modal-name{color:#111;color:var(--foreground,#111);font-size:1.25rem;font-weight:600}.profile-stats-modal-stats-heading{font-size:1rem;font-weight:600;margin:0 0 12px}.profile-stats-modal-no-stats{color:#6b7280;color:var(--muted-foreground,#6b7280);font-size:.9375rem;margin:0}.profile-stats-modal-table-wrap{overflow-x:auto}.profile-stats-modal-table{border-collapse:collapse;font-size:.875rem;width:100%}.profile-stats-modal-table td,.profile-stats-modal-table th{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border,#e5e7eb);padding:8px 10px;text-align:left}.profile-stats-modal-table th{color:#6b7280;color:var(--muted-foreground,#6b7280);font-weight:600}.profile-stats-modal-loading{color:#6b7280;color:var(--muted-foreground,#6b7280);padding:24px;text-align:center}.profile-stats-modal-match-heading{margin-top:20px}.profile-stats-modal-match-hint{color:#6b7280;color:var(--muted-foreground,#6b7280);font-size:.8125rem;margin:0 0 8px}.profile-stats-modal-matches-wrap{margin-bottom:12px}.profile-stats-modal-match-row{cursor:pointer;transition:background .12s}.profile-stats-modal-match-row:hover{background:#f3f4f6;background:var(--muted,#f3f4f6)}.profile-stats-modal-match-row.selected{background:var(--primary);color:var(--primary-foreground)}.profile-stats-modal-match-row.selected .profile-stats-result-lost,.profile-stats-modal-match-row.selected .profile-stats-result-won{color:inherit}.profile-stats-result-won{color:#16a34a;color:var(--success,#16a34a);font-weight:600}.profile-stats-result-lost{color:#dc2626;color:var(--destructive,#dc2626)}.profile-stats-modal-detail{background:#f9fafb;background:var(--muted,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:6px;border-radius:var(--radius,6px);margin-top:16px;padding:16px}.profile-stats-modal-detail-title{font-size:.9375rem;font-weight:600;margin:0 0 12px}.profile-stats-modal-detail-list{grid-gap:6px 16px;display:grid;font-size:.875rem;gap:6px 16px;grid-template-columns:auto 1fr;margin:0 0 12px}.profile-stats-modal-detail-list dt{color:#6b7280;color:var(--muted-foreground,#6b7280);font-weight:500}.profile-stats-modal-detail-list dd{margin:0}.profile-stats-modal-games{display:flex;flex-wrap:wrap;gap:8px}.profile-stats-modal-game-badge{font-feature-settings:"tnum";background:#fff;background:var(--background,#fff);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:4px;display:inline-block;font-variant-numeric:tabular-nums;padding:4px 8px}.profile-stats-modal-detail-link{color:var(--primary);font-size:.875rem;font-weight:500;text-decoration:none}.profile-stats-modal-detail-link:hover{text-decoration:underline}.team-stats-modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:10000}.team-stats-modal{background:#fff;background:var(--card-bg,#fff);border-radius:12px;border-radius:var(--radius-lg,12px);box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:560px;width:100%}.team-stats-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border,#e5e7eb);display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.team-stats-modal-title{font-size:1.125rem;font-weight:600;margin:0}.team-stats-modal-close{align-items:center;background:#f3f4f6;background:var(--muted,#f3f4f6);border:none;border-radius:6px;border-radius:var(--radius,6px);color:#6b7280;color:var(--muted-foreground,#6b7280);cursor:pointer;display:flex;font-size:1.5rem;height:36px;justify-content:center;line-height:1;padding:0;width:36px}.team-stats-modal-close:hover{background:#e5e7eb;background:var(--border,#e5e7eb);color:#111;color:var(--foreground,#111)}.team-stats-modal-body{overflow-y:auto;padding:20px}.team-stats-modal-players{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.team-stats-modal-player-block{background:#f9fafb;background:var(--muted,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:8px;border-radius:var(--radius,8px);padding:12px}.team-stats-modal-player-identity{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;font:inherit;gap:10px;margin-bottom:10px;padding:0;text-align:left;width:100%}.team-stats-modal-player-identity:hover .team-stats-modal-player-name{color:#2563eb;color:var(--primary,#2563eb);text-decoration:underline}.team-stats-modal-player-avatar{border-radius:50%;flex-shrink:0;height:40px;object-fit:cover;width:40px}.team-stats-modal-player-avatar.cached-avatar-initials{align-items:center;color:#fff;display:flex;font-size:1rem;font-weight:600;justify-content:center}.team-stats-modal-player-name{font-size:.9375rem;font-weight:600}.team-stats-modal-no-stats{color:#6b7280;color:var(--muted-foreground,#6b7280);font-size:.8125rem;margin:0}.team-stats-modal-mini-table{border-collapse:collapse;font-size:.8125rem;width:100%}.team-stats-modal-mini-table td,.team-stats-modal-mini-table th{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border,#e5e7eb);padding:4px 6px;text-align:left}.team-stats-modal-mini-table th{color:#6b7280;color:var(--muted-foreground,#6b7280);font-weight:600}.share-stats-modal-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:10000}.share-stats-modal{max-height:90vh;max-width:640px;overflow-y:auto;width:100%}.share-stats-modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:16px 20px}.share-stats-modal-header h2{font-size:1.25rem;margin:0}.share-stats-modal-close{background:none;border:none;color:var(--muted-foreground);cursor:pointer;font-size:1.5rem;line-height:1}.share-stats-modal-body{padding:20px;position:relative}.share-stats-modal-empty,.share-stats-modal-loading{color:var(--muted-foreground);padding:48px 24px;text-align:center}.share-stats-modal-hint{color:var(--muted-foreground);font-size:.9rem;margin:0 0 16px}.share-stats-cards-preview{display:flex;gap:16px;margin-bottom:20px;overflow-x:auto;padding-bottom:16px}.share-stats-card-wrap{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:8px}.share-stats-card-label{color:var(--muted-foreground);font-size:.8rem;font-weight:600}.share-stats-card-container{border-radius:12px;box-shadow:0 8px 32px #0003;overflow:hidden}.share-stats-modal-actions{display:flex;justify-content:center}.share-stats-capture-area{left:0;min-height:9600px;pointer-events:none;position:absolute;top:0;visibility:hidden;width:1080px;z-index:-1}.share-card{font-family:system-ui,-apple-system,sans-serif;overflow:hidden;position:relative}.share-card-confetti{background-image:radial-gradient(circle at 10% 20%,#eab30826 0,#0000 25%),radial-gradient(circle at 90% 80%,#2563eb1f 0,#0000 25%),radial-gradient(circle at 50% 50%,#16a34a14 0,#0000 35%),radial-gradient(circle at 5% 90%,#f973161a 0,#0000 15%),radial-gradient(circle at 95% 10%,#ec48991a 0,#0000 15%);inset:0;pointer-events:none;position:absolute}.share-card-confetti:before{background-image:radial-gradient(circle 8px at 15% 25%,#fff6 0,#0000 100%),radial-gradient(circle 6px at 85% 70%,#ffffff4d 0,#0000 100%),radial-gradient(circle 10px at 50% 15%,#ffffff40 0,#0000 100%),radial-gradient(circle 5px at 70% 85%,#ffffff59 0,#0000 100%),radial-gradient(circle 7px at 25% 60%,#fff3 0,#0000 100%);content:"";inset:0;pointer-events:none;position:absolute}.share-card-confetti-gold{background-image:radial-gradient(circle at 20% 30%,#eab30840 0,#0000 20%),radial-gradient(circle at 80% 70%,#f9731626 0,#0000 25%),radial-gradient(circle at 50% 50%,#fbbf241a 0,#0000 30%)}.share-card-confetti-gold:before{background-image:radial-gradient(circle 12px at 20% 30%,#fef08a80 0,#0000 100%),radial-gradient(circle 8px at 75% 60%,#fbbf2466 0,#0000 100%),radial-gradient(circle 6px at 40% 80%,#fcd34d59 0,#0000 100%)}.share-card-confetti-green{background-image:radial-gradient(circle at 30% 40%,#16a34a33 0,#0000 25%),radial-gradient(circle at 70% 60%,#22c55e26 0,#0000 25%),radial-gradient(circle at 50% 50%,#4ade8014 0,#0000 35%)}.share-card-confetti-green:before{background-image:radial-gradient(circle 10px at 35% 45%,#86efac73 0,#0000 100%),radial-gradient(circle 7px at 65% 55%,#4ade8066 0,#0000 100%)}.share-card-confetti-blue{background-image:radial-gradient(circle at 25% 25%,#2563eb2e 0,#0000 25%),radial-gradient(circle at 75% 75%,#3b82f61f 0,#0000 25%),radial-gradient(circle at 50% 50%,#60a5fa14 0,#0000 35%)}.share-card-confetti-blue:before{background-image:radial-gradient(circle 9px at 30% 35%,#93c5fd73 0,#0000 100%),radial-gradient(circle 6px at 70% 65%,#60a5fa66 0,#0000 100%)}.share-card-content{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;min-height:100%;padding:80px 60px;position:relative;z-index:1}.share-card-hero{background:linear-gradient(135deg,#0f172a,#1e293b 50%,#0f172a)}.share-card-hero .share-card-avatar{border:4px solid #eab30880;border-radius:50%;height:240px;margin-bottom:32px;width:240px}.share-card-hero .share-card-title{color:#fff;font-size:72px;font-weight:800;line-height:1.1;margin:0 0 12px;text-align:center}.share-card-hero .share-card-subtitle{color:#ffffffd9;font-size:42px;margin:0}.share-card-matches{background:linear-gradient(160deg,#1e3a5f,#0f172a)}.share-card-wins{background:linear-gradient(160deg,#14532d,#0f172a)}.share-card-players{background:linear-gradient(160deg,#1e3a8a,#0f172a)}.share-card-cta{background:linear-gradient(135deg,#422006,#1e293b 50%,#0f172a)}.share-card-stat-label{color:#ffffffe6;font-size:36px;font-weight:700;letter-spacing:.08em;margin:0 0 24px;text-transform:uppercase}.share-card-stat-value{color:#fff;font-size:140px;font-weight:900;line-height:1;margin:0 0 20px;text-shadow:0 4px 24px #0000004d}.share-card-stat-meta{color:#fffc;font-size:32px;margin:0}.share-card-players-list{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:24px}.share-card-player-chip{background:#ffffff1f;border-radius:999px;color:#fff;font-size:28px;font-weight:600;padding:12px 24px}.share-card-cta-title{color:#fff;font-size:52px;font-weight:800;margin:0 0 16px;text-align:center}.share-card-cta-sub{color:#fffc;font-size:32px;margin:0}.floating-share-btn{align-items:center;background:linear-gradient(135deg,var(--primary) 0,#1d4ed8 100%);border:none;border-radius:50%;bottom:24px;box-shadow:0 4px 16px #2563eb66;color:#fff;cursor:pointer;display:flex;height:56px;justify-content:center;position:fixed;right:24px;transition:transform .2s,box-shadow .2s;width:56px;z-index:9998}.floating-share-btn:hover{box-shadow:0 6px 24px #2563eb80;transform:scale(1.08)}.floating-share-btn:active{transform:scale(.98)}.floating-share-btn-icon{font-size:1.5rem;line-height:1}.data-fetch-overlay{align-items:center;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:9999}.data-fetch-overlay-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;background:var(--overlay-backdrop,#0006);inset:0;position:absolute}.data-fetch-overlay-content{align-items:center;animation:data-fetch-card-pulse 2s ease-in-out infinite;background:#fff;background:var(--card-bg,#fff);border-radius:16px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;gap:1.5rem;min-width:280px;padding:2rem 2.5rem;position:relative}.data-fetch-overlay-emoji-dance{display:flex;flex-wrap:wrap;font-size:2rem;gap:.5rem .75rem;justify-content:center;line-height:1}.data-fetch-overlay-emoji{animation:data-fetch-emoji-bounce .6s ease-in-out infinite;animation-delay:0s;animation-delay:calc(var(--emoji-index, 0)*.08s);display:inline-block;transform-origin:center bottom}.data-fetch-overlay-emoji:nth-child(odd){animation-name:data-fetch-emoji-bounce-alt}.data-fetch-overlay-emoji:nth-child(3n){animation-duration:.7s}.data-fetch-overlay-emoji:nth-child(5n){animation-duration:.55s}.data-fetch-overlay-message{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-size:1rem;font-weight:600;margin:0}@keyframes data-fetch-emoji-bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-12px) scale(1.15)}}@keyframes data-fetch-emoji-bounce-alt{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-10px) rotate(3deg) scale(1.1)}}@keyframes data-fetch-card-pulse{0%,to{box-shadow:0 20px 60px #0003}50%{box-shadow:0 24px 64px #00000040}}.role-switcher{display:inline-block;position:relative}.role-switcher-button{-webkit-tap-highlight-color:transparent;align-items:center;background:#fff;border:2px solid var(--primary);border-radius:8px;color:var(--primary);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;min-height:36px;padding:8px 12px;transition:all .2s}@media (max-width:767px){.role-switcher-button{font-size:14px;padding:10px 14px}.role-option,.role-switcher-button{min-height:44px;min-height:var(--touch-target-min,44px)}.role-option{padding:12px 16px}}@media (min-width:768px){.role-switcher-button{font-size:14px;gap:8px;padding:8px 16px}}.role-switcher-button:hover{background:#f8f9ff;border-color:var(--primary)}.role-icon{font-size:18px}.role-name{min-width:60px;text-align:left}.role-arrow{color:#999;font-size:10px;transition:transform .2s}.role-dropdown{background:#fff;border:2px solid var(--primary);border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:160px;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.role-option{align-items:center;background:#fff;border:none;color:#333;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:12px 16px;text-align:left;transition:background .2s;width:100%}.role-option:hover{background:#f8f9ff}.role-option.active{background:linear-gradient(135deg,#667eea1a,#764ba21a);color:var(--primary);font-weight:600}.role-check{color:#34a853;font-weight:700;margin-left:auto}.top-nav{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--background);border-bottom:2px solid var(--primary);box-shadow:0 1px 8px #8a6bab14;position:-webkit-sticky;position:sticky;top:0;z-index:100}.top-nav-login-as-banner{align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border-bottom:1px solid #f59e0b;color:#92400e;display:flex;font-size:14px;font-weight:600;gap:8px;padding:calc(8px + env(safe-area-inset-top, 0)) 12px 8px}.top-nav-login-as-label{opacity:.9}.top-nav-login-as-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-nav-login-as-stop{background:#f59e0b;border:none;border-radius:6px;border-radius:var(--radius,6px);color:#fff;cursor:pointer;flex-shrink:0;font-weight:600;padding:6px 12px;transition:background .2s}.top-nav-login-as-stop:hover{background:#d97706}.top-nav-content{align-items:center;display:flex;flex-wrap:nowrap;gap:12px;justify-content:space-between;margin:0 auto;max-width:1400px;max-width:var(--content-max-wide,1400px);padding:8px 12px}.top-nav-title{color:var(--foreground);flex-shrink:1;font-size:1rem;font-weight:700;margin:0;min-width:0}.top-nav-brand{align-items:center;color:var(--primary);display:inline-flex}.top-nav-logo-img{flex-shrink:0;height:55px;object-fit:contain;width:auto}.top-nav-logo{filter:drop-shadow(0 1px 2px rgba(138,107,171,.3));flex-shrink:0;font-size:1.1em}.top-nav-page{color:var(--muted-foreground);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-nav-actions{align-items:center;display:flex;flex-shrink:0;gap:6px}.top-nav-plan-badge{-webkit-tap-highlight-color:transparent;align-items:center;background:var(--muted);border:1px solid var(--border);border-radius:var(--radius);color:var(--foreground);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;justify-content:center;min-height:40px;padding:8px 12px;transition:background .2s,border-color .2s,color .2s;white-space:nowrap}.top-nav-plan-badge:hover{background:var(--accent);border-color:var(--primary);color:var(--primary)}.top-nav-plan-badge-text{line-height:1.2}.top-nav-menu-trigger{-webkit-tap-highlight-color:transparent;align-items:center;background:var(--muted);border:1px solid var(--border);border-radius:var(--radius);color:var(--foreground);cursor:pointer;display:none;justify-content:center;min-height:44px;min-height:var(--touch-target-min,44px);padding:0;width:44px;width:var(--touch-target-min,44px)}.top-nav-menu-trigger:hover{background:var(--accent);border-color:var(--primary)}.top-nav-menu-trigger:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.top-nav-menu-icon{font-size:1.25rem;line-height:1}@media (max-width:767px){.top-nav-content{padding:8px 12px}.top-nav-logo-img{height:44px}.top-nav-menu-trigger{display:inline-flex}.top-nav-title{font-size:1rem}.top-nav-page,.top-nav-user-chevron{display:none}.top-nav-user-trigger,.top-nav-user-trigger-avatar{min-height:44px;min-height:var(--touch-target-min,44px);min-width:44px;min-width:var(--touch-target-min,44px);padding:8px}.top-nav-plan-badge{font-size:14px;min-height:44px;min-height:var(--touch-target-min,44px);padding:8px 12px}}.top-nav-user-dropdown{position:relative}.top-nav-user-trigger{-webkit-tap-highlight-color:transparent;align-items:center;background:#0000;border:1px solid var(--border);border-radius:var(--radius);color:var(--foreground);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:4px;justify-content:center;min-height:40px;padding:6px 8px;transition:background .2s,border-color .2s}.top-nav-user-trigger:hover{background:var(--muted);border-color:var(--primary)}.top-nav-user-trigger-avatar{min-height:36px;padding:2px 4px 2px 2px}.top-nav-user-avatar-wrap{align-items:center;background:var(--muted);border-radius:50%;display:flex;flex-shrink:0;height:32px;justify-content:center;overflow:hidden;position:relative;width:32px}.top-nav-user-avatar{height:100%;inset:0;object-fit:cover;position:absolute;width:100%}.top-nav-user-avatar-fallback{color:var(--primary);font-size:1rem;font-weight:700;line-height:1}.top-nav-user-chevron{color:var(--muted-foreground);flex-shrink:0;font-size:.6em}.top-nav-user-menu{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px #0000001f;list-style:none;margin:4px 0 0;min-width:160px;padding:4px 0;position:absolute;right:0;top:100%;z-index:200}.top-nav-user-option{align-items:center;background:none;border:none;color:var(--foreground);cursor:pointer;display:flex;font-size:14px;font-weight:500;min-height:44px;min-height:var(--touch-target-min,44px);padding:10px 14px;text-align:left;transition:background .15s;width:100%}.top-nav-user-option:hover{background:var(--muted)}.top-nav-user-option-logout{color:var(--destructive)}.top-nav-user-option-logout:hover{background:#dc26261a}@media (min-width:768px){.top-nav{padding:calc(10px + env(safe-area-inset-top, 0)) 20px 10px}.top-nav-content{gap:12px}.top-nav-title{font-size:18px}.top-nav-actions{gap:10px}}@media (min-width:1024px){.top-nav-title{font-size:20px}}.google-ad-wrap{align-items:center;display:flex;flex-direction:column;justify-content:center;margin:16px 0;min-height:90px;overflow:hidden}.google-ad-label{color:#888;color:var(--muted-foreground,#888);font-size:.7rem;letter-spacing:.05em;margin-bottom:6px;text-transform:uppercase}.google-ad-wrap .adsbygoogle{min-height:50px}.google-ad-wrap.google-ad-in-feed{margin:12px 0;min-height:60px}.google-ad-wrap.google-ad-in-feed .adsbygoogle{min-height:50px}.google-ad-wrap.google-ad-sidebar{margin:0 auto 20px;max-width:300px;min-height:250px;width:100%}.google-ad-wrap.google-ad-banner{min-height:90px;width:100%}.google-ad-wrap.google-ad-rectangle{margin-left:auto;margin-right:auto;max-width:336px;min-height:250px;width:100%}.left-nav{-webkit-overflow-scrolling:touch;background:var(--card);border-right:1px solid var(--border);flex-shrink:0;height:100%;min-height:100%;overflow-y:auto;padding:12px 0;width:240px;width:var(--left-nav-width,240px)}.left-nav-list{list-style:none;margin:0;padding:0}.left-nav-item{margin:0}.left-nav-link{-webkit-tap-highlight-color:transparent;align-items:center;border-radius:var(--radius);color:var(--foreground);display:flex;font-size:1rem;font-weight:500;gap:12px;margin:2px 8px;min-height:44px;min-height:var(--touch-target-min,44px);padding:12px 16px;text-decoration:none;transition:background .15s,color .15s}.left-nav-link:hover{background:var(--muted);color:var(--primary)}.left-nav-link-active{background:var(--accent);color:var(--primary)}.left-nav-link-admin{color:var(--muted-foreground)}.left-nav-link-admin.left-nav-link-active,.left-nav-link-admin:hover{color:var(--primary)}.left-nav-icon{flex-shrink:0;font-size:1.25rem;text-align:center;width:28px}.left-nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.left-nav-section{border-bottom:none;padding:8px 16px 12px}.left-nav-section-title{color:var(--muted-foreground);font-size:.75rem;font-weight:700;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.left-nav-game-section{position:relative}.left-nav-game-trigger{align-items:center;background:var(--muted);border:1px solid var(--border);border-radius:var(--radius);color:var(--foreground);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;min-height:40px;padding:8px 10px;text-align:left;transition:background .2s,border-color .2s;width:100%}.left-nav-game-trigger:hover{background:var(--accent);border-color:var(--primary)}.left-nav-game-icon{flex-shrink:0;font-size:1.1em}.left-nav-game-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.left-nav-game-chevron{color:var(--muted-foreground);flex-shrink:0;font-size:.7em}.left-nav-game-menu{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px #0000001f;left:16px;list-style:none;margin:4px 0 0;max-height:200px;overflow-y:auto;padding:4px 0;position:absolute;right:16px;top:100%;z-index:200}.left-nav-game-option{align-items:center;background:none;border:none;color:var(--foreground);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;min-height:44px;padding:10px 14px;text-align:left;transition:background .15s;width:100%}.left-nav-game-option:hover{background:var(--muted)}.left-nav-game-option-active,.left-nav-game-option:focus-visible{background:var(--accent);color:var(--primary)}.left-nav-game-option-icon{font-size:1.2em}.left-nav-group-section{padding-top:4px;position:relative}.left-nav-group-trigger{align-items:center;background:var(--muted);border:1px solid var(--border);border-radius:var(--radius);color:var(--foreground);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;min-height:40px;padding:8px 10px;text-align:left;transition:background .2s,border-color .2s;width:100%}.left-nav-group-trigger:hover{background:var(--accent);border-color:var(--primary)}.left-nav-group-icon{flex-shrink:0;font-size:1rem}.left-nav-group-label{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.left-nav-group-chevron{color:var(--muted-foreground);flex-shrink:0;font-size:.7em}.left-nav-group-dropdown{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px #0000001f;left:16px;list-style:none;margin:4px 0 0;max-height:240px;overflow-y:auto;padding:6px 0;position:absolute;right:16px;top:100%;z-index:200}.left-nav-group-empty{color:var(--muted-foreground);font-size:13px;padding:10px 14px}.left-nav-group-item{background:none;border:none;color:var(--foreground);cursor:pointer;display:flex;flex-direction:column;font-size:13px;font-weight:500;gap:2px;padding:8px 14px;text-align:left;transition:background .15s;width:100%}.left-nav-group-item:hover{background:var(--muted)}.left-nav-group-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.left-nav-group-item-id{color:var(--muted-foreground);font-size:.75rem;font-weight:500}.left-nav-group-manage{-webkit-tap-highlight-color:transparent;border-top:1px solid var(--border);color:var(--primary);display:block;font-size:13px;font-weight:600;margin-top:4px;padding:10px 14px;text-decoration:none;transition:background .15s}.left-nav-group-manage:hover{background:var(--muted);color:#1d4ed8;color:var(--primary-hover,#1d4ed8)}.left-nav-divider{background:var(--border);height:1px;list-style:none;margin:12px 16px}.left-nav-section-label{color:var(--muted-foreground);font-size:.6875rem;font-weight:700;letter-spacing:.05em;list-style:none;margin:0;padding:8px 16px 4px;text-transform:uppercase}@media (max-width:767px){.left-nav{border-right:none;min-width:0;padding:16px 0 calc(16px + env(safe-area-inset-bottom, 0));width:100%}.left-nav-link{font-size:16px;margin:2px 12px;min-height:48px;padding:14px 20px}.left-nav-divider{margin:12px 20px}}@media (min-width:768px) and (max-width:1023px){.left-nav{padding:8px 0;width:56px}.left-nav-game-chevron,.left-nav-game-name,.left-nav-group-chevron,.left-nav-group-label,.left-nav-section-title{display:none}.left-nav-section{padding:8px 6px}.left-nav-game-trigger{justify-content:center;padding:10px}.left-nav-game-icon{margin:0}.left-nav-group-trigger{justify-content:center;padding:10px}.left-nav-group-icon{margin:0}.left-nav-group-dropdown{left:6px;right:6px}.left-nav-link{justify-content:center;margin:2px 6px;min-height:44px;min-height:var(--touch-target-min,44px);padding:12px}.left-nav-label{display:none}.left-nav-icon{width:auto}.left-nav-divider{margin:12px 8px}.left-nav-game-menu{left:6px;right:6px}}.left-nav-ad-wrap{border-top:1px solid #e0e0e0;border-top:1px solid var(--border,#e0e0e0);margin-top:auto;padding:12px 8px 16px}.left-nav-ad-wrap .google-ad-wrap{margin:0;min-height:200px}.app-layout{background:var(--muted);display:flex;flex-direction:column;min-height:100vh}.app-layout-body{display:flex;flex:1 1;min-height:0;position:relative}.app-layout-nav-backdrop{display:none}.app-layout-nav-wrap{flex-shrink:0}.app-layout-main{-webkit-overflow-scrolling:touch;flex:1 1;min-width:0;overflow-x:hidden;overflow-y:auto;padding:var(--page-padding-mobile);padding-bottom:calc(var(--page-padding-mobile) + env(safe-area-inset-bottom, 0) + 12px)}@media (max-width:767px){.app-layout-nav-backdrop{background:#0006;display:block;inset:0;opacity:0;pointer-events:none;position:fixed;top:calc(env(safe-area-inset-top, 0) + 52px);transition:opacity .2s ease;z-index:140}.app-layout-body.mobile-nav-open .app-layout-nav-backdrop{opacity:1;pointer-events:auto}.app-layout-nav-wrap{bottom:0;box-shadow:4px 0 24px #00000026;left:0;max-width:280px;padding-top:env(safe-area-inset-top,0);position:fixed;top:0;transform:translateX(-100%);transition:transform .25s ease-out;width:min(280px,85vw);z-index:150}.app-layout-body.mobile-nav-open .app-layout-nav-wrap{transform:translateX(0)}}@media (min-width:768px){.app-layout-main{padding:var(--page-padding-tablet);padding-bottom:calc(var(--page-padding-tablet) + env(safe-area-inset-bottom, 0))}}@media (min-width:1024px){.app-layout-main{padding:var(--page-padding-tablet) var(--page-padding-desktop);padding-bottom:calc(var(--page-padding-desktop) + env(safe-area-inset-bottom, 0))}}.loading-block{align-items:center;color:#666;color:var(--muted-foreground,#666);display:flex;flex-direction:column;gap:1rem;padding:2rem 1rem}.loading-block-full{justify-content:center;min-height:60vh}.loading-block-spinner{animation:loading-block-spin .8s linear infinite;border:3px solid #0000001a;border-top-color:#2563eb;border:3px solid var(--border,#0000001a);border-radius:50%;border-top-color:var(--primary,#2563eb);height:40px;width:40px}.loading-block-message{font-size:.95rem;font-weight:500;margin:0}.loading-block-skeletons{display:flex;flex-direction:column;gap:12px;margin-top:.5rem;max-width:480px;width:100%}.loading-block-skeleton{border-radius:8px;height:80px}.loading-block-skeleton,.loading-block-skeleton-bar{animation:loading-block-shimmer 1.2s ease-in-out infinite;background:linear-gradient(90deg,#f1f5f9,#e2e8f0 50%,#f1f5f9);background:linear-gradient(90deg,var(--muted,#f1f5f9) 0,var(--border-subtle,#e2e8f0) 50%,var(--muted,#f1f5f9) 100%);background-size:200% 100%}.loading-block-skeleton-bar{border-radius:4px}@keyframes loading-block-spin{to{transform:rotate(1turn)}}@keyframes loading-block-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.landing-page{background:linear-gradient(160deg,#fff,#faf8fc 50%,#f0ecf4);color:var(--foreground);display:flex;flex-direction:column;min-height:100vh}.landing-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;border-bottom:1px solid var(--border);gap:24px;justify-content:space-between;padding:12px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.landing-brand,.landing-header{align-items:center;display:flex}.landing-brand{text-decoration:none}.landing-brand:hover{opacity:.9}.landing-logo-img{height:55px;object-fit:contain;width:auto}@media (max-width:768px){.landing-header{padding:10px 16px}.landing-logo-img{height:44px}}.landing-hero-logo{display:block;height:auto;margin:0 auto 20px;max-width:180px}.landing-header-nav{align-items:center;display:flex;gap:20px}.landing-nav-link{color:var(--muted-foreground);font-family:var(--font-body);font-size:.9rem;text-decoration:none}.landing-nav-link:hover{color:var(--primary)}.landing-signin{background:var(--primary);border:none;border-radius:8px;color:var(--primary-foreground);cursor:pointer;font-family:var(--font-body);font-size:.9rem;font-weight:600;padding:8px 18px}.landing-signin:hover{background:var(--primary-hover)}.landing-login-error{color:var(--destructive);font-size:.85rem;margin:0 0 10px}.landing-login-error-inline{color:var(--destructive);font-size:.92rem;font-weight:500;margin:0 0 12px}.landing-main{flex:1 1;margin:0 auto;max-width:980px;padding:48px 24px 64px;width:100%}.landing-hero{margin-bottom:56px;text-align:center}.landing-hero h1{color:var(--foreground);font-family:var(--font-heading);font-size:clamp(2rem,5vw,3rem);font-weight:400;letter-spacing:-.02em;line-height:1.15;margin:0 0 16px}.landing-hero-subtitle{color:var(--muted-foreground);font-family:var(--font-body);font-size:1.15rem;line-height:1.6;margin:0 auto 28px;max-width:540px}.landing-hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.btn-hero{background:var(--primary);border:none;border-radius:10px;color:var(--primary-foreground);font-family:var(--font-body);font-size:1.05rem;font-weight:600;padding:14px 28px}.btn-hero:hover{background:var(--primary-hover)}.landing-hero-link{color:var(--muted-foreground);font-size:.95rem;text-decoration:none}.landing-hero-link:hover{color:var(--primary)}.landing-section-title{color:var(--foreground);font-family:var(--font-heading);font-size:1.5rem;font-weight:400;margin:0 0 8px}.landing-section-desc{color:var(--muted-foreground);font-family:var(--font-body);font-size:.95rem;margin:0 0 24px}.landing-features{margin-bottom:48px}.landing-features-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.landing-feature-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px;transition:border-color .2s,transform .2s,box-shadow .2s}.landing-feature-card:hover{border-color:var(--secondary);box-shadow:0 4px 16px #8a6bab1f;transform:translateY(-2px)}.landing-feature-icon{display:block;font-size:2rem;margin-bottom:12px}.landing-feature-card h3{color:var(--foreground);font-family:var(--font-heading);font-size:1.1rem;font-weight:400;margin:0 0 8px}.landing-feature-card p{color:var(--muted-foreground);font-family:var(--font-body);font-size:.9rem;line-height:1.5;margin:0}.landing-scores{margin-bottom:40px;margin-top:8px}.landing-game-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.landing-game-tab{background:var(--card);border:1px solid var(--border);border-radius:10px;color:var(--muted-foreground);cursor:pointer;font-family:var(--font-body);font-size:.95rem;font-weight:500;padding:10px 18px;transition:all .2s}.landing-game-tab:hover{background:var(--muted);border-color:var(--game-accent,var(--primary));color:var(--foreground)}.landing-game-tab.active{background:var(--primary);background:var(--game-accent,var(--primary));border-color:var(--game-accent,var(--primary));color:#fff}.landing-subsection-title{color:var(--foreground);font-family:var(--font-heading);font-size:1.15rem;font-weight:400;margin:0 0 16px}.landing-tournaments-section{margin-bottom:32px}.landing-tournament-list{list-style:none;margin:0;padding:0}.landing-tournament-card{align-items:flex-start;background:var(--card);border:1px solid var(--border);border-radius:12px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:12px;padding:20px}.landing-tournament-info{flex:1 1;min-width:0}.landing-tournament-info h4{color:var(--foreground);font-family:var(--font-heading);font-size:1.1rem;font-weight:400;margin:0 0 8px}.landing-tournament-desc{color:var(--muted-foreground);font-family:var(--font-body);font-size:.9rem;line-height:1.4;margin:0 0 10px}.landing-tournament-meta{color:var(--muted-foreground);display:flex;flex-wrap:wrap;font-size:.85rem;gap:12px}.landing-badge{background:var(--muted);border-radius:6px;color:var(--muted-foreground);font-size:.8rem;padding:4px 10px}.landing-tournament-actions .btn-small{font-size:.9rem;padding:8px 16px}.landing-tournament-actions .btn-primary{background:var(--primary);border:none;color:var(--primary-foreground)}.landing-tournament-actions .btn-primary:disabled{cursor:not-allowed;opacity:.6}.landing-scores-list{list-style:none;margin:0;padding:0}.landing-score-item{background:var(--card);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;transition:border-color .2s,box-shadow .2s}.landing-score-item:hover{border-color:var(--secondary);box-shadow:0 2px 8px #8a6bab14}.landing-score-item.live{border-color:var(--gold);box-shadow:0 0 0 1px #d4af374d}.landing-score-link{align-items:center;color:var(--foreground);display:flex;font-family:var(--font-body);gap:16px;justify-content:space-between;padding:14px 18px;text-decoration:none}.landing-score-link:hover{color:var(--primary)}.landing-score-players{flex:1 1;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis}.landing-score-result{align-items:center;color:var(--muted-foreground);display:flex;flex-shrink:0;font-weight:600;gap:6px}.landing-score-item.live .landing-score-result{color:var(--gold)}.landing-live-dot{animation:landing-pulse 1.5s ease-in-out infinite;background:var(--gold);border-radius:50%;height:8px;width:8px}@keyframes landing-pulse{0%,to{opacity:1}50%{opacity:.5}}.landing-empty,.landing-loading{color:var(--muted-foreground);font-family:var(--font-body);padding:48px 24px;text-align:center}.landing-empty p{margin:0 0 8px}.landing-empty .btn-primary{background:var(--primary);border:none;color:var(--primary-foreground);margin-top:20px}.landing-ratelimit{color:var(--warning);font-weight:500}.landing-no-scores{color:var(--muted-foreground);margin:0;padding:24px}.landing-loading-block{margin-top:16px}.landing-footer{border-top:1px solid var(--border);color:var(--muted-foreground);font-family:var(--font-body);font-size:.9rem;padding:24px;text-align:center}.landing-footer a{color:var(--primary);text-decoration:none}.landing-footer a:hover{color:var(--primary-hover)}.onboarding-container{align-items:center;background:var(--primary);display:flex;justify-content:center;min-height:100vh;padding:20px}.onboarding-card{background:var(--card);border-radius:16px;box-shadow:0 10px 40px #0000001a;max-width:500px;padding:32px;width:100%}.onboarding-card h1{color:#333;font-size:24px;margin-bottom:8px;text-align:center}.subtitle{color:#666;font-size:14px;margin-bottom:32px;text-align:center}.skill-level-options{display:flex;flex-wrap:wrap;gap:12px}.skill-option{background:var(--card);border:2px solid var(--border);border-radius:var(--radius);color:#333;cursor:pointer;flex:1 1;font-size:16px;font-weight:500;min-width:100px;padding:16px;transition:all .2s}.skill-option:hover{background:var(--accent);border-color:var(--primary)}.skill-option.active{background:var(--primary);border-color:var(--primary);color:#fff}.error-message{text-align:center}.reaction-strip-row{align-items:center;border-top:none;display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:4px;padding-top:4px}.reaction-strip-aggregated{align-items:center;flex-direction:row;flex-wrap:wrap;gap:6px}.reaction-strip-aggregated .reaction-strip-label{color:var(--muted-foreground);flex-shrink:0;font-size:.6875rem;font-weight:600}.reaction-strip-aggregated-counts{align-items:center;display:inline-flex;flex-wrap:nowrap;gap:0}.reaction-strip-aggregated-item{align-items:center;background:#0000;border-radius:9999px;display:inline-flex;gap:0;margin:0 -1px;padding:0}.reaction-strip-aggregated-item .reaction-strip-btn-sm{border-radius:9999px;font-size:.9375rem;height:24px;padding:0;width:24px}.reaction-strip-aggregated-item .reaction-strip-count-sm{font-size:.625rem;height:20px;margin-left:-2px;min-width:14px;padding:0 2px}.reaction-strip-btn-sm{align-items:center;background:#0000;border:none;border-radius:9999px;cursor:pointer;display:inline-flex;font-size:.9375rem;height:24px;justify-content:center;padding:0;width:24px}.reaction-strip-btn-sm:hover:not(:disabled){background:var(--border)}.reaction-strip-btn-sm:disabled{cursor:wait;opacity:.8}.reaction-strip-count-sm{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--muted-foreground);cursor:pointer;display:inline-flex;font-size:.625rem;font-weight:600;height:20px;justify-content:center;min-width:14px;padding:0 2px}.reaction-strip-count-sm:hover{background:var(--border);color:var(--foreground)}.reaction-strip-see-all{background:none;border:none;color:var(--primary);cursor:pointer;font-size:.625rem;font-weight:600;padding:0 2px;text-decoration:underline;text-underline-offset:1px}.reaction-strip-see-all:hover{color:#2563eb;color:var(--primary-hover,#2563eb)}.reaction-strip-label{color:var(--muted-foreground);font-size:.75rem;font-weight:600}.reaction-strip-list{align-items:center;display:flex;flex-wrap:wrap;gap:4px}.reaction-strip-item{align-items:center;background:var(--muted);border-radius:var(--radius);display:flex;gap:1px;padding:1px}.reaction-strip-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;font-size:1.2rem;height:32px;justify-content:center;transition:background .15s;width:32px}.reaction-strip-btn:hover:not(:disabled){background:var(--border)}.reaction-strip-btn:disabled{cursor:wait;opacity:.8}.reaction-strip-btn-active{background:#2563eb26}.reaction-strip-count{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--muted-foreground);cursor:pointer;display:flex;font-size:.75rem;font-weight:600;height:30px;justify-content:center;min-width:22px;padding:0 4px}.reaction-strip-count:hover{background:var(--border);color:var(--foreground)}.reaction-strip-who-modal h3{margin-bottom:12px;margin-top:0}.reaction-strip-who-empty{color:var(--muted-foreground);margin-bottom:12px}.reaction-strip-who-list{list-style:none;margin:0 0 12px;max-height:180px;overflow-y:auto;padding:0}.reaction-strip-who-list li{border-bottom:1px solid var(--border);padding:4px 0}.reaction-strip-who-list li:last-child{border-bottom:none}.feed-reaction-strip{align-items:center;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:8px;padding-top:8px}.feed-reaction-btn{align-items:center;background:var(--muted);border:none;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-size:.875rem;gap:4px;padding:4px 8px;transition:background .15s,transform .1s}.feed-reaction-btn:hover:not(:disabled){background:var(--border)}.feed-reaction-btn:disabled{cursor:wait;opacity:.8}.feed-reaction-btn-active{background:#2563eb26;color:var(--primary)}.feed-reaction-emoji{font-size:1rem}.feed-reaction-count{color:var(--muted-foreground);font-size:.75rem;font-weight:600}.feed-reaction-btn-active .feed-reaction-count{color:var(--primary)}.feed-comments{border-top:1px solid var(--border);margin-top:6px;padding-top:6px}.feed-comments-toggle{background:none;border:none;color:var(--muted-foreground);cursor:pointer;display:block;font-size:.6875rem;font-weight:600;margin-bottom:2px;padding:0 0 4px;text-decoration:none}.feed-comments-toggle:hover{color:var(--primary);text-decoration:underline}.feed-comments-panel{margin-top:0;padding-top:0}.feed-comments-loading{color:var(--muted-foreground);display:block;font-size:.6875rem;margin:0 0 4px}.feed-comments-list{list-style:none;margin:0 0 6px;max-height:140px;overflow-y:auto;padding:0}.feed-comment-item{align-items:baseline;display:flex;flex-wrap:wrap;gap:0 6px;line-height:1.35;padding:3px 0}.feed-comment-line{display:inline;font-size:.8125rem}.feed-comment-author{font-weight:600;margin-right:4px}.feed-comment-author,.feed-comment-text{color:var(--foreground);font-size:.8125rem}.feed-comment-meta{align-items:center;display:inline-flex;gap:6px}.feed-comment-delete,.feed-comment-meta{color:var(--muted-foreground);font-size:.6875rem}.feed-comment-delete{background:none;border:none;cursor:pointer;padding:0;text-decoration:none}.feed-comment-delete:hover{color:var(--destructive);text-decoration:underline}.feed-comments-form{align-items:center;display:flex;gap:6px;margin-top:4px;min-height:28px}.feed-comments-input{background:var(--muted);border:none;border-radius:var(--radius);color:var(--foreground);flex:1 1;font-size:.8125rem;line-height:1.4;min-width:0;padding:4px 8px}.feed-comments-input::placeholder{color:var(--muted-foreground)}.feed-comments-input:focus{background:var(--border);outline:none}.feed-comments-post{background:none;border:none;border-radius:var(--radius-sm);color:var(--primary);cursor:pointer;flex-shrink:0;font-size:.75rem;font-weight:600;padding:2px 6px}.feed-comments-post:hover:not(:disabled){background:#2563eb14;text-decoration:underline}.feed-comments-post:disabled{color:var(--muted-foreground);cursor:default}.mini-leaderboard{border-radius:var(--radius-xl);box-shadow:var(--shadow-card);margin-bottom:16px;padding:12px 16px;transition:padding .25s ease,box-shadow .25s ease}.mini-leaderboard--minimized{margin-bottom:12px;padding:8px 14px}.mini-leaderboard__header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.mini-leaderboard--minimized .mini-leaderboard__header{margin-bottom:0}.mini-leaderboard__title{align-items:center;color:var(--foreground);display:flex;font-size:1rem;font-weight:700;gap:8px;margin:0}.mini-leaderboard__icon{font-size:1.1rem}.mini-leaderboard__view-all{background:#0000;border:1px solid var(--border);border-radius:var(--radius);color:var(--primary);cursor:pointer;flex-shrink:0;font-size:.8125rem;font-weight:600;padding:6px 12px;transition:background .2s,color .2s}.mini-leaderboard__view-all:hover{background:var(--muted);color:var(--primary-hover)}.mini-leaderboard__content{margin-top:8px}.mini-leaderboard__switch{display:flex;gap:4px;margin-bottom:10px}.mini-leaderboard__switch-btn{background:var(--muted);border:1px solid #0000;border-radius:var(--radius);color:var(--muted-foreground);cursor:pointer;font-size:.8rem;font-weight:600;padding:6px 14px;transition:color .2s,background .2s,border-color .2s}.mini-leaderboard__switch-btn:hover{background:var(--border);color:var(--foreground)}.mini-leaderboard__switch-btn--active{background:var(--card);border-color:var(--primary);box-shadow:0 0 0 1px var(--primary);color:var(--primary)}.mini-leaderboard__section{display:flex;flex-direction:column;gap:8px}.mini-leaderboard__section-badge{align-items:center;border-radius:var(--radius);display:inline-flex;font-size:.7rem;font-weight:700;letter-spacing:.04em;padding:3px 8px;text-transform:uppercase;width:-webkit-fit-content;width:fit-content}.mini-leaderboard__section-badge--singles{background:linear-gradient(135deg,#2563eb33,#2563eb14);color:var(--primary)}.mini-leaderboard__section-badge--doubles{background:linear-gradient(135deg,#16a34a33,#16a34a14);color:#15803d}.mini-leaderboard__list{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.mini-leaderboard__row{grid-gap:10px;align-items:center;border-radius:var(--radius);display:grid;font-size:.9rem;gap:10px;grid-template-columns:32px 1fr auto;padding:6px 10px}.mini-leaderboard__row:hover{background:var(--muted)}.mini-leaderboard__row--rank-1{background:linear-gradient(90deg,#fef08a59,#eab3081f 40%,#0000);border-left:3px solid #eab308;border-left:3px solid var(--gold,#eab308);padding-left:13px}.mini-leaderboard__row--rank-2{background:linear-gradient(90deg,#e2e8f099,#94a3b826 40%,#0000);border-left:3px solid #94a3b8;border-left:3px solid var(--silver,#94a3b8);padding-left:13px}.mini-leaderboard__row--rank-3{background:linear-gradient(90deg,#fde68a4d,#d977061a 40%,#0000);border-left:3px solid #d97706;border-left:3px solid var(--bronze,#d97706);padding-left:13px}.mini-leaderboard__rank{align-items:center;color:var(--muted-foreground);display:inline-flex;font-size:.85rem;font-weight:700;height:28px;justify-content:center;width:28px}.mini-leaderboard__rank--1{background:#fef08a66;background:var(--gold-bg,#fef08a66);border-radius:50%;color:#713f12}.mini-leaderboard__rank--2{background:#e2e8f0cc;background:var(--silver-bg,#e2e8f0cc);border-radius:50%;color:#1e293b}.mini-leaderboard__rank--3{background:#fde68a80;background:var(--bronze-bg,#fde68a80);border-radius:50%;color:#451a03}.mini-leaderboard__name{color:var(--foreground);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-leaderboard__collapsed .profile-link,.mini-leaderboard__collapsed button[class*=mini-leaderboard],.mini-leaderboard__name .profile-link,.mini-leaderboard__name button{background:none;border:none;color:var(--primary);cursor:pointer;display:inline;font:inherit;font-weight:600;margin:0;padding:0;text-align:left;text-decoration:none}.mini-leaderboard__collapsed .profile-link:hover,.mini-leaderboard__collapsed button[class*=mini-leaderboard]:hover,.mini-leaderboard__name .profile-link:hover,.mini-leaderboard__name button:hover{color:var(--primary);color:var(--primary-hover,var(--primary));text-decoration:underline}.mini-leaderboard__pts{font-feature-settings:"tnum";color:var(--primary);font-size:.9rem;font-variant-numeric:tabular-nums;font-weight:700}.mini-leaderboard__collapsed{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.mini-leaderboard__collapsed-label{color:var(--muted-foreground);font-size:.8rem;font-weight:600}.mini-leaderboard__collapsed-names{color:var(--foreground);flex:1 1;font-size:.85rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-leaderboard__collapsed-link{background:none;border:none;color:var(--primary);cursor:pointer;font:inherit;font-weight:600;margin:0;padding:0;text-decoration:none}.mini-leaderboard__collapsed-link:hover{color:var(--primary);color:var(--primary-hover,var(--primary));text-decoration:underline}.mini-leaderboard__collapsed-btn{background:#0000;border:1px solid var(--border);border-radius:var(--radius);color:var(--primary);cursor:pointer;flex-shrink:0;font-size:.75rem;font-weight:600;padding:4px 10px}.mini-leaderboard__collapsed-btn:hover{background:var(--muted)}.home-feed{margin:0 auto;max-width:640px;padding:0 16px;padding:0 var(--page-padding-mobile,16px);width:100%}@media (min-width:768px){.home-feed{padding:0}}.home-feed-header{margin-bottom:24px}.home-feed-subtitle{color:var(--muted-foreground);font-size:.95rem;margin-top:4px}.home-feed-loading{color:var(--muted-foreground);padding:48px 24px;text-align:center}.home-feed-loading-block{align-items:stretch;width:100%}.home-feed-loading-block .loading-block-skeletons{max-width:100%}.home-feed-date-section{border-bottom:1px solid #00000014;border-bottom:1px solid var(--border-subtle,#00000014);color:var(--muted-foreground);font-size:.8rem;font-weight:600;letter-spacing:.05em;margin:20px 0 10px;padding-bottom:4px;text-transform:uppercase}.home-feed-date-section:first-child{margin-top:0}.home-feed-stream{-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:16px;max-height:calc(100vh - 180px - env(safe-area-inset-bottom, 0));overflow-x:hidden;overflow-y:auto;padding-right:4px;scroll-behavior:smooth}.home-feed-stream::-webkit-scrollbar{width:6px}.home-feed-stream::-webkit-scrollbar-track{background:var(--muted);border-radius:3px}.home-feed-stream::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.home-feed-stream::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground)}.home-feed-empty{padding:32px;text-align:center}.home-feed-empty p{color:var(--muted-foreground);margin-bottom:16px}.home-feed-card{border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:16px;transition:box-shadow .2s}.home-feed-card:hover{box-shadow:var(--shadow-card-hover)}.home-feed-card-header{align-items:flex-start;display:flex;gap:12px;margin-bottom:12px}.home-feed-card-avatar{align-items:center;background:var(--muted);border-radius:50%;display:flex;flex-shrink:0;font-size:1.25rem;height:40px;justify-content:center;width:40px}.home-feed-card-meta{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.home-feed-card-title{color:var(--foreground);font-weight:600}.home-feed-card-time{color:var(--muted-foreground);font-size:.8rem}.home-feed-card-by{color:var(--muted-foreground);display:block;font-size:.75rem;font-weight:400;margin-top:2px}.home-feed-card-body{margin-bottom:12px}.home-feed-card-text{color:var(--foreground);font-size:1rem;line-height:1.4;margin:0 0 4px}.home-feed-card-context{color:var(--muted-foreground);font-size:.875rem;margin:0}.home-feed-card-poll-callout{color:var(--primary);font-size:.875rem;font-weight:600;margin:10px 0 6px}.home-feed-card-actions{border-top:1px solid var(--border);padding-top:8px}.home-feed-card-btn{font-size:.875rem;min-height:44px;min-height:var(--touch-target-min,44px);padding:10px 14px}@media (min-width:768px){.home-feed-card-btn{min-height:0;padding:6px 14px}}.home-feed-card-win{background:linear-gradient(135deg,#eab30814 0,var(--card) 20%);border-left:4px solid var(--gold)}.home-feed-card-win-visual{align-items:center;background:linear-gradient(180deg,#eab30826,#0000);border-radius:var(--radius-xl) var(--radius-xl) 0 0;display:flex;height:72px;justify-content:center;margin:-16px -16px 12px;overflow:hidden;padding:12px;position:relative}.home-feed-card-win-image{filter:drop-shadow(0 2px 8px rgba(234,179,8,.4));font-size:2.5rem;z-index:1}.home-feed-card-win-confetti{background:radial-gradient(circle at 20% 30%,#eab30833 0,#0000 40%),radial-gradient(circle at 80% 70%,#f9731626 0,#0000 40%),radial-gradient(circle at 50% 50%,#2563eb14 0,#0000 50%);inset:0;pointer-events:none;position:absolute}.home-feed-card-avatar-win{background:linear-gradient(135deg,#eab30840 0,var(--muted) 100%)}.home-feed-milestone-badge{background:var(--gold-bg);border-radius:var(--radius);box-shadow:0 1px 4px #eab3084d;color:var(--primary-foreground);display:inline-block;font-size:.75rem;font-weight:700;margin-left:8px;padding:2px 8px}.home-feed-card-winner{color:var(--success);font-weight:600}.home-feed-card-reactions{border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:12px 16px;margin-top:8px;padding-top:8px}.home-feed-card-title-critical{font-size:1.05rem;font-weight:700}.home-feed-card-text-critical{font-size:1.05rem;font-weight:600}.home-feed-card-text-critical .home-feed-card-winner{font-size:1.1rem}.home-feed-card-live{background:linear-gradient(135deg,#e11d4814 0,var(--card) 20%);border-left:4px solid var(--live)}.home-feed-card-live-visual{align-items:center;background:linear-gradient(180deg,#e11d481f,#e11d480a 60%,#0000);border-radius:var(--radius-xl) var(--radius-xl) 0 0;display:flex;gap:8px;height:56px;justify-content:center;margin:-16px -16px 10px;overflow:hidden;padding:10px 16px;position:relative}.home-feed-card-live-dot{animation:home-feed-live-pulse 1.2s ease-in-out infinite;background:var(--live);border-radius:50%;height:10px;left:50%;position:absolute;top:50%;transform:translate(-28px,-50%);width:10px}@keyframes home-feed-live-pulse{0%,to{opacity:1;transform:translate(-28px,-50%) scale(1)}50%{opacity:.6;transform:translate(-28px,-50%) scale(1.2)}}.home-feed-card-live-image{color:var(--live);filter:drop-shadow(0 1px 4px rgba(225,29,72,.3));font-size:1.5rem;z-index:1}.home-feed-card-live-label{color:var(--live);font-size:1rem;font-weight:800;letter-spacing:.05em;text-shadow:0 1px 2px #e11d4833;z-index:1}.home-feed-card-avatar-live{background:linear-gradient(135deg,#e11d4833 0,var(--muted) 100%)}.player-availability-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.player-availability-modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:520px;width:100%}.player-availability-header{border-bottom:1px solid #eee;padding:20px 20px 12px;position:relative}.player-availability-header h2{font-size:1.25rem;margin:0 0 4px}.player-availability-subtitle{color:#666;font-size:.9rem;margin:0}.player-availability-close{background:none;border:none;color:#666;cursor:pointer;font-size:1.5rem;line-height:1;padding:0;position:absolute;right:16px;top:16px}.player-availability-close:hover{color:#333}.player-availability-body{flex:1 1;overflow-y:auto;padding:16px 20px}.player-availability-loading{color:#666;padding:40px;text-align:center}.player-availability-section{margin-bottom:20px}.player-availability-section h3{font-size:1rem;margin:0 0 6px}.player-availability-hint{color:#666;font-size:.85rem;margin:0 0 10px}.player-availability-select-all{align-items:center;display:flex;gap:8px}.player-availability-slots-grid{display:flex;flex-wrap:wrap;gap:8px}.player-availability-slot-chip{align-items:center;background:#f5f5f5;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.9rem;gap:6px;padding:6px 12px}.player-availability-slot-chip input{margin:0}.player-availability-slot-chip:has(input:checked){background:#e8f4fd;border:1px solid #06c}.player-availability-date-input-row{display:flex;gap:8px;margin-bottom:8px}.player-availability-date-input{border:1px solid #ddd;border-radius:6px;flex:1 1;font-size:.9rem;padding:8px 12px}.player-availability-date-list{display:flex;flex-wrap:wrap;gap:8px}.player-availability-date-tag{align-items:center;background:#f0f0f0;border-radius:6px;display:inline-flex;font-size:.85rem;gap:4px;padding:4px 10px}.player-availability-date-tag button{background:none;border:none;color:#666;cursor:pointer;font-size:1.1rem;line-height:1;padding:0 2px}.player-availability-date-tag button:hover{color:#c00}.player-availability-connected{color:#0a7;font-weight:500;margin:0}.player-availability-footer{border-top:1px solid #eee;display:flex;gap:12px;justify-content:flex-end;padding:16px 20px}.reactions-modal-overlay{z-index:1000}.match-reactions-modal{display:flex;flex-direction:column;max-height:min(85vh,calc(100vh - env(safe-area-inset-top, 0) - env(safe-area-inset-bottom, 0) - 32px));max-width:420px;overflow:hidden}@media (max-width:767px){.match-reactions-modal{max-width:calc(100vw - 32px - env(safe-area-inset-left, 0) - env(safe-area-inset-right, 0))}}.match-reactions-modal h3{margin-bottom:16px;margin-top:0}.reactions-modal-empty,.reactions-modal-loading{color:var(--muted-foreground);margin-bottom:16px}.reactions-modal-by-team{-webkit-overflow-scrolling:touch;flex:1 1;margin-bottom:16px;overflow-y:auto}.reactions-modal-team{margin-bottom:20px}.reactions-modal-team:last-child{margin-bottom:0}.reactions-modal-team-name{border-bottom:1px solid var(--border);color:var(--foreground);font-size:.9375rem;font-weight:700;margin:0 0 10px;padding-bottom:6px}.reactions-modal-emoji-list{display:flex;flex-direction:column;gap:8px}.reactions-modal-emoji-row{align-items:center;display:flex;font-size:.875rem;gap:10px}.reactions-modal-emoji{flex-shrink:0;font-size:1.25rem}.reactions-modal-names{color:var(--foreground);word-break:break-word}.dashboard-container{background-color:var(--muted);min-height:100vh}.dashboard-content{margin:0 auto;max-width:1200px;max-width:var(--content-max,1200px);padding:16px;padding:var(--page-padding-mobile,16px)}@media (min-width:768px){.dashboard-content{padding:24px;padding:var(--page-padding-tablet,24px)}}@media (min-width:1024px){.dashboard-content{padding:32px;padding:var(--page-padding-desktop,32px)}}.dashboard-hero{align-items:center;background:linear-gradient(90deg,#2563eb0f 0,var(--card) 12%);border-left:4px solid var(--primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:16px;overflow:hidden;padding:14px 18px}@media (min-width:768px){.dashboard-hero{gap:14px;padding:18px 22px}}.dashboard-hero-welcome{flex:1 1;min-width:0}.dashboard-hero-meta{color:var(--muted-foreground);font-size:.8125rem;line-height:1.35;margin:.125rem 0 0}@media (min-width:768px){.dashboard-hero-meta{font-size:.875rem}}.dashboard-hero-stat{color:var(--foreground);font-weight:500}.dashboard-hero-dot{color:var(--muted-foreground);margin:0 .5rem}.dashboard-availability-prompt{background:linear-gradient(90deg,#2563eb14 0,var(--card) 12%);border-left:4px solid var(--primary);border-radius:var(--radius-xl);margin-bottom:16px;padding:12px 16px}@media (min-width:768px){.dashboard-availability-prompt{padding:14px 18px}}.dashboard-availability-prompt-title{font-size:1rem;line-height:1.3;margin:0 0 4px}@media (min-width:768px){.dashboard-availability-prompt-title{font-size:1.0625rem}}.dashboard-availability-prompt-desc{color:var(--muted-foreground);font-size:.875rem;line-height:1.35;margin:0 0 10px}.dashboard-availability-summary{border-bottom:1px solid var(--border);margin-bottom:10px;padding-bottom:10px}.dashboard-availability-summary-title{color:var(--muted-foreground);font-size:.75rem;font-weight:600;letter-spacing:.04em;line-height:1.25;margin:0 0 4px;text-transform:uppercase}.dashboard-availability-summary-text{color:var(--foreground);font-size:.875rem;line-height:1.35;margin:0}.dashboard-availability-current{border-bottom:1px solid var(--border);margin-bottom:10px;padding-bottom:10px}.dashboard-availability-current-text{line-height:1.35;margin:0 0 6px}.dashboard-availability-current-text,.dashboard-availability-exclusions{color:var(--muted-foreground);font-size:.875rem}.dashboard-availability-edit-title{font-size:1rem;font-weight:600;margin:0 0 8px}.dashboard-unschedulable-prompt{background:linear-gradient(90deg,#b453091a 0,var(--card) 12%);border-left:4px solid #b45309;border-radius:var(--radius-xl);margin-bottom:16px;padding:12px 16px}.dashboard-unschedulable-title{font-size:1rem;line-height:1.3;margin:0 0 4px}.dashboard-unschedulable-desc{color:var(--muted-foreground);font-size:.875rem;line-height:1.35;margin:0}.dashboard-my-record{align-items:center;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:10px;padding-top:10px}.dashboard-my-record-label{color:var(--muted-foreground);font-size:.6875rem;font-weight:600;letter-spacing:.04em;line-height:1.25;margin-right:2px;text-transform:uppercase}@media (min-width:768px){.dashboard-my-record-label{font-size:.75rem}}.dashboard-my-record-value{font-size:.875rem;font-weight:700;line-height:1.3}@media (min-width:768px){.dashboard-my-record-value{font-size:.9375rem}}.dashboard-my-wins{color:var(--success)}.dashboard-my-losses{color:var(--destructive)}.dashboard-my-rate{color:var(--primary)}.dashboard-my-record-sep{color:var(--muted-foreground);font-weight:500}.dashboard-my-team{align-items:center;border-top:1px solid var(--border);color:var(--foreground);display:flex;flex-wrap:wrap;font-size:.8125rem;gap:6px 12px;line-height:1.35;margin-top:8px;padding-top:8px}@media (min-width:768px){.dashboard-my-team{font-size:.875rem}}.dashboard-my-team-name,.dashboard-my-team-tournament,.dashboard-my-teammates{display:inline}.dashboard-my-team strong{color:var(--muted-foreground);font-weight:600;margin-right:4px}.dashboard-live-section{background:linear-gradient(90deg,#e11d480f 0,var(--card) 12%);border-left:4px solid var(--live);margin-bottom:16px;padding:12px 16px}@media (min-width:768px){.dashboard-live-section{padding:14px 18px}}.dashboard-live-title{align-items:center;display:flex;gap:8px;margin-bottom:10px}.dashboard-live-badge{animation:gameplay-pulse 1.5s ease-in-out infinite;background:linear-gradient(135deg,#fda4af,#f43f5e);border-radius:var(--radius);color:#fff;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.04em;padding:4px 10px;text-transform:uppercase}.dashboard-live-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.dashboard-live-item{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:8px 10px;justify-content:space-between;padding:10px 12px;transition:box-shadow .2s}@media (min-width:768px){.dashboard-live-item{gap:10px 12px;padding:12px 14px}}.dashboard-live-item:hover{box-shadow:0 4px 12px #0000000f}.dashboard-live-referee{background:linear-gradient(90deg,#fef08a33 0,var(--card) 20%);border-color:#eab30866}.dashboard-live-info{align-items:center;display:flex;flex-wrap:wrap;gap:6px 10px;min-width:0}.dashboard-live-players{color:var(--foreground);font-size:.875rem;font-weight:600;line-height:1.3}@media (min-width:768px){.dashboard-live-players{font-size:.9375rem}}.dashboard-live-you-ref{background:var(--accent);border-radius:var(--radius-sm);color:var(--primary);font-size:.75rem;font-weight:700;letter-spacing:.03em;padding:2px 8px;text-transform:uppercase}.dashboard-live-score{font-feature-settings:"tnum";color:var(--primary);font-size:.9375rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.25}@media (min-width:768px){.dashboard-live-score{font-size:1rem}}.dashboard-live-btn{flex-shrink:0}.dashboard-recent-completed{margin-bottom:16px;padding:12px 16px}.dashboard-recent-subtitle{color:var(--muted-foreground);font-size:.8125rem;line-height:1.35;margin:0 0 10px}@media (min-width:768px){.dashboard-recent-subtitle{font-size:.875rem}}.dashboard-recent-list{list-style:none;margin:0 0 10px;padding:0}.dashboard-recent-item{align-items:center;background:var(--muted);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:8px 10px;justify-content:space-between;margin-bottom:6px;padding:10px 12px}@media (min-width:768px){.dashboard-recent-item{gap:10px 12px;padding:12px 14px}}.dashboard-recent-info{align-items:center;display:flex;flex-wrap:wrap;gap:6px 10px;min-width:0}.dashboard-recent-players{color:var(--foreground);font-size:.875rem;font-weight:600;line-height:1.3}@media (min-width:768px){.dashboard-recent-players{font-size:.9375rem}}.dashboard-recent-score{font-feature-settings:"tnum";color:var(--primary);font-size:.9375rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.25}@media (min-width:768px){.dashboard-recent-score{font-size:1rem}}.dashboard-recent-meta{color:var(--muted-foreground);font-size:.75rem;line-height:1.3}@media (min-width:768px){.dashboard-recent-meta{font-size:.8125rem}}.dashboard-unique-views{color:var(--muted-foreground);display:block;font-size:.75rem;margin-top:4px}.dashboard-recent-btn{flex-shrink:0}.dashboard-recent-all{width:100%}.dashboard-stats-pills{display:flex;flex-wrap:wrap;gap:8px}.dashboard-pill{align-items:center;background:var(--muted);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;min-width:56px;padding:8px 12px;transition:transform .2s,box-shadow .2s}.dashboard-pill:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.dashboard-pill-value{color:var(--foreground);font-size:1.0625rem;font-weight:700;line-height:1.2}@media (min-width:768px){.dashboard-pill-value{font-size:1.25rem}}.dashboard-pill-label{color:var(--muted-foreground);font-size:.625rem;letter-spacing:.03em;line-height:1.2;margin-top:2px;text-transform:uppercase}@media (min-width:768px){.dashboard-pill-label{font-size:.6875rem}}.dashboard-pill-ongoing{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#2563eb4d}.dashboard-pill-ongoing .dashboard-pill-value{color:var(--primary)}.dashboard-pill-done{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-color:#16a34a4d}.dashboard-pill-done .dashboard-pill-value{color:#15803d}.tournament-stats-section{border-radius:var(--radius-xl);margin-bottom:18px;overflow:hidden;padding:14px 18px}@media (min-width:768px){.tournament-stats-section{padding:18px 22px}}.dashboard-section-title{color:var(--foreground);font-size:1.0625rem;font-weight:700;line-height:1.3;margin:0 0 14px}@media (min-width:768px){.dashboard-section-title{font-size:1.25rem;margin:0 0 18px}}.dashboard-top-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr;margin-bottom:14px}@media (min-width:768px){.dashboard-top-grid{gap:16px;grid-template-columns:1fr 200px;margin-bottom:18px}}.dashboard-inner-card{border-radius:var(--radius-lg);overflow:hidden;padding:12px 16px}@media (min-width:768px){.dashboard-inner-card{padding:16px 20px}}.dashboard-inner-title{color:var(--foreground);font-size:1rem;font-weight:700;margin:0 0 16px}.dashboard-matches-today h4,.dashboard-quick-actions h4{color:var(--foreground);font-size:1rem;font-weight:700;margin:0 0 12px}.dashboard-quick-btns{display:flex;flex-direction:column;gap:10px}.dashboard-matches-block,.dashboard-quick-btns .btn-primary,.dashboard-quick-btns .btn-secondary{margin-top:0}.dashboard-matches-toggle{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);color:var(--foreground);cursor:pointer;display:flex;font-size:.9375rem;font-weight:600;justify-content:space-between;margin-bottom:16px;min-height:44px;min-height:var(--touch-target-min,44px);padding:18px 22px;transition:background .2s,border-color .2s;width:100%}.dashboard-matches-toggle:hover{background:var(--muted);border-color:var(--primary)}.dashboard-matches-toggle-icon{color:var(--muted-foreground);font-size:.75rem}.dashboard-filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.dashboard-filter-label{color:var(--muted-foreground);font-size:.875rem;font-weight:500;margin-right:4px}.dashboard-filter-btn{background:var(--card);border:2px solid var(--border);border-radius:var(--radius);color:var(--primary);cursor:pointer;font-size:.875rem;font-weight:600;min-height:44px;min-height:var(--touch-target-min,44px);padding:12px 20px;transition:all .2s}.dashboard-filter-btn:hover{background:var(--muted);border-color:var(--primary)}.dashboard-filter-btn.filter-active{background:var(--primary);border-color:#0000;color:var(--primary-foreground)}.dashboard-filter-date,.dashboard-filter-select{background:var(--background);border:1px solid var(--input);border-radius:var(--radius);color:var(--foreground);font-size:.875rem;padding:12px 16px}.dashboard-filter-select{min-width:120px}.dashboard-group-section{border-bottom:1px solid var(--border);margin-bottom:28px;padding-bottom:20px}.dashboard-group-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.dashboard-group-title{color:var(--foreground);font-size:.875rem;font-weight:600;margin:0 0 14px}.dashboard-standings-wrap{-webkit-overflow-scrolling:touch;margin-bottom:14px;overflow-x:auto}.dashboard-standings-table{border-collapse:collapse;font-size:.8125rem;max-width:320px;width:100%}.dashboard-standings-table td,.dashboard-standings-table th{border-bottom:1px solid var(--border);padding:10px 14px;text-align:left}.dashboard-standings-table th{background:var(--muted);color:var(--muted-foreground);font-weight:600;letter-spacing:.03em;text-transform:uppercase}.dashboard-standings-table td:first-child{color:var(--primary);font-weight:600}.dashboard-matches-today{padding:24px}@media (min-width:768px){.dashboard-matches-today{padding:28px}}.dashboard-today-list{list-style:none;margin:0;padding:0}.dashboard-today-item{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:10px 14px;padding:14px 0}.dashboard-today-item:last-child{border-bottom:none}.dashboard-today-players{color:var(--foreground);flex:1 1 160px;font-size:.875rem;font-weight:600}.dashboard-today-meta{color:var(--muted-foreground);font-size:.75rem;order:3;width:100%}@media (min-width:480px){.dashboard-today-meta{order:0;width:auto}}.dashboard-today-referee{color:var(--muted-foreground);font-size:.6875rem}.dashboard-status-badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.6875rem;font-weight:600;letter-spacing:.03em;padding:4px 10px;text-transform:uppercase}.dashboard-status-badge.status-scheduled,.schedule-status-badge.status-scheduled{background:var(--accent);color:var(--accent-foreground)}.dashboard-status-badge.status-in-progress,.schedule-status-badge.status-in-progress{background:#fee2e2;color:#b91c1c}.dashboard-status-badge.status-completed,.schedule-status-badge.status-completed{background:var(--muted);color:var(--muted-foreground)}.dashboard-table-wrap{-webkit-overflow-scrolling:touch;margin:0 -4px;overflow-x:auto;padding-bottom:4px}.dashboard-matches-table{border-collapse:collapse;font-size:.75rem;min-width:560px;width:100%}.dashboard-matches-table td,.dashboard-matches-table th{border-bottom:1px solid var(--border);padding:12px 14px;text-align:left}.dashboard-matches-table th{background:var(--muted);color:var(--muted-foreground);font-weight:600;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}@media (min-width:768px){.dashboard-matches-table{font-size:.8125rem;min-width:640px}.dashboard-matches-table td,.dashboard-matches-table th{padding:12px 16px}}.dashboard-matches-table td{color:var(--foreground);white-space:normal}.dashboard-table-empty{color:var(--muted-foreground);font-style:italic;padding:24px!important;text-align:center}.dashboard-team-members{color:var(--muted-foreground);display:block;font-size:.75rem;font-weight:400;margin-top:2px}.dashboard-table-btn{background:var(--primary);border:none;border-radius:var(--radius);color:var(--primary-foreground);cursor:pointer;font-size:.8125rem;font-weight:600;padding:8px 14px;transition:opacity .2s;white-space:nowrap}.dashboard-table-btn:hover{opacity:.9}.dashboard-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr}@media (min-width:480px){.dashboard-cards{gap:14px;grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){.dashboard-cards{gap:16px}}@media (min-width:1024px){.dashboard-cards{gap:18px;grid-template-columns:repeat(3,1fr)}}.dashboard-card{border-radius:var(--radius-xl);overflow:hidden;padding:14px 18px}@media (min-width:768px){.dashboard-card{padding:18px 22px}}.dashboard-card-title{color:var(--foreground);font-size:1rem;font-weight:700;line-height:1.3;margin:0 0 8px}@media (min-width:768px){.dashboard-card-title{font-size:1.0625rem;margin:0 0 10px}}.dashboard-card-desc{color:var(--muted-foreground);font-size:.8125rem;line-height:1.35;margin:6px 0}@media (min-width:768px){.dashboard-card-desc{font-size:.875rem}}.dashboard-card-btn{margin-top:8px;min-height:var(--touch-target-min);padding:12px 16px;width:100%}.dashboard-card-btn:first-of-type{margin-top:0}.dashboard-card-btn+.dashboard-card-btn{margin-top:8px}.dashboard-success-text{color:#15803d;font-size:.875rem;font-weight:600;margin:0 0 12px}.dashboard-admin-card{border-color:var(--destructive);border-width:2px}.dashboard-muted{color:var(--muted-foreground);font-size:.875rem;margin:12px 0}.tournament-registration-container{background-color:#f5f5f7;min-height:100vh;padding:24px 16px}.card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin:0 auto;max-width:600px;padding:32px}.card h2{color:#333;font-size:24px;margin:0 0 16px}.tournament-description{line-height:1.6;margin-bottom:24px}.tournament-info{background:#f8f9ff;border-radius:8px;margin-bottom:24px;padding:16px}.tournament-info p{color:#333;margin:0}.error-message{background:#fee;color:#c33;font-size:14px;padding:12px}.error-message,.success-message{border-radius:8px;margin-bottom:16px}.success-message{background:#efe;color:#3a3;padding:16px}.success-message p{font-weight:600;margin:0 0 16px}.info-message{background:#f0f0f0;border-radius:8px;margin-bottom:16px;padding:16px}.info-message p{color:#666;margin:0 0 16px}.btn-primary{font-size:16px;padding:12px;width:100%}.btn-primary:hover:not(:disabled){opacity:.9}.btn-secondary{font-size:16px;padding:12px;width:100%}.registration-types{margin-bottom:24px}.registration-types h3{color:#333;font-size:18px;margin:0 0 16px}.type-options{display:flex;flex-direction:column;gap:12px}.type-option{align-items:center;background:#fff;border:2px solid #ddd;border-radius:8px;cursor:pointer;display:flex;padding:16px;transition:all .2s}.type-option:hover{background:#f8f9ff;border-color:var(--primary)}.type-option.active{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-color:var(--primary)}.type-option.disabled{cursor:not-allowed;opacity:.6}.type-option.disabled,.type-option.disabled:hover{background:#f5f5f5;border-color:#ddd}.type-option input[type=checkbox]{cursor:pointer;height:20px;margin-right:12px;width:20px}.type-option.disabled input[type=checkbox]{cursor:not-allowed}.type-content{display:flex;flex-direction:column;gap:4px}.type-content strong{color:#333;font-size:16px}.type-content span{color:#666;font-size:14px}.existing-registrations{background:#f0fdf4;border:1px solid #34a853;border-radius:8px;margin-bottom:16px;padding:16px}.existing-registrations h4{color:#155724;font-size:16px;margin:0 0 12px}.existing-registrations ul{color:#155724;margin:0;padding-left:20px}.existing-registrations li{font-size:14px;margin:8px 0}.entity-profile-fields{display:flex;flex-direction:column;gap:14px}.entity-profile-field label{display:block;font-size:14px;font-weight:600;margin-bottom:4px}.entity-profile-input{border:1px solid #ced4da;border-radius:6px;font-size:14px;max-width:400px;padding:8px 10px;width:100%}.entity-profile-textarea{min-height:60px;resize:vertical}.entity-profile-avatar-row .entity-profile-avatar-wrap{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.entity-profile-avatar-preview{border:1px solid #dee2e6;border-radius:50%;height:56px;object-fit:cover;width:56px}.entity-profile-hint{color:#6c757d;display:block;font-size:12px;margin-top:4px}.entity-profile-display{margin-top:8px}.entity-profile-display .entity-profile-avatar-preview{height:72px;width:72px}.entity-profile-display .entity-profile-description{color:#495057;font-size:14px;margin:8px 0;white-space:pre-wrap}.entity-profile-display .entity-profile-address,.entity-profile-display .entity-profile-phone{font-size:14px;margin:4px 0}.entity-profile-display .entity-profile-map-link{margin-top:8px}.entity-profile-display .entity-profile-map-link a{color:#0d6efd;text-decoration:none}.entity-profile-display .entity-profile-map-link a:hover{text-decoration:underline}.algolia-powered{align-items:center;color:#6b7280;color:var(--muted-foreground,#6b7280);display:inline-flex;font-size:.75rem;gap:6px;white-space:nowrap}.algolia-powered .algolia-logo-svg{flex-shrink:0}.algolia-powered-text{color:#5468ff;font-weight:500}.venue-search{max-width:480px;position:relative;width:100%}.venue-search-input-wrap{align-items:center;display:flex;position:relative}.venue-search-input{background:#fff;background:var(--background,#fff);border:1px solid #ccc;border:1px solid var(--input,#ccc);border-radius:8px;border-radius:var(--radius,8px);color:#111;color:var(--foreground,#111);font-size:1rem;padding:12px 36px 12px 16px;width:100%}.venue-search-input:focus{border-color:#2563eb;border-color:var(--ring,#2563eb);box-shadow:0 0 0 2px #2563eb26;outline:none}.venue-search-clear,.venue-search-input::placeholder{color:#666;color:var(--muted-foreground,#666)}.venue-search-clear{background:#0000;border:none;cursor:pointer;font-size:1rem;line-height:1;padding:4px 8px;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.venue-search-clear:hover{color:#111;color:var(--foreground,#111)}.venue-search-spinner{animation:venue-search-spin .7s linear infinite;border:2px solid #eee;border-top-color:#2563eb;border:2px solid var(--border,#eee);border-radius:50%;border-top-color:var(--primary,#2563eb);height:18px;position:absolute;right:40px;top:50%;transform:translateY(-50%);width:18px}@keyframes venue-search-spin{to{transform:translateY(-50%) rotate(1turn)}}.venue-search-error{background:#dc26260f;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border,#e5e7eb);color:#dc2626;color:var(--destructive,#dc2626);font-size:.875rem;margin:0;padding:12px 16px}.venue-search-results-wrap{background:#fff;background:var(--card,#fff);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:8px;border-radius:var(--radius,8px);box-shadow:0 4px 16px #0000001f;left:0;margin:4px 0 0;position:absolute;right:0;top:100%;z-index:100}.venue-search-dropdown{list-style:none;max-height:320px;overflow-y:auto;padding:8px 0}.venue-search-custom-location{background:#f9fafb;background:var(--muted,#f9fafb);border-top:1px solid #f3f4f6;border-top:1px solid var(--border,#f3f4f6);padding:12px 14px}.venue-search-custom-location-label{color:#6b7280;color:var(--muted-foreground,#6b7280);font-size:.8125rem;margin:0 0 8px}.venue-search-custom-place-input{border:1px solid #ccc;border:1px solid var(--input,#ccc);border-radius:8px;border-radius:var(--radius,8px);font-size:.9375rem;padding:10px 12px;width:100%}.venue-search-algolia-footer{align-items:center;border-top:1px solid #f3f4f6;border-top:1px solid var(--border,#f3f4f6);display:flex;justify-content:flex-end;padding:6px 14px 8px}.venue-search-hit{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--border,#f3f4f6);cursor:pointer;padding:10px 16px}.venue-search-hit:last-child{border-bottom:none}.venue-search-hit:hover{background:#f9fafb;background:var(--muted,#f9fafb)}.venue-search-hit-name{color:#111;color:var(--foreground,#111);font-weight:600}.venue-search-hit-meta{font-size:.875rem}.venue-search-hit-address,.venue-search-hit-meta{color:#6b7280;color:var(--muted-foreground,#6b7280);margin-top:2px}.venue-search-hit-address{font-size:.8125rem}.venue-search-hit-stats{color:#6b7280;color:var(--muted-foreground,#6b7280);font-size:.8125rem;margin-top:4px}.venue-search-hit-stats-name{color:#111;color:var(--foreground,#111);font-weight:600;margin-right:6px}.venue-search-hit-stats-name:after{content:" · ";font-weight:400}.venue-search-hit-availability,.venue-search-hit-stats-name:after{color:#6b7280;color:var(--muted-foreground,#6b7280)}.venue-search-hit-no-game{color:#dc2626;color:var(--destructive,#dc2626)}.venue-search-hit-verified{background:#2563eb1a;border-radius:4px;color:#2563eb;color:var(--primary,#2563eb);font-size:.7rem;font-weight:600;letter-spacing:.02em;margin-left:8px;padding:2px 6px;text-transform:uppercase}.tournament-management-container{background-color:#f5f5f7;min-height:100vh;padding:24px 16px}.header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin:0 auto 24px;max-width:1200px}.header h1{color:#333;font-size:28px;margin:0}.delete-all-matches-block{background:#f8d7da;border:2px solid #f5c6cb;border-radius:8px;margin:0 auto 24px;max-width:1200px;padding:16px}.delete-all-matches-title{color:#721c24;font-size:16px;font-weight:600;margin:0 0 8px}.delete-all-matches-desc{color:#721c24;font-size:14px;margin:0 0 12px}.btn-delete-all-matches{background:#dc3545;border:2px solid #c82333;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:background .2s,transform .1s}.btn-delete-all-matches:hover:not(:disabled){background:#c82333;transform:translateY(-1px)}.btn-delete-all-matches:disabled{cursor:not-allowed;opacity:.6}.content{margin:0 auto;max-width:1200px}.section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:24px;padding:24px}.section-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.section-header h2{color:#333;font-size:22px;margin:0}.create-form{background:#f8f9ff;border-radius:8px;display:flex;flex-direction:column;gap:12px;margin-bottom:24px;padding:20px}.create-form input,.create-form textarea{border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:16px;padding:12px}.create-form input:focus,.create-form textarea:focus{border-color:var(--primary);outline:none}.tournaments-list{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr}@media (min-width:768px){.tournaments-list{grid-template-columns:repeat(2,1fr)}}.tournament-card{background:#f8f9ff;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.tournament-card h3{color:#333;font-size:20px;margin:0 0 12px}.tournament-card p{color:#666;font-size:14px;margin:8px 0}.tournament-actions{flex-direction:column;gap:14px}.tournament-actions-section{display:flex;flex-direction:column;gap:8px}.tournament-actions-label{color:#666;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.tournament-actions-hint{color:#666;font-size:13px;line-height:1.4;margin:0 0 8px}.tournament-actions-buttons{display:flex;flex-wrap:wrap;gap:8px}.config-panel.replace-member-panel .config-section+.config-section{margin-top:12px}.allocate-teams-callout{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:2px solid #2e7d32;border-left:5px solid #1b5e20;border-radius:10px;margin-bottom:12px;padding:14px 16px;width:100%}.allocate-teams-callout .allocate-teams-label{color:#1b5e20;display:block;font-size:14px;font-weight:600;line-height:1.4;margin-bottom:10px}.allocate-teams-callout .btn-allocate-teams{background:linear-gradient(135deg,#34a853,#2d8f47);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 20px;transition:opacity .2s,transform .1s;width:100%}.allocate-teams-callout .btn-allocate-teams:hover{opacity:.95}.config-panel-actions{align-items:center;border-top:1px solid #e8e8ec;display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;padding-top:16px}.config-panel-actions .btn-primary,.config-panel-actions .btn-secondary{border-radius:10px;font-size:15px;min-height:44px;padding:12px 24px;transition:transform .15s ease,box-shadow .15s ease}.config-panel-actions .btn-primary{box-shadow:0 2px 8px #0000001f}.config-panel-actions .btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #0000002e}.config-panel-actions .btn-primary:hover:not(:disabled),.config-panel-actions .btn-secondary:hover{transform:translateY(-1px)}.config-panel-actions .btn-secondary:hover{box-shadow:0 2px 8px #00000014}.config-panel-actions .btn-primary:active:not(:disabled),.config-panel-actions .btn-secondary:active{transform:translateY(0)}.config-panel-actions .btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-primary{transition:opacity .2s,transform .15s ease}.btn-primary:hover:not(:disabled){opacity:.95}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary:hover{background:#f0f4ff;border-color:var(--primary)}.schedule-config-form{background:#f8f9ff;border:1px solid #e0e0e0;border-radius:8px;margin:16px 0;padding:20px}.schedule-config-form h4{color:#333;font-size:18px;margin:0 0 16px}.config-section{margin-bottom:20px}.config-section label{color:#333;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.config-section input[type=number],.config-section input[type=text],.config-section input[type=time]{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:10px}.config-section input[type=number],.config-section input[type=text]{width:100%}.config-section input[type=number]:focus,.config-section input[type=text]:focus,.config-section input[type=time]:focus{border-color:var(--primary);outline:none}.config-inline-label{color:#333;display:inline-block;font-size:14px;font-weight:500;margin-right:6px}.config-section small{color:#666;display:block;font-size:12px;margin-top:4px}.weekday-options{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.checkbox-label{align-items:center;border:1px solid #ddd;border-radius:6px;cursor:pointer;display:flex;font-weight:400;gap:8px;padding:8px;transition:all .2s}.checkbox-label:hover{background:#f0f0f0}.checkbox-label input[type=checkbox]{cursor:pointer;margin:0}.admin-panel-container{background-color:var(--muted);min-height:100vh;padding:20px}@media (min-width:768px){.admin-panel-container{padding:28px 24px}}@media (min-width:1024px){.admin-panel-container{padding:36px 32px}}.admin-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin:0 auto 28px;max-width:1400px;max-width:var(--content-max-wide,1400px)}.admin-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.admin-quick-links{position:relative}.admin-quick-links .btn-secondary{white-space:nowrap}.admin-quick-links-menu{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 16px #0000001f;list-style:none;margin:4px 0 0;min-width:200px;padding:8px 0;position:absolute;right:0;top:100%;z-index:100}.admin-quick-links-menu li{margin:0}.admin-quick-links-menu button{background:none;border:none;color:var(--foreground);cursor:pointer;display:block;font-size:.9375rem;padding:10px 16px;text-align:left;transition:background .15s;width:100%}.admin-quick-links-menu button:hover{background:var(--muted)}.admin-tools-section .admin-tools-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}.admin-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:0 auto 20px;max-width:1400px;max-width:var(--content-max-wide,1400px)}.admin-tab{background:var(--card);border:2px solid var(--border);border-radius:var(--radius);color:var(--primary);cursor:pointer;font-size:.875rem;font-weight:600;margin:0;padding:12px 20px;transition:all .2s}.admin-tab:hover{background:var(--muted);border-color:var(--primary)}.admin-tab.active{background:var(--primary);border-color:#0000;color:var(--primary-foreground)}.admin-search{margin:0 auto 24px;max-width:1400px;max-width:var(--content-max-wide,1400px)}.search-input{background:var(--background);border:1px solid var(--input);border-radius:var(--radius);color:var(--foreground);font-size:.9375rem;max-width:400px;padding:12px 16px;width:100%}.search-input:focus{border-color:var(--ring);box-shadow:0 0 0 2px #1e40af26;outline:none}.admin-content{margin:0 auto;max-width:1400px;max-width:var(--content-max-wide,1400px)}.admin-section{border-radius:var(--radius-xl);margin-bottom:24px;overflow:hidden;padding:24px}@media (min-width:768px){.admin-section{padding:28px}}.admin-section:last-child{margin-bottom:0}.admin-section h2,.admin-section-title{color:var(--foreground);font-size:1.25rem;font-weight:700;margin:0 0 24px}.table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.admin-table{border-collapse:collapse;font-size:.875rem;width:100%}.admin-table thead{background:var(--muted)}.admin-table th{border-bottom:2px solid var(--border);color:var(--muted-foreground);font-size:.75rem;font-weight:600;letter-spacing:.03em;padding:12px 14px;text-align:left;text-transform:uppercase}.admin-table td{border-bottom:1px solid var(--border);color:var(--foreground);padding:12px 14px}.admin-reg-info{color:var(--muted-foreground);font-size:.8125rem;max-width:200px;word-break:break-word}.admin-table tbody tr:hover{background:var(--muted)}.admin-badge{background:var(--destructive);color:var(--destructive-foreground)}.admin-badge,.user-badge{border-radius:var(--radius);display:inline-block;font-size:.75rem;font-weight:600;padding:4px 12px}.user-badge{background:var(--muted);color:var(--muted-foreground)}.plan-badge{background:#e0e7ff;background:var(--accent,#e0e7ff);border-radius:var(--radius);color:#3730a3;color:var(--primary,#3730a3);display:inline-block;font-size:.75rem;font-weight:600;padding:4px 10px}.action-buttons{display:flex;flex-wrap:wrap;gap:10px}.admin-panel-container .btn-small{border:none;border-radius:var(--radius);cursor:pointer;font-size:.8125rem;font-weight:600;min-height:var(--touch-target-min);padding:8px 14px;transition:opacity .2s}.admin-panel-container .btn-small:hover{opacity:.9}.admin-panel-container .btn-success{background:#15803d;color:#fff}.admin-panel-container .btn-warning{background:#ea580c;color:#fff}.admin-panel-container .btn-danger{background:var(--destructive);color:var(--destructive-foreground)}.admin-panel-container .btn-primary{background:var(--primary);color:var(--primary-foreground)}.admin-panel-container .btn-secondary{background:var(--background);border:2px solid var(--primary);color:var(--primary)}.tournaments-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.tournament-admin-card{background:var(--muted);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;transition:box-shadow .2s}.tournament-admin-card:hover{box-shadow:0 4px 12px #0000000f}.tournament-admin-card h3{color:var(--foreground);font-size:1.125rem;font-weight:700;margin:0 0 10px}.tournament-admin-card p{color:var(--muted-foreground);font-size:.875rem;margin:8px 0}.tournament-meta{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin:16px 0;padding:14px}.tournament-meta p{color:var(--muted-foreground);font-size:.8125rem;margin:4px 0}.tournament-actions{display:flex;flex-wrap:wrap;gap:10px}.whatsapp-welcome-box{max-width:560px}.whatsapp-welcome-textarea{background:var(--background);border:1px solid var(--input);border-radius:var(--radius);color:var(--foreground);font-family:inherit;font-size:.9375rem;line-height:1.5;min-height:280px;padding:16px;resize:vertical;width:100%}.whatsapp-welcome-textarea:focus{border-color:var(--ring);box-shadow:0 0 0 2px #1e40af26;outline:none}@media (max-width:768px){.admin-table{font-size:.8125rem}.admin-table td,.admin-table th{padding:10px 12px}.tournaments-grid{grid-template-columns:1fr}}.match-update-history-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.match-update-history-modal{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0003;display:flex;flex-direction:column;max-height:80vh;max-width:480px;overflow:hidden;width:90%}.match-update-history-header{align-items:center;border-bottom:1px solid #eee;display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.match-update-history-header h2{color:#333;font-size:18px;margin:0}.match-update-history-close{background:none;border:none;color:#666;cursor:pointer;font-size:24px;line-height:1;padding:0 4px}.match-update-history-close:hover{color:#333}.match-update-history-content{flex:1 1;overflow-y:auto;padding:16px 20px}.match-update-history-empty,.match-update-history-loading{color:#666;font-size:14px;margin:0}.match-update-history-list{list-style:none;margin:0;padding:0}.match-update-history-item{border-bottom:1px solid #f0f0f0;display:flex;font-size:14px;gap:12px;padding:12px 0}.match-update-history-item:last-child{border-bottom:none}.match-update-history-icon{align-items:center;background:#f5f5f7;border-radius:50%;display:flex;flex-shrink:0;font-size:14px;height:28px;justify-content:center;width:28px}.match-update-history-item.type-reschedule_approved .match-update-history-icon,.match-update-history-item.type-reschedule_requested .match-update-history-icon{background:#fff3cd;color:#856404}.match-update-history-item.type-reschedule_completed .match-update-history-icon{background:#d4edda;color:#155724}.match-update-history-item.type-completed .match-update-history-icon,.match-update-history-item.type-started .match-update-history-icon{background:#d1ecf1;color:#0c5460}.match-update-history-item.type-referee_changed .match-update-history-icon{background:#e2e3e5;color:#383d41}.match-update-history-details{flex:1 1;min-width:0}.match-update-history-title{color:#333;font-weight:600;margin-bottom:2px}.match-update-history-desc{color:#555;font-size:13px;margin-bottom:4px}.match-update-history-time{color:#888;font-size:12px}.reschedule-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.reschedule-modal{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0003;max-width:420px;padding:20px;width:90%}.reschedule-modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.reschedule-modal-header h2{color:#333;font-size:18px;margin:0}.reschedule-modal-close{background:none;border:none;color:#666;cursor:pointer;font-size:24px;line-height:1;padding:0 4px}.reschedule-modal-close:hover{color:#333}.reschedule-modal-desc{color:#555;font-size:14px;line-height:1.4;margin:0 0 12px}.reschedule-modal-last{color:#666;font-size:13px;margin:0 0 16px}.reschedule-modal-loading{color:#666;margin:0}.reschedule-modal-form{display:flex;flex-direction:column;gap:16px}.reschedule-form-row label{color:#333;display:flex;flex-direction:column;font-size:14px;font-weight:600;gap:6px}.reschedule-form-row input{border:1px solid #ddd;border-radius:8px;font-size:15px;padding:10px 12px}.reschedule-form-row input:focus{border-color:var(--primary);outline:none}.reschedule-form-row .reschedule-time-select{border:1px solid #ddd;border-radius:8px;font-size:15px;min-width:120px;padding:10px 12px}.reschedule-form-row .reschedule-time-select:focus{border-color:var(--primary);outline:none}.reschedule-modal-hint{color:#888;font-size:12px;margin:0}.reschedule-modal-error{color:#c00;font-size:14px;margin:0}.reschedule-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.player-availability-admin-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1001}.player-availability-admin-modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:560px;width:100%}.player-availability-admin-header{border-bottom:1px solid #eee;padding:20px 20px 12px;position:relative}.player-availability-admin-header h2{font-size:1.25rem;margin:0 0 4px}.player-availability-admin-subtitle{color:#666;font-size:.9rem;margin:0}.player-availability-admin-close{background:none;border:none;color:#666;cursor:pointer;font-size:1.5rem;line-height:1;padding:0;position:absolute;right:16px;top:16px}.player-availability-admin-close:hover{color:#333}.player-availability-admin-body{flex:1 1;overflow-y:auto;padding:16px 20px}.player-availability-admin-tournament-row{margin-bottom:16px}.player-availability-admin-tournament-row label{color:#333;display:block;font-size:.85rem;font-weight:600;margin-bottom:4px}.player-availability-admin-select{background:#fff;border:1px solid #ccc;border-radius:8px;font-size:1rem;padding:8px 12px;width:100%}.player-availability-admin-empty,.player-availability-admin-loading{color:#666;font-size:.95rem;padding:24px 0;text-align:center}.player-availability-admin-table-wrap{margin-top:8px;overflow-x:auto}.player-availability-admin-table{border-collapse:collapse;font-size:.95rem;width:100%}.player-availability-admin-table td,.player-availability-admin-table th{border-bottom:1px solid #eee;padding:10px 12px;text-align:left}.player-availability-admin-table th{background:#f8f8f8;color:#555;font-weight:600}.player-availability-admin-table tbody tr:hover{background:#fafafa}.player-availability-admin-badge{border-radius:6px;display:inline-block;font-size:.8rem;font-weight:500;padding:2px 8px}.player-availability-admin-badge.has{background:#e8f5e9;color:#2e7d32}.player-availability-admin-badge.none{background:#f5f5f5;color:#757575}.player-availability-admin-table .btn-sm{font-size:.85rem;padding:4px 10px}.match-schedule-container{background:var(--muted);min-height:100vh;padding:16px;padding:var(--page-padding-mobile,16px)}.schedule-page{margin:0 auto;max-width:1200px;max-width:var(--content-max,1200px)}@media (min-width:768px){.match-schedule-container{padding:24px;padding:var(--page-padding-tablet,24px)}}@media (min-width:1024px){.match-schedule-container{padding:32px;padding:var(--page-padding-desktop,32px)}}.schedule-header-row{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}@media (min-width:768px){.schedule-header-row{align-items:flex-start;flex-direction:row;justify-content:space-between}}.schedule-heading{flex:1 1}.schedule-groups-note,.schedule-guest-note{color:#666;color:var(--muted-foreground,#666);font-weight:500}.schedule-header-actions{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:10px}.btn-back{font-size:.875rem;min-height:var(--touch-target-min);padding:12px 22px}.schedule-calendar-availability-bar{border-radius:var(--radius-xl);margin:0 auto 16px;max-width:1200px;max-width:var(--content-max,1200px);padding:10px 14px}.schedule-calendar-availability-bar .schedule-calendar-syncing-text{color:var(--muted-foreground);display:block;font-size:.875rem;margin-bottom:8px}.schedule-calendar-availability-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.schedule-calendar-availability-btn{font-size:.875rem;min-height:36px;padding:8px 14px}.schedule-calendar-availability-toggle{-webkit-tap-highlight-color:transparent;background:none;border:none;color:var(--muted-foreground);cursor:pointer;font-size:.8125rem;padding:6px 8px}.schedule-calendar-availability-toggle:hover{color:var(--primary);text-decoration:underline}.schedule-calendar-availability-details{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.schedule-calendar-availability-details p{color:var(--muted-foreground);font-size:.8125rem;line-height:1.35;margin:0 0 6px}.schedule-calendar-availability-details p:last-child{margin-bottom:0}.schedule-filters-bar{align-items:center;border-radius:var(--radius-xl);display:flex;flex-wrap:wrap;gap:10px 14px;margin:0 auto 16px;max-width:1200px;max-width:var(--content-max,1200px);padding:12px 16px}@media (min-width:768px){.schedule-filters-bar{gap:12px 18px;padding:14px 20px}}.schedule-filters-label{color:var(--muted-foreground);font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.schedule-filter-select{-webkit-appearance:none;appearance:none;background:var(--background);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%232563eb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:20px;border:2px solid var(--border);border-radius:var(--radius);color:var(--primary);cursor:pointer;display:block;font-size:1rem;font-weight:600;min-height:var(--touch-target-min);padding:12px 40px 12px 16px;width:100%}.schedule-filter-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb33;outline:none}@media (min-width:768px){.schedule-filter-select{display:none}}.filters{display:none;flex-wrap:wrap;gap:10px}@media (min-width:768px){.filters.filters-buttons{display:flex}}.schedule-match-count{color:var(--primary);font-size:.875rem;font-weight:600;margin-left:auto;margin-top:4px;width:100%}@media (min-width:768px){.schedule-match-count{margin-left:auto;margin-top:0;width:auto}}.schedule-empty-state{border-radius:var(--radius-xl);margin:0 auto 24px;max-width:1200px;max-width:var(--content-max,1200px);padding:48px 24px;text-align:center}.schedule-empty-icon{font-size:3rem;margin-bottom:16px;opacity:.8}.schedule-empty-title{color:var(--foreground);font-size:1.25rem;font-weight:700;margin:0 0 8px}.schedule-empty-desc{color:var(--muted-foreground);font-size:.9375rem;margin:0 auto;max-width:360px}.filter-btn{background:var(--background);border:2px solid var(--border);border-radius:var(--radius);color:var(--primary);cursor:pointer;font-size:.875rem;font-weight:600;min-height:var(--touch-target-min);padding:10px 18px;transition:all .2s}.filter-btn:hover{background:var(--muted);border-color:var(--primary)}.filter-active{background:var(--primary);border:2px solid #0000;border-radius:var(--radius);color:var(--primary-foreground);cursor:pointer;font-size:.875rem;font-weight:600;min-height:var(--touch-target-min);padding:10px 18px}@media (max-width:767px){.schedule-filters-bar{gap:8px 10px;padding:10px 14px}.filter-active,.filter-btn{font-size:14px;min-height:44px;padding:10px 14px}.match-card,.schedule-card-ui{padding:12px 14px}}.matches-list{grid-gap:12px;align-items:stretch;gap:12px}@media (min-width:600px){.matches-list{gap:14px;grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.matches-list{gap:16px;grid-template-columns:repeat(3,1fr)}}.matches-list-upcoming{gap:10px;grid-template-columns:1fr;max-width:720px}@media (min-width:768px){.matches-list-upcoming{gap:12px}}.matches-list-upcoming .match-card{border-left:3px solid var(--primary);border-radius:var(--radius-lg);padding:12px 14px}@media (min-width:768px){.matches-list-upcoming .match-card{padding:14px 18px}}.matches-list-upcoming .schedule-card-top{margin-bottom:8px;padding-bottom:6px}.matches-list-upcoming .schedule-time-text{font-size:1rem}.matches-list-upcoming .match-players{margin-bottom:8px}.matches-list-upcoming .schedule-card-meta-bottom{min-height:40px}.matches-list-upcoming .match-actions{padding-top:8px}.match-card{background:var(--card);border-radius:var(--radius-xl);box-shadow:0 1px 4px #0000000f;display:flex;flex-direction:column;height:100%;min-height:0;padding:12px 14px}.match-card-live{animation:live-card-pulse 2.5s ease-in-out infinite;background:linear-gradient(90deg,#e11d480f 0,var(--card) 15%);border-left:4px solid var(--live)}@keyframes live-card-pulse{50%{box-shadow:0 2px 16px #e11d481f}}.schedule-card-ui{padding:14px 16px;transition:box-shadow .2s,border-color .2s}.schedule-card-ui:hover{border-color:#2563eb2e;box-shadow:0 4px 14px #2563eb14}@media (min-width:768px){.match-card,.schedule-card-ui{padding:16px 18px}}.schedule-card-top{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:10px;padding-bottom:8px}.schedule-time-block{display:flex;flex-direction:column;gap:2px}.schedule-time-text{color:var(--primary);font-size:1.0625rem;font-weight:700;letter-spacing:-.02em;line-height:1.25}@media (min-width:768px){.schedule-time-text{font-size:1.125rem}}.schedule-date-muted{color:var(--muted-foreground);font-size:.75rem;line-height:1.25}.schedule-card-meta-top{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.schedule-status-badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:11px;font-weight:600;letter-spacing:.03em;padding:4px 10px;text-transform:uppercase}.schedule-status-badge.status-scheduled{background:linear-gradient(135deg,#93c5fd,#60a5fa);color:#1e3a8a;font-weight:700}.schedule-status-badge.status-in-progress{animation:gameplay-pulse 1.5s ease-in-out infinite;background:linear-gradient(135deg,#fda4af,#f43f5e);color:#fff;font-weight:700}@keyframes pulse{50%{opacity:.9}}.schedule-status-badge.status-completed{background:linear-gradient(135deg,#86efac,#22c55e);color:#14532d;font-weight:700}.schedule-round{color:var(--muted-foreground);font-size:12px}.match-header{align-items:center}.match-header h3{color:var(--foreground);font-size:.9375rem;line-height:1.3;margin:0}@media (min-width:768px){.match-header h3{font-size:1rem}}.status-badge{text-transform:uppercase}.status-scheduled{background:#fff3cd;color:#856404}.status-in-progress{background:#cce5ff;color:#004085}.status-completed{background:#d4edda;color:#155724}.status-rescheduled{background:#d1ecf1;color:#0c5460}.match-players{grid-gap:8px 12px;display:grid;gap:8px 12px;grid-template-columns:1fr auto 1fr;text-align:center}@media (max-width:600px){.match-players{gap:6px 8px;margin-bottom:8px}.schedule-player{align-items:center;text-align:center}}@media (min-width:768px){.match-players{gap:10px 14px;margin-bottom:12px}}.schedule-player{align-items:center;display:flex;flex-direction:column;gap:6px;min-width:0}.schedule-player-1{text-align:right}.schedule-player-2{text-align:left}@media (min-width:601px){.schedule-player-1{text-align:right}.schedule-player-2{text-align:left}}.schedule-player-names{align-items:center;display:flex;flex-direction:column;gap:2px;min-width:0;width:100%}@media (min-width:601px){.schedule-player-1 .schedule-player-names{align-items:flex-end}.schedule-player-2 .schedule-player-names{align-items:flex-start}}.schedule-player-name{font-size:.8125rem;line-height:1.3;min-width:0;overflow-wrap:break-word;text-align:center;width:100%;word-break:break-word}@media (min-width:768px){.schedule-player-name{font-size:.875rem}}@media (min-width:601px){.schedule-player-1 .schedule-player-name{text-align:right}.schedule-player-2 .schedule-player-name{text-align:left}}.schedule-player .score{color:var(--primary);font-size:1.5rem;font-weight:700}.vs-pill{background:var(--muted);border:1px solid var(--border);border-radius:9999px;color:var(--muted-foreground);flex-shrink:0;font-size:.6875rem;font-weight:700;letter-spacing:.02em;padding:6px 12px;text-transform:lowercase}@media (min-width:601px){.vs-pill{background:linear-gradient(135deg,var(--muted) 0,var(--accent) 100%);border-color:#2563eb33;color:var(--primary);font-size:.75rem;padding:6px 14px}}.player{flex:1 1;flex-direction:column;min-width:120px;text-align:center}.match-player-avatars,.player{align-items:center;display:flex}.match-player-avatars{gap:4px;justify-content:center;margin-bottom:6px}.match-player-avatars .match-player-avatar{height:28px;margin-bottom:0;width:28px}.match-player-avatar{border:1px solid #e9ecef;border-radius:50%;height:36px;margin-bottom:6px;object-fit:cover;width:36px}.player strong{color:#333;display:block;margin-bottom:4px}.score{color:var(--primary);display:block;font-size:24px;margin-top:4px}.score,.vs{font-weight:700}.vs{color:#999;padding:0 12px}.schedule-card-meta-bottom{display:flex;flex-direction:column;flex-shrink:0;justify-content:flex-start;min-height:48px}.match-date,.match-referee,.match-time{color:var(--muted-foreground);font-size:.75rem;line-height:1.3;margin:3px 0}@media (min-width:768px){.match-date,.match-referee,.match-time{font-size:.8125rem}}.match-date:first-child,.match-referee:first-child,.match-time:first-child{margin-top:0}.schedule-unique-views{align-items:center;color:var(--muted-foreground);display:flex;font-size:.8125rem;gap:4px;margin:6px 0}.schedule-unique-views-number{color:var(--foreground);font-weight:600}.schedule-card-reactions{align-items:flex-start;border-top:1px solid var(--border);display:flex;flex-direction:row;flex-wrap:wrap;gap:6px 12px;margin-top:6px;padding-top:6px}.schedule-reaction-team{align-items:center;display:flex;flex:1 1 auto;flex-direction:row;gap:6px;min-width:0}.schedule-reaction-team-label{color:var(--muted-foreground);flex-shrink:0;font-size:.6875rem;font-weight:600;max-width:4.5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width:400px){.schedule-reaction-team-label{max-width:none}}.match-actions{align-items:center;border-top:1px solid var(--border);flex-shrink:0;flex-wrap:wrap;margin-top:auto;padding-top:10px}.match-actions .btn-info,.match-actions .btn-primary,.match-actions .btn-secondary,.match-actions .btn-success,.match-actions .btn-warning{font-size:.875rem;min-height:var(--touch-target-min);padding:10px 18px}.btn-primary{background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:opacity .2s}.btn-primary:hover{opacity:.9}.btn-secondary{background:#fff;border:2px solid var(--primary);border-radius:8px;color:var(--primary);cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.btn-secondary:hover{background:#f8f9ff}.btn-warning{background:#ff9800;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:opacity .2s}.btn-warning:hover{opacity:.9}.btn-success{background:#34a853;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:opacity .2s}.btn-success:hover{opacity:.9}.btn-info{background:#17a2b8;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:opacity .2s}.btn-info:hover{opacity:.9}.no-matches{grid-column:1/-1;padding:32px 20px}.my-matches-sections{display:flex;flex-direction:column;gap:40px;margin:0 auto;max-width:1200px;max-width:var(--content-max,1200px)}.my-matches-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:0 2px 8px #0000000d;padding:28px}.my-matches-section-title{align-items:center;color:var(--foreground);display:flex;font-size:1.125rem;font-weight:700;gap:10px;margin:0 0 24px}.my-matches-section-icon{font-size:22px}.team-members{color:#666;font-size:12px;font-weight:400}.match-type-badge{font-size:12px;margin:12px 0}.match-type-indicator{margin-top:8px;text-align:center}.match-type-indicator small{color:#666;font-size:12px}.game-info-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.game-info-modal{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.info-section{margin-bottom:24px}.info-section:last-child{margin-bottom:0}.info-section h3{color:#333;font-size:18px;margin:0 0 12px}.score-display-large{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:16px;justify-content:center;padding:20px}.score-item{align-items:center;display:flex;flex-direction:column;gap:8px}.score-player-avatars{align-items:center;display:flex;gap:6px;justify-content:center}.score-player-avatars .score-player-avatar{height:40px;width:40px}.score-player-avatars.score-player-avatars--single .score-player-avatar{height:56px;width:56px}.score-player-avatar{border:2px solid #e9ecef;border-radius:50%;object-fit:cover}.score-label{color:#666;font-size:14px}.score-value{color:var(--primary);font-size:36px;font-weight:700}.score-separator{color:#999;font-size:24px}.current-server{background:#f8f9fa;border-radius:8px;padding:12px;text-align:center}.server-badge{background:#e9ecef;border-radius:6px;color:#666;display:inline-block;font-weight:500;padding:8px 16px}.server-badge.active{background:var(--primary);color:#fff}.service-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto}.service-item{align-items:flex-start;background:#f8f9fa;border-left:3px solid var(--primary);border-radius:6px;display:flex;font-size:14px;gap:12px;padding:12px}.service-number{color:var(--primary);font-size:16px;font-weight:600;min-width:50px}.service-details{display:flex;flex:1 1;flex-direction:column;gap:6px}.service-row{align-items:center;display:flex;gap:8px}.service-label{color:#666;font-size:13px;font-weight:500;min-width:100px}.service-value{color:#333;font-weight:500}.service-server-name{color:#333;font-weight:600}.service-receiver-name{color:#007bff;font-weight:500}.service-winner{color:#28a745;font-weight:600}.service-loser{color:#dc3545;font-weight:500}.service-serves-badge{background:var(--primary);color:#fff}.service-points-historic,.service-serves-badge{border-radius:12px;font-size:12px;font-weight:600;padding:2px 8px}.service-points-historic{background:#ffc107;color:#333}.service-time{color:#999;font-size:12px}.no-data{color:#999;font-style:italic;padding:20px}.service-stats{display:flex;flex-direction:column;gap:12px}.stat-item{background:#f8f9fa;border-radius:6px;padding:12px}.stat-label{color:#333}.stat-value{color:#666}.player-scores-list{display:flex;flex-direction:column;gap:8px}.player-score-item{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;justify-content:space-between;padding:10px}.player-points{color:var(--primary);font-weight:600}.match-scoring-container{background-color:var(--muted);min-height:100vh;padding:16px;padding:var(--page-padding-mobile,16px)}@media (min-width:768px){.match-scoring-container{padding:24px;padding:var(--page-padding-tablet,24px)}}@media (min-width:1024px){.match-scoring-container{padding:32px;padding:var(--page-padding-desktop,32px)}}.scoring-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin:0 auto 20px;max-width:1200px;max-width:var(--content-max,1200px)}.scoring-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.scoring-btn{font-size:.875rem;min-height:var(--touch-target-min);padding:10px 18px}.scoring-card{margin:0 auto 24px;max-width:1200px;max-width:var(--content-max,1200px);overflow:hidden;padding:20px}@media (min-width:768px){.scoring-card{padding:24px}}.match-status-bar{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:12px 20px;margin-bottom:16px;padding-bottom:16px}.scoring-view-only-banner{background:var(--muted);border:1px solid var(--border);border-radius:8px;color:var(--muted-foreground);font-size:.875rem;font-weight:500;margin-bottom:16px;padding:12px 16px}.umpire-games-view-only .umpire-game-grid{pointer-events:none}.referee-info,.start-time,.status-info{align-items:center;display:flex;font-size:.875rem;gap:8px}.referee-label,.status-label{color:var(--muted-foreground);font-weight:500}.scoring-status-badge{border-radius:9999px;font-size:.75rem;font-weight:600;letter-spacing:.03em;padding:4px 12px;text-transform:uppercase}.scoring-status-badge.status-scheduled{background:linear-gradient(135deg,#93c5fd,#60a5fa);color:#1e3a8a;font-weight:700}.scoring-status-badge.status-in-progress{animation:gameplay-pulse 1.5s ease-in-out infinite;background:linear-gradient(135deg,#fda4af,#f43f5e);color:#fff;font-weight:700}.scoring-status-badge.status-completed{background:linear-gradient(135deg,#86efac,#22c55e);color:#14532d;font-weight:700}.referee-name{color:var(--foreground);font-weight:600}.scoring-viewer-count,.start-time{color:var(--muted-foreground)}.scoring-viewer-count{align-items:center;display:flex;font-size:.875rem;gap:6px}.scoring-viewer-icon{font-size:1rem}.scoring-viewer-number{font-feature-settings:"tnum";color:var(--foreground);font-variant-numeric:tabular-nums;font-weight:700}.scoring-viewer-label{font-weight:500}.scoring-reactions-row{align-items:center;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:12px;padding-top:12px}.scoring-reactions-in-block{gap:4px 8px;margin-top:6px;padding-top:6px}.scoring-reactions-in-block .scoring-reactions-list{gap:4px}.scoring-reactions-aggregated .scoring-reactions-aggregated-inner{align-items:center;display:inline-flex;flex-wrap:nowrap;gap:0}.scoring-reaction-aggregated-item{background:#0000;gap:0;margin:0 -1px}.scoring-reaction-aggregated-item,.scoring-reaction-btn-sm{align-items:center;border-radius:9999px;display:inline-flex;padding:0}.scoring-reaction-btn-sm{font-size:.9375rem;height:26px;justify-content:center;width:26px}.scoring-reaction-count-sm{font-size:.625rem;height:22px;min-width:16px;padding:0 2px}.scoring-reactions-label{color:var(--muted-foreground);font-size:.6875rem;font-weight:600}.scoring-reactions-list{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.scoring-reaction-item{align-items:center;background:var(--muted);border-radius:var(--radius);display:flex;gap:2px;padding:2px}.scoring-reaction-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;font-size:1.5rem;height:40px;justify-content:center;transition:background .15s;width:40px}.scoring-reaction-btn:hover{background:var(--border)}.scoring-reaction-btn-active{background:#2563eb26}.scoring-reaction-count{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--muted-foreground);cursor:pointer;display:flex;font-size:.8125rem;font-weight:600;height:36px;justify-content:center;min-width:28px;padding:0 6px}.scoring-reaction-count:hover{background:var(--border);color:var(--foreground)}.scoring-reaction-who-modal h3{margin-bottom:16px;margin-top:0}.scoring-reaction-who-empty{color:var(--muted-foreground);margin-bottom:16px}.scoring-reaction-who-list{list-style:none;margin:0 0 16px;max-height:200px;overflow-y:auto;padding:0}.scoring-reaction-who-list li{border-bottom:1px solid var(--border);padding:6px 0}.scoring-reaction-who-list li:last-child{border-bottom:none}.scoring-match-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.scoring-players-summary{grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:1fr auto 1fr;text-align:center}@media (max-width:600px){.scoring-players-summary{gap:8px 10px}.scoring-player-block{text-align:center}}.scoring-player-block{background:var(--muted);border-radius:var(--radius);min-width:0;padding:12px}.scoring-player-name .scoring-player-profile-link{color:#2563eb;color:var(--primary,#2563eb);font-weight:700;text-decoration:none}.scoring-player-name .scoring-player-profile-link:hover{text-decoration:underline}.scoring-player-name{color:var(--foreground);font-size:1.125rem;font-weight:700;margin-bottom:4px;overflow-wrap:break-word;text-align:center;word-break:break-word}.scoring-player-meta{color:var(--muted-foreground);font-size:.8125rem;margin-bottom:4px}.team-members{font-size:.8125rem;overflow-wrap:break-word;text-align:center;word-break:break-word}.scoring-games-won{background:linear-gradient(135deg,var(--primary) 0,#1d4ed8 100%);-webkit-background-clip:text;background-clip:text;color:var(--primary);font-size:2rem;font-weight:700;margin-top:8px}.scoring-games-won-label{color:var(--muted-foreground);font-size:.6875rem;letter-spacing:.05em;margin-top:2px;text-transform:uppercase}.scoring-vs-pill{background:var(--muted);border:1px solid var(--border);border-radius:9999px;color:var(--muted-foreground);font-size:.75rem;font-weight:700;padding:6px 12px}@media (min-width:601px){.scoring-vs-pill{background:linear-gradient(135deg,var(--muted) 0,var(--accent) 100%);border-color:#2563eb33;color:var(--primary);font-size:.875rem;padding:8px 14px}}.match-type-badge{color:var(--primary);font-size:.875rem;margin-top:16px;text-align:center}.umpire-games{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr;margin:0 auto 24px;max-width:1200px;max-width:var(--content-max,1200px)}@media (min-width:768px){.umpire-games{grid-template-columns:repeat(3,1fr)}}.umpire-game-card{border:2px solid #0000;border-radius:var(--radius-xl);padding:20px;transition:box-shadow .2s,border-color .2s}.umpire-game-card:hover{box-shadow:0 4px 12px #00000014}.umpire-game-completed{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:var(--success);box-shadow:0 2px 12px #16a34a26}.umpire-game-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:16px}.umpire-game-title{color:var(--foreground);font-size:1rem;font-weight:700;margin:0}.umpire-game-winner{color:var(--muted-foreground);font-weight:600}.umpire-game-info-btn{font-size:.75rem;padding:6px 12px}.umpire-first-server-row{align-items:center;background:var(--muted);border:1px solid var(--border);border-radius:8px;display:flex;flex-wrap:wrap;gap:8px 12px;margin-bottom:12px;padding:10px 12px}.umpire-first-server-label{color:var(--muted-foreground);font-size:.8125rem;font-weight:600}.umpire-first-server-btn{font-size:.8125rem;padding:6px 12px}.umpire-first-server-btn.active{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.umpire-admin-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.umpire-admin-btn{font-size:.8125rem;padding:6px 12px}.manual-score-hint{color:var(--muted-foreground);font-size:.875rem;margin-bottom:12px}.manual-score-inputs{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.manual-score-inputs label{display:flex;flex-direction:column;font-weight:500;gap:4px}.manual-score-inputs input{font-size:1rem;padding:8px;width:80px}.umpire-game-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.umpire-player-side{align-items:center;background:var(--muted);border:4px solid #0000;border-radius:var(--radius-lg);display:flex;flex-direction:column;min-width:0;padding:16px;position:relative;transition:border-color .2s,background .2s}@media (max-width:600px){.umpire-player-side{padding:12px}}.umpire-player-side.umpire-serving,.umpire-player-side[data-serving=true]{animation:serving-glow 2s ease-in-out infinite;background:linear-gradient(135deg,#fefce8,#fef08a);border-color:var(--gold);box-shadow:0 0 0 2px #eab30840}@keyframes serving-glow{50%{box-shadow:0 0 0 3px #eab30859}}.umpire-serving-badge{background:var(--gold-bg);border-radius:var(--radius-sm);box-shadow:0 1px 4px #ca8a0466;color:#713f12;font-size:.625rem;font-weight:700;letter-spacing:.03em;padding:4px 8px;position:absolute;right:8px;text-transform:uppercase;top:8px}.umpire-side-name{color:var(--foreground);font-size:.875rem;font-weight:600;line-height:1.2;margin-bottom:8px;min-width:0;overflow-wrap:break-word;text-align:center;width:100%;word-break:break-word}.umpire-score-big{tabular-nums:1;background:linear-gradient(135deg,var(--primary) 0,#1d4ed8 100%);-webkit-background-clip:text;background-clip:text;color:var(--primary);font-size:3rem;font-weight:700;line-height:1;margin-bottom:4px}@media (min-width:768px){.umpire-score-big{font-size:3.5rem}}.umpire-referee-hint{color:var(--muted-foreground);font-size:.6875rem;font-style:italic;margin-bottom:8px}.umpire-add-point-btn{background:linear-gradient(180deg,var(--primary) 0,var(--primary-hover) 100%);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-primary);color:var(--primary-foreground);cursor:pointer;font-size:1.5rem;font-weight:700;margin-bottom:10px;min-height:64px;padding:12px;transition:transform .15s,box-shadow .2s;width:100%}.umpire-add-point-btn:hover:not(:disabled){box-shadow:0 6px 20px #2563eb73;transform:translateY(-2px)}.umpire-add-point-btn:active:not(:disabled){transform:scale(.98)}.umpire-add-point-btn:disabled{cursor:not-allowed;opacity:.5}.umpire-side-actions{display:flex;gap:8px;justify-content:center;width:100%}.umpire-correct-btn{flex:1 1;font-size:.8125rem;padding:8px 12px}.match-winner-banner{animation:card-enter .4s ease-out;background:linear-gradient(135deg,var(--primary) 0,#1d4ed8 50%,#1e40af 100%);border-radius:var(--radius-xl);box-shadow:0 8px 24px #2563eb59;color:var(--primary-foreground);margin:0 auto 24px;max-width:1200px;max-width:var(--content-max,1200px);padding:24px;text-align:center}.match-winner-title{font-size:1.25rem;font-weight:700;margin:0}@media (min-width:768px){.match-winner-title{font-size:1.5rem}}.scoring-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:0 auto;max-width:1200px;max-width:var(--content-max,1200px)}.modal-overlay{inset:0;padding:calc(20px + env(safe-area-inset-top, 0)) calc(20px + env(safe-area-inset-right, 0)) calc(20px + env(safe-area-inset-bottom, 0)) calc(20px + env(safe-area-inset-left, 0))}.confirmation-modal,.modal-overlay{-webkit-overflow-scrolling:touch;overflow-y:auto}.confirmation-modal{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:0 4px 20px #00000026;color:var(--card-foreground);max-height:calc(100vh - 40px - env(safe-area-inset-top, 0) - env(safe-area-inset-bottom, 0));max-width:400px;padding:24px;width:100%}.confirmation-modal h3{color:var(--foreground);font-size:1.125rem;font-weight:700;margin:0 0 16px}.confirmation-modal p{color:var(--muted-foreground);font-size:.875rem;margin:0 0 16px}.confirmation-modal .input-field{background:var(--background);border:1px solid var(--input);border-radius:var(--radius);color:var(--foreground);font-size:1rem;margin-bottom:16px;padding:12px;width:100%}@media (min-width:768px){.confirmation-modal .input-field{font-size:.875rem}}.confirmation-modal .modal-actions{display:flex;gap:12px;justify-content:flex-end}.error,.loading{color:var(--foreground);font-size:1rem;padding:40px 20px;text-align:center}.error{color:var(--destructive)}.error p+p{margin-top:8px}.error .btn-secondary{margin-top:16px}.leaderboard-container{background:var(--muted);min-height:100vh;padding:16px;padding:var(--page-padding-mobile,16px)}.leaderboard-page{margin:0 auto;max-width:1200px;max-width:var(--content-max,1200px)}@media (min-width:768px){.leaderboard-container{padding:24px;padding:var(--page-padding-tablet,24px)}}@media (min-width:1024px){.leaderboard-container{padding:32px;padding:var(--page-padding-desktop,32px)}}.leaderboard-header-row{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}@media (min-width:768px){.leaderboard-header-row{align-items:flex-start;flex-direction:row;justify-content:space-between}}.leaderboard-heading{flex:1 1}.leaderboard-select-wrap{margin-bottom:20px;padding:14px 18px}.leaderboard-select-label{color:var(--muted-foreground);display:block;font-size:.8125rem;font-weight:600;margin-bottom:8px}.leaderboard-select{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);color:var(--foreground);font-size:1rem;max-width:360px;padding:10px 14px;width:100%}.leaderboard-section-block{margin-bottom:24px}.leaderboard-section-block:last-child{margin-bottom:0}.leaderboard-section-title{align-items:center;border-bottom:1px solid var(--border);color:var(--foreground);display:flex;flex-wrap:wrap;font-size:1.0625rem;font-weight:700;gap:8px 10px;letter-spacing:-.02em;margin:0;padding:16px 16px 12px}.leaderboard-section-title .leaderboard-section-badge{align-items:center;border-radius:var(--radius);display:inline-flex;font-size:.75rem;font-weight:700;justify-content:center;letter-spacing:.05em;padding:4px 10px;text-transform:uppercase}.leaderboard-section-title.leaderboard-section-singles .leaderboard-section-badge{background:linear-gradient(135deg,#2563eb33,#2563eb14);border:1px solid #2563eb4d;color:var(--primary)}.leaderboard-section-title.leaderboard-section-doubles .leaderboard-section-badge{background:linear-gradient(135deg,#16a34a33,#16a34a14);border:1px solid #16a34a4d;color:#15803d}.leaderboard-section-title .leaderboard-section-scope{color:var(--muted-foreground);font-size:.9375rem;font-weight:600}.leaderboard-card .leaderboard-table-wrap{padding:0 16px 16px}.leaderboard-card .no-data{padding:28px 16px}@media (min-width:768px){.leaderboard-section-title{padding:20px 24px 14px}.leaderboard-card .leaderboard-table-wrap{padding:0 24px 24px}.leaderboard-card .no-data{padding:32px 24px}}.leaderboard-empty-state .no-data{color:var(--muted-foreground);padding:24px;text-align:center}.btn-back{flex-shrink:0;font-size:14px;min-height:44px;min-height:var(--touch-target-min,44px);padding:10px 20px}.leaderboard-content{margin:0 auto;overflow:hidden;padding:0}.leaderboard-card{border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);overflow:hidden}.leaderboard-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.leaderboard-table{min-width:520px}.leaderboard-table .table-header{background:linear-gradient(135deg,#2563eb14,#00000008);color:var(--muted-foreground);font-size:11px;font-weight:600;letter-spacing:.05em;padding:14px 24px;text-transform:uppercase}.leaderboard-table .table-header,.leaderboard-table .table-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:72px 2fr 1fr 1fr 1fr 1fr}.leaderboard-table .table-row{align-items:center;border-bottom:1px solid var(--border);font-size:14px;padding:16px 24px;transition:background .2s}.leaderboard-table .table-row:hover{background:var(--muted)}.leaderboard-table .table-row:last-child{border-bottom:none}.leaderboard-table .table-row.top-three{font-weight:600}.leaderboard-table .table-row.rank-row-1{background:linear-gradient(90deg,#fef08a59,#eab30814 30%,#0000);border-left:3px solid var(--gold)}.leaderboard-table .table-row.rank-row-2{background:linear-gradient(90deg,#e2e8f099,#94a3b81a 30%,#0000);border-left:3px solid var(--silver)}.leaderboard-table .table-row.rank-row-3{background:linear-gradient(90deg,#fde68a59,#d9770614 30%,#0000);border-left:3px solid var(--bronze)}.leaderboard-table .col-rank{text-align:center}.leaderboard-table .rank-badge{align-items:center;border-radius:50%;color:var(--muted-foreground);display:inline-flex;font-size:14px;font-weight:700;height:36px;justify-content:center;width:36px}.leaderboard-table .rank-badge.rank-medal{box-shadow:0 2px 8px #0000001f;color:var(--accent-foreground);font-size:18px}.leaderboard-table .rank-badge.rank-1{background:var(--gold-bg);color:#713f12}.leaderboard-table .rank-badge.rank-2{background:var(--silver-bg);color:#1e293b}.leaderboard-table .rank-badge.rank-3{background:var(--bronze-bg);color:#451a03}.leaderboard-table .player-name-cell.player-name-link{color:#2563eb;color:var(--primary,#2563eb);text-decoration:none}.leaderboard-table .player-name-cell.player-name-link:hover{text-decoration:underline}.leaderboard-table .player-name-cell{color:var(--foreground);font-size:15px;font-weight:600}.leaderboard-table .doubles-sep{color:var(--muted-foreground);margin:0 2px}.leaderboard-table .doubles-team-name{color:var(--muted-foreground);font-size:.95em;font-weight:500;margin-left:4px}.leaderboard-table .col-points{font-feature-settings:"tnum";color:var(--primary);font-variant-numeric:tabular-nums;font-weight:700;text-align:center}.leaderboard-table .table-row:hover .col-points{color:var(--primary-hover)}.leaderboard-table .col-wins{color:#16a34a;font-weight:600;text-align:center}.leaderboard-table .col-losses{color:var(--destructive);text-align:center}.leaderboard-table .col-rate,.no-data{color:var(--muted-foreground);text-align:center}.no-data{font-size:15px;padding:48px 24px}@media (min-width:768px){.leaderboard-table .table-header,.leaderboard-table .table-row{grid-template-columns:72px 2fr 1fr 1fr 1fr 1fr;padding-left:24px;padding-right:24px}.leaderboard-table .table-row{padding-bottom:18px;padding-top:18px}}.tournament-dashboard-container{background-color:var(--muted);min-height:100vh;padding:20px}@media (min-width:768px){.tournament-dashboard-container{padding:28px 24px}}@media (min-width:1024px){.tournament-dashboard-container{padding:36px 32px}}.tournament-dashboard-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin:0 auto 28px;max-width:1200px;max-width:var(--content-max,1200px)}.tournament-description{color:var(--muted-foreground);font-size:.875rem;margin:.25rem 0 0}.tournament-header-actions{display:flex;flex-wrap:wrap;gap:12px}.tournament-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr);margin:0 auto 28px;max-width:1200px;max-width:var(--content-max,1200px)}@media (min-width:576px){.tournament-stats-grid{gap:20px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}@media (min-width:1024px){.tournament-stats-grid{gap:24px;grid-template-columns:repeat(4,1fr);margin-bottom:32px}}.stat-card{align-items:center;border-radius:var(--radius-xl);display:flex;gap:18px;overflow:hidden;padding:24px;transition:transform .2s,box-shadow .2s}.stat-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.stat-icon{font-size:2rem}.stat-content{min-width:0}.stat-value-num{color:var(--foreground);font-size:1.75rem;font-weight:700;margin:0 0 4px}.stat-label-text{color:var(--muted-foreground);font-size:.875rem;margin:0}.tournament-dashboard-content{grid-gap:28px;display:grid;gap:28px;grid-template-columns:1fr;margin:0 auto;max-width:1200px;max-width:var(--content-max,1200px)}@media (min-width:1024px){.tournament-dashboard-content{gap:32px}}.tournament-error-message{margin:40px auto;max-width:560px;padding:28px;text-align:center}.tournament-error-title{color:var(--foreground);font-size:1.25rem;font-weight:700;margin:0 0 12px}.tournament-error-desc{color:var(--muted-foreground);font-size:.9375rem;margin:0 0 20px}.tournament-error-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.share-summary-section{border-radius:var(--radius-xl);margin:0 auto 32px;max-width:1200px;max-width:var(--content-max,1200px);overflow:hidden;padding:24px}@media (min-width:768px){.share-summary-section{padding:28px}}.tournament-section-title{color:var(--foreground);font-size:1.25rem;font-weight:700;margin:0 0 20px}.share-summary-desc{color:var(--muted-foreground);font-size:.875rem;margin:0 0 18px}.share-summary-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.btn-copy-summary{font-size:.875rem;min-height:var(--touch-target-min);padding:12px 22px}.share-summary-feedback{color:#15803d;font-size:.875rem;font-weight:600}.share-summary-preview{background:var(--muted);border:1px solid var(--border);border-radius:var(--radius);color:var(--foreground);font-size:.8125rem;line-height:1.5;margin:0;max-height:320px;overflow-y:auto;padding:18px;white-space:pre-wrap;word-break:break-word}.player-schedules-section{margin:0 auto 32px;max-width:1200px;max-width:var(--content-max,1200px);padding:24px}.tournament-section-title-btn{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;font:inherit;justify-content:space-between;padding:0;text-align:left;width:100%}.tournament-section-title-btn .expand-icon{color:var(--muted-foreground);margin-left:8px}.player-schedules-desc{color:var(--muted-foreground);font-size:.875rem;margin:0 0 16px}.player-schedules-table-wrap{overflow-x:auto}.player-schedules-table{border-collapse:collapse;font-size:.875rem;width:100%}.player-schedules-table td,.player-schedules-table th{border-bottom:1px solid var(--border);padding:10px 12px;text-align:left}.player-schedules-table th{color:var(--muted-foreground);font-weight:600}.player-schedules-empty{color:var(--muted-foreground);padding:24px!important}.modified-badge{background:#fef3c7;border-radius:var(--radius);color:#92400e;display:inline-block;font-size:.75rem;font-weight:600;padding:2px 8px}.tournament-leaderboard-section,.tournament-recent-section{border-radius:var(--radius-xl);overflow:hidden;padding:24px}@media (min-width:768px){.tournament-leaderboard-section,.tournament-recent-section{padding:28px}}.tournament-leaderboard-section .tournament-section-title,.tournament-recent-section .tournament-section-title{margin:0 0 24px}.leaderboard-table{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-header{background:var(--muted);border-radius:var(--radius);color:var(--muted-foreground);font-size:.75rem;font-weight:600;letter-spacing:.03em;margin-bottom:8px;padding:12px 14px;text-transform:uppercase}.table-header,.table-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:44px 2fr .8fr .8fr .8fr .8fr .8fr;min-width:640px}.table-row{align-items:center;border-bottom:1px solid var(--border);padding:14px;transition:background .2s}@media (min-width:768px){.table-header,.table-row{font-size:.875rem;gap:12px;grid-template-columns:60px 2fr 1fr 1fr 1fr 1fr 1fr;min-width:0;padding:14px 16px}.table-row{padding:16px}}.table-row:hover{background:var(--muted)}.table-row.top-three{background:linear-gradient(90deg,var(--accent) 0,#0000 100%);font-weight:600}.col-rank{text-align:center}.medal{font-size:1.5rem}.col-name{color:var(--foreground);font-weight:600}.team-members{color:var(--muted-foreground);font-size:.75rem}.team-members,.team-players-list{margin-top:4px}.team-players-list small{color:var(--muted-foreground);display:block;font-size:.75rem;font-weight:400;margin-top:2px}.col-skill{text-align:center}.skill-badge{border-radius:var(--radius);display:inline-block;font-size:.75rem;font-weight:600;padding:4px 12px;text-transform:capitalize}.skill-beginner{background:var(--accent);color:var(--accent-foreground)}.skill-average{background:#dbeafe;color:#1e40af}.skill-advanced{background:#d4edda;color:#155724}.col-wins{color:#15803d;font-weight:600;text-align:center}.col-losses{color:var(--destructive);text-align:center}.col-points{color:var(--primary);font-weight:600;text-align:center}.col-rate{color:var(--muted-foreground);text-align:center}.matches-list{grid-template-columns:1fr}@media (min-width:768px){.matches-list{gap:22px;grid-template-columns:repeat(2,1fr)}}.match-card{background:var(--muted);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;transition:transform .2s,box-shadow .2s}.match-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.match-header-small{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.round-badge{background:var(--accent);border-radius:var(--radius);color:var(--accent-foreground);font-size:.75rem;padding:4px 12px}.score-breakdown{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.game-score{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--primary);font-size:.75rem;font-weight:600;padding:4px 10px}.match-referee-small{border-top:1px solid var(--border);color:var(--muted-foreground);font-size:.8125rem;margin-top:12px;padding-top:12px}.match-type-badge{border-radius:var(--radius);font-size:.75rem;padding:4px 10px}.match-type-badge.doubles{background:var(--accent);color:var(--accent-foreground)}.match-date{color:var(--muted-foreground);font-size:.75rem}.match-players-small{align-items:center;display:flex;gap:14px;justify-content:space-between;margin-bottom:14px}.player-result{flex:1 1;text-align:center}.player-result strong{color:var(--foreground);display:block;margin-bottom:4px}.player-result small{color:var(--muted-foreground);display:block;font-size:.6875rem;margin-bottom:4px}.player-result .score{color:var(--primary);display:block;font-size:1.5rem;font-weight:700;margin:6px 0}.winner-badge{background:#15803d;border-radius:9999px;color:#fff;display:inline-block;font-size:.6875rem;font-weight:600;margin-top:6px;padding:4px 10px}.vs-small{color:var(--muted-foreground);font-size:.875rem;font-weight:700}.win-probability{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.prob-bar{background:var(--muted);border-radius:var(--radius);display:flex;height:36px;overflow:hidden}.prob-fill{background:var(--primary);color:var(--primary-foreground)}.prob-fill,.prob-fill-2{align-items:center;display:flex;font-size:.75rem;font-weight:600;justify-content:center;padding:0 8px;transition:width .3s}.prob-fill-2{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.stats-grid-detailed{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:20px}.stat-category{background:var(--muted);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.stat-category h3{border-bottom:2px solid var(--primary);color:var(--primary);font-size:1rem;font-weight:700;margin:0 0 16px;padding-bottom:10px}.stat-item{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:12px 0}.stat-item:last-child{border-bottom:none}.stat-label{color:var(--muted-foreground);font-weight:500}.stat-label,.stat-value{flex:1 1;font-size:.875rem}.stat-value{color:var(--foreground);font-weight:600;text-align:right}.live-matches-grid{grid-gap:22px;display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:20px}.live-match-card{animation:tournament-live-pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#fef2f2 0,var(--card) 100%);border:2px solid var(--destructive);border-radius:var(--radius-xl);box-shadow:0 4px 12px #ef44441f;padding:22px}@keyframes tournament-live-pulse{0%,to{box-shadow:0 4px 12px #ef44441f}50%{box-shadow:0 4px 20px #ef444440}}.live-match-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.live-badge{animation:tournament-live-blink 1s ease-in-out infinite;background:var(--destructive);border-radius:9999px;color:var(--destructive-foreground);font-size:.75rem;font-weight:700;letter-spacing:.03em;padding:6px 14px;text-transform:uppercase}@keyframes tournament-live-blink{0%,to{opacity:1}50%{opacity:.8}}.live-match-players{align-items:center;display:flex;gap:18px;justify-content:space-between;margin-bottom:18px}.live-player{flex:1 1;text-align:center}.live-player strong{color:var(--foreground);display:block;font-size:1rem;font-weight:700;margin-bottom:4px}.live-player small{color:var(--muted-foreground);display:block;font-size:.75rem;margin-bottom:8px}.live-score{margin-top:10px}.game-scores{display:flex;gap:8px;justify-content:center;margin-bottom:6px}.game-scores span{background:var(--muted);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;min-width:32px;padding:4px 10px;text-align:center}.game-scores .game-won{background:#15803d;border-color:#0000;color:#fff}.match-score{color:var(--primary);font-size:1.125rem;font-weight:700;margin-top:6px}.vs-live{font-size:.875rem;font-weight:700}.live-referee,.vs-live{color:var(--muted-foreground)}.live-referee{font-size:.75rem;font-style:italic;margin-bottom:14px;text-align:center}.live-match-unique-views{align-items:center;color:var(--muted-foreground);display:flex;font-size:.8125rem;gap:4px;justify-content:center;margin-bottom:12px}.live-match-reactions{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.live-match-unique-views-number{color:var(--foreground);font-weight:600}.btn-small{font-size:.875rem;min-height:var(--touch-target-min);padding:12px 18px;width:100%}.loading{font-size:1rem;padding:40px 20px;text-align:center}@media (max-width:768px){.stats-grid-detailed{grid-template-columns:1fr}.stat-item{align-items:flex-start;flex-direction:column;gap:4px}.stat-value{text-align:left}.table-header,.table-row{font-size:.75rem;gap:8px;grid-template-columns:50px 2fr 1fr 1fr 1fr 1fr 1fr;padding:12px 10px}.tournament-stats-grid{grid-template-columns:repeat(2,1fr)}.live-matches-grid{grid-template-columns:1fr}}.tournament-list-container{background-color:#f5f5f7;min-height:100vh;padding:24px 16px}.tournament-list-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin:0 auto 24px;max-width:1200px}.tournament-list-header h1{color:#333;margin:0}.tournament-filters{display:flex;flex-wrap:wrap;gap:12px;margin:0 auto 24px;max-width:1200px}.tournament-filters button{background:#fff;border:2px solid #ddd;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.tournament-filters button:hover{border-color:var(--primary);color:var(--primary)}.tournament-filters button.active{background:var(--primary);border-color:var(--primary);color:#fff}.tournaments-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr;margin:0 auto;max-width:1200px}@media (min-width:768px){.tournaments-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.tournaments-grid{grid-template-columns:repeat(3,1fr)}}.tournament-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:24px;transition:transform .2s,box-shadow .2s}.tournament-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.tournament-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.tournament-card-header h3{color:#333;flex:1 1;font-size:20px;margin:0}.status-badge{border-radius:12px;font-size:12px;padding:4px 12px;white-space:nowrap}.status-badge.status-active{background:#d4edda;color:#155724}.status-badge.status-completed{background:#d1ecf1;color:#0c5460}.status-badge.status-upcoming{background:#fff3cd;color:#856404}.tournament-description{color:#666;line-height:1.5;margin:12px 0}.tournament-date,.tournament-location{color:#888;font-size:14px;margin:8px 0}.tournament-actions{margin-top:16px}.tournament-actions .btn-primary{width:100%}.no-tournaments{color:#666;grid-column:1/-1;padding:60px 20px;text-align:center}.no-tournaments p{font-size:18px;margin:0}.admin-view-as{margin:0 auto;max-width:720px;padding:24px 16px}.admin-view-as-banner{align-items:center;background:linear-gradient(135deg,#2563eb26,#2563eb0d);border:1px solid #2563eb4d;border-radius:12px;display:flex;gap:12px;margin-bottom:24px;padding:16px 20px}.admin-view-as-banner-icon{font-size:1.5rem}.admin-view-as-stop{margin-left:auto}.admin-view-as-error,.admin-view-as-loading{padding:48px;text-align:center}.admin-view-as-card{padding:24px}.admin-view-as-identity{align-items:center;display:flex;gap:20px;margin-bottom:24px}.admin-view-as-avatar{border-radius:50%;height:80px;width:80px}.admin-view-as-name{font-size:1.5rem;margin:0 0 4px}.admin-view-as-email{color:var(--muted-foreground);margin:0}.admin-view-as-card h2{font-size:1.1rem;margin:24px 0 12px}.admin-view-as-empty{color:var(--muted-foreground)}.admin-view-as-table{border-collapse:collapse;font-size:14px;width:100%}.admin-view-as-table td,.admin-view-as-table th{border-bottom:1px solid var(--border);padding:10px 12px;text-align:left}.admin-view-as-table th{color:var(--muted-foreground);font-weight:600}.admin-view-as-won{color:var(--success);font-weight:600}.admin-view-as-lost{color:var(--destructive)}.venue-gantt{background:#fff;background:var(--background,#fff);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:8px;border-radius:var(--radius,8px);box-shadow:0 1px 3px #0000000f;margin-top:12px;overflow:hidden}.venue-gantt-legend{background:#f8f9fa;background:var(--muted,#f8f9fa);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border,#e5e7eb);color:#6b7280;color:var(--muted-foreground,#6b7280);display:flex;flex-wrap:wrap;font-size:.8125rem;font-weight:500;gap:20px;padding:12px 16px}.venue-gantt-legend-item{align-items:center;display:inline-flex;gap:6px}.venue-gantt-legend-item:before{border-radius:4px;content:"";flex-shrink:0;height:12px;width:12px}.venue-gantt-legend-item.availability:before{background:#22c55e;border:1px solid #16a34a}.venue-gantt-legend-item.block:before{background:#ef4444;border:1px solid #dc2626}.venue-gantt-legend-item.booking:before{background:#3b82f6;border:1px solid #2563eb}.venue-gantt-legend-item.match:before{background:#8b5cf6;border:1px solid #7c3aed}.venue-gantt-scroll{overflow-x:auto}.venue-gantt-table{border-collapse:collapse;font-size:13px;min-width:800px;width:100%}.venue-gantt-table td,.venue-gantt-table th{border:1px solid #dee2e6;border:1px solid var(--border,#dee2e6);padding:0;vertical-align:middle}.venue-gantt-table .venue-gantt-row-label{background:#f8f9fa;background:var(--muted,#f8f9fa);color:#212529;color:var(--foreground,#212529);font-weight:600;min-width:160px;padding:8px 12px;width:160px}.venue-gantt-row-label-venue{color:#6c757d;color:var(--muted-foreground,#6c757d);font-size:12px}.venue-gantt-row-label-court{font-size:13px}.venue-gantt-time-axis{height:32px;padding:0}.venue-gantt-time-labels{background:#f8f9fa;background:var(--muted,#f8f9fa);display:flex;height:100%;width:100%}.venue-gantt-time-label{border-left:1px solid #dee2e6;border-left:1px solid var(--border,#dee2e6);color:#6c757d;color:var(--muted-foreground,#6c757d);display:inline-block;font-size:11px;padding:6px 0;text-align:center}.venue-gantt-time-label:first-child{border-left:none}.venue-gantt-timeline-cell{height:44px;padding:4px 8px;position:relative}.venue-gantt-timeline{background:#f8f9fa;border-radius:4px;height:36px;position:relative;width:100%}.venue-gantt-segment{align-items:center;border-radius:4px;display:flex;height:32px;min-width:24px;overflow:hidden;position:absolute;top:2px}.venue-gantt-segment-label{color:#000;font-size:11px;max-width:100%;overflow:hidden;padding:0 6px;text-overflow:ellipsis;white-space:nowrap}.venue-gantt-segment-availability{background:#22c55e;border:1px solid #16a34a;color:#fff}.venue-gantt-segment-block{background:#ef4444;border:1px solid #dc2626;color:#fff}.venue-gantt-segment-booking{background:#3b82f6;border:1px solid #2563eb;color:#fff}.venue-gantt-segment-match{background:#8b5cf6;border:1px solid #7c3aed;color:#fff}.venue-management-container{margin:0 auto;max-width:1200px;max-width:var(--content-max,1200px);padding:16px;padding:var(--page-padding-mobile,16px)}@media (min-width:768px){.venue-management-container{padding:24px;padding:var(--page-padding-tablet,24px)}}.venue-management-header{margin-bottom:24px}.venue-management-header .page-subtitle{color:var(--muted-foreground);font-size:.9375rem;margin-top:8px}.venue-success-banner{background:#22c55e1f;border:1px solid #22c55e66;border-radius:var(--radius);color:#166534;font-size:.9375rem;font-weight:500;margin-bottom:16px;padding:12px 16px}.venue-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px;max-width:1200px;max-width:var(--content-max,1200px)}.venue-tab{background:var(--card);border:2px solid var(--border);border-radius:var(--radius);color:var(--primary);cursor:pointer;font-size:.875rem;font-weight:600;margin:0;padding:12px 20px;transition:all .2s}.venue-tab:hover{background:var(--muted);border-color:var(--primary)}.venue-tab.active{background:var(--primary);border-color:#0000;color:var(--primary-foreground)}.venue-content{margin:0 auto;max-width:1200px;max-width:var(--content-max,1200px)}.bookings-section,.venue-section{display:flex;flex-direction:column;gap:24px}.booking-form,.venue-form{max-width:480px;padding:20px}.booking-form h3,.venue-form h3{color:var(--foreground);font-size:1.125rem;font-weight:700;margin:0 0 16px}.venue-booking-hint{font-size:.875rem}.venue-booking-hint,.venue-booking-selected{color:var(--muted-foreground);margin:0 0 12px}.venue-booking-selected{font-size:.9375rem}.venue-part{display:flex;flex-direction:column;gap:20px;margin-bottom:40px}.venue-part-title{color:var(--foreground);font-size:1.25rem;font-weight:700;margin:0 0 8px}.venue-part-desc{color:var(--muted-foreground);font-size:.9375rem;margin:0 0 16px}.venue-part-subtitle{color:var(--foreground);font-size:1.0625rem;font-weight:600;margin:24px 0 12px}.venue-part-search{max-width:640px;padding:24px}.venue-part-search .venue-search-hint{margin-top:0}.venue-part-claimed .venues-list{margin-top:8px}.venue-part-claimed .blocks-list{margin-top:16px}.venue-part-schedule .venue-gantt-controls{margin-bottom:8px}.venue-section-redesign{display:flex;flex-direction:column;gap:24px}.venue-hero-search{max-width:640px;padding:24px}.venue-hero-title{color:var(--foreground);font-size:1.375rem;font-weight:700;margin:0 0 8px}.venue-search-wrap{margin-top:16px}.venue-search-wrap .venue-search-hero{max-width:100%}.venue-search-module{max-width:560px;padding:20px}.venue-search-module h3{font-size:1.125rem;font-weight:700;margin:0 0 8px}.venue-search-hint{color:var(--muted-foreground);font-size:.875rem;margin:0 0 12px}.venue-availability-card{max-width:640px;padding:20px}.venue-availability-redesign{max-width:900px;padding:24px}.venue-availability-redesign .venue-availability-header{margin-bottom:16px}.venue-availability-header-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.venue-availability-header-row h3{margin:0}.venue-clear-selection{flex-shrink:0}.venue-map-link{color:var(--primary);font-size:.875rem;font-weight:500;margin-left:8px}.venue-map-link:hover{text-decoration:underline}.venue-availability-redesign .venue-availability-details{border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:16px}.venue-availability-redesign .venue-availability-chart{margin-top:16px}.venue-availability-redesign .venue-availability-chart h4{color:var(--foreground);font-size:1rem;font-weight:600;margin:0 0 12px}.venue-availability-chart-controls{margin-bottom:12px}.venue-availability-chart-controls label{display:flex;flex-direction:column;font-size:.875rem;font-weight:500;gap:4px}.venue-availability-chart-controls input{border:1px solid var(--input);border-radius:var(--radius);font-size:.9375rem;padding:8px 12px;width:160px}.venue-availability-legend-note{color:var(--muted-foreground);font-size:.8125rem;margin:12px 0 0}.venue-availability-card h3{align-items:center;display:flex;flex-wrap:wrap;font-size:1.125rem;font-weight:700;gap:8px;margin:0 0 12px}.venue-verified-badge{background:#2563eb1f;border-radius:4px;color:var(--primary);font-size:.7rem;font-weight:600;letter-spacing:.02em;padding:3px 8px;text-transform:uppercase}.venue-claim-actions{background:var(--muted);border-radius:var(--radius);margin:12px 0 16px;padding:12px 16px}.venue-claim-hint{color:var(--muted-foreground);font-size:.875rem;margin:0 0 10px}.venue-no-game-notice{background:#fef3c7;border:1px solid #f59e0b;border-radius:var(--radius);color:#92400e;font-size:.875rem;margin:0 0 12px;padding:10px 12px}.venue-availability-card p{font-size:.9375rem;margin:0 0 8px}.venue-availability-courts{font-size:.9375rem;margin:0 0 12px;padding-left:20px}.venue-availability-note{color:var(--muted-foreground);font-size:.8125rem;margin-top:12px}.form-row-inline{flex-wrap:wrap;gap:16px;margin-bottom:14px}.form-row-inline>div{flex:1 1;min-width:120px}.form-row-inline label{display:block;font-size:.9375rem;font-weight:600;margin-bottom:4px}.form-row-inline input{border:1px solid var(--input);border-radius:var(--radius);font-size:.9375rem;padding:10px 12px;width:100%}.form-row{margin-bottom:14px}.form-row label{color:var(--foreground);display:block;font-size:.875rem;font-weight:500;margin-bottom:4px}.form-row input,.form-row select{background:var(--background);border:1px solid var(--input);border-radius:var(--radius);color:var(--foreground);font-size:1rem;padding:10px 12px;width:100%}.venue-game-chips{display:flex;flex-wrap:wrap;gap:10px}.chip-label{align-items:center;cursor:pointer;display:inline-flex;font-size:.875rem;gap:6px}.booking-form .btn-primary,.venue-form .btn-primary{margin-top:8px}.venues-list{display:flex;flex-direction:column;gap:16px}.venue-empty,.venue-no-courts{color:var(--muted-foreground);font-size:.9375rem;margin:0}.venue-card{padding:20px}.venue-card-header{margin-bottom:12px}.venue-card-header h4{align-items:center;color:var(--foreground);display:flex;flex-wrap:wrap;font-size:1.125rem;font-weight:700;gap:8px;margin:0 0 4px}.venue-address{color:var(--muted-foreground);font-size:.875rem;margin:0 0 8px}.venue-address .venue-map-link{margin-left:4px}.venue-form-error{color:#dc2626;color:var(--destructive,#dc2626);font-size:.8125rem;margin:6px 0 0}.venue-form-hint{color:var(--muted-foreground);font-size:.8125rem;margin:6px 0 0}.venue-location-section{margin-top:4px}.venue-location-hint{color:var(--muted-foreground);font-size:.8125rem;margin:4px 0 8px}.venue-location-coords{display:flex;flex-wrap:wrap;gap:12px}.venue-location-coords input{border:1px solid var(--input);border-radius:var(--radius);font-size:.875rem;padding:8px 10px}.venue-card-location{border-top:1px solid var(--border);margin:10px 0;padding:10px 0}.venue-location-edit input[type=text]{border:1px solid var(--input);border-radius:var(--radius);max-width:400px;padding:8px 10px;width:100%}.venue-location-display{color:var(--muted-foreground);font-size:.875rem;margin:4px 0 0}.venue-location-coords-display{font-size:.8125rem;opacity:.85}.venue-location-extra{color:var(--muted-foreground);font-size:.8125rem}.venue-location-details-row{margin-top:8px}.venue-location-details-row label{display:block;font-size:.8125rem;font-weight:600;margin-bottom:4px}.venue-location-details-row input{border:1px solid var(--input);border-radius:var(--radius);font-size:.875rem;max-width:400px;padding:8px 10px;width:100%}.venue-location-fetching{color:var(--muted-foreground);font-size:.8125rem;margin:4px 0 0}.venue-form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.venue-add-venue-toggle{margin-bottom:16px}.venue-filter-wrap{margin-bottom:16px;max-width:320px}.venue-filter-label{color:var(--foreground);display:block;font-size:.875rem;font-weight:500;margin-bottom:4px}.venue-filter-input{background:var(--background);border:1px solid var(--input);border-radius:var(--radius);color:var(--foreground);font-size:.9375rem;padding:10px 12px;width:100%}.venue-games{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.venue-game-badge{background:var(--muted);border-radius:var(--radius);color:var(--foreground);display:inline-block;font-size:.75rem;font-weight:600;padding:4px 10px}.venue-courts{border-top:1px solid var(--border);padding-top:12px}.venue-courts ul{list-style:none;margin:8px 0;padding:0}.venue-courts li{font-size:.9375rem;padding:4px 0}.add-court-inline{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.add-court-inline input{border:1px solid var(--input);border-radius:var(--radius);flex:1 1;font-size:1rem;min-width:120px;padding:8px 12px}.btn-sm{font-size:.8125rem;padding:6px 12px}.bookings-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.bookings-table{border-collapse:collapse;font-size:.875rem;min-width:520px;width:100%}.bookings-table td,.bookings-table th{border-bottom:1px solid var(--border);padding:12px 14px;text-align:left}.bookings-table th{background:var(--muted);color:var(--muted-foreground);font-weight:600}.bookings-table td{color:var(--foreground)}.court-edit-form{background:var(--muted);border-radius:var(--radius-lg);margin-bottom:12px;margin-top:12px;padding:16px}.court-edit-form h4{color:var(--foreground);font-size:1rem;font-weight:700;margin:0 0 12px}.form-row-inline{align-items:center;display:flex;gap:12px}.form-row-inline input{width:auto}.slot-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.slot-row input[type=time],.slot-row select{font-size:.875rem;padding:8px 10px;width:auto}.court-form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.court-row{background:var(--muted);border:1px solid var(--border);border-radius:var(--radius);gap:8px;justify-content:space-between;margin-top:8px;padding:10px 12px}.court-info,.court-row{align-items:center;display:flex;flex-wrap:wrap}.court-info{gap:10px;min-width:0}.court-name{color:var(--foreground);font-weight:600}.court-sports{display:inline-flex;flex-wrap:wrap;gap:4px}.court-price{color:var(--primary);font-size:.875rem;font-weight:600}.court-slots{display:inline-flex;flex-wrap:wrap;gap:6px}.slot-badge{background:var(--accent);border-radius:var(--radius-sm);color:var(--accent-foreground);font-size:.75rem;padding:2px 8px}.blocks-section{display:flex;flex-direction:column;gap:24px}.block-form{max-width:480px;padding:20px}.block-form h3{font-size:1.125rem;margin:0 0 16px}.block-form h3,.blocks-list h3{color:var(--foreground);font-weight:700}.blocks-list h3{font-size:1rem;margin:0 0 12px}.venue-admins-section{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.venue-admins-section strong{display:block;font-size:.875rem;margin-bottom:8px}.venue-admins-list{list-style:none;margin:0 0 8px;padding:0}.venue-admins-list li{align-items:center;display:flex;font-size:.875rem;gap:8px;justify-content:space-between;padding:4px 0}.venue-private-section{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.venue-private-section strong{display:block;font-size:.875rem;margin-bottom:8px}.venue-private-edit{margin-top:8px}.venue-private-edit .chip-label{display:block;margin-bottom:8px}.venue-private-groups{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin:12px 0;padding-left:8px}.venue-private-groups-label{font-size:.875rem;font-weight:500;margin-right:4px}.venue-private-no-groups{color:var(--muted-foreground);font-size:.875rem}.venue-private-display{margin-top:8px}.venue-private-summary{color:var(--muted-foreground);font-size:.875rem;margin:0 0 8px}.add-venue-admin-inline{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.add-venue-admin-inline input{font-size:.875rem;padding:8px 10px;width:200px}.court-price-unit{color:var(--muted-foreground);font-size:.875rem}.venue-calendar-section{display:flex;flex-direction:column;gap:20px}.venue-gantt-controls{max-width:640px;padding:16px 20px}.venue-gantt-controls h3{font-size:1.125rem;margin:0 0 8px}.venue-gantt-desc{color:var(--muted-foreground);font-size:.875rem;margin:0 0 16px}.venue-gantt-filters{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px}.venue-gantt-filters label{display:flex;flex-direction:column;font-size:.875rem;font-weight:500;gap:4px}.venue-gantt-filters input,.venue-gantt-filters select{border:1px solid var(--input);border-radius:var(--radius);font-size:.9375rem;min-width:140px;padding:8px 12px}.bookings-filters{max-width:900px;padding:16px 20px}.bookings-filters h3{font-size:1.125rem;margin:0 0 12px}.bookings-filters-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px}.bookings-filters-row label{display:flex;flex-direction:column;font-size:.875rem;font-weight:500;gap:4px}.bookings-filters-row input,.bookings-filters-row select{border:1px solid var(--input);border-radius:var(--radius);font-size:.9375rem;min-width:140px;padding:8px 12px}.booking-type-badge{border-radius:4px;display:inline-block;font-size:12px;font-weight:600;padding:2px 8px}.booking-type-badge.type-booking{background:#cce5ff;color:#004085}.booking-type-badge.type-match{background:#e2d5f1;color:#3d2465}.venue-list-search.venue-filter-wrap{margin-bottom:12px;max-width:400px}.venue-list-view.venues-list{display:block}.venue-list-table{border-collapse:collapse;font-size:.9375rem;width:100%}.venue-list-table td,.venue-list-table th{border-bottom:1px solid var(--border);padding:10px 12px;text-align:left}.venue-list-table th{color:var(--muted-foreground);font-size:.8125rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.venue-list-table tbody tr:hover{background:var(--muted)}.venue-list-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.venue-list-actions .btn-sm{white-space:nowrap}.venue-edit-modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:24px;position:fixed;z-index:1000}.venue-edit-modal{background:var(--card);border-radius:8px;border-radius:var(--radius,8px);box-shadow:0 20px 40px #0003;color:var(--card-foreground);display:flex;flex-direction:column;max-height:calc(100vh - 48px);max-width:640px;width:100%}.venue-edit-modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.venue-edit-modal-header h2{font-size:1.25rem;font-weight:700;margin:0}.venue-edit-modal-close{background:none;border:none;border-radius:var(--radius);color:var(--muted-foreground);cursor:pointer;font-size:1.5rem;line-height:1;padding:4px 8px}.venue-edit-modal-close:hover{background:var(--muted);color:var(--foreground)}.venue-edit-modal-body{flex:1 1;overflow-y:auto;padding:20px}.venue-edit-modal-content .venue-address{margin-bottom:12px}.venue-edit-modal-content .venue-admins-section,.venue-edit-modal-content .venue-courts,.venue-edit-modal-content .venue-location-section,.venue-edit-modal-content .venue-private-section{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.audit-log-container{margin:0 auto;max-width:1400px;max-width:var(--content-max-wide,1400px);padding:16px;padding:var(--page-padding-mobile,16px)}.audit-log-header{margin-bottom:20px}.audit-log-header .page-subtitle{color:var(--muted-foreground);font-size:.9375rem;margin-top:8px}.audit-log-date-range{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.audit-log-date-range label{align-items:center;display:flex;font-size:.875rem;font-weight:500;gap:8px}.audit-log-datetime-input{background:var(--background);color:var(--foreground);padding:8px 12px}.audit-log-datetime-input,.audit-log-load-btn{border:1px solid var(--input);border-radius:var(--radius);font-size:.875rem}.audit-log-load-btn{background:var(--primary);color:var(--primary-foreground);cursor:pointer;font-weight:500;padding:8px 16px}.audit-log-load-btn:hover:not(:disabled){filter:brightness(1.05)}.audit-log-load-btn:disabled{cursor:not-allowed;opacity:.7}.audit-log-range-hint{color:var(--muted-foreground);font-size:.8125rem;margin:-8px 0 12px}.audit-log-pagination{display:flex;gap:12px;margin-bottom:16px}.audit-log-page-btn{background:var(--background);border:1px solid var(--input);border-radius:var(--radius);color:var(--foreground);cursor:pointer;font-size:.875rem;padding:8px 16px}.audit-log-page-btn:hover:not(:disabled){background:var(--muted)}.audit-log-page-btn:disabled{cursor:not-allowed;opacity:.5}.audit-log-filters{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.audit-log-filters label{align-items:center;display:flex;font-size:.875rem;font-weight:500;gap:8px}.audit-log-filters select{background:var(--background);border:1px solid var(--input);border-radius:var(--radius);color:var(--foreground);font-size:.875rem;padding:8px 12px}.audit-log-filter-user select{min-width:180px}.audit-log-filter-search{flex:1 1;min-width:200px}.audit-log-user-search-input{background:var(--background);border:1px solid var(--input);border-radius:var(--radius);color:var(--foreground);font-size:.875rem;max-width:280px;padding:8px 12px;width:100%}.audit-log-user-search-input::placeholder{color:var(--muted-foreground)}.audit-log-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.audit-log-table{border-collapse:collapse;font-size:.8125rem;min-width:640px;width:100%}.audit-log-table td,.audit-log-table th{border-bottom:1px solid var(--border);padding:10px 12px;text-align:left}.audit-log-table th{background:var(--muted);color:var(--muted-foreground);font-weight:600}.audit-log-time{white-space:nowrap}.audit-log-id{max-width:120px}.audit-log-details,.audit-log-id{overflow:hidden;text-overflow:ellipsis}.audit-log-details{max-width:200px}.audit-log-empty{color:var(--muted-foreground);padding:24px!important;text-align:center}.host-match-page{margin:0 auto;max-width:480px;padding:24px}.host-match-page h1{margin-bottom:8px}.host-match-subtitle{color:#666;margin-bottom:24px}.host-match-form .form-group{margin-bottom:16px}.host-match-form .form-group label{display:block;font-weight:500;margin-bottom:6px}.host-match-venue-selected{color:#666;color:var(--muted-foreground,#666);font-size:.9375rem;margin-top:8px}.host-match-venue-availability{color:#6b7280;color:var(--muted-foreground,#6b7280)}.host-match-venue-claim-hint{color:#dc2626;color:var(--destructive,#dc2626);font-size:.875rem;font-weight:500;margin-top:8px}.host-match-form .form-group input[type=date],.host-match-form .form-group input[type=email],.host-match-form .form-group input[type=time],.host-match-form .form-group select{border:1px solid #ddd;border-radius:6px;font-size:1rem;padding:8px 12px;width:100%}.host-match-form .form-row{display:flex;gap:16px}.host-match-form .form-row .form-group{flex:1 1}.host-match-error{background:#fee;border-radius:6px;color:#c00;margin-bottom:16px;padding:10px 12px}.host-match-form .form-actions{display:flex;gap:12px;margin-top:24px}.host-match-form .form-actions .btn-primary,.host-match-form .form-actions .btn-secondary{border-radius:6px;cursor:pointer;font-size:1rem;padding:10px 20px}.host-match-form .form-actions .btn-primary:disabled{cursor:not-allowed;opacity:.7}.match-history-container{background-color:var(--muted);min-height:100vh;padding:20px}@media (min-width:768px){.match-history-container{padding:28px 24px}}@media (min-width:1024px){.match-history-container{padding:36px 32px}}.match-history-header{align-items:flex-start;gap:16px;justify-content:space-between;margin:0 auto 28px}.match-filters,.match-history-header{display:flex;flex-wrap:wrap;max-width:1200px;max-width:var(--content-max,1200px)}.match-filters{gap:12px;margin:0 auto 24px}.match-filter-btn{background:var(--card);border:2px solid var(--border);border-radius:var(--radius);color:var(--primary);cursor:pointer;font-size:.875rem;font-weight:600;padding:12px 20px;transition:all .2s}.match-filter-btn:hover{background:var(--muted);border-color:var(--primary)}.match-filter-btn.filter-active{background:var(--primary);border-color:#0000;color:var(--primary-foreground)}.matches-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin:0 auto;max-width:1200px;max-width:var(--content-max,1200px)}@media (max-width:768px){.matches-list{grid-template-columns:1fr}}.match-history-card{border-left:4px solid #0000;border-radius:var(--radius-xl);overflow:hidden;padding:20px;transition:transform .2s,box-shadow .2s}.match-history-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.match-history-card.status-completed{border-left-color:#15803d}.match-history-card.status-in-progress{border-left-color:var(--primary)}.match-history-card.status-scheduled{border-left-color:#ca8a04}.match-header{align-items:flex-start;justify-content:space-between;margin-bottom:10px}.match-header,.match-info{display:flex;flex-wrap:wrap;gap:8px}.match-info{align-items:center;flex:1 1}.match-number-badge{background:var(--primary);border-radius:6px;color:#fff;font-size:13px;font-weight:700;padding:4px 10px}.round-badge{background:var(--muted);border-radius:var(--radius-sm);color:var(--muted-foreground);font-size:.8125rem;font-weight:600;padding:4px 10px}.tournament-badge{background:#f3e5f5;border:1px solid #e1bee7;border-radius:4px;color:var(--primary);font-size:12px;font-weight:600;padding:3px 8px}.match-meta{align-items:flex-end;display:flex;flex-direction:column;font-size:12px;gap:4px}.match-datetime{align-items:center;color:var(--muted-foreground);display:flex;gap:4px}.datetime-icon{font-size:12px}.datetime-text{font-size:12px;white-space:nowrap}.match-type-badge{border-radius:6px;font-size:11px;font-weight:600;padding:3px 8px}.match-type-badge.doubles{background:#e3f2fd;color:#1976d2}.match-type-badge.singles{background:#f3e5f5;color:#7b1fa2}.status-badge{border-radius:6px;font-size:11px;font-weight:600;padding:3px 8px;text-transform:capitalize}.status-badge.status-completed{background:#d4edda;color:#155724}.status-badge.status-scheduled{background:#fff3cd;color:#856404}.status-badge.status-in-progress{background:#d1ecf1;color:#0c5460}.match-players{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-around;margin-bottom:10px;padding:8px 0}.match-players .player,.match-players .team{flex:1 1;min-width:120px;text-align:center}.player-name{color:#333;display:block;font-size:14px;font-weight:600;line-height:1.3;margin-bottom:4px}.match-players .score{color:var(--primary);display:block;font-size:12px;font-weight:600;margin-top:2px}.match-players .vs{color:#999;font-size:16px;font-weight:700;padding:0 8px}.match-footer{border-top:1px solid #f0f0f0;flex-wrap:wrap;gap:8px;justify-content:space-between;padding-top:8px}.match-footer,.referee-info{align-items:center;display:flex}.referee-info{font-size:12px;gap:6px}.referee-label{color:#666}.referee-name{color:#333;font-weight:500}.match-actions{display:flex;gap:8px;justify-content:flex-end}.btn-small{border-radius:4px;font-size:12px;padding:6px 12px}.no-matches{font-size:.9375rem;padding:60px 20px}.match-history-container .loading,.no-matches{color:var(--muted-foreground);text-align:center}.match-history-container .loading{font-size:1rem;padding:40px 20px}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.match-details-modal{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000004d;max-height:90vh;max-width:800px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:20px}.modal-header h2{color:#333;margin:0}.close-btn{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;line-height:1;padding:0;width:32px}.close-btn:hover{color:#333}.modal-content{padding:20px}.match-summary,.score-breakdown,.scoring-history{margin-bottom:24px}.match-summary h3,.score-breakdown h3,.scoring-history h3{color:#333;font-size:18px;margin:0 0 16px}.summary-row{border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:8px 0}.summary-row span:first-child{color:#666;font-weight:500}.games-scores{display:flex;flex-direction:column;gap:8px}.game-score-item{background:#f8f9fa;border-radius:6px;font-size:16px;padding:12px}.history-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.history-item{align-items:flex-start;background:#f8f9fa;border-left:3px solid var(--primary);border-radius:6px;display:flex;font-size:14px;gap:12px;padding:12px}.history-game{color:var(--primary);font-size:15px;font-weight:600;min-width:70px}.history-service{color:#333;font-size:13px;font-weight:600;min-width:90px}.history-details{display:flex;flex:1 1;flex-direction:column;gap:6px}.history-detail-row{align-items:center;display:flex;gap:8px}.history-label{color:#666;font-size:13px;font-weight:500;min-width:100px}.history-value{color:#333;font-weight:500}.history-server-name{color:#333;font-weight:600}.history-receiver-name{color:#007bff;font-weight:500}.history-winner{color:#28a745;font-weight:600}.history-loser{color:#dc3545;font-weight:500}.history-serves-badge{background:var(--primary);color:#fff}.history-points-historic,.history-serves-badge{border-radius:12px;font-size:12px;font-weight:600;padding:2px 8px}.history-points-historic{background:#ffc107;color:#333}.history-time{color:#999;font-size:12px}.modal-actions{border-top:1px solid #eee;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:24px}.select-apartment-container{background:#f5f5f7;min-height:100vh;padding:16px;padding:var(--page-padding-mobile,16px)}@media (min-width:768px){.select-apartment-container{padding:24px;padding:var(--page-padding-tablet,24px)}}.select-apartment-card{background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000000f;margin:20px auto 0;max-width:420px;padding:24px}@media (min-width:768px){.select-apartment-card{margin-top:24px;padding:28px}}.select-apartment-card h1{color:#333;font-size:22px;margin:0 0 8px}.select-apartment-subtitle{color:#666;font-size:14px;margin-bottom:24px}.select-apartment-empty{color:#666;margin-bottom:16px}.select-apartment-card .form-group{margin-bottom:18px}.select-apartment-card .form-group label{color:#333;display:block;font-weight:600;margin-bottom:6px}.select-apartment-input{border:1px solid #ddd;border-radius:8px;font-size:16px;padding:10px 12px;width:100%}.select-apartment-input:focus{border-color:var(--primary);outline:none}.select-apartment-card .error-message{background:#fee;border-radius:8px;color:#c00;font-size:14px;margin-bottom:16px;padding:10px 12px}.select-apartment-card .btn-primary{margin-top:8px;padding:12px;width:100%}.select-apartment-card .btn-secondary{width:100%}.group-manage-container{margin:0 auto;max-width:900px;padding:24px}.group-manage-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.group-manage-header h1{margin:0}.group-manage-actions{display:flex;gap:12px}.group-create-form{margin-bottom:24px;padding:20px}.group-create-form h2{margin-bottom:16px;margin-top:0}.group-create-form .form-group{margin-bottom:16px}.group-create-form .form-group label{display:block;font-weight:500;margin-bottom:6px}.group-create-form .form-group small{color:#666;display:block;font-size:.9rem;margin-top:4px}.group-create-form .form-row{align-items:center;display:flex;gap:12px}.group-create-form .form-row input{border:1px solid #ddd;border-radius:6px;flex:1 1;padding:8px 12px}.group-create-form .form-actions{display:flex;gap:12px;margin-top:20px}.group-manage-intro{color:#666;margin-bottom:20px}.group-search-wrap{margin-bottom:16px}.group-search-label{color:var(--foreground);display:block;font-size:.875rem;font-weight:500;margin-bottom:4px}.group-search-input{background:var(--background);border:1px solid var(--input);border-radius:var(--radius);color:var(--foreground);font-size:.9375rem;padding:10px 12px;width:100%}.group-search-input:focus{border-color:var(--ring);outline:none}.group-empty{color:#666;padding:24px;text-align:center}.group-card{margin-bottom:24px;padding:20px}.group-card h3{margin-bottom:8px;margin-top:0}.group-short{color:#666;font-size:.95rem;font-weight:400}.group-type{color:#666;font-size:.9rem;margin-bottom:16px}.group-open-badge{background:#16a34a26;color:var(--success)}.group-open-badge,.group-private-badge{border-radius:var(--radius);display:inline-block;font-size:.75rem;font-weight:600;margin-left:8px;padding:2px 8px}.group-private-badge{background:var(--muted);color:var(--muted-foreground)}.group-member-profile-link{background:none;border:none;color:#2563eb;color:var(--primary,#2563eb);cursor:pointer;display:inline;font:inherit;padding:0;text-decoration:none}.group-member-profile-link:hover{text-decoration:underline}.profile-edit-page{background:var(--muted);background:var(--page-bg,var(--muted));min-height:100vh;padding:24px 16px}.profile-edit-card{background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 12px #0000000f;margin:0 auto;max-width:420px;padding:24px}.profile-edit-card h1{color:var(--foreground);font-size:1.35rem;margin:0 0 8px}.profile-edit-note{color:var(--muted-foreground);font-size:.9rem;line-height:1.4;margin:0 0 20px}.profile-edit-field{margin-bottom:16px}.profile-edit-field label{color:var(--foreground);display:block;font-size:14px;font-weight:600;margin-bottom:6px}.profile-edit-input{background:var(--background);border:1px solid var(--border);border-radius:var(--radius);color:var(--foreground);font-size:14px;padding:10px 12px;width:100%}.profile-edit-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #2563eb33;outline:none}.profile-edit-hint{color:#555;color:var(--muted-foreground,#555);display:block;font-size:.8rem;margin-top:6px}.profile-edit-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.profile-edit-actions .btn-primary,.profile-edit-actions .btn-secondary{font-weight:600;min-height:44px;padding:10px 18px}.profile-edit-card-leaderboard{margin-top:24px}.profile-edit-card-leaderboard h2{color:var(--foreground);font-size:1.15rem;margin:0 0 8px}.profile-edit-field-checkbox{margin-bottom:0}.profile-edit-checkbox-label{align-items:flex-start;color:var(--foreground);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px}.profile-edit-checkbox-label input[type=checkbox]{flex-shrink:0;margin-top:3px}.profile-edit-history-container{background:#f5f5f5;background:var(--page-bg,#f5f5f5);min-height:100vh}.profile-edit-history-content{margin:0 auto;max-width:720px;padding:24px 16px}.profile-edit-history-header{margin-bottom:24px}.profile-edit-history-header h1{color:#1a1a1a;font-size:1.5rem;margin:0 0 8px}.profile-edit-history-intro{color:#555;font-size:.95rem;line-height:1.4;margin:0 0 16px}.profile-edit-history-empty{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:32px 24px;text-align:center}.profile-edit-history-empty p{color:#333;margin:0 0 8px}.profile-edit-history-empty-hint{color:#666!important;font-size:.9rem}.profile-edit-history-list{display:flex;flex-direction:column;gap:16px;list-style:none;margin:0;padding:0}.profile-edit-history-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 1px 3px #0000000f;padding:16px 20px}.profile-edit-history-meta{align-items:center;border-bottom:1px solid #eee;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px;padding-bottom:12px}.profile-edit-history-date{color:#666;font-size:.9rem}.profile-edit-history-by{color:#333;font-size:.9rem}.profile-edit-history-changes{display:flex;flex-direction:column;gap:8px}.profile-edit-history-change{font-size:.95rem;line-height:1.4}.profile-edit-history-field{color:#333;font-weight:600;margin-right:6px}.profile-edit-history-diff{color:#555}.profile-edit-history-diff strong{color:#1a1a1a}.user-profile-page{background:#f3f4f6;background:var(--muted,#f3f4f6);min-height:100vh;padding:16px;padding:var(--page-padding-mobile,16px)}.user-profile-container{margin:0 auto;max-width:800px;max-width:var(--content-max,800px)}.user-profile-header-row{margin-bottom:16px}.user-profile-header-row .btn-back{font-size:14px;min-height:44px;min-height:var(--touch-target-min,44px);padding:10px 20px}.user-profile-ad{margin-bottom:20px}.user-profile-card{padding:24px}.user-profile-identity{align-items:center;display:flex;gap:16px;margin-bottom:24px}.user-profile-avatar{border-radius:50%;flex-shrink:0;height:64px;object-fit:cover;width:64px}.user-profile-avatar.cached-avatar-initials{align-items:center;color:#fff;display:flex;font-size:1.5rem;font-weight:600;justify-content:center}.user-profile-name{font-size:1.5rem;margin:0}.user-profile-name,.user-profile-stats-heading{color:#111;color:var(--foreground,#111);font-weight:600}.user-profile-stats-heading{font-size:1.125rem;margin:0 0 16px}.user-profile-no-stats{color:#6b7280;color:var(--muted-foreground,#6b7280);font-size:.9375rem;margin:0}.user-profile-stats-table-wrap{overflow-x:auto}.user-profile-stats-table{border-collapse:collapse;font-size:.875rem;width:100%}.user-profile-stats-table td,.user-profile-stats-table th{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border,#e5e7eb);padding:10px 12px;text-align:left}.user-profile-stats-table th{background:#f9fafb;background:var(--muted,#f9fafb);color:#6b7280;color:var(--muted-foreground,#6b7280);font-weight:600}.user-profile-stats-table td{color:#111;color:var(--foreground,#111)}.user-profile-game-name{white-space:nowrap}@media (max-width:480px){.user-profile-stats-table td,.user-profile-stats-table th{font-size:.8125rem;padding:8px}}.team-stats-page{background:#f3f4f6;background:var(--muted,#f3f4f6);min-height:100vh;padding:16px;padding:var(--page-padding-mobile,16px)}.team-stats-container{margin:0 auto;max-width:900px;max-width:var(--content-max,900px)}.team-stats-header-row{margin-bottom:16px}.team-stats-header-row .btn-back{font-size:14px;min-height:44px;min-height:var(--touch-target-min,44px);padding:10px 20px}.team-stats-ad{margin-bottom:20px}.team-stats-title{color:#111;color:var(--foreground,#111);font-size:1.25rem;font-weight:600;margin:0 0 20px}.team-stats-players{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.team-stats-player-block{padding:16px}.team-stats-player-identity{align-items:center;color:inherit;display:flex;gap:12px;margin-bottom:12px;text-decoration:none}.team-stats-player-identity:hover .team-stats-player-name{color:#2563eb;color:var(--primary,#2563eb);text-decoration:underline}.team-stats-player-avatar{border-radius:50%;flex-shrink:0;height:48px;object-fit:cover;width:48px}.team-stats-player-avatar.cached-avatar-initials{align-items:center;color:#fff;display:flex;font-size:1.125rem;font-weight:600;justify-content:center}.team-stats-player-name{font-size:1rem;font-weight:600}.team-stats-no-stats{color:#6b7280;color:var(--muted-foreground,#6b7280);font-size:.875rem;margin:0}.team-stats-mini-table{border-collapse:collapse;font-size:.8125rem;width:100%}.team-stats-mini-table td,.team-stats-mini-table th{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border,#e5e7eb);padding:6px 8px;text-align:left}.team-stats-mini-table th{font-weight:600}.team-stats-empty,.team-stats-mini-table th{color:#6b7280;color:var(--muted-foreground,#6b7280)}.team-stats-empty{margin:16px 0 0}.subscription-page{margin:0 auto;max-width:960px;padding:24px 16px}.subscription-header{margin-bottom:28px}.subscription-title{font-size:1.75rem;font-weight:700;margin:0 0 8px}.subscription-subtitle{color:#555;color:var(--muted-foreground,#555);font-size:.95rem;margin:0}.subscription-billing-toggle{margin-bottom:24px;padding:16px 20px}.subscription-billing-label{color:#555;color:var(--muted-foreground,#555);display:block;font-size:.85rem;font-weight:600;margin-bottom:8px}.subscription-billing-switch{background:#f5f5f5;background:var(--muted,#f5f5f5);border:1px solid #e0e0e0;border:1px solid var(--border,#e0e0e0);border-radius:var(--radius);display:inline-flex;overflow:hidden}.subscription-billing-option{background:#0000;border:none;color:#555;color:var(--muted-foreground,#555);cursor:pointer;font-size:.95rem;font-weight:600;padding:8px 20px;transition:background .2s,color .2s}.subscription-billing-option:hover{background:#fff9;color:var(--foreground)}.subscription-billing-option-active,.subscription-billing-option-active:hover{background:#2563eb;background:var(--primary,#2563eb);color:#fff}.subscription-billing-note{color:#555;color:var(--muted-foreground,#555);font-size:.8rem;line-height:1.3;margin:10px 0 0}.subscription-current{margin-bottom:32px;padding:20px}.subscription-comparison h2,.subscription-current h2,.subscription-pricing h2{font-size:1.1rem;font-weight:600;margin:0 0 8px}.subscription-current-price{border-top:1px solid #e8e8e8;border-top:1px solid var(--border,#e8e8e8);margin-top:12px;padding-top:12px}.subscription-current-price .subscription-price-main,.subscription-price-monthly{color:var(--foreground);font-size:1.25rem;font-weight:700}.subscription-price-monthly{display:block}.subscription-price-period{font-weight:500}.subscription-price-annual,.subscription-price-period{color:#555;color:var(--muted-foreground,#555);font-size:.9rem}.subscription-price-annual{display:block;margin-top:4px}.subscription-price-save{color:#2563eb;color:var(--primary,#2563eb);font-weight:500}.subscription-comparison-intro,.subscription-plans-intro,.subscription-pricing-intro{color:#555;color:var(--muted-foreground,#555);font-size:.9rem;line-height:1.4;margin:0 0 16px}.subscription-current-badge{background:#f5f5f5;background:var(--muted,#f5f5f5);border-radius:12px;padding:16px}.subscription-plan-name{display:block;font-size:1.2rem;font-weight:700;margin-bottom:2px}.subscription-plan-tagline{font-size:.85rem;margin-bottom:4px}.subscription-plan-desc,.subscription-plan-tagline{color:#555;color:var(--muted-foreground,#555);display:block}.subscription-plan-desc{font-size:.9rem}.subscription-status{color:#555;color:var(--muted-foreground,#555);font-size:.9rem;margin:12px 0 0}.subscription-pricing{margin-bottom:32px}.subscription-plans{margin-bottom:24px}.subscription-plans-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.subscription-plan-card-price{margin-bottom:12px}.subscription-plan-price-main{color:var(--foreground);font-size:1.35rem;font-weight:700}.subscription-plan-price-period{font-weight:500}.subscription-plan-price-period,.subscription-plan-price-year{color:#555;color:var(--muted-foreground,#555);font-size:.85rem}.subscription-plan-price-year{display:block;margin-top:2px}.subscription-plan-price-year-only{color:#555;color:var(--muted-foreground,#555);display:block;font-size:.75rem;font-style:italic;margin-top:4px}.subscription-plan-cta{width:100%}.subscription-plan-card{background:#fff;background:var(--card,#fff);border:1px solid #e0e0e0;border:1px solid var(--border,#e0e0e0);border-radius:12px;padding:20px}.subscription-plan-current{background:#2563eb0d;border-color:#2563eb;border-color:var(--primary,#2563eb)}.subscription-plan-card-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.subscription-plan-card-name{font-size:1.1rem;font-weight:700}.subscription-plan-card-tagline{color:#555;color:var(--muted-foreground,#555);display:block;font-size:.75rem;margin-top:2px}.subscription-plan-badge{background:#2563eb;background:var(--primary,#2563eb);border-radius:999px;color:#fff;font-size:.75rem;padding:2px 8px}.subscription-plan-card-desc{color:#555;color:var(--muted-foreground,#555);font-size:.85rem;line-height:1.4;margin:0 0 16px}.subscription-comparison{margin-bottom:24px;padding:20px}.subscription-comparison-toggle{align-items:center;background:none;border:none;color:var(--foreground);cursor:pointer;display:flex;font:inherit;font-size:1.1rem;font-weight:600;justify-content:space-between;margin:0 0 8px;padding:0;text-align:left;width:100%}.subscription-comparison-toggle:hover{color:#2563eb;color:var(--primary,#2563eb)}.subscription-comparison-chevron{color:#555;color:var(--muted-foreground,#555);font-size:.75rem}.subscription-comparison-wrap{margin-top:12px;overflow-x:auto}.subscription-comparison-table{border-collapse:collapse;font-size:.9rem;width:100%}.subscription-comparison-table td,.subscription-comparison-table th{border:1px solid #e0e0e0;border:1px solid var(--border,#e0e0e0);padding:10px 12px;text-align:left;vertical-align:top}.subscription-comparison-table th{background:#f5f5f5;background:var(--muted,#f5f5f5);color:var(--foreground);font-weight:600}.subscription-comparison-feature-col{min-width:180px}.subscription-comparison-plan-col{min-width:72px;text-align:center}.subscription-comparison-feature-cell{min-width:180px}.subscription-comparison-feature-name{color:var(--foreground);display:block;font-weight:600}.subscription-comparison-feature-desc{color:#555;color:var(--muted-foreground,#555);display:block;font-size:.8rem;line-height:1.3;margin-top:2px}.subscription-comparison-plan-cell{text-align:center;vertical-align:middle}.subscription-comparison-check{color:#2563eb;color:var(--primary,#2563eb);font-size:1.1rem;font-weight:700}.subscription-comparison-dash{color:#888;color:var(--muted-foreground,#888)}.subscription-footer{color:#555;color:var(--muted-foreground,#555);font-size:.9rem;margin:0 0 24px}.subscription-actions{display:flex;gap:12px}.privacy-page{background:#f9fafb;background:var(--muted,#f9fafb);min-height:100vh;padding:24px 16px 48px}.privacy-container{background:#fff;background:var(--background,#fff);border-radius:12px;border-radius:var(--radius-xl,12px);box-shadow:0 1px 3px #0000000f;margin:0 auto;max-width:720px;padding:32px 24px}@media (min-width:768px){.privacy-container{padding:40px 48px}}.privacy-header{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border,#e5e7eb);margin-bottom:28px;padding-bottom:20px}.privacy-header h1{color:#111;color:var(--foreground,#111);font-size:1.75rem;font-weight:700;margin:0 0 8px}.privacy-updated{color:#6b7280;color:var(--muted-foreground,#6b7280);font-size:.875rem;margin:0 0 12px}.privacy-contact{color:#111;color:var(--foreground,#111);font-size:.9375rem;margin:0}.privacy-contact a{color:#2563eb;color:var(--primary,#2563eb);font-weight:600;text-decoration:none}.privacy-contact a:hover{text-decoration:underline}.privacy-nav{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:28px}.privacy-nav a{color:#2563eb;color:var(--primary,#2563eb);font-size:.9375rem;font-weight:500;text-decoration:none}.privacy-nav a:hover{text-decoration:underline}.privacy-content{color:#111;color:var(--foreground,#111);font-size:.9375rem;line-height:1.65}.privacy-section{margin-bottom:36px}.privacy-section h2{color:#111;color:var(--foreground,#111);font-size:1.375rem;font-weight:700;margin:0 0 16px}.privacy-section h3{color:#111;color:var(--foreground,#111);font-size:1.0625rem;font-weight:600;margin:24px 0 10px}.privacy-section p{margin:0 0 12px}.privacy-section ul{margin:0 0 12px;padding-left:1.5rem}.privacy-section li{margin-bottom:6px}.privacy-section a{color:#2563eb;color:var(--primary,#2563eb);text-decoration:none}.privacy-section a:hover{text-decoration:underline}.privacy-footer{border-top:1px solid #e5e7eb;border-top:1px solid var(--border,#e5e7eb);color:#6b7280;color:var(--muted-foreground,#6b7280);font-size:.875rem;margin-top:36px;padding-top:20px}.privacy-footer a{color:#2563eb;color:var(--primary,#2563eb);text-decoration:none}.privacy-footer a:hover{text-decoration:underline}.privacy-footer p{margin:0}.statistics-page{margin:0 auto;max-width:1100px;padding:16px 16px calc(48px + env(safe-area-inset-bottom, 0));width:100%}.statistics-loading,.statistics-loading-inline{color:var(--muted-foreground);font-size:15px;padding:48px 24px;text-align:center}.statistics-loading-inline{font-size:14px;padding:24px 16px}.statistics-header{margin-bottom:28px}.statistics-title{color:var(--foreground);font-size:1.75rem;font-weight:700;margin:0 0 4px}.statistics-subtitle{color:var(--muted-foreground);font-size:.95rem;margin:0 0 16px}.statistics-sport-links{display:flex;flex-wrap:wrap;gap:8px}.statistics-sport-tab{-webkit-tap-highlight-color:transparent;background:var(--background);border:1px solid var(--border);border-radius:6px;border-radius:var(--radius,6px);color:var(--foreground);cursor:pointer;font-size:14px;font-weight:500;min-height:44px;padding:10px 16px;transition:background .15s,border-color .15s}.statistics-sport-tab:hover{background:var(--muted);border-color:var(--muted-foreground)}.statistics-sport-tab.active{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.statistics-section{margin-bottom:32px}.statistics-section--ranking{padding:0 0 4px}.statistics-section-title{align-items:center;background:var(--muted);border-left:4px solid var(--primary);border-radius:6px;border-radius:var(--radius,6px);color:var(--foreground);display:flex;flex-wrap:wrap;font-size:1.0625rem;font-weight:700;gap:8px 10px;letter-spacing:.02em;margin:0 0 12px;padding:12px 14px}.statistics-section-title .statistics-type-badge{align-items:center;border-radius:var(--radius);display:inline-flex;font-size:.6875rem;font-weight:700;letter-spacing:.05em;padding:4px 10px;text-transform:uppercase}.statistics-section--singles .statistics-section-title .statistics-type-badge{background:linear-gradient(135deg,#2563eb40,#2563eb1a);color:var(--primary)}.statistics-section--doubles .statistics-section-title .statistics-type-badge{background:linear-gradient(135deg,#16a34a40,#16a34a1a);color:#15803d}.statistics-page--table-tennis .statistics-section-title{border-left-color:#ea580c}.statistics-page--badminton .statistics-section-title{border-left-color:#0d9488}.statistics-page--football .statistics-section-title{border-left-color:#16a34a}.statistics-page--cricket .statistics-section-title{border-left-color:#ca8a04}.statistics-page--basketball .statistics-section-title{border-left-color:#dc2626}.statistics-page--volleyball .statistics-section-title{border-left-color:#2563eb}.statistics-page--tennis .statistics-section-title{border-left-color:#22c55e}.statistics-page--pickleball .statistics-section-title{border-left-color:#65a30d}.statistics-page--squash .statistics-section-title{border-left-color:#7c3aed}.statistics-section--singles .statistics-section-title{border-left-color:var(--primary)}.statistics-section--doubles .statistics-section-title{border-left-color:#15803d}.stats-table-wrap{-webkit-overflow-scrolling:touch;background:var(--card);border:1px solid var(--border);border-radius:6px;border-radius:var(--radius,6px);overflow-x:auto}.stats-table{border-collapse:collapse;font-size:14px;min-width:280px;width:100%}@media (min-width:768px){.stats-table{font-size:13px;min-width:560px}}.stats-table thead{background:#1e293b;color:#f1f5f9}.stats-table th{font-size:12px;font-weight:600;letter-spacing:.04em;padding:12px 14px;text-align:left;text-transform:uppercase}@media (min-width:768px){.stats-table th{font-size:11px;padding:10px 12px}}.stats-table th.col-num,.stats-table th.col-rank{text-align:right}.stats-table tbody tr{border-bottom:1px solid var(--border);transition:background .12s}.stats-table tbody tr:hover{background:var(--muted)}.stats-table tbody tr:last-child{border-bottom:none}.stats-table td{padding:12px 14px;vertical-align:middle}@media (min-width:768px){.stats-table td{padding:10px 12px}}.stats-table .col-rank{font-feature-settings:"tnum";color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-weight:600;text-align:right;width:40px}.stats-table .col-player{font-weight:600;min-width:140px}.stats-table .col-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;width:56px}.stats-table .col-won{color:#16a34a;font-weight:600}.stats-table .col-lost{color:var(--destructive)}.stats-table .col-diff{font-weight:600}.stats-table .col-pts{color:var(--primary);font-weight:700}.stats-table .stats-player-link{-webkit-tap-highlight-color:transparent;align-items:center;background:none;border:none;color:var(--primary);cursor:pointer;display:inline-flex;font:inherit;min-height:44px;padding:8px 0;text-decoration:none}@media (min-width:768px){.stats-table .stats-player-link{display:inline;min-height:0;padding:0}}.stats-table .stats-player-link:hover{text-decoration:underline}.stats-table .doubles-sep{color:var(--muted-foreground);margin:0 2px}.stats-table .doubles-team-name{color:var(--muted-foreground);font-size:.95em;font-weight:500;margin-left:4px}.stats-table-empty{color:var(--muted-foreground);font-size:14px;padding:24px;text-align:center}.stats-table .top-row.rank-1{background:linear-gradient(90deg,#fef08a33,#0000 40%);border-left:3px solid #eab308}.stats-table .top-row.rank-2{background:linear-gradient(90deg,#e2e8f04d,#0000 40%);border-left:3px solid #94a3b8}.stats-table .top-row.rank-3{background:linear-gradient(90deg,#fde68a33,#0000 40%);border-left:3px solid #d97706}.stats-table-recent .col-date{font-feature-settings:"tnum";color:var(--muted-foreground);font-variant-numeric:tabular-nums;white-space:nowrap;width:100px}.stats-table-recent .col-result{min-width:200px}.stats-table-recent .result-winner{color:var(--foreground);font-weight:600}.stats-table-recent .result-vs{color:var(--muted-foreground);font-size:12px}.stats-table-recent .result-loser{color:var(--muted-foreground)}.stats-table-recent .col-score{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500;text-align:right}.statistics-links{border-top:1px solid var(--border);margin-top:40px;padding-top:24px}.statistics-link-list{list-style:none;margin:0 0 12px;padding:0}.statistics-link-list li{margin-bottom:6px}.statistics-link-list a{color:var(--primary);font-weight:500;text-decoration:none}.statistics-link-list a:hover{text-decoration:underline}.statistics-link-meta{color:var(--muted-foreground);font-size:14px}@media (min-width:768px){.statistics-link-meta{font-size:13px}}.statistics-link-meta a{font-weight:400}.statistics-desc{color:var(--muted-foreground);font-size:14px;margin:0}@media (min-width:768px){.statistics-desc{font-size:13px}}.statistics-desc code{background:var(--muted);border-radius:4px;font-size:12px;padding:2px 6px}@media (min-width:768px){.statistics-page{padding:32px 24px 64px}.statistics-title{font-size:2rem}.statistics-section-title{font-size:1.15rem}.stats-table{font-size:14px}.stats-table td,.stats-table th{padding:12px 16px}}.widget-page{background:#fff;background:var(--background,#fff);color:#0f172a;color:var(--foreground,#0f172a);display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,16px) env(safe-area-inset-bottom,16px) env(safe-area-inset-left,16px)}.widget-header{padding:20px 0 16px;text-align:center}.widget-app-name{font-size:1.5rem;font-weight:700;letter-spacing:.02em;margin:0}.widget-subtitle{color:var(--muted-foreground);font-size:.875rem;margin:4px 0 0}.widget-loading{align-items:center;display:flex;flex:1 1;justify-content:center;padding:24px}.widget-cards{display:flex;flex:1 1;flex-direction:column;gap:16px;margin:0 auto;max-width:420px;width:100%}.widget-card{background:#fff;background:var(--card,#fff);border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 12px #0000000f;box-shadow:var(--shadow-card,0 2px 12px #0000000f);padding:16px}.widget-card-live{border-left:4px solid #22c55e}.widget-card-last{border-left:4px solid #3b82f6}.widget-card-next{border-left:4px solid #f59e0b}.widget-card-title{color:var(--muted-foreground);font-size:.75rem;font-weight:600;letter-spacing:.06em;margin:0 0 8px;text-transform:uppercase}.widget-match-up{font-size:1rem;font-weight:600;line-height:1.3;margin:0 0 6px}.widget-score{color:var(--foreground);font-size:1.25rem;font-weight:700;margin:0 0 8px}.widget-winner{font-size:.9rem}.widget-when,.widget-winner{color:var(--muted-foreground);margin:0 0 10px}.widget-when{font-size:.95rem}.widget-card-action{-webkit-tap-highlight-color:transparent;background:var(--primary);border:none;border-radius:8px;color:var(--primary-foreground);cursor:pointer;display:inline-block;font-size:.875rem;font-weight:600;margin-top:4px;padding:8px 14px}.widget-card-action:focus-visible,.widget-card-action:hover{background:var(--primary);background:var(--primary-hover,var(--primary))}.widget-empty{color:var(--muted-foreground);padding:32px 16px;text-align:center}.widget-empty p{font-size:.95rem;margin:0 0 16px}.widget-btn-primary{-webkit-tap-highlight-color:transparent;background:var(--primary);border:none;border-radius:10px;color:var(--primary-foreground);cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px}.widget-btn-primary:focus-visible,.widget-btn-primary:hover{background:var(--primary);background:var(--primary-hover,var(--primary))}.widget-footer{font-size:.875rem;margin-top:auto;padding:20px 0 8px;text-align:center}.widget-link{-webkit-tap-highlight-color:transparent;background:none;border:none;color:var(--muted-foreground);cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}.widget-link:focus-visible,.widget-link:hover{color:var(--foreground)}.widget-footer-sep{color:var(--muted-foreground);margin:0 8px;opacity:.7}.public-layout{background:#f3f4f6;background:var(--muted,#f3f4f6);min-height:100vh}.public-layout-header{align-items:center;background:#fff;background:var(--background,#fff);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border,#e5e7eb);display:flex;justify-content:space-between;padding:12px 20px}.public-layout-brand{align-items:center;display:flex;text-decoration:none}.public-layout-logo{height:55px;object-fit:contain;width:auto}.public-layout-brand:hover{opacity:.9}@media (max-width:768px){.public-layout-header{padding:10px 16px}.public-layout-logo{height:44px}}.public-layout-nav{align-items:center;display:flex;gap:12px}.public-layout-login{border-radius:6px;border-radius:var(--radius,6px);color:#2563eb;color:var(--primary,#2563eb);font-weight:600;padding:8px 16px;text-decoration:none}.public-layout-login:hover{text-decoration:underline}.public-layout-title{color:#111;color:var(--foreground,#111);font-size:1.5rem;font-weight:600;margin:0;padding:20px 20px 0}.public-layout-main{margin:0 auto;max-width:900px;max-width:var(--content-max,900px);padding:20px}.public-card{background:#fff;background:var(--background,#fff);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:8px;border-radius:var(--radius,8px);margin-bottom:20px;padding:20px}.public-desc{color:#6b7280;color:var(--muted-foreground,#6b7280);margin:0 0 12px}.public-nav-links{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.public-link{color:#2563eb;color:var(--primary,#2563eb);font-weight:500;text-decoration:none}.public-link:hover{text-decoration:underline}.public-breadcrumb{margin-bottom:16px}.public-loading,.public-no-data{color:#6b7280;color:var(--muted-foreground,#6b7280);margin:0}.public-list{list-style:none;margin:0;padding:0}.public-list li{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border,#e5e7eb);padding:8px 0}.public-list li:last-child{border-bottom:none}.public-match-list{list-style:none;margin:0;padding:0}.public-match-item{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border,#e5e7eb);padding:12px 0}.public-match-item:last-child{border-bottom:none}.public-match-link{display:block}.public-match-meta{color:#111;color:var(--foreground,#111)}.public-match-summary{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:12px}.public-match-side{flex:1 1;text-align:center}.public-match-player{font-size:1.1rem;font-weight:600}.public-match-vs{color:#6b7280;color:var(--muted-foreground,#6b7280);font-weight:600}.public-match-datetime,.public-match-score,.public-match-status{color:#6b7280;color:var(--muted-foreground,#6b7280);margin:4px 0}.public-logged-in{background:#f3f4f6;background:var(--muted,#f3f4f6);border-radius:6px;border-radius:var(--radius,6px);color:#6b7280;color:var(--muted-foreground,#6b7280);font-size:.9rem;margin:12px 0 0;padding:8px 12px}.statistics-hub{margin:0 auto;max-width:800px}.statistics-hub h2{font-size:1.25rem;margin:24px 0 12px}.statistics-hub ul{list-style:none;margin:0;padding:0}.statistics-hub li{margin-bottom:8px}.statistics-hub a{color:#2563eb;color:var(--primary,#2563eb);font-weight:500;text-decoration:none}.statistics-hub a:hover{text-decoration:underline}.App{background-color:var(--muted);min-height:100vh}.loading{align-items:center;color:var(--muted-foreground);display:flex;font-size:18px;height:100vh;justify-content:center}.container{margin:0 auto;max-width:100%;padding:var(--page-padding-mobile)}@media (min-width:768px){.container{max-width:var(--content-max);padding:var(--page-padding-tablet)}}@media (min-width:1024px){.container{max-width:var(--content-max);padding:var(--page-padding-desktop)}}@media (min-width:1280px){.container{max-width:var(--content-max-wide)}}.page-content{margin:0 auto;max-width:var(--content-max);padding:var(--page-padding-mobile);width:100%}@media (min-width:768px){.page-content{padding:var(--page-padding-tablet)}}@media (min-width:1024px){.page-content{padding:var(--page-padding-desktop)}}
/*# sourceMappingURL=main.3b67ef96.css.map*/