:root{--background:#fff;--foreground:#0f172a;--card:#fff;--card-foreground:#0f172a;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-foreground:#fff;--secondary:#f97316;--secondary-foreground:#fff;--muted:#f0f4ff;--muted-foreground:#64748b;--accent:#dbeafe;--accent-foreground:#1e40af;--destructive:#dc2626;--destructive-foreground:#fff;--live:#e11d48;--live-foreground:#fff;--success:#16a34a;--success-foreground:#fff;--warning:#ea580c;--highlight:#f59e0b;--border:#e2e8f0;--input:#e2e8f0;--ring:#2563eb;--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 #2563eb59;--shadow-card:0 2px 12px #0000000f;--shadow-card-hover:0 8px 24px #2563eb1f;--gold:#eab308;--gold-bg:linear-gradient(135deg,#fef08a,#eab308 50%,#ca8a04);--silver:#94a3b8;--silver-bg:linear-gradient(135deg,#e2e8f0,#94a3b8 50%,#64748b);--bronze:#b45309;--bronze-bg:linear-gradient(135deg,#fcd34d,#d97706 50%,#b45309);--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}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-overflow-scrolling:touch;overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(165deg,#f0f4ff,#e8eeff 35%,#f1f5f9 70%,#f8fafc);background-attachment:fixed;color:#0f172a;color:var(--foreground);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;min-height:100vh}@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:#0f172a;color:var(--foreground);font-size:1.75rem;font-weight:700;letter-spacing:-.025em;margin:0}@media (min-width:768px){.page-title{font-size:1.875rem}}.page-subtitle{color:#64748b;color:var(--muted-foreground);font-size:.875rem;margin:.25rem 0 0}.btn-primary{background:linear-gradient(180deg,#2563eb,#1d4ed8);background:linear-gradient(180deg,var(--primary) 0,var(--primary-hover) 100%);border-radius:.5rem;border-radius:var(--radius);box-shadow:0 4px 14px #2563eb59;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 #2563eb73;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--background);border:2px solid #2563eb;border-radius:.5rem;border-radius:var(--radius);color:#2563eb}.btn-secondary:hover{background:#dbeafe;background:var(--accent);border-color:#2563eb;box-shadow:0 2px 8px #2563eb33;color:#1e40af;color:var(--accent-foreground)}.btn-destructive{background:#dc2626;background:var(--destructive);border:none;border-radius:.5rem;border-radius:var(--radius);color:#fff;color:var(--destructive-foreground);cursor:pointer;font-weight:600;transition:opacity .2s}.btn-destructive:hover:not(:disabled){opacity:.9}.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 #e2e8f0;border:1px solid var(--border);border-radius:calc(.5rem + 4px);border-radius:var(--radius-xl);box-shadow:0 2px 12px #0000000f;box-shadow:var(--shadow-card);color:#0f172a;color:var(--card-foreground);transition:box-shadow .2s,border-color .2s}.card-ui:hover{border-color:#2563eb33;box-shadow:0 8px 24px #2563eb1f;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)}.btn-destructive,.btn-primary,.btn-secondary{font-size:16px;min-height:48px;padding:12px 20px}.card,.card-ui{border-radius:.5rem;border-radius:var(--radius-lg);padding:16px}}.mobile-stack{display:flex;flex-direction:column;gap:12px}@media (min-width:768px){.mobile-stack{flex-direction:row;gap:16px}}.table-container,.table-wrap{-webkit-overflow-scrolling:touch;margin-bottom:16px;overflow-x:auto;width:100%}.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}.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:20px;position:fixed;z-index:10000}@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:24px;display:flex;flex-direction:column;gap:10px;left:auto;pointer-events:none;position:fixed;right:24px;z-index:9999}.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}.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}}.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}.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}.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 #2563eb14;padding:calc(8px + env(safe-area-inset-top, 0)) 12px 8px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.top-nav-content{align-items:center;display:flex;flex-wrap:nowrap;gap:8px;justify-content:space-between;margin:0 auto;max-width:1400px;max-width:var(--content-max-wide,1400px)}.top-nav-title{color:var(--foreground);flex-shrink:1;font-size:16px;font-weight:700;margin:0;min-width:0}.top-nav-brand{align-items:center;color:var(--primary);display:inline-flex;gap:4px}.top-nav-logo{filter:drop-shadow(0 1px 2px rgba(249,115,22,.4));flex-shrink:0;font-size:1.1em}.top-nav-brand-text,.top-nav-page{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-nav-page{color:var(--muted-foreground);font-weight:500}.top-nav-actions{align-items:center;display:flex;flex-shrink:0;gap:6px}.top-nav-plan-badge{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:13px;font-weight:600;min-height:32px;padding:6px 10px;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-icon{font-size:1.25rem;line-height:1}@media (max-width:767px){.top-nav-menu-trigger{display:inline-flex}.top-nav-title{font-size:14px}.top-nav-page,.top-nav-user-chevron{display:none}}.top-nav-user-dropdown{position:relative}.top-nav-user-trigger{align-items:center;background:#0000;border:1px solid var(--border);border-radius:var(--radius);color:var(--foreground);cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:4px;min-height:36px;padding:4px 6px;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:15px;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:.6875rem;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}@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))}}.login-container{align-items:center;background:var(--primary);display:flex;justify-content:center;min-height:100vh;min-height:calc(100vh - env(safe-area-inset-top, 0) - env(safe-area-inset-bottom, 0));padding:16px;padding:var(--page-padding-mobile,16px);padding-bottom:calc(16px + env(safe-area-inset-bottom, 0));padding-bottom:calc(var(--page-padding-mobile, 16px) + env(safe-area-inset-bottom, 0));padding-top:calc(16px + env(safe-area-inset-top, 0));padding-top:calc(var(--page-padding-mobile, 16px) + env(safe-area-inset-top, 0))}.login-card{background:var(--card);border-radius:16px;box-shadow:0 10px 40px #0000001a;max-width:400px;padding:24px;width:100%}@media (min-width:768px){.login-container{padding:24px}.login-card{padding:32px}}.login-brand{align-items:center;color:var(--primary);display:flex;font-size:24px;font-weight:700;gap:8px;justify-content:center;margin-bottom:8px}.login-logo{font-size:1.3em}.login-card h1{color:var(--foreground);font-size:24px;margin-bottom:8px;text-align:center}.login-card h1.login-brand{color:var(--primary)}.login-card h2{color:#666;font-size:20px;font-weight:400;margin-bottom:24px;text-align:center}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input{border:1px solid #ddd;border-radius:8px;font-size:16px;min-height:48px;padding:12px 14px;transition:border-color .2s;width:100%}.form-group input:focus{border-color:var(--primary);outline:none}.btn-primary{margin-bottom:16px;min-height:48px;padding:14px}.divider{margin:24px 0;position:relative;text-align:center}.divider:after,.divider:before{background:#ddd;content:"";height:1px;position:absolute;top:50%;width:45%}.divider:before{left:0}.divider:after{right:0}.divider span{background:var(--card);color:#999;font-size:14px;padding:0 12px}.btn-google{align-items:center;background:var(--card);border:1px solid #ddd;border-radius:8px;color:#333;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:8px;justify-content:center;margin-bottom:16px;padding:12px;transition:background-color .2s;width:100%}.btn-google:hover:not(:disabled){background-color:#f5f5f5}.btn-google:disabled{cursor:not-allowed;opacity:.6}.btn-google-primary{align-items:center;background:var(--card);border:2px solid #4285f4;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#333;cursor:pointer;display:flex;font-size:18px;font-weight:600;gap:12px;justify-content:center;margin:24px 0 16px;padding:14px;transition:all .2s;width:100%}.btn-google-primary:hover:not(:disabled){background-color:#f8f9ff;border-color:#3367d6;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.btn-google-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.login-subtitle{color:#666;font-size:14px;margin-bottom:32px;text-align:center}.login-info{border-top:1px solid #eee;margin-top:24px;padding-top:24px;text-align:center}.login-info p{color:#999;font-size:12px;line-height:1.5;margin:0}.toggle-mode{text-align:center}.link-button{background:none;border:none;color:var(--primary);cursor:pointer;font-size:14px;text-decoration:underline}.link-button:hover{color:var(--accent-foreground)}.landing-page{background:linear-gradient(180deg,#f8f9fa,#fff);display:flex;flex-direction:column;min-height:100vh}.landing-header{background:#fff;border-bottom:1px solid #e9ecef;justify-content:space-between;padding:16px 24px}.landing-brand,.landing-header{align-items:center;display:flex}.landing-brand{color:#212529;font-size:1.35rem;font-weight:700;gap:8px}.landing-logo{font-size:1.5rem}.landing-signin{border-radius:8px;font-weight:500;padding:8px 18px}.landing-main{flex:1 1;margin:0 auto;max-width:720px;padding:32px 24px;width:100%}.landing-hero{margin-bottom:32px;text-align:center}.landing-hero h1{color:#212529;font-size:1.75rem;margin:0 0 8px}.landing-subtitle{color:#6c757d;font-size:1.05rem;margin:0}.landing-game-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:24px}.landing-game-tab{background:#fff;border:1px solid #dee2e6;border-radius:8px;cursor:pointer;font-size:.95rem;padding:8px 16px}.landing-game-tab:hover{background:#f8f9fa}.landing-game-tab.active{background:#0d6efd;border-color:#0d6efd;color:#fff}.landing-empty,.landing-loading{color:#6c757d;padding:48px 24px;text-align:center}.landing-empty p{margin:0 0 8px}.landing-empty .btn-primary{margin-top:20px}.landing-ratelimit{color:#856404;font-weight:500}.landing-tournament-list{list-style:none;margin:0;padding:0}.landing-tournament-card{align-items:flex-start;background:#fff;border:1px solid #e9ecef;border-radius:12px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:16px;padding:20px}.landing-tournament-info{flex:1 1;min-width:0}.landing-tournament-info h3{color:#212529;font-size:1.2rem;margin:0 0 8px}.landing-tournament-desc{color:#495057;font-size:.95rem;line-height:1.4;margin:0 0 12px}.landing-tournament-meta{color:#6c757d;display:flex;flex-wrap:wrap;font-size:.9rem;gap:12px}.landing-badge{background:#e9ecef;border-radius:4px;font-size:.85rem;padding:2px 8px}.landing-tournament-actions{flex-shrink:0}.landing-tournament-actions .btn-primary:disabled{cursor:not-allowed;opacity:.7}.landing-footer{border-top:1px solid #e9ecef;color:#6c757d;font-size:.9rem;padding:24px;text-align:center}.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}.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:16px;justify-content:space-between;margin-bottom:24px;overflow:hidden;padding:24px}@media (min-width:768px){.dashboard-hero{gap:20px;padding:28px}}.dashboard-hero-welcome{flex:1 1;min-width:0}.dashboard-hero-meta{color:var(--muted-foreground);font-size:.875rem;margin:.25rem 0 0}.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:24px;padding:20px}.dashboard-availability-prompt-title{font-size:1.1rem;margin:0 0 8px}.dashboard-availability-prompt-desc{color:var(--muted-foreground);font-size:.95rem;margin:0 0 16px}.dashboard-availability-summary{border-bottom:1px solid var(--border);margin-bottom:16px;padding-bottom:16px}.dashboard-availability-summary-title{color:var(--muted-foreground);font-size:.85rem;font-weight:600;letter-spacing:.04em;margin:0 0 6px;text-transform:uppercase}.dashboard-availability-summary-text{color:var(--foreground);font-size:.95rem;margin:0}.dashboard-availability-current{border-bottom:1px solid var(--border);margin-bottom:16px;padding-bottom:16px}.dashboard-availability-current-text{color:var(--muted-foreground);font-size:.95rem;margin:0 0 8px}.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:24px;padding:20px}.dashboard-unschedulable-title{font-size:1.1rem;margin:0 0 8px}.dashboard-unschedulable-desc{color:var(--muted-foreground);font-size:.95rem;margin:0 0 16px}.dashboard-my-record{align-items:center;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:14px;padding-top:14px}.dashboard-my-record-label{color:var(--muted-foreground);font-size:.75rem;font-weight:600;letter-spacing:.04em;margin-right:4px;text-transform:uppercase}.dashboard-my-record-value{font-size:.9375rem;font-weight:700}.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:.875rem;gap:8px 16px;margin-top:12px;padding-top:12px}.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:24px;padding:20px}@media (min-width:768px){.dashboard-live-section{padding:24px}}.dashboard-live-title{align-items:center;display:flex;gap:10px;margin-bottom:16px}.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:12px;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:12px;justify-content:space-between;padding:14px 16px;transition:box-shadow .2s}.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:8px 14px;min-width:0}.dashboard-live-players{color:var(--foreground);font-size:.9375rem;font-weight:600}.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:1rem;font-variant-numeric:tabular-nums;font-weight:700}.dashboard-live-btn{flex-shrink:0}.dashboard-recent-completed{margin-bottom:24px;padding:20px}.dashboard-recent-subtitle{color:var(--muted-foreground);font-size:.875rem;margin:0 0 16px}.dashboard-recent-list{list-style:none;margin:0 0 16px;padding:0}.dashboard-recent-item{background:var(--muted);border:1px solid var(--border);border-radius:var(--radius-md);gap:12px;justify-content:space-between;margin-bottom:8px;padding:12px 14px}.dashboard-recent-info,.dashboard-recent-item{align-items:center;display:flex;flex-wrap:wrap}.dashboard-recent-info{gap:8px 14px;min-width:0}.dashboard-recent-players{color:var(--foreground);font-size:.9375rem;font-weight:600}.dashboard-recent-score{font-feature-settings:"tnum";color:var(--primary);font-size:1rem;font-variant-numeric:tabular-nums;font-weight:700}.dashboard-recent-meta{color:var(--muted-foreground);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:10px}.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:64px;padding:10px 16px;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.25rem;font-weight:700;line-height:1.2}.dashboard-pill-label{color:var(--muted-foreground);font-size:.6875rem;letter-spacing:.03em;margin-top:2px;text-transform:uppercase}.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:28px;overflow:hidden;padding:24px}@media (min-width:768px){.tournament-stats-section{padding:28px}}.dashboard-section-title{color:var(--foreground);font-size:1.25rem;font-weight:700;margin:0 0 24px}.dashboard-top-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr;margin-bottom:20px}@media (min-width:768px){.dashboard-top-grid{gap:24px;grid-template-columns:1fr 200px}}.dashboard-inner-card{border-radius:var(--radius-lg);overflow:hidden;padding:20px}@media (min-width:768px){.dashboard-inner-card{padding:24px}}.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:20px;display:grid;gap:20px;grid-template-columns:1fr}@media (min-width:480px){.dashboard-cards{gap:22px;grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){.dashboard-cards{gap:24px}}@media (min-width:1024px){.dashboard-cards{gap:28px;grid-template-columns:repeat(3,1fr)}}.dashboard-card{border-radius:var(--radius-xl);overflow:hidden;padding:24px}@media (min-width:768px){.dashboard-card{padding:28px}}.dashboard-card-title{color:var(--foreground);font-size:1.125rem;font-weight:700;margin:0 0 12px}.dashboard-card-desc{color:var(--muted-foreground);font-size:.875rem;margin:10px 0}.dashboard-card-btn{margin-top:12px;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-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-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}.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:20px;margin-bottom:24px}@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}.btn-back{font-size:.875rem;min-height:var(--touch-target-min);padding:12px 22px}.schedule-calendar-syncing,.schedule-connect-calendar{border-radius:var(--radius-xl);margin:0 auto 24px;max-width:1200px;max-width:var(--content-max,1200px);padding:16px 20px}.schedule-calendar-syncing-text,.schedule-connect-calendar-desc{color:var(--muted-foreground);font-size:.95rem}.schedule-connect-calendar-desc{margin:0 0 12px}.schedule-availability-card{border-radius:var(--radius-xl);margin:0 auto 24px;max-width:1200px;max-width:var(--content-max,1200px);padding:16px 20px}.schedule-availability-title{font-size:1rem;font-weight:600;margin:0 0 6px}.schedule-availability-desc{color:var(--muted-foreground);font-size:.95rem;margin:0 0 12px}.schedule-filters-bar{align-items:center;border-radius:var(--radius-xl);display:flex;flex-wrap:wrap;gap:14px 20px;margin:0 auto 24px;max-width:1200px;max-width:var(--content-max,1200px);padding:18px 20px}@media (min-width:768px){.schedule-filters-bar{gap:16px 24px;padding:20px 24px}}.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:10px 12px;padding:14px 16px}.filter-active,.filter-btn{font-size:15px;min-height:48px;padding:12px 16px}.match-card,.schedule-card-ui{padding:16px}}.matches-list{align-items:stretch}@media (min-width:600px){.matches-list{gap:22px;grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.matches-list{gap:24px;grid-template-columns:repeat(3,1fr)}}.match-card{background:var(--card);border-radius:var(--radius-xl);box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column;height:100%;min-height:0}.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:24px;transition:box-shadow .2s,border-color .2s}.schedule-card-ui:hover{border-color:#2563eb33;box-shadow:0 6px 20px #2563eb1a}@media (min-width:768px){.match-card,.schedule-card-ui{padding:28px}}.schedule-card-top{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:18px;padding-bottom:14px}.schedule-time-block{display:flex;flex-direction:column;gap:2px}.schedule-time-text{color:var(--primary);font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.schedule-date-muted{color:var(--muted-foreground);font-size:.8125rem}.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;margin-bottom:20px}.match-header h3{color:var(--foreground);font-size:1rem;margin:0}.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:12px 16px;display:grid;gap:12px 16px;grid-template-columns:1fr auto 1fr;margin-bottom:16px;text-align:center}@media (max-width:600px){.match-players{gap:8px 10px;margin-bottom:14px}.schedule-player{align-items:center;text-align:center}}.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{min-width:0;overflow-wrap:break-word;text-align:center;width:100%;word-break:break-word}@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:64px}.match-date,.match-referee,.match-time{color:var(--muted-foreground);font-size:.8125rem;margin:6px 0}.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:8px 16px;margin-top:8px;padding-top:8px}.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;gap:10px;margin-top:auto;padding-top:16px}.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{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}.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-radius:var(--radius-xl);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{color:var(--foreground);font-size:15px;font-weight:600}.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}.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}.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-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-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)}.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-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}.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}.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.d9c2fafc.css.map*/