@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=JetBrains+Mono:wght@400;500&display=swap";.app-layout{--ds-bg: #0a0e14;--ds-surface: #141922;--ds-surface-hover: #1a2030;--ds-surface-highlight: #1e2738;--ds-controls-bg: #111620;--ds-accent: #3b82f6;--ds-accent-hover: #2563eb;--ds-success: #22c55e;--ds-danger: #ef4444;--ds-warning: #f59e0b;--ds-accent-rgb: 59, 130, 246;--ds-success-rgb: 34, 197, 94;--ds-danger-rgb: 239, 68, 68;--ds-warning-rgb: 245, 158, 11;--ds-gold: #fbbf24;--ds-silver: #94a3b8;--ds-bronze: #d97706;--ds-text: #f1f5f9;--ds-text-secondary: #8494a7;--ds-text-muted: #64748b;--ds-border: rgba(255, 255, 255, .06);--ds-border-strong: rgba(255, 255, 255, .1);--ds-font: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--ds-font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--ds-radius: 10px;--ds-radius-sm: 6px;--ds-transition: .18s ease;--ds-max-width: 820px}:root{--primary-color: #1e88e5;--primary-dark: #1565c0;--secondary-color: #6c757d;--success-color: #28a745;--danger-color: #dc3545;--warning-color: #fd7e14;--info-color: #0d9488;--light-color: #f8f9fa;--dark-color: #343a40;--gray-100: #f8f9fa;--gray-200: #e9ecef;--gray-300: #dee2e6;--gray-400: #ced4da;--gray-500: #adb5bd;--gray-600: #6c757d;--gray-700: #495057;--gray-800: #343a40;--gray-900: #212529;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scrollbar-gutter:stable;background-color:#0a0e14}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:var(--gray-900);background-color:#0a0e14;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}h1,h2,h3,h4,h5,h6{margin-bottom:1rem;font-weight:600;line-height:1.2}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}p{margin-bottom:1rem}a{color:var(--primary-color);text-decoration:none}a:hover{color:var(--primary-dark);text-decoration:underline}button.btn,a.btn,.btn{display:inline-block;font-weight:600;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;user-select:none;border:1px solid transparent;padding:.5rem 1rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,transform .1s ease-in-out;cursor:pointer}a.btn,a.btn:hover,a.btn:visited,a.btn:active{text-decoration:none}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:focus{outline:0}.btn-primary{color:#fff;background-color:var(--primary-color);border-color:var(--primary-color)}.btn-primary:hover{color:#fff;background-color:var(--primary-dark);border-color:var(--primary-dark)}.btn-secondary{color:#fff;background-color:var(--secondary-color);border-color:var(--secondary-color)}.btn-secondary:hover{color:#000;background-color:#5a6268;border-color:#545b62}.btn-outline-primary{color:var(--primary-color);background-color:transparent;border-color:var(--primary-color)}.btn-outline-primary:hover{color:#fff;background-color:var(--primary-color);border-color:var(--primary-color)}.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-group{margin-bottom:1rem}label{display:inline-block;margin-bottom:.5rem}input,textarea,select{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:var(--gray-700);background-color:#fff;background-clip:padding-box;border:1px solid var(--gray-400);border-radius:.25rem;transition:border-color .15s ease-in-out}input:focus,textarea:focus,select:focus{border-color:#80bdff;outline:0}.loading,.error-message,.not-found{text-align:center;padding:2rem;margin:2rem 0}.loading{color:var(--gray-600)}.error-message{color:var(--danger-color)}.not-found{color:var(--gray-700)}.App{display:flex;flex-direction:column;min-height:100vh}.app-layout{display:flex;flex-direction:column;min-height:100vh;color:#f1f5f9}.app-layout a:not(.btn):not(.tab-btn){color:var(--ds-text)}.app-layout a:not(.btn):not(.tab-btn):hover{color:var(--ds-accent)}.app-layout .btn-primary{background-color:var(--ds-accent);border-color:var(--ds-accent)}.app-layout .btn-primary:hover{background-color:var(--ds-accent-hover);border-color:var(--ds-accent-hover)}.app-layout .btn-secondary{background-color:#ffffff14;border-color:var(--ds-border-strong);color:var(--ds-text-secondary)}.app-layout .btn-secondary:hover{background-color:#ffffff1f;color:var(--ds-text)}.app-layout .btn-outline-primary{color:var(--ds-accent);background-color:transparent;border-color:var(--ds-accent)}.app-layout .btn-outline-primary:hover{color:#fff;background-color:var(--ds-accent);border-color:var(--ds-accent)}.app-layout input,.app-layout textarea,.app-layout select{background-color:var(--ds-surface);color:var(--ds-text);border-color:var(--ds-border-strong)}.app-layout input:focus,.app-layout textarea:focus,.app-layout select:focus{border-color:var(--ds-accent)}.app-layout .alert-danger{color:var(--ds-danger);background-color:#ef44441f;border-color:#ef444433}.app-layout .loading{color:var(--ds-text-secondary)}.app-layout .error-message{color:var(--ds-danger)}.app-layout .not-found{color:var(--ds-text-secondary)}.app-layout .server-error h2{color:var(--ds-danger)}main.container{flex:1;padding:1rem}@media(max-width:480px){.container{padding:0 .5rem}main.container{padding:.5rem}}.footer{padding:1rem 0;margin-top:auto;background:var(--ds-surface, linear-gradient(135deg, var(--gray-800) 0%, var(--gray-600) 100%));border-top:1px solid var(--ds-border, transparent);color:var(--ds-text, white);text-align:center}.footer-content{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.footer-logo{height:32px;width:auto}.footer p{margin:0}.server-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;text-align:center;padding:2rem}.server-error h2{color:var(--danger-color);margin-bottom:1rem}.mobile-menu-overlay{position:fixed;inset:0;background:#0009;z-index:999;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-menu{position:absolute;top:0;left:0;right:0;background:linear-gradient(135deg,var(--ds-surface) 0%,var(--ds-bg) 100%);color:var(--ds-text);padding:1rem;animation:slideDown .25s ease-out;box-shadow:0 8px 24px #00000080;border-bottom:1px solid var(--ds-border)}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.mobile-menu-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid var(--ds-border-strong);margin-bottom:.5rem}.mobile-menu-title{font-size:1.125rem;font-weight:600}.mobile-menu-close{background:none;border:none;color:var(--ds-text);font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1;opacity:.8;transition:opacity .15s}.mobile-menu-close:hover{opacity:1}.mobile-menu-nav{display:flex;flex-direction:column}.mobile-menu-link{display:block;padding:.875rem .5rem;color:var(--ds-text);text-decoration:none;font-size:1rem;font-weight:500;border-radius:.375rem;transition:background-color .15s}.mobile-menu-link:hover{background:#ffffff14;text-decoration:none;color:var(--ds-text)}.mobile-menu-logout{background:none;border:none;text-align:left;cursor:pointer;font-family:inherit;width:100%}.mobile-menu-divider{height:1px;background:var(--ds-border-strong);margin:.5rem 0}.feedback-pill-mobile{background:rgba(var(--ds-accent-rgb),.1);color:var(--ds-accent);font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.5rem 1rem;border-radius:var(--ds-radius-sm);border:1px solid rgba(var(--ds-accent-rgb),.25);display:inline-block;width:auto;margin:.5rem;text-align:center;transition:background var(--ds-transition),border-color var(--ds-transition)}.feedback-pill-mobile:hover{background:rgba(var(--ds-accent-rgb),.2);border-color:var(--ds-accent);color:var(--ds-accent)}.feedback-badge-mobile{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:8px;background:var(--ds-danger);color:#fff;font-size:.7rem;font-weight:700;border-radius:9px;line-height:1}.mobile-menu-tree{display:flex;flex-direction:column}.mobile-menu-tree-trigger{display:flex;justify-content:space-between;align-items:center;background:none;border:none;text-align:left;cursor:pointer;font-family:inherit;width:100%}.mobile-menu-tree-arrow{font-size:.625rem;transition:transform .2s;opacity:.7}.mobile-menu-tree-arrow.open{transform:rotate(180deg)}.mobile-menu-tree-children{max-height:0;overflow:hidden;transition:max-height .3s ease-out,visibility 0s .3s;background:#0003;border-radius:.375rem;margin-top:.25rem;visibility:hidden}.mobile-menu-tree-children.open{max-height:500px;visibility:visible;transition:max-height .3s ease-out,visibility 0s}.mobile-menu-tree-child{padding-left:1.5rem}.mobile-menu-tree-label{padding:.5rem 1.5rem .25rem;font-size:.7rem;font-weight:600;color:var(--ds-text-muted);text-transform:uppercase;letter-spacing:.5px}.mobile-tournament-item{border-bottom:1px solid var(--ds-border)}.mobile-tournament-item:last-child{border-bottom:none}.mobile-tournament-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-tournament-quick-links{display:flex;gap:.5rem;padding:0 1.5rem .75rem}.mobile-tournament-quick-link{background:#ffffff14;border:none;padding:.375rem .75rem;font-size:.75rem;color:#ffffffe6;text-decoration:none;border-radius:.25rem;transition:background-color .15s}.mobile-tournament-quick-link:hover{background:#ffffff2e;color:#fff;text-decoration:none}.navbar{background:linear-gradient(135deg,var(--ds-surface) 0%,var(--ds-bg) 100%);color:var(--ds-text);padding:.5rem 0;border-bottom:1px solid var(--ds-border)}.navbar .container{display:flex;justify-content:space-between;align-items:center}.app-layout .navbar a.navbar-brand{font-size:1.5rem;font-weight:700;color:var(--ds-accent);text-decoration:none}.app-layout .navbar a.navbar-brand:hover{color:var(--ds-accent-hover);text-decoration:none}.navbar-nav{display:flex;list-style:none;margin:0;padding:0;align-items:center}.nav-item{margin-left:1.5rem}.app-layout .navbar a.nav-link{color:var(--ds-accent);text-decoration:none;font-weight:500;padding:.5rem 0;display:inline-block}.app-layout .navbar a.nav-link:hover{color:var(--ds-accent-hover);text-decoration:none}.btn-logout{background:none;border:none;color:var(--ds-text);cursor:pointer;font-weight:500;font-size:1rem;padding:.5rem 0;font-family:inherit;display:inline-block}.btn-logout:hover{color:var(--ds-accent)}.avatar-container{position:relative}.avatar-button{width:36px;height:36px;border-radius:50%;background:rgba(var(--ds-accent-rgb),.1);border:2px solid rgba(var(--ds-accent-rgb),.3);color:var(--ds-text);font-weight:600;font-size:.875rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--ds-transition),border-color var(--ds-transition)}.avatar-button:hover{background:rgba(var(--ds-accent-rgb),.2);border-color:var(--ds-accent)}.avatar-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:var(--ds-surface);border:1px solid var(--ds-border-strong);border-radius:.5rem;box-shadow:0 8px 24px #0006;min-width:160px;padding:.5rem 0;z-index:1000;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s}.avatar-dropdown.open{opacity:1;visibility:visible;transform:translateY(0)}.avatar-dropdown-item{display:block;width:100%;padding:.625rem 1rem;color:var(--ds-text);text-decoration:none;background:none;border:none;text-align:left;font-size:.9375rem;cursor:pointer;transition:background-color .15s}.avatar-dropdown-item:hover{background:rgba(var(--ds-accent-rgb),.1);color:var(--ds-accent)}.avatar-dropdown-divider{height:1px;background:var(--ds-border);margin:.5rem 0}.tournaments-nav-item{position:relative}.tournaments-dropdown-trigger{background:none;border:none;color:var(--ds-accent);font-weight:500;font-size:1rem;cursor:pointer;padding:.5rem 0;font-family:inherit;display:flex;align-items:center;gap:.375rem}.tournaments-dropdown-trigger:hover{color:var(--ds-accent-hover)}.tournaments-dropdown-arrow{font-size:.625rem;transition:transform .2s}.tournaments-dropdown-arrow.open{transform:rotate(180deg)}.tournaments-dropdown{position:absolute;top:calc(100% + .5rem);left:0;background:var(--ds-surface);border:1px solid var(--ds-border-strong);border-radius:.5rem;box-shadow:0 8px 24px #0006;min-width:220px;max-width:280px;padding:.5rem 0;z-index:1000;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s;max-height:400px;overflow-y:auto}.tournaments-dropdown.open{opacity:1;visibility:visible;transform:translateY(0)}.tournaments-dropdown-item{display:block;width:100%;padding:.625rem 1rem;color:var(--ds-text);text-decoration:none;background:none;border:none;text-align:left;font-size:.9375rem;cursor:pointer;transition:background-color .15s}.tournaments-dropdown-item:hover{background:rgba(var(--ds-accent-rgb),.1);color:var(--ds-accent)}.tournaments-dropdown-all{font-weight:600}.tournaments-dropdown-divider{height:1px;background:var(--ds-border);margin:.5rem 0}.tournaments-dropdown-label{padding:.375rem 1rem;font-size:.75rem;font-weight:600;color:var(--ds-text-muted);text-transform:uppercase;letter-spacing:.5px}.tournaments-dropdown-tournament{border-bottom:1px solid var(--ds-border)}.tournaments-dropdown-tournament:last-child{border-bottom:none}.tournament-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tournament-quick-links{display:flex;gap:.25rem;padding:0 1rem .5rem}.tournament-quick-link{background:#ffffff14;border:none;padding:.25rem .5rem;font-size:.75rem;color:var(--ds-text-secondary);cursor:pointer;border-radius:.25rem;transition:background-color .15s,color .15s}.tournament-quick-link:hover{background:var(--ds-accent);color:#fff}.hamburger-btn{display:none;background:none;border:none;color:var(--ds-text);cursor:pointer;padding:.5rem;font-size:1.5rem;line-height:1}.hamburger-btn:hover{color:var(--ds-accent)}.desktop-nav{display:flex;list-style:none;margin:0;padding:0;align-items:center}.desktop-auth{display:flex;align-items:center;gap:1rem}.feedback-pill{background:rgba(var(--ds-accent-rgb),.1);color:var(--ds-accent);font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .65rem;border-radius:var(--ds-radius-sm);border:1px solid rgba(var(--ds-accent-rgb),.25);text-decoration:none;display:inline-block;transition:background var(--ds-transition),border-color var(--ds-transition)}.app-layout a.feedback-pill:hover{background:rgba(var(--ds-accent-rgb),.2);border-color:var(--ds-accent);color:var(--ds-accent);text-decoration:none}.feedback-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin-left:6px;background:var(--ds-danger);color:#fff;font-size:.65rem;font-weight:700;border-radius:8px;line-height:1}@media(max-width:768px){.navbar .container{flex-direction:row;align-items:center}.desktop-nav,.desktop-auth{display:none}.hamburger-btn{display:block}}.markdown-content{line-height:1.7;color:var(--ds-text)}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{color:var(--ds-text);margin-top:1.5rem;margin-bottom:.75rem}.markdown-content h1{font-size:1.75rem}.markdown-content h2{font-size:1.5rem}.markdown-content h3{font-size:1.25rem}.markdown-content p{margin-bottom:1rem}.markdown-content ul,.markdown-content ol{margin-bottom:1rem;padding-left:1.5rem}.markdown-content li{margin-bottom:.5rem}.markdown-content a{color:var(--ds-accent);text-decoration:underline}.markdown-content a:hover{color:var(--ds-accent-hover)}.markdown-content blockquote{border-left:4px solid var(--ds-accent);padding-left:1rem;margin:1rem 0;color:var(--ds-text-secondary);font-style:italic}.markdown-content code{background-color:var(--ds-surface-hover);padding:.2rem .4rem;border-radius:.25rem;font-size:.9em}.markdown-content pre{background-color:var(--ds-surface-hover);padding:1rem;border-radius:var(--ds-radius-sm);overflow-x:auto;margin-bottom:1rem}.markdown-content pre code{padding:0;background:none}.markdown-content table{width:100%;border-collapse:collapse;margin-bottom:1rem}.markdown-content th,.markdown-content td{border:1px solid var(--ds-border-strong);padding:.75rem;text-align:left}.markdown-content th{background-color:var(--ds-surface-highlight);font-weight:600}.markdown-content hr{border:none;border-top:1px solid var(--ds-border-strong);margin:2rem 0}.alert-banners-container{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.alert-banner{display:flex;align-items:flex-start;gap:16px;padding:16px 20px;border-radius:8px;border-left:4px solid;box-shadow:0 2px 4px #0000004d;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert-content{flex:1;min-width:0}.alert-title{font-weight:600;font-size:15px;margin-bottom:4px}.alert-message{font-size:14px;line-height:1.5;color:var(--ds-text-secondary)}.alert-dismiss{flex-shrink:0;background:none;border:none;font-size:24px;line-height:1;padding:0;cursor:pointer;opacity:.6;transition:opacity .2s;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px}.alert-dismiss:hover{opacity:1;background:#ffffff14}.alert-info{background:rgba(var(--ds-accent-rgb),.08);border-left-color:var(--ds-accent);color:var(--ds-text)}.alert-info .alert-title,.alert-info .alert-dismiss{color:var(--ds-accent)}.alert-success{background:rgba(var(--ds-success-rgb),.08);border-left-color:var(--ds-success);color:var(--ds-text)}.alert-success .alert-title,.alert-success .alert-dismiss{color:var(--ds-success)}.alert-warning{background:rgba(var(--ds-warning-rgb),.08);border-left-color:var(--ds-warning);color:var(--ds-text)}.alert-warning .alert-title,.alert-warning .alert-dismiss{color:var(--ds-warning)}.alert-error{background:rgba(var(--ds-danger-rgb),.08);border-left-color:var(--ds-danger);color:var(--ds-text)}.alert-error .alert-title,.alert-error .alert-dismiss{color:var(--ds-danger)}.alert-message.markdown-content{font-size:14px;line-height:1.5}.alert-message.markdown-content>*:first-child{margin-top:0}.alert-message.markdown-content>*:last-child{margin-bottom:0}.alert-message.markdown-content p{margin:.5em 0}.alert-message.markdown-content a{color:inherit;text-decoration:underline}.alert-message.markdown-content a:hover{opacity:.8}.alert-message.markdown-content ul,.alert-message.markdown-content ol{margin:.5em 0;padding-left:1.5em}.alert-message.markdown-content code{background:#ffffff14;padding:.1em .3em;border-radius:3px;font-size:.9em}.alert-message.markdown-content strong{font-weight:600}.home-container{padding:1rem 0}.hero{background:linear-gradient(135deg,rgba(var(--ds-accent-rgb),.6),#0a0e14d9);color:var(--ds-text);padding:3rem 2rem;border-radius:var(--ds-radius);text-align:center;margin-bottom:2rem}.hero h1{font-size:3rem;margin-bottom:1rem}.hero .lead{font-size:1.25rem;margin-bottom:2rem}.cta-buttons{display:flex;justify-content:center;gap:1rem}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:3rem}.feature-card{background-color:var(--ds-surface);border-radius:var(--ds-radius);padding:1.5rem;border:1px solid var(--ds-border);text-align:center}.feature-card h3{color:var(--ds-accent);margin-bottom:1rem}.tournaments-grid{display:flex;gap:2rem;flex-wrap:wrap}.tournaments-grid>.upcoming-tournaments{flex:1;min-width:300px}.upcoming-tournaments{margin-bottom:3rem}.upcoming-tournaments h2{margin-bottom:1.5rem;text-align:center}.tournament-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.tournament-card{background-color:var(--ds-surface);border-radius:var(--ds-radius);padding:1.5rem;border:1px solid var(--ds-border)}.tournament-card h3{color:var(--ds-text);margin-bottom:.5rem}.tournament-card p{color:var(--ds-text-secondary);margin-bottom:1rem}.tournament-card .tournament-description{font-size:.9rem;font-style:italic;color:var(--ds-text-muted);margin-bottom:1.5rem}@media(max-width:768px){.cta-buttons{flex-direction:column}.hero h1{font-size:2.5rem}}.toast-container{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;max-width:400px;pointer-events:none}.toast{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:10px;box-shadow:0 4px 12px #00000073;background-color:#141922;border:1px solid rgba(255,255,255,.06);border-left:4px solid;transform:translate(100%);opacity:0;transition:all .3s ease-in-out;pointer-events:auto;cursor:pointer;min-width:300px;max-width:400px;word-wrap:break-word}.toast-visible{transform:translate(0);opacity:1}.toast-exiting{transform:translate(100%);opacity:0}.toast-success{border-left-color:#22c55e}.toast-error{border-left-color:#ef4444}.toast-warning{border-left-color:#f59e0b}.toast-info{border-left-color:#3b82f6}.toast-icon{flex-shrink:0;width:1.5rem;height:1.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;color:#fff}.toast-success .toast-icon{background-color:#22c55e}.toast-error .toast-icon{background-color:#ef4444}.toast-warning .toast-icon{background-color:#f59e0b}.toast-info .toast-icon{background-color:#3b82f6}.toast-message{flex:1;font-size:.875rem;line-height:1.4;color:#f1f5f9;margin:0}.toast-close{flex-shrink:0;background:none;border:none;font-size:1.25rem;color:#475569;cursor:pointer;padding:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:color .2s ease,background-color .2s ease}.toast-close:hover{color:#8494a7;background-color:#ffffff14}.toast:hover{box-shadow:0 6px 16px #0009}@media(max-width:768px){.toast-container{top:.5rem;right:.5rem;left:.5rem;max-width:none}.toast{min-width:unset;max-width:none;margin:0}.toast-message{font-size:.8rem}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.dashboard-container{padding:0 0 3rem;max-width:860px;margin:0 auto}.dashboard-hero{padding:2rem 0 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.dashboard-hero-text h1{font-size:1.5rem;font-weight:700;color:var(--ds-text);margin:0 0 .25rem;letter-spacing:-.02em}.dashboard-hero-text .dashboard-subtitle{font-size:.82rem;color:var(--ds-text-muted);margin:0}.dashboard-hero-stats{display:flex;gap:1.5rem;flex-shrink:0}.hero-stat{text-align:center}.hero-stat-value{display:block;font-family:var(--ds-font-mono);font-size:1.5rem;font-weight:700;color:var(--ds-text);line-height:1.2}.hero-stat-label{display:block;font-size:.65rem;color:var(--ds-text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-top:.15rem}.dashboard-section{margin-bottom:2rem}.section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.section-header h2{font-size:.76rem;font-weight:700;color:var(--ds-text-muted);text-transform:uppercase;letter-spacing:.08em;margin:0}.section-header .section-count{font-family:var(--ds-font-mono);font-size:.68rem;font-weight:600;color:var(--ds-text-muted);background:#ffffff0d;padding:.125rem .5rem;border-radius:20px}.tournament-stack{display:flex;flex-direction:column;gap:.5rem}.dash-card{background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius);padding:1rem 1.125rem;transition:background var(--ds-transition),border-color var(--ds-transition),transform var(--ds-transition);animation:dashCardIn .4s ease both}.dash-card:nth-child(1){animation-delay:.05s}.dash-card:nth-child(2){animation-delay:.1s}.dash-card:nth-child(3){animation-delay:.15s}.dash-card:nth-child(4){animation-delay:.2s}.dash-card:nth-child(5){animation-delay:.25s}@keyframes dashCardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dash-card:hover{background:var(--ds-surface-hover);border-color:var(--ds-border-strong)}.dash-card.has-urgent{border-left:3px solid var(--ds-warning)}.dash-card.all-done{border-left:3px solid var(--ds-success);opacity:.85}.dash-card-top{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.625rem}.dash-card-info{flex:1;min-width:0}.dash-card-name-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.2rem}.dash-card-name{font-size:.95rem;font-weight:600;color:var(--ds-text);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--ds-transition)}.dash-card-name:hover{color:var(--ds-accent);text-decoration:none}.dash-card-deadline-chip{flex-shrink:0;display:flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:500;padding:.3rem .6rem;border-radius:20px;white-space:nowrap;font-family:var(--ds-font-mono);letter-spacing:-.01em}.dash-card-deadline-chip.chill{background:#ffffff0a;color:var(--ds-text-secondary)}.dash-card-deadline-chip.soon{background:#f59e0b1a;color:var(--ds-warning)}.dash-card-deadline-chip.urgent{background:#ef44441f;color:var(--ds-danger);animation:urgentPulse 2s ease-in-out infinite}@keyframes urgentPulse{0%,to{opacity:1}50%{opacity:.7}}.dash-card-deadline-chip .deadline-dot{width:5px;height:5px;border-radius:50%;background:currentColor}.dash-card-todos{display:flex;align-items:center;gap:.5rem}.dash-todos-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ds-warning);flex-shrink:0}.dash-card-actions{display:flex;gap:.375rem;flex-wrap:wrap}.dash-action{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .625rem;font-size:.75rem;font-weight:500;color:var(--ds-text);background:#f59e0b14;border:1px solid rgba(245,158,11,.15);border-radius:var(--ds-radius-sm);text-decoration:none;transition:all var(--ds-transition);cursor:pointer}.dash-action:hover{background:#f59e0b26;border-color:#f59e0b4d;text-decoration:none;color:var(--ds-text)}.dash-action .action-arrow{font-size:.65rem;opacity:.5;transition:transform var(--ds-transition)}.dash-action:hover .action-arrow{transform:translate(2px);opacity:.8}.dash-action.payment-action{background:#ef444414;border-color:#ef444426}.dash-action.payment-action .dash-action-count{color:var(--ds-danger)}.dash-action.payment-action:hover{background:#ef444426;border-color:#ef44444d}.dash-card-done{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--ds-success);font-weight:500}.dash-card-done .done-check{width:16px;height:16px;border-radius:50%;background:#22c55e1f;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700}.dash-card-links{display:flex;gap:0;margin-top:.5rem;padding-top:0;border-top:1px solid var(--ds-border)}.dash-link{flex:1;display:flex;align-items:center;justify-content:center;padding:.5rem;font-size:.76rem;font-weight:600;color:var(--ds-text-muted);text-decoration:none;transition:all var(--ds-transition);border-right:1px solid var(--ds-border)}.dash-link:last-child{border-right:none}.dash-link:hover{background:#ffffff08;color:var(--ds-text);text-decoration:none}.dash-link.primary-link{color:var(--ds-accent);font-weight:700}.dash-link.primary-link:hover{background:#3b82f60f;color:var(--ds-accent)}.available-tournaments{display:flex;flex-direction:column;gap:.5rem}.available-tournament-card{display:flex;justify-content:space-between;align-items:center;background:var(--ds-surface);border-radius:var(--ds-radius);border:1px solid var(--ds-border);padding:.875rem 1.125rem;transition:all var(--ds-transition)}.available-tournament-card:hover{background:var(--ds-surface-hover);border-color:var(--ds-border-strong)}.available-tournament-info h3{font-size:.92rem;font-weight:600;color:var(--ds-text);margin:0 0 .2rem}.available-tournament-info p{font-size:.76rem;color:var(--ds-text-muted);margin:0}.participant-count{color:var(--ds-text-muted)}.empty-state{text-align:center;padding:3rem 2rem;background:var(--ds-surface);border-radius:var(--ds-radius);border:1px solid var(--ds-border)}.empty-state p{color:var(--ds-text-secondary);margin-bottom:1.5rem}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:.75rem}.loading-spinner{width:28px;height:28px;border:2.5px solid var(--ds-border-strong);border-top-color:var(--ds-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:.82rem;color:var(--ds-text-muted)}@media(max-width:700px){.dashboard-container{padding:0 1rem 2rem}.dashboard-hero{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1.25rem 0 1rem}.dashboard-hero-text h1{font-size:1.25rem}.dashboard-hero-stats{gap:1.5rem}.hero-stat-value{font-size:1.25rem}.dash-card{padding:.875rem 1rem}.dash-card-top{flex-wrap:wrap;gap:.5rem}.dash-card-top{flex-direction:column;gap:.5rem}.dash-card-name{font-size:.88rem;white-space:normal;overflow:visible;text-overflow:unset}.dash-card-deadline-chip{font-size:.68rem;align-self:flex-start}.dash-card-actions{flex-wrap:wrap}.dash-link{font-size:.72rem;padding:.45rem .25rem}.available-tournament-card{flex-direction:column;align-items:flex-start;gap:.75rem}.available-tournament-card .btn{width:100%}}.login-container{display:flex;justify-content:center;align-items:center;min-height:80vh;padding:2rem 1rem}.login-card{background-color:var(--ds-surface);border-radius:var(--ds-radius);border:1px solid var(--ds-border);padding:2rem;width:100%;max-width:400px}.login-card h2{margin-bottom:1.5rem;text-align:center;color:var(--ds-text)}.login-footer{margin-top:1.5rem;text-align:center;color:var(--ds-text-secondary)}.login-footer a{color:var(--ds-accent);text-decoration:none}.login-footer a:hover{text-decoration:underline}.form-description{color:var(--ds-text-secondary);margin-bottom:1.5rem;text-align:center}.success-message{background-color:rgba(var(--ds-success-rgb),.08);border:1px solid var(--ds-success);border-radius:var(--ds-radius);padding:1rem;margin-bottom:1rem;color:var(--ds-success);text-align:center}.success-message p{margin:0}.success-message p:last-child{margin-bottom:0}.error-message{background-color:rgba(var(--ds-danger-rgb),.08);border:1px solid var(--ds-danger);border-radius:var(--ds-radius);padding:1rem;margin-bottom:1rem;color:var(--ds-danger)}.error-message p{margin:.5rem 0}.error-message p:last-child{margin-bottom:0}.forgot-password-link{text-align:right;margin-top:-.5rem;margin-bottom:1rem}.forgot-password-link a{color:var(--ds-text-secondary);font-size:.875rem;text-decoration:none}.forgot-password-link a:hover{color:var(--ds-accent);text-decoration:underline}.password-strength-meter{margin-top:.5rem}.strength-bar-container{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;width:100%}.strength-bar-track{flex:1;height:4px;border-radius:2px;background-color:#e9ecef;min-width:0}.strength-bar{height:100%;border-radius:2px;transition:width .3s ease,background-color .3s ease}.strength-bar.strength-weak{width:33%;background-color:#dc3545}.strength-bar.strength-medium{width:66%;background-color:#ffc107}.strength-bar.strength-strong{width:100%;background-color:#28a745}.strength-label{font-size:.875rem;font-weight:500;flex-shrink:0}.strength-label.strength-weak{color:#dc3545}.strength-label.strength-medium{color:#ffc107}.strength-label.strength-strong{color:#28a745}.password-requirements{list-style:none;padding:0;margin:0;font-size:.875rem}.password-requirements li{padding:.25rem 0;transition:color .2s ease}.password-requirements .check-pass{color:#28a745}.password-requirements .check-fail{color:#6c757d}.app-layout .strength-bar-track{background-color:#ffffff1a}.app-layout .password-requirements .check-fail{color:var(--ds-text-muted)}@media(max-width:480px){.strength-bar-container{gap:.5rem}.password-requirements{font-size:.8125rem}}.register-container{display:flex;justify-content:center;align-items:center;min-height:80vh;padding:2rem 1rem}.register-card{background-color:var(--ds-surface);border-radius:var(--ds-radius);border:1px solid var(--ds-border);padding:2rem;width:100%;max-width:400px}.register-card h2{margin-bottom:1.5rem;text-align:center;color:var(--ds-text)}.register-footer{margin-top:1.5rem;text-align:center;color:var(--ds-text-secondary)}.register-footer a{color:var(--ds-accent);text-decoration:none}.register-footer a:hover{text-decoration:underline}.invite-banner{background-color:rgba(var(--ds-accent-rgb),.08);border:1px solid var(--ds-accent);border-radius:var(--ds-radius);padding:1rem;margin-bottom:1.5rem;text-align:center}.invite-banner p{margin:0;color:var(--ds-text-secondary)}.confirm-modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.confirm-modal{background-color:var(--ds-surface);border-radius:var(--ds-radius);box-shadow:0 4px 20px #00000080;border:1px solid var(--ds-border-strong);width:90%;max-width:400px}.confirm-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--ds-border)}.confirm-modal-header h3{margin:0;font-size:1.25rem;color:var(--ds-text)}.confirm-modal-header .close-btn{background:none;border:none;font-size:1.5rem;color:var(--ds-text-muted);cursor:pointer;padding:0;line-height:1}.confirm-modal-header .close-btn:hover{color:var(--ds-text)}.confirm-modal-body{padding:1.5rem}.confirm-modal-body p{margin:0;color:var(--ds-text-secondary);line-height:1.5}.confirm-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--ds-border)}.btn-danger{background-color:var(--ds-danger);border-color:var(--ds-danger);color:#fff}.btn-danger:hover{background-color:#dc2626;border-color:#dc2626}.btn-danger:disabled{opacity:.65;cursor:not-allowed}.tournament-list-container{padding:2rem 0;max-width:1200px;margin:0 auto}.tournament-list-container h1{margin-bottom:1.5rem;text-align:center;color:var(--ds-text)}.filter-controls{display:flex;justify-content:center;margin-bottom:3rem;gap:0;padding-bottom:1.5rem;border-bottom:1px solid var(--ds-border)}.tournament-list-container .filter-btn{background-color:var(--ds-surface);border:1px solid var(--ds-border-strong);color:var(--ds-text-secondary);padding:.625rem 1.25rem;cursor:pointer;transition:all var(--ds-transition);font-size:.9rem;font-weight:500;border-radius:0}.tournament-list-container .filter-btn:first-child{border-radius:var(--ds-radius-sm) 0 0 var(--ds-radius-sm)}.tournament-list-container .filter-btn:last-child{border-radius:0 var(--ds-radius-sm) var(--ds-radius-sm) 0}.tournament-list-container .filter-btn:hover:not(.active){background-color:var(--ds-surface-hover);border-color:#ffffff26;color:var(--ds-text)}.tournament-list-container .filter-btn.active{background-color:var(--ds-accent);color:#fff;border-color:var(--ds-accent)}.tournament-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.tournament-list-container .tournament-card{background-color:var(--ds-surface);border:none;border-radius:var(--ds-radius);box-shadow:0 2px 8px #0000004d;padding:1.5rem;position:relative;transition:transform var(--ds-transition),box-shadow var(--ds-transition);display:flex;flex-direction:column}.tournament-list-container .tournament-card:hover{transform:translateY(-3px);box-shadow:0 4px 16px #0006}.tournament-card-header{display:flex;justify-content:space-between;align-items:center;margin:-1.5rem -1.5rem 1.25rem;padding:0 1.5rem;height:3rem;background-color:var(--ds-controls-bg);border-bottom:1px solid var(--ds-border);border-radius:calc(var(--ds-radius) - 1px) calc(var(--ds-radius) - 1px) 0 0;box-sizing:border-box}.tournament-card h2{font-size:1.25rem;font-weight:600;color:var(--ds-text);margin:.75rem 0 .5rem}.tournament-status{display:flex;flex-direction:row;align-items:center;gap:.5rem;flex-wrap:nowrap}.active-badge{background-color:var(--ds-success);color:#fff;font-size:.75rem;padding:.25rem .5rem;border-radius:.25rem;white-space:nowrap;flex-shrink:0}.inactive-badge{background-color:var(--ds-text-muted);color:#fff;font-size:.75rem;padding:.25rem .5rem;border-radius:.25rem;white-space:nowrap;flex-shrink:0}.status-badge{font-size:.75rem;padding:.25rem .5rem;border-radius:.25rem;white-space:nowrap;flex-shrink:0;font-weight:500;text-transform:uppercase;letter-spacing:.03em}.status-badge.hidden-badge{background-color:#ffffff14;color:var(--ds-text-secondary)}.status-badge.upcoming-badge{background-color:#3b82f626;color:var(--ds-accent)}.status-badge.open-badge{background-color:#22c55e26;color:var(--ds-success)}.status-badge.in-progress-badge{background-color:#f59e0b26;color:var(--ds-warning)}.status-badge.completed-badge{background-color:#ffffff14;color:var(--ds-text-secondary)}.tournament-dates{color:var(--ds-text-secondary);font-size:.9rem;margin-bottom:1rem}.tournament-description{color:var(--ds-text-muted);margin-bottom:1.5rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex-grow:1;line-height:1.5}.no-tournaments{text-align:center;padding:2rem;color:var(--ds-text-secondary)}.joined-badge{background-color:#22c55e26;color:var(--ds-success);font-size:.75rem;padding:.25rem .5rem;border-radius:.25rem;font-weight:500;white-space:nowrap;flex-shrink:0}.participant-count{color:var(--ds-text-secondary);font-size:.85rem}.tournament-card-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--ds-border)}.quick-join-controls{display:flex;align-items:center}.btn-small{padding:.375rem .75rem;font-size:.875rem}.participant-checklist{background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius);padding:1rem;margin-bottom:.25rem}.participant-checklist.disabled-state{opacity:.85}.checklist-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.checklist-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--ds-text)}.deadline-warning{font-size:.8rem;color:var(--ds-danger);font-weight:500;font-family:var(--ds-font-mono)}.checklist-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;align-items:stretch}.checklist-link{display:flex}.checklist-link,.checklist-link:hover,.checklist-link:visited,.checklist-link:active{text-decoration:none!important;color:inherit!important}.checklist-item{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;border-radius:var(--ds-radius-sm);background:rgba(var(--ds-warning-rgb),.1);border:1px solid rgba(var(--ds-warning-rgb),.25);transition:background var(--ds-transition),transform var(--ds-transition);min-height:60px;flex:1;width:100%}.checklist-link:hover .checklist-item:not(.disabled):not(.completed){background:rgba(var(--ds-warning-rgb),.18);transform:translateY(-1px)}.checklist-link:hover .checklist-item.completed:not(.disabled){background:rgba(var(--ds-success-rgb),.18);transform:translateY(-1px)}.checklist-item.disabled{cursor:default}.checklist-item.disabled.completed{opacity:.8}.checklist-item.completed{background:rgba(var(--ds-success-rgb),.1);border:1px solid rgba(var(--ds-success-rgb),.25)}.checklist-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0;font-weight:600}.checklist-icon.completed{background-color:var(--ds-success);color:#fff}.checklist-icon.pending{background-color:var(--ds-warning);color:#fff}.checklist-content{flex:1;min-width:0}.checklist-label{font-size:.85rem;font-weight:500;color:var(--ds-text);line-height:1.3}.checklist-sublabel{font-size:.7rem;color:var(--ds-text-secondary);margin-top:.15rem}.checklist-deadline{font-size:.7rem;color:var(--ds-danger);font-weight:500;margin-top:.15rem;font-family:var(--ds-font-mono)}.checklist-locked{font-size:.7rem;color:var(--ds-text-muted);font-weight:500;margin-top:.15rem}.checklist-cta{margin-top:1rem;text-align:center;padding-top:.75rem;border-top:1px solid var(--ds-border-strong)}.checklist-cta-text{font-size:.85rem;color:var(--ds-text-secondary);margin:0 0 .75rem}.checklist-link-compact,.checklist-link-compact:hover,.checklist-link-compact:visited,.checklist-link-compact:active{text-decoration:none!important;color:inherit!important}.checklist-chip{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border-radius:var(--ds-radius-sm);background:rgba(var(--ds-warning-rgb),.1);border:1px solid rgba(var(--ds-warning-rgb),.25);transition:background var(--ds-transition),transform var(--ds-transition);animation:chip-pulse 2s ease-in-out infinite}@keyframes chip-pulse{0%{box-shadow:0 0 rgba(var(--ds-warning-rgb),.4)}to{box-shadow:0 0 0 10px rgba(var(--ds-warning-rgb),0)}}.checklist-chip.completed{background:rgba(var(--ds-success-rgb),.1);border-color:rgba(var(--ds-success-rgb),.25);animation:none}.checklist-link-compact:hover .checklist-chip:not(.completed){background:rgba(var(--ds-warning-rgb),.18);transform:translateY(-1px)}.checklist-link-compact:hover .checklist-chip.completed{background:rgba(var(--ds-success-rgb),.18);transform:translateY(-1px)}.checklist-icon-sm{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;flex-shrink:0;font-weight:600}.checklist-icon-sm.completed{background-color:var(--ds-success);color:#fff}.checklist-icon-sm.pending{background-color:var(--ds-warning);color:#fff}.checklist-chip-content{display:flex;flex-direction:column;min-width:0}.checklist-chip-label{font-size:.75rem;font-weight:600;color:var(--ds-text);line-height:1.2}.checklist-chip-sublabel{font-size:.65rem;color:var(--ds-text-secondary)}.checklist-chip-deadline{font-size:.65rem;color:var(--ds-danger);font-weight:500;white-space:nowrap;margin-left:auto;font-family:var(--ds-font-mono);font-variant-numeric:tabular-nums}@media(max-width:900px){.checklist-items{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.checklist-items{grid-template-columns:1fr}.checklist-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.invite-btn{white-space:nowrap}.invite-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.invite-modal{background-color:var(--ds-surface);border-radius:var(--ds-radius);border:1px solid var(--ds-border);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-sizing:border-box}.invite-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--ds-border);min-width:0}.invite-modal-header h3{margin:0;font-size:1.25rem;color:var(--ds-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.close-btn{background:none;border:none;font-size:1.5rem;color:var(--ds-text-muted);cursor:pointer;padding:0;line-height:1}.close-btn:hover{color:var(--ds-text)}.invite-modal-body{padding:1.5rem;min-width:0}.invite-modal-body p{margin:0 0 1rem;color:var(--ds-text-secondary);word-wrap:break-word}.invite-link-container{display:flex;gap:.5rem;min-width:0}.invite-link-input{flex:1;min-width:0;padding:.5rem .75rem;border:1px solid var(--ds-border);border-radius:.375rem;font-size:.875rem;background-color:var(--ds-surface-hover);color:var(--ds-text-secondary);box-sizing:border-box}.copy-btn{white-space:nowrap;padding:.5rem 1rem}.copy-btn.copied{background-color:var(--ds-success);border-color:var(--ds-success)}.landing-content{margin-top:0}.tab-content{background-color:var(--ds-bg);border-radius:var(--ds-radius);box-shadow:none;padding:2rem;color:var(--ds-text)}.tab-content:has(.lbv2){padding:1rem 0 0}@media(max-width:480px){.tournament-detail-container .tab-content{padding:0;border-radius:0;box-shadow:none}.tournament-detail-container .tab-content h1{font-size:1.25rem;text-align:center;color:var(--ds-text);margin-bottom:.75rem}}.variant-label{display:none}.status-badge-sm{font-size:.7rem;padding:.2rem .5rem;border-radius:.25rem;font-weight:600}.status-badge-sm.active{background-color:rgba(var(--ds-success-rgb),.15);color:var(--ds-success)}.status-badge-sm.inactive{background-color:var(--ds-surface-hover);color:var(--ds-text-secondary)}.meta-divider{color:var(--ds-text-muted);margin:0 .5rem}.dates-compact,.participants-compact{font-size:.85rem;color:var(--ds-text-secondary)}.description-inline{font-size:.85rem;color:var(--ds-text-muted);font-style:italic}.btn-sm{padding:.25rem .75rem;font-size:.75rem}.joined-badge-sm{background-color:rgba(var(--ds-success-rgb),.15);color:var(--ds-success);padding:.25rem .5rem;border-radius:.25rem;font-weight:500;font-size:.75rem}.started-message-sm{color:var(--ds-text-muted);font-size:.75rem;font-style:italic}.header-v1{position:relative;padding:.75rem 1rem!important;margin-bottom:.75rem!important}.header-v1 h1{font-size:1.25rem;margin:0!important;display:inline}.header-v1-content{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.header-v2{position:relative;padding:.75rem 1rem!important;margin-bottom:.75rem!important}.header-v2 h1{font-size:1.25rem;margin:0!important}.header-v2-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.header-v2-actions{display:flex;align-items:center;gap:.5rem}.header-v2-bottom{display:flex;align-items:center;flex-wrap:wrap}.header-v3{position:relative;padding:.75rem 1rem!important;margin-bottom:.75rem!important}.header-v3 h1{font-size:1.1rem;margin:0 0 .35rem!important}.header-v3-content{display:flex;justify-content:space-between;align-items:flex-start}.header-v3-badges{display:flex;gap:.4rem;flex-wrap:wrap}.badge-pill{font-size:.7rem;padding:.2rem .5rem;border-radius:1rem;font-weight:500}.badge-pill.active{background-color:rgba(var(--ds-success-rgb),.15);color:var(--ds-success)}.badge-pill.inactive{background-color:var(--ds-surface-hover);color:var(--ds-text-secondary)}.badge-pill.neutral{background-color:var(--ds-surface-highlight);color:var(--ds-text)}.header-v4{position:relative;padding:.75rem 1rem!important;margin-bottom:.75rem!important;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.header-v4 h1{font-size:1.1rem;margin:0!important}.header-v4-name{flex-shrink:0}.header-v4-section{display:flex;flex-direction:column;gap:.1rem;padding-left:1rem;border-left:1px solid var(--ds-border-strong)}.section-label{font-size:.6rem;text-transform:uppercase;color:var(--ds-text-muted);letter-spacing:.5px}.section-value{font-size:.85rem;color:var(--ds-text);font-weight:500}.status-value.active{color:var(--ds-success)}.status-value.inactive{color:var(--ds-text-muted)}.header-v4-action{margin-left:auto;display:flex;align-items:center;gap:.25rem;flex-shrink:0}.header-v4-checklist+.header-v4-action{margin-left:0}.header-v4-action .utility-link{padding:.25rem .5rem;font-size:.8rem;color:var(--ds-text-secondary);text-decoration:none;background:none;border:none;cursor:pointer;transition:color .15s ease;line-height:1.2;display:inline-flex;align-items:center}.header-v4-action .utility-link:hover{color:var(--ds-accent);text-decoration:underline}.header-v4-action .utility-link.danger:hover{color:var(--ds-danger)}.header-v4-action .utility-link.static{cursor:default}.header-v4-action .utility-link.static:hover{color:var(--ds-text-secondary);text-decoration:none}.header-v4-action .utility-divider{color:var(--ds-border-strong);font-size:.8rem;-webkit-user-select:none;user-select:none;line-height:1.2}.header-v4-checklist{margin-left:auto}@media(max-width:480px){.header-v4{flex-wrap:wrap;gap:.5rem .75rem;padding:.75rem!important;justify-content:center}.header-v4-name{flex:1 1 100%;text-align:center}.header-v4-section{flex:1 1 auto;border-left:none;padding-left:0;text-align:center;min-width:0}.header-v4-checklist{flex:1 1 100%;margin-left:0;display:flex;justify-content:center}.header-v4-action{flex:1 1 100%;margin-left:0;justify-content:center}}.header-v5{position:relative;padding:0!important;margin-bottom:.75rem!important;overflow:hidden}.header-v5-accent{height:4px;background:linear-gradient(90deg,var(--ds-accent),var(--ds-success),var(--ds-accent));background-size:200% 100%}.header-v5-content{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem}.header-v5 h1{font-size:1.15rem;margin:0!important}.header-v5-meta{font-size:.8rem;color:var(--ds-text-muted);margin-top:.15rem;display:block}.header-v5-right{display:flex;align-items:center;gap:.75rem}.status-dot{width:10px;height:10px;border-radius:50%}.status-dot.active{background-color:var(--ds-success);box-shadow:0 0 6px rgba(var(--ds-success-rgb),.5)}.status-dot.inactive{background-color:var(--ds-text-muted)}.tournament-header{background-color:var(--ds-surface);border-radius:var(--ds-radius);box-shadow:0 2px 8px #0000004d;padding:2rem;margin-bottom:2rem}.tournament-header h1{margin-bottom:.5rem}.tournament-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.tournament-dates{color:var(--ds-text-secondary);font-size:1.1rem;margin:0}.tournament-description{color:var(--ds-text);line-height:1.6;margin-bottom:1.5rem}.tournament-participation{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid var(--ds-border)}.participant-info{display:flex;align-items:center;gap:1rem}.participant-count{color:var(--ds-text-secondary);font-size:.9rem}.join-controls{display:flex;align-items:center}.joined-badge{background-color:rgba(var(--ds-success-rgb),.15);color:var(--ds-success);padding:.5rem 1rem;border-radius:.375rem;font-weight:500;font-size:.9rem}.started-message{color:var(--ds-text-muted);font-style:italic;font-size:.9rem}.tournament-tabs{border-bottom:1px solid var(--ds-border)}.tabs-desktop{display:flex;width:100%}.tabs-mobile{display:none}.tab-btn{padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;font-size:1.1rem;color:var(--ds-accent);cursor:pointer;transition:all .2s}.tab-badge{display:inline-block;background-color:var(--ds-accent);color:#fff;padding:.15rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600;margin-left:.5rem;min-width:20px;text-align:center}@media(max-width:768px){.tabs-desktop{display:none}.tabs-mobile{display:block;width:100%;padding-top:.5rem}.tab-select-mobile{width:100%;padding:.75rem 2.5rem;font-size:1rem;font-weight:600;border:1px solid var(--ds-border-strong);border-left:4px solid var(--ds-accent);border-radius:.375rem;background-color:var(--ds-surface);color:var(--ds-text);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%233b82f6' d='M2 3h12v1.5H2V3zm0 4.5h12V9H2V7.5zm0 4.5h12v1.5H2V12z'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%233b82f6' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat,no-repeat;background-position:left .75rem center,right 1rem center;box-shadow:none}.tab-select-mobile:focus{outline:none;border-color:var(--ds-accent);box-shadow:0 0 0 3px rgba(var(--ds-accent-rgb),.15)}.tournament-tabs{margin-bottom:1rem;border-bottom:none}}.leaderboard-page-layout{display:grid;grid-template-columns:3fr 2fr;gap:1.5rem;align-items:start}@media(max-width:1100px){.leaderboard-page-layout{grid-template-columns:1fr}}.matches-container h2,.leaderboard-container h2{margin-bottom:1.5rem;color:var(--ds-text)}.leaderboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.leaderboard-header h1{margin-bottom:0;color:var(--ds-accent);font-size:1.5rem}.leaderboard-toggle{display:flex;gap:.25rem;background-color:var(--ds-surface-hover);border-radius:var(--ds-radius);padding:.25rem}.leaderboard-toggle-btn{padding:.5rem 1rem;border:none;background-color:transparent;color:var(--ds-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;border-radius:var(--ds-radius-sm);transition:var(--ds-transition)}.leaderboard-toggle-btn:hover{color:var(--ds-text)}.leaderboard-toggle-btn.active{background-color:var(--ds-surface);color:var(--ds-accent);border:1px solid var(--ds-border)}.leaderboard-toggle-disabled{opacity:.45}.leaderboard-toggle-disabled .leaderboard-toggle-btn{cursor:not-allowed}.leaderboard-toggle-disabled .leaderboard-toggle-btn:hover{color:var(--ds-text-secondary)}.gap-row{background-color:var(--ds-surface)}.gap-row:hover{background-color:var(--ds-surface)!important}.gap-cell{text-align:center!important;padding:0!important}.gap-cell .show-more-btn{width:100%;padding:.75rem 1rem;border:none;background:transparent;color:var(--ds-text-muted);font-style:italic;font-size:.875rem;cursor:pointer;transition:var(--ds-transition)}.gap-cell .show-more-btn:hover{background-color:var(--ds-surface-hover);color:var(--ds-accent)}.gap-cell .show-more-btn:focus{outline:none;box-shadow:inset 0 0 0 2px var(--ds-accent)}.matches-list{display:grid;grid-template-columns:1fr;gap:1rem}.match-card{background-color:var(--ds-surface);border-radius:var(--ds-radius);border:1px solid var(--ds-border);padding:1.5rem;position:relative;display:flex;flex-direction:column;gap:1rem}.match-teams{display:flex;justify-content:space-between;align-items:center}.match-teams .team{font-weight:500;font-size:1.2rem}.match-score{background-color:var(--ds-surface-hover);padding:.5rem 1rem;border-radius:.25rem;font-weight:700;font-size:1.2rem}.leaderboard-table{width:100%;border-collapse:collapse;background-color:var(--ds-surface);border-radius:var(--ds-radius);border:1px solid var(--ds-border);overflow:hidden;box-shadow:0 2px 8px #0000004d}.leaderboard-table th,.leaderboard-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--ds-border)}.leaderboard-table th{background-color:var(--ds-controls-bg);font-weight:600;color:var(--ds-text-secondary)}.back-link a{display:inline-block;color:var(--ds-text-secondary);text-decoration:none}.back-link a:hover{color:var(--ds-accent)}@media(max-width:768px){.match-teams{flex-direction:column;gap:.5rem}.match-score{margin:.5rem 0}}.round-card{background-color:var(--ds-surface);border-radius:var(--ds-radius);box-shadow:0 2px 8px #0000004d;margin-bottom:.75rem;padding:.5rem .75rem}.round-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.round-header-left{flex:1}.round-header-right{flex-shrink:0}.round-name{color:var(--ds-text);margin-bottom:.25rem;font-size:1.2rem}.round-dates{color:var(--ds-text-secondary);font-size:.9rem}.prediction-deadline{display:flex;flex-direction:column;align-items:flex-end;text-align:right}.prediction-deadline .deadline-label{font-size:.75rem;color:var(--ds-text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.025em}.prediction-deadline .deadline-value{font-size:.9rem;color:var(--ds-danger);font-weight:600}@media(max-width:600px){.round-header{flex-direction:column;gap:.75rem}.round-header-right{width:100%}.prediction-deadline{align-items:center;text-align:center;padding-top:.75rem;border-top:1px solid var(--ds-border)}.prediction-deadline.completed-round{display:none}}@media(max-width:480px){.round-card{padding:1rem;margin-bottom:1rem}.round-header{gap:.5rem}.round-name{font-size:1.1rem}.round-dates{font-size:.8rem}.prediction-deadline{padding-top:.5rem}.prediction-deadline .deadline-value{font-size:.85rem}}.matches-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.no-rounds,.no-matches{color:var(--ds-text-secondary);padding:1.5rem;text-align:center}.striker-selection-link{margin-top:1.5rem;text-align:center}.striker-selection-link .btn{padding:.75rem 2rem;font-size:1.1rem;font-weight:600}.leaderboard-table-container{background-color:var(--ds-surface);border-radius:var(--ds-radius);border:1px solid var(--ds-border);overflow:hidden;box-shadow:0 2px 8px #0000004d}.leaderboard-table{width:100%;border-collapse:collapse}.leaderboard-table th,.leaderboard-table td{padding:1rem;text-align:center;border-bottom:1px solid var(--ds-border)}.leaderboard-table th{background-color:var(--ds-controls-bg);font-weight:600;color:var(--ds-text-secondary);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.leaderboard-table tr:last-child td{border-bottom:none}.leaderboard-table tr:hover{background-color:var(--ds-surface-hover)}.leaderboard-table th:nth-child(1),.leaderboard-table th:nth-child(2),.leaderboard-table .position-cell,.leaderboard-table .player-cell{text-align:left!important}.position-cell{width:1%;white-space:nowrap;text-align:left!important}.position-badge.first-place{background-color:var(--ds-gold);color:#b8860b;box-shadow:0 2px 4px #ffd7004d}.position-badge.second-place{background-color:var(--ds-silver);color:#696969;box-shadow:0 2px 4px #c0c0c04d}.position-badge.third-place{background-color:var(--ds-bronze);color:#8b4513;box-shadow:0 2px 4px #cd7f324d}.position-badge.other-place{background-color:var(--ds-border);color:var(--ds-text-secondary)}.player-cell{text-align:left;font-weight:500;color:var(--ds-text)}.player-link{color:var(--ds-text);text-decoration:none;transition:var(--ds-transition)}.player-link:hover{color:var(--ds-accent);text-decoration:underline}.participant-team-logo{width:20px;height:20px;object-fit:contain;margin-left:.5rem;vertical-align:middle;border-radius:2px;position:relative;top:-2px}.card-player-name .participant-team-logo{width:18px;height:18px;margin-left:.4rem;top:-1px}.leaderboard-view-toggle{margin-bottom:.5rem}.team-leaderboard-table .team-cell>span{vertical-align:baseline}.team-leaderboard-table .members-cell,.team-leaderboard-table .members-header{text-align:center;color:var(--ds-text-muted)}.team-card-name{display:flex;align-items:center;gap:.4rem}.team-member-count{font-size:.75rem;color:var(--ds-text-muted);margin-left:.25rem}.card-points-row{display:flex;gap:.75rem;font-size:.8rem;color:var(--ds-text-secondary);margin-top:.25rem}.card-point-item{white-space:nowrap}.points-cell{font-weight:600;min-width:100px}.prediction-points{color:var(--ds-accent)}.striker-points{color:var(--ds-success)}.total-points{color:var(--ds-text);background-color:#ffffff0a;font-size:1.2rem}.leaderboard-legend{padding:1rem;background-color:var(--ds-surface);border-top:1px solid var(--ds-border);display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--ds-text-secondary)}.legend-mobile-only{display:none!important}.legend-color{width:16px;height:16px;border-radius:50%;flex-shrink:0}.legend-color.prediction-color{background-color:var(--ds-accent)}.legend-color.striker-color{background-color:var(--ds-success)}.prediction-1x2-color,.1x2-points{color:var(--ds-accent)!important}.prediction-correct-score-color,.correct-score-points{color:#0d9488!important}.striker-color,.striker-points{color:var(--ds-success)!important}.top-teams-color,.top-teams-points{color:var(--ds-warning)!important}.leaderboard-cards-mobile{display:none}@media(max-width:700px){.leaderboard-table{display:none}.leaderboard-cards-mobile{display:flex;flex-direction:column;gap:0;list-style:none;padding:0;margin:0;background-color:var(--ds-surface);border-radius:var(--ds-radius);overflow:hidden;border:1px solid var(--ds-border)}.leaderboard-card-item{display:flex;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--ds-border);transition:var(--ds-transition);cursor:pointer;outline:none}.leaderboard-card-item:last-child{border-bottom:none}.leaderboard-card-item:hover{background-color:#ffffff08}.leaderboard-card-item:focus{background-color:#ffffff08;box-shadow:inset 0 0 0 2px var(--ds-accent)}.leaderboard-card-item.current-user-card{background-color:#3b82f614;border-left:4px solid var(--ds-accent);padding-left:calc(1rem - 4px)}.leaderboard-card-item.current-user-card:hover{background-color:#3b82f61f}.card-rank{flex-shrink:0;display:flex;align-items:center}.card-rank .position-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;padding:4px 8px;border-radius:4px;font-weight:700;font-size:.85rem;line-height:1}.card-main{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0}.card-header-line{display:flex;justify-content:space-between;align-items:center;gap:.75rem;line-height:1.3}.card-player-name{font-weight:600;color:var(--ds-text);font-size:.95rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.you-badge{display:inline-block;background-color:var(--ds-accent);color:var(--ds-surface);padding:.125rem .4rem;border-radius:.25rem;font-size:.7rem;font-weight:600;margin-left:.5rem;vertical-align:middle}.card-total-points{font-weight:700;color:var(--ds-text);font-size:1rem;white-space:nowrap;flex-shrink:0}.total-sigma{font-weight:400;color:var(--ds-text-muted);margin-right:.25rem}.card-metrics-line{display:flex;align-items:center;gap:.5rem;font-size:.85rem;flex-wrap:wrap;line-height:1.3}.metric-chip{display:inline-flex;align-items:baseline;gap:.25rem}.metric-label{color:var(--ds-text-secondary);font-size:.8rem;font-weight:500}.metric-value{font-weight:600;font-size:.85rem}.metric-divider{color:var(--ds-text-muted);font-weight:400}.show-more-card{list-style:none;padding:0;border-bottom:1px solid var(--ds-border)}.show-more-card:last-child{border-bottom:none}.show-more-btn{width:100%;padding:1rem;border:none;background-color:var(--ds-surface);color:var(--ds-accent);font-size:.9rem;font-weight:600;cursor:pointer;text-align:center;transition:var(--ds-transition)}.show-more-btn:hover{background-color:var(--ds-surface-hover);color:var(--ds-accent)}.show-more-btn:focus{outline:none;box-shadow:inset 0 0 0 2px var(--ds-accent)}.leaderboard-legend{display:flex!important;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem 1rem}.legend-desktop-only{display:none!important}.legend-mobile-only{display:flex!important}.legend-points-only{display:none!important}.leaderboard-header{flex-wrap:wrap}.leaderboard-header>.leaderboard-toggle{width:100%}.leaderboard-header>.leaderboard-toggle>.leaderboard-toggle-btn{flex:1}.leaderboard-view-toggle,.leaderboard-view-toggle .leaderboard-toggle{width:100%}.leaderboard-view-toggle .leaderboard-toggle-btn{flex:1}.team-card-item{cursor:default}.team-card-name{flex-wrap:wrap}.card-points-row{flex-wrap:wrap;gap:.5rem}}@media(max-width:500px){.leaderboard-card-item{padding:.65rem .75rem;gap:.5rem}.card-rank .position-badge{min-width:24px;min-height:24px;padding:3px 6px;font-size:.75rem}.card-player-name{font-size:.9rem}.card-total-points{font-size:.95rem}.you-badge{font-size:.65rem;padding:.1rem .35rem}.metric-label{font-size:.75rem}.metric-value{font-size:.8rem}}.matches-table-container{background-color:var(--ds-surface);border-radius:var(--ds-radius);box-shadow:0 2px 8px #0000004d;overflow:hidden;margin-bottom:1rem}.matches-table{width:100%;border-collapse:collapse}.matches-table th,.matches-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--ds-border);vertical-align:middle}.matches-table th{background-color:var(--ds-controls-bg);font-weight:600;color:var(--ds-text-muted);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.matches-table tbody tr:hover{background-color:var(--ds-surface-hover)}.matches-table .home-team,.matches-table .away-team{min-width:120px;font-weight:500}.team-cell-content{display:flex;align-items:center;gap:.5rem}.team-flag-inline{flex-shrink:0;border-radius:2px;box-shadow:0 0 0 1px #ffffff1a}.matches-table .date-column{min-width:100px;white-space:nowrap}.matches-table .time-column{min-width:80px;white-space:nowrap}.matches-table .score-column{min-width:80px;text-align:center}.matches-table .score-column span{font-weight:600}.matches-table .not-played{color:var(--ds-text-muted);font-style:italic}.matches-table .points-column{text-align:center;min-width:60px;font-weight:600;color:var(--ds-accent)}.matches-table .stats-column{text-align:center;width:50px}.stats-link,.stats-link:visited,.stats-link:hover,.stats-link:active{text-decoration:none;cursor:pointer;opacity:1;transition:opacity .2s}.stats-link:hover{opacity:.7}.stats-disabled{opacity:.3;cursor:not-allowed}.matches-table .action-column{text-align:center;white-space:nowrap}.match-cards-mobile{display:none}@media(max-width:1100px){.matches-table-container{display:none}.match-cards-mobile{display:flex;flex-direction:column;gap:.5rem}.match-card-item{background-color:var(--ds-surface);border-radius:var(--ds-radius);box-shadow:0 2px 8px #0000004d;padding:.5rem 1rem;border:1px solid var(--ds-border);display:flex;flex-wrap:wrap;align-items:center;align-content:flex-start;gap:.25rem 1rem}.match-card-date{color:var(--ds-text-secondary);font-size:.875rem;font-weight:500}.match-card-time{color:var(--ds-text-muted);font-size:.875rem}.match-card-datetime-group,.match-card-teams-group{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.match-card-data-group{display:flex;align-items:center;gap:.75rem;flex-shrink:0;margin-left:auto;line-height:1}.match-card-team{display:flex;align-items:center;gap:.4rem;font-weight:500;font-size:.95rem}.match-card-team .team-flag-inline{flex-shrink:0}.match-card-team .team-name-full{display:inline}.match-card-team .team-name-abbr{display:none}.match-card-vs{color:var(--ds-text-muted);font-size:.75rem}.match-card-label{color:var(--ds-text-muted);font-size:.75rem;font-weight:500;text-transform:uppercase}.match-card-prediction{display:flex;align-items:center;gap:.25rem;line-height:1;white-space:nowrap}.match-card-prediction .score-input-group{gap:.25rem}.match-card-prediction .score-input{width:48px;height:40px;font-size:1rem;padding:.25rem}.match-card-prediction .existing-prediction{font-weight:600;font-size:.9rem}.match-card-prediction .prediction-disabled,.match-card-prediction .no-prediction{color:var(--ds-text-muted);font-size:.85rem}.match-card-result{display:flex;align-items:center;gap:.25rem;font-weight:600;font-size:.9rem;white-space:nowrap}.match-card-points{display:flex;align-items:center;gap:.25rem;font-weight:600;color:var(--ds-accent);font-size:.9rem;white-space:nowrap}.match-card-stats{font-size:1.1rem}}@media(max-width:650px){.match-card-team .team-name-full{display:none}.match-card-team .team-name-abbr{display:inline}}@media(max-width:480px){.match-cards-mobile .match-card-item{flex-direction:column;flex-wrap:nowrap;align-items:center;align-content:center;text-align:center;padding:.5rem;gap:.25rem}.match-cards-mobile .match-card-datetime-group,.match-cards-mobile .match-card-teams-group,.match-cards-mobile .match-card-data-group{width:auto;margin-left:0;flex-shrink:0}.match-card-team{font-size:.9rem}.match-card-team .team-name-full{display:inline}.match-card-team .team-name-abbr{display:none}.match-card-date,.match-card-time{font-size:.75rem}.match-cards-mobile{gap:.375rem}}.strikers-container,.top-teams-container{background-color:var(--ds-surface);border-radius:var(--ds-radius);border:1px solid var(--ds-border);padding:2rem;text-align:center}.strikers-container h2,.top-teams-container h2{margin-bottom:1rem;color:var(--ds-text)}.strikers-container p,.top-teams-container p{color:var(--ds-text-secondary);margin-bottom:2rem;font-size:1.1rem;line-height:1.6}.striker-action,.top-teams-action{margin-top:1.5rem}.btn-large{padding:1rem 2rem;font-size:1.2rem;font-weight:600}.matches-table .prediction-column{min-width:140px;text-align:center}.prediction-inputs{display:flex;flex-direction:column;align-items:center;justify-content:center;height:26px}.score-input-group{display:flex;align-items:center;justify-content:center;gap:.5rem}.score-input{width:45px;height:26px;padding:0 .35rem;border:1px solid var(--ds-border-strong);border-radius:.25rem;text-align:center;font-size:.875rem;font-family:var(--ds-font-mono);background:var(--ds-bg);color:var(--ds-text);box-sizing:border-box;-moz-appearance:textfield}.score-input::-webkit-outer-spin-button,.score-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.score-input:focus{outline:none;border-color:var(--ds-accent);box-shadow:0 0 0 2px rgba(var(--ds-accent-rgb),.25)}.score-input:disabled{background-color:#ffffff08;cursor:not-allowed}.btn-xs{padding:.25rem .5rem;font-size:.75rem;line-height:1;border-radius:.25rem}.prediction-disabled{font-size:.75rem;color:var(--ds-text-muted);font-style:italic;height:26px;display:flex;align-items:center;justify-content:center}.existing-prediction{font-weight:600;height:26px;display:flex;align-items:center;justify-content:center}.no-prediction{color:var(--ds-text-muted);height:26px;display:flex;align-items:center;justify-content:center}.predict-inline{font-size:.75rem;color:var(--ds-text-muted);font-style:italic}.rounds-container{padding:0;max-width:1200px;margin:0 auto}.rounds-header-row{display:flex;gap:2rem;align-items:stretch;background-color:var(--ds-surface);border-radius:var(--ds-radius);padding:1.5rem;box-shadow:0 2px 4px #0000004d;margin-bottom:1.5rem}.rounds-header-info{flex:0 0 280px;display:flex;flex-direction:column;justify-content:center}.rounds-header-info h1{color:var(--ds-text);font-size:1.5rem;margin-bottom:.5rem}.rounds-header-info .selection-info{color:var(--ds-text-secondary);font-size:.9rem;margin-bottom:0;line-height:1.4}.rounds-summary-row{flex:1;display:flex;gap:.75rem;align-items:stretch}.summary-stat{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.75rem .5rem;border:2px solid var(--ds-accent);border-radius:var(--ds-radius-sm);background-color:var(--ds-surface);min-height:70px}.summary-stat .stat-value{font-size:1.5rem;font-weight:700;color:var(--ds-text);font-family:var(--ds-font-mono);line-height:1.2}.summary-stat .stat-label{font-size:.7rem;color:var(--ds-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:.25rem}.summary-stat .progress-value{color:var(--ds-accent)}.summary-stat.deadline-stat{border-color:rgba(var(--ds-warning-rgb),.4);background-color:rgba(var(--ds-warning-rgb),.08)}.summary-stat .deadline-value{font-size:.95rem;color:var(--ds-warning)}@media(max-width:900px){.rounds-header-row{flex-direction:column;gap:1rem}.rounds-header-info{flex:none;text-align:center}.rounds-summary-row{flex-wrap:wrap;justify-content:center}.summary-stat{flex:1 1 calc(50% - .5rem);max-width:calc(50% - .5rem)}}@media(max-width:600px){.summary-stat{flex:1 1 calc(50% - .375rem)}.summary-stat .stat-value{font-size:1.25rem}.summary-stat .deadline-value{font-size:.85rem}}@media(max-width:480px){.rounds-header-row{padding:1rem;margin-bottom:1rem}.rounds-header-info h1{font-size:1.25rem;margin-bottom:.25rem}.rounds-header-info .selection-info{font-size:.85rem}.summary-stat{min-height:55px;padding:.5rem .25rem}.summary-stat .stat-value{font-size:1.1rem}.summary-stat .stat-label{font-size:.6rem}.summary-stat .deadline-value{font-size:.8rem}}@media(max-width:768px){.matches-table .prediction-column{min-width:120px}.score-input{width:45px;font-size:.8rem}.btn-xs{font-size:.7rem;padding:.2rem .4rem}}.promo-cta-banner{background:linear-gradient(135deg,rgba(var(--ds-accent-rgb),.2),rgba(var(--ds-accent-rgb),.06));border:1px solid rgba(var(--ds-accent-rgb),.2);border-radius:var(--ds-radius);padding:1.5rem 2rem;margin-bottom:1.5rem;text-align:center;color:var(--ds-text);box-shadow:none}.promo-cta-buttons .btn-primary{background-color:var(--ds-accent);color:#fff}.promo-cta-buttons .btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--ds-accent-rgb),.3)}.promo-cta-buttons .btn-secondary{background-color:transparent;border:2px solid var(--ds-border-strong);color:var(--ds-text)}.promo-cta-buttons .btn-secondary:hover{background-color:#ffffff0d}.score-input.saving,.match-card-prediction .score-input.saving{background-color:rgba(var(--ds-success-rgb),.15)!important;border-color:rgba(var(--ds-success-rgb),.5)!important}@keyframes prediction-saved-flash{0%{background-color:rgba(var(--ds-success-rgb),.5);border-color:rgba(var(--ds-success-rgb),.8);box-shadow:0 0 8px rgba(var(--ds-success-rgb),.6)}to{background-color:var(--ds-bg);border-color:var(--ds-border-strong);box-shadow:none}}.score-input.just-saved,.match-card-prediction .score-input.just-saved{animation:prediction-saved-flash .8s ease-out forwards}@keyframes save-checkmark-appear{0%{opacity:0;transform:scale(.5)}15%{opacity:1;transform:scale(1)}85%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.save-checkmark{display:inline-flex;align-items:center;color:var(--ds-success);font-size:1rem;font-weight:700;margin-left:.35rem;pointer-events:none;min-width:1.2rem;opacity:0}.save-checkmark.visible{animation:save-checkmark-appear 2s ease-out forwards}.promoted-messages-section{padding-bottom:1rem}.promoted-messages-list{display:flex;flex-direction:row;gap:16px;flex-wrap:wrap}.promoted-message-item{background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius-sm);padding:16px;box-shadow:0 2px 8px #0000004d;display:flex!important;flex-direction:column!important;cursor:default;flex:1 1 calc(50% - 8px);min-width:300px}.promoted-message-header{display:block;width:100%;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--ds-border)}.promoted-message-item .promoted-message-title{display:block;margin:0 0 8px;color:var(--ds-text);font-size:18px;font-weight:600}.promoted-message-meta{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ds-text-secondary)}.promoted-message-meta .meta-divider{color:var(--ds-border-strong)}.promoted-message-content{display:block;width:100%;color:var(--ds-text);line-height:1.6}.promoted-message-content .markdown-content{line-height:1.6}.promoted-message-content .markdown-content p{margin:0;margin-bottom:.75rem}.promoted-message-content .markdown-content p:last-child{margin-bottom:0}.promoted-message-content .markdown-content h1,.promoted-message-content .markdown-content h2,.promoted-message-content .markdown-content h3,.promoted-message-content .markdown-content h4{margin-top:0;margin-bottom:.5rem}.promoted-message-content .markdown-content h1:first-child,.promoted-message-content .markdown-content h2:first-child,.promoted-message-content .markdown-content h3:first-child,.promoted-message-content .markdown-content h4:first-child{margin-top:0}.trend-indicator{display:inline-block;font-size:.9rem;font-weight:600;margin-left:4px}.trend-up{color:var(--ds-success)}.trend-down{color:var(--ds-danger)}@media(max-width:700px){.card-rank .trend-indicator{display:block;margin-left:0;margin-top:2px;font-size:.7rem}}.matches-table tbody tr.prediction-incorrect{background-color:rgba(var(--ds-danger-rgb),.15)}.matches-table tbody tr.prediction-incorrect:hover{background-color:rgba(var(--ds-danger-rgb),.22)}.matches-table tbody tr.prediction-correct{background-color:rgba(var(--ds-success-rgb),.15)}.matches-table tbody tr.prediction-correct:hover{background-color:rgba(var(--ds-success-rgb),.22)}.matches-table tbody tr.prediction-exact{background-color:rgba(var(--ds-success-rgb),.3)}.matches-table tbody tr.prediction-exact:hover{background-color:rgba(var(--ds-success-rgb),.38)}.match-card-item.prediction-incorrect{background-color:rgba(var(--ds-danger-rgb),.15);border-left:3px solid var(--ds-danger)}.match-card-item.prediction-correct{background-color:rgba(var(--ds-success-rgb),.15);border-left:3px solid var(--ds-success)}.match-card-item.prediction-exact{background-color:rgba(var(--ds-success-rgb),.3);border-left:3px solid var(--ds-success)}.round-header-clickable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s ease}.round-name{display:flex;align-items:center;gap:.5rem}.expand-icon{font-size:.75rem;color:var(--ds-text-muted);width:1rem;flex-shrink:0;transition:transform .15s ease}.round-name .round-completed-badge{font-size:.7rem;padding:.2rem .5rem;border-radius:.25rem;background-color:rgba(var(--ds-success-rgb),.15);color:var(--ds-success)!important;margin-left:.5rem;font-weight:500}.rounds-expand-controls{display:flex;gap:.5rem;margin-top:.75rem}.rounds-expand-controls .btn{padding:.35rem .75rem;font-size:.8rem}.leaderboard-sidebar{display:flex;flex-direction:column;gap:1rem}@media(max-width:600px){.rounds-expand-controls{width:100%;justify-content:center}.round-name .round-completed-badge,.round-name .joker-badge{font-size:.6rem;padding:.15rem .4rem}}.joker-badge{display:inline-block;background:linear-gradient(135deg,#f5a623,#e8941a);color:#fff;font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:10px;margin-left:.5rem;vertical-align:middle;letter-spacing:.02em;text-transform:uppercase;text-align:center}.joker-info{position:relative;display:inline-flex;align-items:center;justify-content:center;margin-left:.25rem;vertical-align:middle;cursor:help;-webkit-tap-highlight-color:transparent;outline:none}.joker-info-icon{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:50%;background:#f5a62333;color:#e8941a;font-size:.85rem;font-weight:700;line-height:1}.joker-info-tooltip{position:absolute;top:calc(100% + .4rem);left:50%;transform:translate(-50%);background:var(--ds-controls-bg);border:1px solid var(--ds-border-strong);color:#fff;font-size:.75rem;font-weight:400;text-transform:none;letter-spacing:normal;padding:.5rem .75rem;border-radius:6px;white-space:nowrap;z-index:100}@media(max-width:600px){.joker-info-tooltip{white-space:normal;width:max-content;max-width:200px;left:auto;right:0;transform:none}}.joker-icon{width:40px;height:40px;display:block;margin:0 auto}.matches-table td.joker-column,.matches-table th.joker-column,.predictions-table td.joker-column,.predictions-table th.joker-column{padding-top:0;padding-bottom:0;vertical-align:middle;text-align:center}.joker-toggle{display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;padding:0;margin:0 auto;transition:all .2s ease;flex-shrink:0;opacity:.6;filter:brightness(.4)}.joker-toggle:hover:not(:disabled){opacity:1;transform:scale(1.15)}.joker-toggle.active{opacity:1;filter:none}.joker-toggle:disabled{opacity:.3;cursor:not-allowed}.joker-multiplier{display:inline-block;background:linear-gradient(135deg,#f5a623,#e8941a);color:#fff;font-size:.65rem;font-weight:700;padding:1px 4px;border-radius:6px;margin-left:3px;vertical-align:middle;line-height:1.2}.prediction-inputs{display:flex;align-items:center}.match-card-prediction{display:flex;align-items:center;gap:4px}.points-joker{color:#f5a623;font-weight:600}.points-summary-card .summary-item .points-joker{color:#f5a623}.lbv2{font-family:var(--ds-font);background:var(--ds-bg);color:var(--ds-text);min-height:100vh;padding:0 16px 80px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lbv2-inner{max-width:none;position:relative}.lbv2-ticker{background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius);margin-bottom:10px;transition:background var(--ds-transition),border-color var(--ds-transition)}.lbv2-ticker--expanded{border-color:var(--ds-border-strong)}.lbv2-ticker-header{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;min-height:40px;-webkit-user-select:none;user-select:none}.lbv2-ticker-header:hover{background:var(--ds-surface-hover);border-radius:var(--ds-radius)}.lbv2-ticker--expanded .lbv2-ticker-header:hover{border-radius:var(--ds-radius) var(--ds-radius) 0 0}.lbv2-ticker-badge{flex-shrink:0;width:58px;text-align:center;font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 0;border-radius:4px;line-height:1;box-sizing:border-box}.lbv2-ticker-badge--live{background:var(--ds-danger);color:#fff;animation:lbv2-pulse 2s ease-in-out infinite}.lbv2-ticker-badge--latest{background:var(--ds-text-secondary);color:var(--ds-bg)}@keyframes lbv2-pulse{0%,to{opacity:1}50%{opacity:.55}}.lbv2-ticker-headline{flex:1;min-width:0;display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--ds-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lbv2-ticker-toggle{display:flex;align-items:center;gap:4px;flex-shrink:0;color:var(--ds-text-muted);font-size:.75rem;padding-left:8px}.lbv2-ticker-count{font-family:var(--ds-font-mono);font-size:.7rem}.lbv2-ticker-chevron{transition:transform .25s ease}.lbv2-ticker--expanded .lbv2-ticker-chevron{transform:rotate(180deg)}.lbv2-ticker-drawer{display:grid;transition:grid-template-rows .3s ease;cursor:pointer}.lbv2-ticker-drawer-inner{overflow:hidden}.lbv2-ticker--expanded .lbv2-ticker-drawer-inner{border-top:1px solid var(--ds-border)}.lbv2-ticker-row{display:flex;align-items:center;gap:6px;padding:8px 14px 8px 82px;font-size:.8rem;color:var(--ds-text-secondary)}.lbv2-ticker-row:last-child{padding-bottom:10px}.lbv2-ticker-impact{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding-left:6px}.ticker-impact-pos{font-size:.82rem;font-weight:600;font-family:var(--ds-font-mono)}.ticker-impact-pts{font-size:.8rem;font-weight:600;font-family:var(--ds-font-mono);padding:1px 6px;border-radius:3px}.ticker-impact--up{color:var(--ds-success)}.ticker-impact-pts.ticker-impact--up{background:rgba(var(--ds-success-rgb),.12)}.ticker-impact--down{color:var(--ds-danger)}.ticker-impact-pts.ticker-impact--down{background:rgba(var(--ds-danger-rgb),.12)}.lbv2-ticker-time{color:var(--ds-text-muted);font-size:.75rem;flex-shrink:0;padding-left:8px}.lbv2-ticker-headline>.lbv2-ticker-time,.lbv2-ticker-row>.lbv2-ticker-time{margin-left:auto}.lbv2-ticker-impact~.lbv2-ticker-time{margin-left:0}.lbv2-ticker .activity-team{font-weight:600}.lbv2-ticker .activity-flag{width:14px;height:10px;vertical-align:middle;margin:0 1px}.lbv2-ticker .activity-score{font-weight:700;font-family:var(--ds-font-mono)}.lbv2-ticker .activity-blink{animation:none}.lbv2-controls{position:sticky;top:0;z-index:20;background:var(--ds-controls-bg);border:1px solid var(--ds-border);border-radius:var(--ds-radius);padding:10px 14px;margin-bottom:2px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.lbv2-pills{display:inline-flex;background:#ffffff0d;border-radius:8px;padding:3px;gap:2px;flex-shrink:0}.lbv2-pill{padding:6px 14px;font-size:.78rem;font-weight:600;font-family:var(--ds-font);border:none;border-radius:6px;background:transparent;color:var(--ds-text-secondary);cursor:pointer;transition:all var(--ds-transition);line-height:1;white-space:nowrap}.lbv2-pill:hover{color:var(--ds-text);background:#ffffff0d}.lbv2-pill--active{background:var(--ds-accent);color:#fff;box-shadow:0 2px 8px #3b82f64d}.lbv2-pill--active:hover{background:var(--ds-accent-hover);color:#fff}.lbv2-league-group{display:flex;align-items:center;gap:6px;margin-left:auto}.lbv2-league-select{appearance:none;-webkit-appearance:none;background:#ffffff0d;border:1px solid var(--ds-border-strong);border-radius:8px;color:var(--ds-text);font-family:var(--ds-font);font-size:.78rem;font-weight:500;padding:7px 32px 7px 12px;cursor:pointer;transition:border-color var(--ds-transition);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2364748b' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;max-width:180px}.lbv2-league-select:focus{outline:none;border-color:var(--ds-accent)}.lbv2-league-select option{background:var(--ds-controls-bg);color:var(--ds-text)}.lbv2-fav-btn{background:none;border:none;font-size:1.15rem;cursor:pointer;padding:4px;line-height:1;color:var(--ds-text-secondary);transition:color var(--ds-transition),transform var(--ds-transition)}.lbv2-fav-btn:hover{color:var(--ds-gold);transform:scale(1.15)}.lbv2-fav-btn--active{color:var(--ds-gold)}.lbv2-colheaders{display:none}@media(min-width:701px){.lbv2-colheaders{display:flex;align-items:center;padding:8px 16px 6px;position:sticky;top:56px;z-index:18;background:var(--ds-bg);border-bottom:1px solid var(--ds-border);margin-bottom:4px;gap:0}.lbv2-colheader{font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ds-text-muted)}.lbv2-colheader--pos{width:52px;text-align:center}.lbv2-colheader--name{flex:1;padding-left:4px}.lbv2-colheader--stat{width:60px;text-align:center}.lbv2-colheader--total{width:68px;text-align:center;font-weight:700;color:var(--ds-text-secondary)}}.lbv2-card{background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius);margin-bottom:4px;cursor:pointer;transition:transform var(--ds-transition),box-shadow var(--ds-transition),background var(--ds-transition);position:relative;overflow:hidden}.lbv2-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:var(--ds-radius) 0 0 var(--ds-radius);background:transparent;transition:background var(--ds-transition),box-shadow var(--ds-transition)}@media(hover:hover){.lbv2-card:hover{transform:translateY(-1px);background:var(--ds-surface-hover);box-shadow:0 4px 20px #0000004d}}.lbv2-card--gold:before{background:var(--ds-gold);box-shadow:0 0 12px #fbbf2466}.lbv2-card--silver:before{background:var(--ds-silver);box-shadow:0 0 10px #94a3b84d}.lbv2-card--bronze:before{background:var(--ds-bronze);box-shadow:0 0 12px #d9770659}.lbv2-card--you{background:var(--ds-surface-highlight);border-color:#3b82f633}.lbv2-card--you:before{background:var(--ds-accent);box-shadow:0 0 14px #3b82f666}.lbv2-card-row{display:flex;align-items:center;padding:12px 16px;gap:0;min-height:56px}.lbv2-card-pos{width:52px;display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0}.lbv2-rank{font-size:1rem;font-weight:700;font-family:var(--ds-font-mono);color:var(--ds-text);line-height:1}.lbv2-card--gold .lbv2-rank{color:var(--ds-gold)}.lbv2-card--silver .lbv2-rank{color:var(--ds-silver)}.lbv2-card--bronze .lbv2-rank{color:var(--ds-bronze)}.lbv2-trend{font-size:.72rem;font-weight:400;font-family:var(--ds-font-mono);line-height:1}.lbv2-trend--up{color:var(--ds-success)}.lbv2-trend--down{color:var(--ds-danger)}.lbv2-card-info{flex:1;min-width:0;padding:0 8px}.lbv2-card-name{font-size:.88rem;font-weight:600;color:var(--ds-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.lbv2-card-name a{color:inherit;text-decoration:none}.lbv2-card-name a:hover{text-decoration:underline;text-underline-offset:2px}.lbv2-card-subtitle{display:flex;align-items:center;gap:5px;font-size:.72rem;color:var(--ds-text-secondary);margin-top:1px;line-height:1.3}.lbv2-card-subtitle img{width:14px;height:14px;border-radius:2px;object-fit:contain}.lbv2-team-members{color:var(--ds-text-muted);font-size:.7rem}.lbv2-card-stats{display:none}@media(min-width:701px){.lbv2-card-stats{display:flex;align-items:center;gap:0}.lbv2-card-stat{width:60px;text-align:center;font-size:.8rem;font-family:var(--ds-font-mono);font-weight:400;color:var(--ds-text-secondary)}}.lbv2-card-total{width:68px;text-align:center;font-size:1rem;font-weight:700;font-family:var(--ds-font-mono);color:var(--ds-text);flex-shrink:0}.lbv2-ready-badge{display:inline-flex;align-items:center;gap:4px;font-size:.76rem;font-weight:700;padding:3px 10px;border-radius:20px;line-height:1}.lbv2-ready-badge--yes{color:var(--ds-success);background:#22c55e1f}.lbv2-ready-badge--no{color:var(--ds-warning);background:#f59e0b1f}.lbv2-card-expand{max-height:0;overflow:hidden;transition:max-height .25s ease}.lbv2-card-expand--open{max-height:200px}.lbv2-card-expand-inner{display:flex;flex-wrap:wrap;gap:6px 12px;padding:10px 16px 12px 68px;border-top:1px solid var(--ds-border);margin-top:0}.lbv2-expand-item{display:flex;align-items:baseline;gap:4px}.lbv2-expand-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ds-text-muted);font-weight:600}.lbv2-expand-value{font-size:.82rem;font-family:var(--ds-font-mono);font-weight:500;color:var(--ds-text)}.lbv2-expand-chevron{display:none}@media(max-width:700px){.lbv2-expand-chevron{display:flex;align-items:center;justify-content:center;width:20px;flex-shrink:0;color:var(--ds-text-muted);font-size:.65rem;transition:transform .2s ease}.lbv2-expand-chevron--open{transform:rotate(180deg)}}.lbv2-pinned{position:fixed;bottom:0;left:0;right:0;z-index:50;padding:0 16px 12px;pointer-events:none}.lbv2-pinned-inner{max-width:var(--ds-max-width);margin:0 auto;pointer-events:auto}.lbv2-pinned .lbv2-card{border-color:#3b82f64d;box-shadow:0 -4px 24px #00000080,0 0 0 1px #3b82f633}.lbv2-pinned-label{display:flex;align-items:center;gap:6px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--ds-accent);padding:6px 16px 0}.lbv2-promo{background:linear-gradient(135deg,#3b82f61f,#3b82f60a);border:1px solid rgba(59,130,246,.2);border-radius:var(--ds-radius);padding:20px 24px;margin-bottom:12px;text-align:center}.lbv2-promo h3{font-size:1rem;font-weight:700;margin:0 0 6px;color:var(--ds-text)}.lbv2-promo p{font-size:.82rem;color:var(--ds-text-secondary);margin:0 0 14px}.lbv2-promo-btns{display:flex;gap:10px;justify-content:center}.lbv2-promo-btn{font-family:var(--ds-font);font-size:.82rem;font-weight:600;padding:8px 20px;border-radius:8px;border:none;cursor:pointer;text-decoration:none;transition:all var(--ds-transition)}.lbv2-promo-btn--primary{background:var(--ds-accent);color:#fff}.lbv2-promo-btn--primary:hover{background:var(--ds-accent-hover)}.lbv2-promo-btn--secondary{background:#ffffff0f;color:var(--ds-text);border:1px solid var(--ds-border-strong)}.lbv2-promo-btn--secondary:hover{background:#ffffff1a}.lbv2-legend-trigger{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;color:var(--ds-text-muted);background:none;border:none;cursor:pointer;padding:8px 0;font-family:var(--ds-font);transition:color var(--ds-transition)}.lbv2-legend-trigger:hover{color:var(--ds-text-secondary)}.lbv2-legend-icon{width:16px;height:16px;border-radius:50%;border:1px solid var(--ds-text-muted);display:inline-flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:700;line-height:1;flex-shrink:0}.lbv2-legend-panel{max-height:0;overflow:hidden;transition:max-height .3s ease}.lbv2-legend-panel--open{max-height:300px}.lbv2-legend-content{background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius-sm);padding:12px 16px;margin-bottom:12px}.lbv2-legend-row{display:flex;align-items:baseline;gap:8px;padding:4px 0;font-size:.76rem;color:var(--ds-text-secondary)}.lbv2-legend-abbr{font-weight:700;font-family:var(--ds-font-mono);color:var(--ds-text);min-width:48px}.lbv2-legend-row--team-note{padding-top:8px;border-top:1px solid var(--ds-border);margin-top:4px;font-style:italic}.lbv2-gap{display:flex;align-items:center;justify-content:center;padding:8px 0}.lbv2-gap-btn{font-family:var(--ds-font);font-size:.76rem;font-weight:500;color:var(--ds-text-muted);background:none;border:1px dashed var(--ds-border-strong);border-radius:20px;padding:6px 20px;cursor:pointer;transition:all var(--ds-transition);width:100%;max-width:300px}.lbv2-gap-btn:hover{color:var(--ds-text);border-color:var(--ds-text-secondary);background:#ffffff08}.lbv2-loading{display:flex;align-items:center;justify-content:center;padding:60px 20px;color:var(--ds-text-secondary);font-size:.88rem}.lbv2-loading-spinner{width:20px;height:20px;border:2px solid var(--ds-border-strong);border-top-color:var(--ds-accent);border-radius:50%;animation:lbv2-spin .8s linear infinite;margin-right:10px}@keyframes lbv2-spin{to{transform:rotate(360deg)}}.lbv2-empty{text-align:center;padding:48px 20px;color:var(--ds-text-secondary)}.lbv2-error{text-align:center;padding:32px 20px;color:var(--ds-text-secondary)}.lbv2-error-btn{margin-top:12px;font-family:var(--ds-font);font-size:.82rem;font-weight:500;color:var(--ds-text);background:#ffffff0f;border:1px solid var(--ds-border-strong);border-radius:8px;padding:8px 20px;cursor:pointer;transition:all var(--ds-transition)}.lbv2-error-btn:hover{background:#ffffff1a}@media(max-width:700px){.lbv2{padding:0 8px 80px}.lbv2-card-stats{display:none!important}.lbv2-card-row{padding:10px 12px;min-height:50px}.lbv2-card-pos{width:40px}.lbv2-rank{font-size:.9rem}.lbv2-card-name{font-size:.84rem}.lbv2-card-total{width:54px;font-size:.9rem}.lbv2-card-expand-inner{padding-left:52px}.lbv2-controls{padding:8px 10px;gap:8px}.lbv2-pill{padding:5px 11px;font-size:.74rem}.lbv2-league-select{max-width:140px;font-size:.74rem;padding:6px 28px 6px 10px}}@media(max-width:480px){.lbv2-controls{display:grid;grid-template-columns:1fr auto;gap:6px}.lbv2-league-group{margin-left:0;grid-column:1 / -1;justify-content:space-between}.lbv2-league-select{flex:1;max-width:none}}.lbv2-readiness-detail{display:flex;flex-wrap:wrap;gap:6px 14px}.lbv2-readiness-item{display:flex;align-items:center;gap:4px;font-size:.74rem}.lbv2-readiness-label{color:var(--ds-text-muted);font-weight:500}.lbv2-readiness-value{font-family:var(--ds-font-mono);font-weight:600}.lbv2-readiness-value--complete{color:var(--ds-success)}.lbv2-readiness-value--incomplete{color:var(--ds-warning)}.lbv2 ::-webkit-scrollbar{width:6px}.lbv2 ::-webkit-scrollbar-track{background:transparent}.lbv2 ::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.lbv2 ::-webkit-scrollbar-thumb:hover{background:#fff3}.match-list-container{padding:1rem 0}.match-list-container h1{margin-bottom:2rem;text-align:center}.filter-controls{display:flex;justify-content:center;margin-bottom:2rem}.filter-btn{background-color:var(--ds-surface);border:1px solid var(--ds-border);color:var(--ds-text-secondary);padding:.5rem 1rem;cursor:pointer;transition:all var(--ds-transition)}.filter-btn:first-child{border-radius:.25rem 0 0 .25rem}.filter-btn:last-child{border-radius:0 .25rem .25rem 0}.filter-btn.active{background-color:var(--ds-accent);color:var(--ds-text);border-color:var(--ds-accent)}.matches-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.match-card{background-color:var(--ds-surface);border-radius:var(--ds-radius);border:1px solid var(--ds-border);box-shadow:0 4px 6px #0000004d;padding:1.5rem;position:relative;display:flex;flex-direction:column;gap:1rem}.match-tournament{color:var(--ds-text-secondary);font-size:.9rem;font-weight:500}.match-status{position:absolute;top:1rem;right:1rem}.status-badge{font-size:.75rem;padding:.25rem .5rem;border-radius:.25rem;color:var(--ds-text)}.match-teams{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.match-teams .team{font-weight:500;font-size:1.1rem}.match-score{background-color:var(--ds-surface-hover);padding:.5rem 1rem;border-radius:.25rem;font-weight:700;font-size:1.1rem}.match-datetime{color:var(--ds-text-secondary);font-size:.9rem;text-align:center}.no-matches{text-align:center;padding:2rem;color:var(--ds-text-secondary)}@media(max-width:768px){.filter-controls{flex-wrap:wrap;gap:.5rem}.filter-btn{flex:1;min-width:100px}.filter-btn:first-child,.filter-btn:last-child{border-radius:.25rem}.match-teams{flex-direction:column;gap:.5rem}.match-score{margin:.5rem 0}}.match-detail-container{padding:1rem 0}.match-header{background-color:var(--ds-surface);border-radius:var(--ds-radius);border:1px solid var(--ds-border);padding:2rem;margin-bottom:2rem;position:relative}.match-tournament{margin-bottom:1rem}.match-tournament a{color:var(--ds-accent);text-decoration:none;font-weight:500}.match-tournament a:hover{text-decoration:underline}.match-status-indicator{position:absolute;top:1rem;right:1rem}.status-badge{font-size:.75rem;padding:.25rem .5rem;border-radius:.25rem;color:#fff}.status-badge.scheduled{background-color:var(--ds-accent)}.status-badge.in_progress{background-color:var(--ds-warning)}.status-badge.completed{background-color:var(--ds-success)}.match-teams-display{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.team-home,.team-away{text-align:center;flex:1}.team-home h2,.team-away h2{margin-bottom:.5rem}.team-home .score,.team-away .score{font-size:2rem;font-weight:700;color:var(--ds-text)}.versus{font-size:1.2rem;font-weight:500;color:var(--ds-text-secondary);margin:0 2rem}.match-datetime-display{text-align:center;color:var(--ds-text-secondary);font-size:1.1rem}.match-detail-container .prediction-section,.match-detail-container .predictions-section{background-color:var(--ds-surface);border-radius:var(--ds-radius);box-shadow:0 2px 8px #0000004d;padding:2rem;margin-bottom:2rem}.match-detail-container .prediction-section h2,.match-detail-container .predictions-section h2{margin-bottom:1.5rem;color:var(--ds-text)}.prediction-form{max-width:600px;margin:0 auto}.form-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.team-label{font-weight:500;font-size:1.1rem;flex:2}.team-label:first-child{text-align:right;padding-right:1rem}.team-label:last-child{text-align:left;padding-left:1rem}.score-input{flex:1}.score-input input{width:60px;height:60px;text-align:center;font-size:1.5rem;font-weight:700}.versus-separator{margin:0 1rem;font-size:1.5rem;font-weight:700;color:var(--ds-text-secondary)}.prediction-form button{display:block;margin:0 auto;min-width:200px}.login-prompt{text-align:center;padding:2rem;background-color:var(--ds-surface);border-radius:var(--ds-radius);border:1px solid var(--ds-border);margin-bottom:2rem}.login-prompt p{font-size:1.1rem;color:var(--ds-text-secondary)}.login-prompt a{color:var(--ds-accent);font-weight:500}.predictions-table th,.predictions-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--ds-border)}.predictions-table th{font-weight:600;color:var(--ds-text-secondary);background-color:var(--ds-surface-hover)}.user-prediction{background-color:rgba(var(--ds-accent-rgb),.08)}.user-prediction td{font-weight:500}.back-link{margin-top:2rem}.back-link .back-button{background:none;border:none;padding:0;cursor:pointer;color:var(--ds-text-secondary)}.back-link .back-button:hover{color:var(--ds-accent)}@media(max-width:768px){.match-teams-display{flex-direction:column;gap:1rem}.versus{margin:.5rem 0}.form-row{flex-wrap:wrap;justify-content:center}.team-label{flex:100%;text-align:center!important;padding:0!important;margin-bottom:.5rem}.team-label:last-child{margin-top:.5rem}}.match-round{font-weight:400;color:var(--ds-text-secondary)}.profile-container{padding:1rem 0}.profile-header{background-color:var(--ds-surface);border-radius:var(--ds-radius);border:1px solid var(--ds-border);padding:2rem;margin-bottom:2rem}.profile-header h1{margin-bottom:1rem;color:var(--ds-text)}.user-info{display:flex;flex-wrap:wrap;gap:1.5rem}.user-info p{margin:0;color:var(--ds-text-secondary)}.nickname-row{display:flex;align-items:center;gap:.5rem;color:var(--ds-text-secondary)}.nickname-display{display:inline-flex;align-items:center;gap:.5rem;margin-left:.25rem}.nickname-value{margin-right:.25rem}.no-nickname{color:var(--ds-text-muted);font-style:italic}.nickname-edit{display:inline-flex;align-items:center;gap:.5rem;margin-left:.25rem}.nickname-input{padding:.25rem .5rem;border:1px solid var(--ds-border);border-radius:.25rem;font-size:.9rem;width:150px;background-color:var(--ds-surface);color:var(--ds-text)}.nickname-input:focus{outline:none;border-color:var(--ds-accent);box-shadow:0 0 0 2px rgba(var(--ds-accent-rgb),.2)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:.25rem;cursor:pointer;font-size:1rem;transition:background-color var(--ds-transition)}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-edit{background:transparent;color:var(--ds-text-secondary)}.btn-edit:hover:not(:disabled){background-color:var(--ds-surface-hover);color:var(--ds-accent)}.btn-save{background-color:var(--ds-success);color:#fff}.btn-save:hover:not(:disabled){filter:brightness(1.1)}.btn-cancel{background-color:var(--ds-surface-hover);color:var(--ds-text-secondary)}.btn-cancel:hover:not(:disabled){background-color:var(--ds-surface-highlight)}.nickname-locked{display:inline-flex;align-items:center;font-size:.9rem;color:var(--ds-text-muted);cursor:help}.profile-tabs{display:flex;margin-bottom:1.5rem;border-bottom:1px solid var(--ds-border)}.tab-btn{padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;font-size:1.1rem;cursor:pointer;color:var(--ds-text-secondary);transition:all var(--ds-transition)}.tab-btn.active{color:var(--ds-accent);border-bottom-color:var(--ds-accent)}.profile-container .tab-content{background-color:var(--ds-surface);border-radius:var(--ds-radius);border:1px solid var(--ds-border);padding:2rem}.predictions-container h2,.leaderboards-container h2{margin-bottom:1.5rem;color:var(--ds-text)}.no-data{text-align:center;color:var(--ds-text-secondary);padding:2rem 0}.predictions-list{display:grid;grid-template-columns:1fr;gap:1rem}.prediction-card{border:1px solid var(--ds-border);border-radius:var(--ds-radius);padding:1.5rem;position:relative}.prediction-status{position:absolute;top:1rem;right:1rem}.status-badge{font-size:.75rem;padding:.25rem .5rem;border-radius:.25rem}.status-badge.active{background-color:rgba(var(--ds-success-rgb),.08);color:var(--ds-success)}.status-badge.inactive{background-color:var(--ds-surface-hover);color:var(--ds-text-muted)}.status-badge.unverified{background-color:rgba(var(--ds-danger-rgb),.08);color:var(--ds-danger)}.status-badge.scheduled{background-color:rgba(var(--ds-accent-rgb),.08);color:var(--ds-accent)}.status-badge.in_progress{background-color:rgba(var(--ds-warning-rgb),.08);color:var(--ds-warning)}.status-badge.completed{background-color:rgba(var(--ds-success-rgb),.08);color:var(--ds-success)}.prediction-details{margin-bottom:1rem}.tournament-name{font-weight:500;color:var(--ds-text-secondary);margin-bottom:.5rem}.match-teams{display:flex;align-items:center;margin-bottom:.5rem}.match-teams .team{font-weight:600;font-size:1.1rem}.match-teams .vs{margin:0 .5rem;color:var(--ds-text-muted)}.match-date{color:var(--ds-text-secondary);font-size:.9rem;margin-bottom:1rem}.prediction-score,.actual-score,.points-earned{margin-bottom:.5rem}.prediction-score .score,.actual-score .score{font-weight:600;margin-left:.5rem}.points-earned .points{font-weight:600;margin-left:.5rem;color:var(--ds-success)}.tournaments-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.tournament-card{border:1px solid var(--ds-border);border-radius:var(--ds-radius);padding:1.5rem}.tournament-card h3{margin-bottom:1rem;color:var(--ds-text)}.tournament-stats{display:flex;justify-content:space-between;margin-bottom:1.5rem}.stat{text-align:center}.stat-label{display:block;font-size:.9rem;color:var(--ds-text-secondary);margin-bottom:.25rem}.stat-value{font-size:1.5rem;font-weight:600;color:var(--ds-text)}.profile-actions{background-color:var(--ds-surface);border-radius:var(--ds-radius);border:1px solid var(--ds-border);padding:2rem}.profile-actions h2{margin-bottom:1rem;color:var(--ds-text)}.tournaments-section{background-color:var(--ds-surface);border-radius:var(--ds-radius);border:1px solid var(--ds-border);padding:2rem;margin-top:2rem}.tournaments-section h2{margin-bottom:.5rem;color:var(--ds-text)}.section-description{color:var(--ds-text-secondary);margin-bottom:1.5rem;font-size:.9rem}.loading-text,.empty-text{color:var(--ds-text-muted);font-style:italic}.toggle-hint{color:var(--ds-warning);background-color:rgba(var(--ds-warning-rgb),.1);padding:.75rem 1rem;border-radius:.25rem;margin-bottom:1rem;font-size:.9rem}.tournament-list{display:flex;flex-direction:column;gap:.75rem}.tournament-preference-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius);transition:background-color var(--ds-transition)}.tournament-preference-row:hover{background-color:var(--ds-surface-hover)}.tournament-info{display:flex;align-items:center;gap:.75rem}.tournament-info .tournament-name{color:var(--ds-accent);text-decoration:none;font-weight:500}.tournament-info .tournament-name:hover{text-decoration:underline}.tournament-preference-controls{display:flex;align-items:center;gap:1.5rem}.team-info{font-size:.85rem;color:var(--ds-text-secondary);padding:.2rem .5rem;background-color:var(--ds-surface-hover);border-radius:.25rem}.team-info strong{color:var(--ds-accent)}.display-name-preview{font-size:.9rem;color:var(--ds-text-secondary)}.display-name-preview strong{color:var(--ds-text)}.display-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:0}.display-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--ds-accent)}.display-checkbox input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.display-checkbox .checkbox-label{font-size:.9rem;color:var(--ds-text-secondary)}.display-checkbox input[type=checkbox]:disabled+.checkbox-label{opacity:.5}@media(max-width:768px){.user-info{flex-direction:column;gap:.5rem}.profile-tabs{flex-wrap:wrap}.tab-btn{flex:1;min-width:150px}.tournament-preference-row{flex-direction:column;gap:.75rem;align-items:flex-start}.tournament-preference-controls{width:100%;flex-direction:column;align-items:flex-start;gap:.5rem}.display-checkbox{width:100%}}.striker-selection-container{padding:0;max-width:1200px;margin:0 auto}.striker-header-row{display:flex;gap:2rem;align-items:stretch;background-color:var(--ds-surface);border-radius:var(--ds-radius);padding:1.5rem;box-shadow:0 2px 4px #0000004d;margin-bottom:1.5rem}.striker-header-info{flex:0 0 280px;display:flex;flex-direction:column;justify-content:center}.striker-header-info h1{color:var(--ds-text);font-size:1.5rem;margin-bottom:.5rem}.striker-header-info .selection-info{color:var(--ds-text-secondary);font-size:.9rem;margin-bottom:0;line-height:1.4}.striker-header-info .saving-indicator{color:var(--ds-text-secondary);font-size:.85rem;font-style:italic;margin-top:.5rem}.selected-strikers-row{flex:1;display:flex;gap:1rem}.striker-slot-compact{flex:1;display:flex;flex-direction:column;align-items:center;padding:.75rem .5rem;border:2px solid var(--ds-border-strong);border-radius:.5rem;background-color:#ffffff08;min-height:70px;position:relative;transition:all .2s ease}.striker-slot-compact.filled{border-color:var(--ds-accent);background-color:var(--ds-surface)}.striker-slot-compact .slot-label{font-weight:700;font-size:.65rem;color:var(--ds-text-secondary);margin-bottom:.15rem;text-transform:uppercase;letter-spacing:.05em}.striker-slot-compact.gold-position .slot-label{color:gold}.striker-slot-compact.silver-position .slot-label{color:silver}.striker-slot-compact.bronze-position .slot-label{color:#cd7f32}.selected-player-compact{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%}.selected-player-compact .player-avatar{position:relative;margin-bottom:.25rem;display:none}.selected-player-compact .player-photo{width:32px;height:32px;border-radius:50%;object-fit:cover;border:1px solid var(--ds-border-strong);background-color:var(--ds-surface)}.selected-player-compact .player-photo-placeholder{width:32px;height:32px;padding:6px;border-radius:50%;background-color:#ffffff1a;color:var(--ds-text-secondary);box-sizing:border-box}.selected-player-compact .player-team-flag{position:absolute;bottom:-2px;right:-4px;width:16px;height:11px;border-radius:2px;object-fit:cover;border:1px solid var(--ds-surface);box-shadow:0 1px 2px #00000026}.selected-player-compact .player-info{width:100%}.selected-player-compact .player-name{font-weight:700;font-size:.9rem;color:var(--ds-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.selected-player-compact .team-name{color:var(--ds-text-secondary);font-size:.65rem;text-transform:uppercase;letter-spacing:.3px;margin-top:.15rem}.selected-player-compact .remove-btn{position:absolute;right:6px;top:6px;width:20px;height:20px;border-radius:50%;border:none;background:transparent;color:var(--ds-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:color .2s,background-color .2s}.selected-player-compact .remove-btn:hover{color:var(--ds-danger);background-color:#ffffff14}.empty-slot-compact{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;color:var(--ds-text-muted);font-size:.7rem;flex:1}.empty-slot-compact .empty-slot-icon{width:24px;height:24px;opacity:.4;display:none}.available-players-section.full-width{background-color:var(--ds-surface);border-radius:var(--ds-radius);padding:1.5rem;box-shadow:0 2px 4px #0000004d}.available-players-header{display:flex;align-items:flex-start;margin-bottom:.75rem;gap:1.5rem}.available-players-header h3{margin:0;color:var(--ds-text);white-space:nowrap;flex-shrink:0;line-height:38px}.team-filter,.filter-controls .search-input{height:38px;box-sizing:border-box}.team-filter{padding:.5rem .75rem;border:1px solid var(--ds-border-strong);border-radius:.25rem;font-size:.9rem;background-color:var(--ds-surface);color:var(--ds-text);min-width:150px;cursor:pointer}.team-filter:focus{border-color:var(--ds-accent);outline:none}.search-input{padding:.5rem 1rem;border:1px solid var(--ds-border-strong);border-radius:.25rem;font-size:.9rem;width:200px;background-color:var(--ds-surface);color:var(--ds-text)}.search-input:focus{border-color:var(--ds-accent);outline:none}.players-table-wrapper{max-height:400px;overflow-y:auto;border:1px solid var(--ds-border-strong);border-radius:.5rem}.players-table{width:100%;border-collapse:collapse}.players-table thead{position:sticky;top:0;background-color:var(--ds-controls-bg);z-index:1}.players-table th{text-align:left;padding:.75rem 1rem;font-weight:600;color:var(--ds-text-secondary);border-bottom:2px solid var(--ds-border-strong);-webkit-user-select:none;user-select:none}.players-table th.sortable{cursor:pointer;transition:background-color .2s}.players-table th.sortable:hover{background-color:var(--ds-surface-hover)}.players-table th:last-child{text-align:center;width:100px}.players-table td{padding:.5rem 1rem;border-bottom:1px solid var(--ds-border);vertical-align:middle}.players-table tbody tr:hover{background-color:var(--ds-surface-hover)}.players-table tbody tr.selected{background-color:rgba(var(--ds-accent-rgb),.1)}.player-cell .player-name{font-weight:600;color:var(--ds-text)}.team-flag-sm{width:24px;height:16px;object-fit:cover;border-radius:2px;flex-shrink:0;box-shadow:0 0 0 1px #00000026}.action-cell{text-align:center}.select-btn{background-color:var(--ds-accent);color:#fff;border:none;padding:.35rem .75rem;border-radius:.25rem;font-size:.8rem;font-weight:500;cursor:pointer;transition:background-color .2s}.select-btn:hover:not(:disabled){background-color:var(--ds-accent-hover)}.select-btn:disabled{background-color:var(--ds-text-muted);cursor:not-allowed}.players-table .selected-badge{background-color:var(--ds-accent);color:#fff;padding:.2rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600}.no-players{text-align:center;color:var(--ds-text-secondary);padding:2rem;font-style:italic}.striker-stats-section{background-color:var(--ds-surface);border-radius:var(--ds-radius);padding:1.5rem;box-shadow:0 2px 4px #0000004d}.striker-stats-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.striker-stats-header h3{margin:0;color:var(--ds-text)}.striker-stats-table{width:100%;border-collapse:collapse;font-size:.9rem}.striker-stats-table thead{background-color:var(--ds-controls-bg)}.striker-stats-table th{text-align:left;padding:.75rem 1rem;font-weight:600;color:var(--ds-text-secondary);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--ds-border-strong);-webkit-user-select:none;user-select:none}.striker-stats-table th.sortable{cursor:pointer;transition:background-color .2s}.striker-stats-table th.sortable:hover{background-color:var(--ds-surface-hover)}.striker-stats-table td{padding:.5rem 1rem;border-bottom:1px solid var(--ds-border);vertical-align:middle}.striker-stats-table tbody tr:hover{background-color:var(--ds-surface-hover)}.striker-stats-table tbody tr.user-selection{background-color:rgba(var(--ds-accent-rgb),.1)}.striker-stats-table tbody tr.user-selection:hover{background-color:rgba(var(--ds-accent-rgb),.15)}.striker-stats-table th:first-child,.striker-stats-table .rank-cell{width:50px;text-align:center;white-space:nowrap}.striker-stats-table .rank-cell{color:var(--ds-text-secondary);font-weight:500}.striker-stats-table .player-info-cell{display:flex;align-items:center;gap:.5rem}.striker-stats-table .player-photo-sm{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0}.striker-stats-table .player-name{font-weight:600;color:var(--ds-text)}.your-pick-badge{background-color:var(--ds-accent);color:#fff;padding:.15rem .4rem;border-radius:.25rem;font-size:.7rem;font-weight:600;margin-left:.5rem}.striker-stats-table .team-cell{display:flex;align-items:center;gap:.5rem}.striker-stats-table .goals-cell{text-align:center;font-weight:600;color:var(--ds-success)}.striker-stats-table th:last-child,.striker-stats-table .selection-cell{text-align:right}.striker-selection-container .modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.striker-selection-container .modal-content{background-color:var(--ds-surface);border-radius:var(--ds-radius);box-shadow:0 4px 20px #00000080;border:1px solid var(--ds-border-strong);max-width:400px;width:90%;max-height:80vh;display:flex;flex-direction:column}.striker-selection-container .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--ds-border-strong);background:transparent}.striker-selection-container .modal-header h3{margin:0;font-size:1.1rem;color:var(--ds-text)}.striker-selection-container .modal-close{background:none;border:none;font-size:1.5rem;color:var(--ds-text-secondary);cursor:pointer;padding:0;line-height:1}.striker-selection-container .modal-close:hover{color:var(--ds-text);background:transparent}.striker-selection-container .modal-body{padding:1rem 1.25rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.striker-selection-container .modal-body::-webkit-scrollbar{width:6px}.striker-selection-container .modal-body::-webkit-scrollbar-track{background:transparent}.striker-selection-container .modal-body::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.striker-selection-container .modal-body::-webkit-scrollbar-thumb:hover{background:#ffffff40}.striker-selection-container .no-users{color:var(--ds-text-secondary);text-align:center;margin:0}.striker-selection-container .selected-by-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.striker-selection-container .selected-by-list li a{display:block;padding:.5rem .75rem;color:var(--ds-text);text-decoration:none;border-radius:.25rem;transition:background-color .2s}.striker-selection-container .selected-by-list li a:hover{background-color:var(--ds-surface-hover);color:var(--ds-accent)}.striker-stats-cards-mobile{display:none}@media(max-width:1100px){.stats-table-wrapper{display:none}.striker-stats-cards-mobile{display:flex;flex-direction:column;gap:.5rem;border:1px solid var(--ds-border-strong);border-radius:.5rem;overflow:hidden}.striker-card-item{background-color:var(--ds-surface);border-bottom:1px solid var(--ds-border);padding:.75rem 1rem;display:flex;gap:.75rem;align-items:center;transition:background-color .2s}.striker-card-item:last-child{border-bottom:none}.striker-card-item:hover{background-color:var(--ds-surface-hover)}.striker-card-item.user-selection{background-color:rgba(var(--ds-accent-rgb),.1)}.striker-card-item.user-selection:hover{background-color:rgba(var(--ds-accent-rgb),.15)}.striker-card-rank{font-weight:600;color:var(--ds-text-secondary);font-size:.9rem;min-width:30px;flex-shrink:0}.striker-card-main{flex:1;display:flex;justify-content:space-between;align-items:center;gap:1rem;min-width:0}.striker-card-player{flex:1;min-width:0}.striker-card-player-name{font-weight:600;color:var(--ds-text);font-size:.95rem;margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.your-pick-badge-mobile{background-color:var(--ds-accent);color:#fff;padding:.15rem .4rem;border-radius:.25rem;font-size:.7rem;font-weight:600;white-space:nowrap}.striker-card-team{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--ds-text-secondary)}.striker-card-stats{display:flex;gap:1rem;flex-shrink:0}.striker-card-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem}.striker-card-stat .stat-label{font-size:.7rem;color:var(--ds-text-secondary);text-transform:uppercase;letter-spacing:.05em}.striker-card-stat .stat-value{font-weight:600;color:var(--ds-text);font-size:.95rem}.striker-card-stat .stat-value-btn{background:none;border:none;padding:0;cursor:pointer;color:var(--ds-accent);transition:opacity .2s}.striker-card-stat .stat-value-btn:hover{opacity:.7}}@media(max-width:600px){.striker-stats-header{flex-direction:column;align-items:flex-start;gap:.5rem}.striker-card-main{flex-direction:column;align-items:flex-start;gap:.75rem}.striker-card-stats{width:100%;justify-content:space-around}}@media(max-width:900px){.striker-header-row{flex-direction:column;gap:1rem}.striker-header-info{flex:none;text-align:center}.selected-strikers-row{justify-content:center}.striker-slot-compact{max-width:150px}}.player-cards-mobile{display:none}@media(max-width:1100px){.players-table-wrapper{display:none}.player-cards-mobile{display:flex;flex-direction:column;gap:.5rem;border:1px solid var(--ds-border-strong);border-radius:.5rem;overflow:hidden}.player-card-item{background-color:var(--ds-surface);border-bottom:1px solid var(--ds-border);padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;transition:background-color .2s}.player-card-item:last-child{border-bottom:none}.player-card-item:hover{background-color:var(--ds-surface-hover)}.player-card-item.selected{background-color:rgba(var(--ds-accent-rgb),.1)}.player-card-info-group{flex:1;min-width:0}.player-card-name{font-weight:600;color:var(--ds-text);font-size:.95rem;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-card-team{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--ds-text-secondary)}.player-card-action-group{flex-shrink:0}.select-btn-mobile{background-color:var(--ds-accent);color:#fff;border:none;padding:.5rem 1rem;border-radius:.25rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s;white-space:nowrap}.select-btn-mobile:hover:not(:disabled){background-color:var(--ds-accent-hover)}.select-btn-mobile:disabled{background-color:var(--ds-text-muted);cursor:not-allowed}.selected-badge-mobile{background-color:var(--ds-accent);color:#fff;padding:.5rem .75rem;border-radius:.25rem;font-size:.875rem;font-weight:600;white-space:nowrap}}@media(max-width:500px){.player-card-item{flex-direction:column;align-items:flex-start;gap:.75rem}.player-card-action-group,.select-btn-mobile{width:100%}}@media(max-width:600px){.selected-strikers-row{flex-wrap:wrap}.striker-slot-compact{flex:1 1 calc(50% - .5rem);max-width:none}.striker-slot-compact:last-child{flex:1 1 100%}.available-players-header{flex-direction:column;align-items:stretch}.filter-controls{flex-direction:column}.team-filter,.search-input{width:100%}.players-table-wrapper{max-height:300px}.players-table th,.players-table td{padding:.5rem}.team-cell .team-name{display:none}.team-cell .team-abbr{margin-left:0}}.top-teams-selection-container{padding:0;max-width:1200px;margin:0 auto}.top-teams-header-row{display:flex;gap:2rem;align-items:stretch;background-color:var(--ds-surface);border-radius:var(--ds-radius);padding:1.5rem;box-shadow:0 2px 4px #0000004d;margin-bottom:1.5rem}.top-teams-header-info{flex:0 0 280px;display:flex;flex-direction:column;justify-content:center}.top-teams-header-info h1{color:var(--ds-text);font-size:1.5rem;margin-bottom:.5rem}.top-teams-header-info .selection-info{color:var(--ds-text-secondary);font-size:.9rem;margin-bottom:0;line-height:1.4}.top-teams-header-info .saving-indicator{color:var(--ds-text-secondary);font-size:.85rem;font-style:italic;margin-top:.5rem}.selected-teams-row{flex:1;display:flex;gap:.75rem}.team-slot-compact{flex:1;display:flex;flex-direction:row;align-items:center;padding:.75rem;border:2px solid var(--ds-border-strong);border-radius:.5rem;background-color:#ffffff08;min-height:70px;position:relative;transition:all .2s ease;gap:.75rem}.team-slot-compact.filled{border-color:var(--ds-accent)}.team-slot-compact.filled{background-color:var(--ds-surface)}.slot-emoji{font-size:1.75rem;line-height:1;flex-shrink:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.slot-content{display:flex;flex-direction:column;flex:1;min-width:0}.team-slot-compact .slot-label{font-weight:700;font-size:.65rem;color:var(--ds-text-secondary);margin-bottom:.15rem;text-transform:uppercase;letter-spacing:.5px}.team-slot-compact.gold-position .slot-label{color:gold}.team-slot-compact.silver-position .slot-label{color:silver}.team-slot-compact.bronze-position .slot-label{color:#cd7f32}.selected-team-compact{display:flex;flex-direction:row;align-items:center;gap:.5rem;width:100%}.selected-team-compact .team-flag{width:24px;height:16px;object-fit:cover;border-radius:2px;margin-bottom:.15rem;display:none}.selected-team-compact .team-info{width:100%}.selected-team-compact .team-name{font-weight:700;font-size:.9rem;color:var(--ds-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.selected-team-compact .remove-btn{position:absolute;right:6px;top:6px;width:20px;height:20px;border-radius:50%;border:none;background:transparent;color:var(--ds-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:color .2s,background-color .2s}.selected-team-compact .remove-btn:hover{color:var(--ds-danger);background-color:#ffffff14}.empty-slot-compact{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ds-text-muted);font-size:.7rem;flex:1}.available-teams-section.full-width{background-color:var(--ds-surface);border-radius:var(--ds-radius);padding:1.5rem;box-shadow:0 2px 4px #0000004d}.available-teams-header{display:flex;align-items:flex-start;margin-bottom:.75rem;gap:1.5rem}.available-teams-header h3{margin:0;color:var(--ds-text);white-space:nowrap;flex-shrink:0;line-height:38px}.filter-controls{display:flex;gap:.75rem;flex:1;align-items:center;margin:0}.filter-controls .search-input{height:38px;box-sizing:border-box;padding:.5rem 1rem;border:1px solid var(--ds-border-strong);border-radius:.25rem;font-size:.9rem;width:250px;background-color:var(--ds-surface);color:var(--ds-text)}.filter-controls .search-input:focus{border-color:var(--ds-accent);outline:none}.teams-table-wrapper{border:1px solid var(--ds-border-strong);border-radius:.5rem}.teams-table{width:100%;border-collapse:collapse}.teams-table thead{position:sticky;top:0;background-color:var(--ds-controls-bg);z-index:1}.teams-table th{text-align:left;padding:.75rem 1rem;font-weight:600;color:var(--ds-text-secondary);border-bottom:2px solid var(--ds-border-strong);-webkit-user-select:none;user-select:none}.teams-table th.sortable{cursor:pointer;transition:background-color .2s}.teams-table th.sortable:hover{background-color:var(--ds-surface-hover)}.sort-indicator{margin-left:.5rem;color:var(--ds-text-muted);font-size:.8rem}.teams-table th:last-child{text-align:center;width:180px}.teams-table td{padding:.5rem 1rem;border-bottom:1px solid var(--ds-border);vertical-align:middle}.teams-table tbody tr:hover{background-color:var(--ds-surface-hover)}.teams-table tbody tr.selected{background-color:rgba(var(--ds-accent-rgb),.1)}.team-cell{display:table-cell!important;vertical-align:middle}.team-cell>*{vertical-align:middle}.team-cell .team-flag-sm{margin-right:.5rem;display:inline-block}.team-cell .team-name,.team-cell .team-abbr{display:inline}.team-flag-sm{width:28px;height:20px;object-fit:cover;border-radius:2px;flex-shrink:0;box-shadow:0 0 0 1px #00000026}.team-cell .team-name{font-size:inherit;font-weight:600;color:var(--ds-text)}.team-cell .team-abbr{color:var(--ds-text-secondary);margin-left:.25rem}.action-cell{text-align:center;vertical-align:middle}.selected-badge{cursor:default}.selected-badge:hover{transform:none}.position-buttons-inline{display:flex;gap:.25rem;justify-content:center}.position-btn-sm{border:none;border-radius:.25rem;padding:.3rem .5rem;cursor:pointer;font-size:1rem;transition:all .2s ease;min-width:32px;height:32px;display:flex;align-items:center;justify-content:center}.position-btn-sm:hover:not(:disabled){transform:scale(1.1)}.position-btn-sm:disabled{opacity:.3;cursor:not-allowed}.gold-btn{background:linear-gradient(135deg,gold,#ffec80)}.silver-btn{background:linear-gradient(135deg,silver,#e8e8e8)}.bronze-btn{background:linear-gradient(135deg,#cd7f32,#e8a860)}.fourth-btn{background:linear-gradient(135deg,var(--ds-text-muted),var(--ds-text-secondary))}.no-teams{text-align:center;color:var(--ds-text-secondary);padding:2rem;font-style:italic}.login-prompt{background-color:var(--ds-surface);border-radius:var(--ds-radius);padding:3rem;text-align:center;box-shadow:0 2px 4px #0000004d}.login-prompt h2{color:var(--ds-text);margin-bottom:1rem}.login-prompt p{color:var(--ds-text-secondary);font-size:1.1rem}.login-prompt a{color:var(--ds-accent);text-decoration:none;font-weight:500}.login-prompt a:hover{text-decoration:underline}.locked-section{display:flex;flex-direction:column;gap:1.5rem}.locked-message{text-align:center;padding:1rem;color:var(--ds-text-secondary);font-size:.95rem;background-color:#ffffff0a;border-radius:.5rem}.top-teams-stats-section{background-color:var(--ds-surface);border-radius:var(--ds-radius);padding:1.5rem;box-shadow:0 2px 4px #0000004d}.top-teams-stats-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.top-teams-stats-header h3{margin:0;color:var(--ds-text)}.total-participants{color:var(--ds-text-secondary);font-size:.9rem}.stats-table-wrapper{border:1px solid var(--ds-border-strong);border-radius:.5rem;overflow:hidden}.top-teams-stats-table{width:100%;border-collapse:collapse;font-size:.9rem}.top-teams-stats-table thead{background-color:var(--ds-controls-bg)}.top-teams-stats-table th{text-align:left;padding:.75rem;font-weight:600;color:var(--ds-text-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--ds-border-strong);-webkit-user-select:none;user-select:none}.top-teams-stats-table th.sortable{cursor:pointer;transition:background-color .2s}.top-teams-stats-table th.sortable:hover{background-color:var(--ds-surface-hover)}.top-teams-stats-table th.position-col{text-align:center;width:85px}.position-emoji{font-size:1rem}.top-teams-stats-table td{padding:.5rem .75rem;border-bottom:1px solid var(--ds-border);vertical-align:middle}.top-teams-stats-table tbody tr:hover{background-color:var(--ds-surface-hover)}.top-teams-stats-table tbody tr.user-selection{background-color:rgba(var(--ds-accent-rgb),.1)}.top-teams-stats-table tbody tr.user-selection:hover{background-color:rgba(var(--ds-accent-rgb),.15)}.top-teams-stats-table th:first-child,.top-teams-stats-table .rank-cell{width:50px;text-align:center;white-space:nowrap}.top-teams-stats-table .rank-cell{color:var(--ds-text-secondary);font-weight:500}.top-teams-stats-table .team-info-cell{display:flex;align-items:center;gap:.5rem}.top-teams-stats-table .team-flag-sm{width:24px;height:16px;object-fit:cover;border-radius:2px;flex-shrink:0}.top-teams-stats-table .team-name{font-weight:600;color:var(--ds-text)}.your-pick-badge{background-color:var(--ds-accent);color:#fff;padding:.15rem .4rem;border-radius:.25rem;font-size:.7rem;font-weight:600;margin-left:.5rem;white-space:nowrap}.position-count-cell{text-align:center}.position-count-btn{background:none;border:none;padding:.25rem .4rem;cursor:pointer;border-radius:.25rem;transition:background-color .2s}.position-count-btn:hover{background-color:var(--ds-surface-hover)}.position-count-cell .count{font-weight:600;color:var(--ds-text)}.position-count-cell .percentage{color:var(--ds-text-secondary);font-size:.8rem;margin-left:.15rem}.position-count-cell.gold-col .count{color:var(--ds-gold)}.position-count-cell.gold-col .position-count-btn:hover{background-color:#ffd70026}.position-count-cell.silver-col .count{color:var(--ds-silver)}.position-count-cell.silver-col .position-count-btn:hover{background-color:#c0c0c040}.position-count-cell.bronze-col .count{color:var(--ds-bronze)}.position-count-cell.bronze-col .position-count-btn:hover{background-color:#cd7f3226}.position-count-cell.fourth-col .position-count-btn:hover{background-color:var(--ds-surface-hover)}.top-teams-stats-table th:last-child,.top-teams-stats-table .selection-cell{text-align:right}.selection-count-btn{background:none;border:none;padding:.25rem .5rem;margin:-.25rem -.5rem;cursor:pointer;border-radius:.25rem;transition:background-color .2s}.selection-count-btn:hover{background-color:var(--ds-surface-hover)}.selection-count{font-weight:600;color:var(--ds-text)}.selection-percentage{color:var(--ds-text-secondary);margin-left:.25rem;font-size:.85rem}.top-teams-selection-container .modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.top-teams-selection-container .modal-content{background-color:var(--ds-surface);border-radius:var(--ds-radius);box-shadow:0 4px 20px #0006;border:1px solid var(--ds-border-strong);max-width:400px;width:90%;max-height:80vh;display:flex;flex-direction:column}.top-teams-selection-container .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--ds-border-strong);background:transparent}.top-teams-selection-container .modal-header h3{margin:0;font-size:1.1rem;color:var(--ds-text)}.top-teams-selection-container .modal-close{background:none;border:none;font-size:1.5rem;color:var(--ds-text-secondary);cursor:pointer;padding:0;line-height:1}.top-teams-selection-container .modal-close:hover{color:var(--ds-text);background:transparent}.top-teams-selection-container .modal-body{padding:1rem 1.25rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.top-teams-selection-container .modal-body::-webkit-scrollbar{width:6px}.top-teams-selection-container .modal-body::-webkit-scrollbar-track{background:transparent}.top-teams-selection-container .modal-body::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.top-teams-selection-container .modal-body::-webkit-scrollbar-thumb:hover{background:#ffffff40}.top-teams-selection-container .no-users{color:var(--ds-text-secondary);text-align:center;margin:0}.top-teams-selection-container .selected-by-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.top-teams-selection-container .selected-by-list li a{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;color:var(--ds-text);text-decoration:none;border-radius:.25rem;transition:background-color .2s}.top-teams-selection-container .selected-by-list li a:hover{background-color:var(--ds-surface-hover);color:var(--ds-accent)}.user-position{font-size:1rem}.top-teams-stats-cards-mobile{display:none}@media(max-width:1100px){.stats-table-wrapper{display:none}.top-teams-stats-cards-mobile{display:flex;flex-direction:column;gap:.75rem;border:1px solid var(--ds-border-strong);border-radius:.5rem;overflow:hidden}.team-stats-card-item{background-color:var(--ds-surface);border-bottom:1px solid var(--ds-border);padding:1rem;display:flex;gap:.375rem;transition:background-color .2s}.team-stats-card-item:last-child{border-bottom:none}.team-stats-card-item:hover{background-color:var(--ds-surface-hover)}.team-stats-card-item.user-selection-gold{background-color:#ffd7001f}.team-stats-card-item.user-selection-gold:hover{background-color:#ffd7002e}.team-stats-card-item.user-selection-silver{background-color:#c0c0c026}.team-stats-card-item.user-selection-silver:hover{background-color:#c0c0c038}.team-stats-card-item.user-selection-bronze{background-color:#cd7f321f}.team-stats-card-item.user-selection-bronze:hover{background-color:#cd7f322e}.team-stats-card-item.user-selection-fourth{background-color:#9370db1f}.team-stats-card-item.user-selection-fourth:hover{background-color:#9370db2e}.team-stats-card-rank{font-weight:600;color:var(--ds-text-secondary);font-size:.9rem;min-width:30px;flex-shrink:0}.team-stats-card-main{flex:1;display:flex;flex-direction:column;gap:.75rem;min-width:0}.team-stats-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;flex-wrap:wrap}.team-stats-card-team{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.team-stats-card-team .team-name{font-weight:600;color:var(--ds-text);font-size:.95rem}.team-total-stat-btn{background:none;border:none;padding:0;cursor:pointer;color:var(--ds-accent);font-weight:600;font-size:.95rem;transition:opacity .2s}.team-total-stat-btn:hover{opacity:.7}.team-stats-card-positions{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.position-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem .25rem;background-color:#ffffff0d;border-radius:.375rem}.position-stat .position-emoji{font-size:1.1rem}.position-stat-btn{background:none;border:none;padding:.25rem;cursor:pointer;color:var(--ds-accent);font-size:.8rem;font-weight:600;transition:opacity .2s;text-align:center}.position-stat-btn:hover{opacity:.7}.position-stat-zero{color:var(--ds-text-muted);font-size:.8rem}}@media(max-width:600px){.top-teams-stats-header{flex-direction:column;align-items:flex-start;gap:.5rem}.team-stats-card-positions{grid-template-columns:repeat(2,1fr)}}.back-link{margin-top:1.5rem;text-align:center}.back-link a{color:var(--ds-text-secondary);text-decoration:none;font-size:.95rem}.back-link a:hover{color:var(--ds-accent);text-decoration:underline}.team-cards-mobile{display:none}@media(max-width:1100px){.teams-table-wrapper{display:none}.team-cards-mobile{display:flex;flex-direction:column;gap:.5rem;border:1px solid var(--ds-border-strong);border-radius:.5rem;overflow:hidden}.team-card-item{background-color:var(--ds-surface);border-bottom:1px solid var(--ds-border);padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;transition:background-color .2s}.team-card-item:last-child{border-bottom:none}.team-card-item:hover{background-color:var(--ds-surface-hover)}.team-card-item.selected{background-color:rgba(var(--ds-accent-rgb),.1)}.team-card-info-group{flex:1;min-width:0}.team-card-name{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--ds-text);font-size:.95rem;overflow:hidden}.team-card-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-card-action-group{flex-shrink:0}.position-buttons-mobile{display:flex;gap:.375rem;flex-wrap:wrap}.position-btn-mobile{min-width:36px;height:36px;border-radius:.25rem;border:2px solid transparent;font-size:1.1rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;padding:0}.position-btn-mobile.gold-btn{background:linear-gradient(135deg,gold,#ffec80);border-color:#d4af37}.position-btn-mobile.silver-btn{background:linear-gradient(135deg,silver,#e8e8e8);border-color:#a8a8a8}.position-btn-mobile.bronze-btn{background:linear-gradient(135deg,#cd7f32,#e8a860);border-color:#a86432}.position-btn-mobile.fourth-btn{background:linear-gradient(135deg,#4a90e2,#7ab8ff);border-color:#3a7bc8}.position-btn-mobile:hover:not(:disabled){transform:scale(1.05);box-shadow:0 2px 4px #0003}.position-btn-mobile:disabled{opacity:.4;cursor:not-allowed}.position-badge-mobile{padding:.5rem .75rem;border-radius:.25rem;font-size:.875rem;font-weight:600;white-space:nowrap}.position-badge-mobile.gold-badge{background:linear-gradient(135deg,gold,#ffec80);color:#6b5200}.position-badge-mobile.silver-badge{background:linear-gradient(135deg,silver,#e8e8e8);color:#4a4a4a}.position-badge-mobile.bronze-badge{background:linear-gradient(135deg,#cd7f32,#e8a860);color:#4a2600}.position-badge-mobile.fourth-badge{background:linear-gradient(135deg,#4a90e2,#7ab8ff);color:#1a3a5a}}@media(max-width:500px){.team-card-item{flex-direction:column;align-items:flex-start;gap:.75rem}.team-card-action-group{width:100%}.position-buttons-mobile{width:100%;justify-content:space-between}.position-btn-mobile{flex:1;max-width:calc(25% - .3rem)}.position-badge-mobile{width:100%;text-align:center}}@media(max-width:900px){.top-teams-header-row{flex-direction:column;gap:1rem}.top-teams-header-info{flex:none;text-align:center}.selected-teams-row{flex-wrap:wrap;justify-content:center}.team-slot-compact{flex:1 1 calc(50% - .5rem);max-width:calc(50% - .5rem)}}@media(max-width:768px){.top-teams-stats-header{flex-direction:column;align-items:flex-start;gap:.5rem}.top-teams-stats-table th,.top-teams-stats-table td{padding:.4rem .5rem}.top-teams-stats-table th.position-col{width:60px}.position-count-cell .percentage,.your-pick-badge{display:none}}@media(max-width:600px){.team-slot-compact{flex:1 1 100%;max-width:100%}.selected-team-compact .team-name{font-size:.9rem}.available-teams-header{flex-direction:column;align-items:stretch}.filter-controls .search-input{width:100%}.teams-table th,.teams-table td{padding:.5rem}.position-buttons-inline{flex-wrap:wrap}.position-btn-sm{min-width:28px;height:28px;font-size:.9rem}.top-teams-stats-table .team-flag-sm{display:none}}.promo-cta-banner{background:linear-gradient(135deg,var(--ds-accent) 0%,var(--ds-accent-hover) 100%);border-radius:var(--ds-radius);padding:1.5rem 2rem;margin-bottom:1.5rem;text-align:center;color:#fff;box-shadow:0 4px 12px rgba(var(--ds-accent-rgb),.3)}.promo-cta-content h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.promo-cta-content p{margin:0 0 1rem;opacity:.9;font-size:.95rem}.promo-cta-buttons{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.promo-cta-buttons .btn{padding:.5rem 1.5rem;border-radius:.25rem;font-weight:500;text-decoration:none;transition:transform .2s,box-shadow .2s}.promo-cta-buttons .btn-primary{background-color:#fff;color:var(--ds-accent)}.promo-cta-buttons .btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ffffff4d}.promo-cta-buttons .btn-secondary{background-color:transparent;border:2px solid white;color:#fff}.promo-cta-buttons .btn-secondary:hover{background-color:#ffffff1a}@media(max-width:600px){.promo-cta-banner{padding:1rem 1.25rem}.promo-cta-content h3{font-size:1.1rem}.promo-cta-buttons{flex-direction:column}.promo-cta-buttons .btn{width:100%}}.personal-leagues-container{padding:1rem 0}.personal-leagues-container .leagues-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.personal-leagues-container .leagues-header h1{margin:0;font-size:1.5rem;color:var(--ds-text)}.league-title-section{display:flex;flex-direction:column;gap:.25rem}.league-title-section h1{margin:0;color:var(--ds-text);font-size:1.5rem}.league-header-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.league-owner-info{margin:0;font-size:.9rem;color:var(--ds-text-secondary)}.league-owner-info .owner-badge{margin-left:.5rem}.league-name-edit{display:flex;align-items:center;gap:.5rem}.league-name-input{font-size:1.5rem;font-weight:600;padding:.25rem .5rem;border:2px solid var(--ds-accent);border-radius:.25rem;min-width:200px;max-width:400px;background:var(--ds-surface);color:var(--ds-text)}.league-name-input:focus{outline:none;box-shadow:0 0 0 3px rgba(var(--ds-accent-rgb),.2)}.edit-name-btn{background:none;border:none;cursor:pointer;font-size:1rem;color:var(--ds-text-muted);padding:.25rem;margin-left:.5rem;opacity:.6;transition:opacity .2s,color .2s}.edit-name-btn:hover{opacity:1;color:var(--ds-accent)}.league-title-section h1{display:flex;align-items:center}.leagues-auth-required{text-align:center;padding:3rem 1rem}.leagues-auth-required h1,.leagues-join-required h1{margin-bottom:1rem;color:var(--ds-text);font-size:1.5rem}.no-leagues-message{text-align:center;padding:3rem 1rem;color:var(--ds-text-secondary);background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius)}.no-leagues-message p{margin-bottom:1rem}.no-leagues{text-align:center;padding:2rem 1rem;color:var(--ds-text-secondary);background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius)}.no-leagues p{margin:.5rem 0}.leagues-table-container{background:var(--ds-surface);border-radius:var(--ds-radius);border:1px solid var(--ds-border);box-shadow:0 2px 8px #0000004d;overflow:hidden}.leagues-table{width:100%;border-collapse:collapse}.leagues-table th,.leagues-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--ds-border)}.leagues-table th{background-color:var(--ds-controls-bg);font-weight:600;color:var(--ds-text-secondary);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.leagues-table tbody tr:hover{background-color:var(--ds-surface-hover)}.leagues-table tbody tr:last-child td{border-bottom:none}.league-name-cell .owner-badge{margin-left:.5rem}.league-link{color:var(--ds-accent);text-decoration:none;font-weight:500}.league-link:hover{text-decoration:underline}.leagues-table th.members-cell,.leagues-table td.members-cell{width:100px;text-align:center}.owner-cell{color:var(--ds-text-secondary)}.actions-cell{width:180px}.actions-cell .action-buttons{display:flex;flex-direction:row;gap:.5rem;flex-wrap:nowrap}.leagues-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.league-card{background:var(--ds-surface);border-radius:var(--ds-radius);border:1px solid var(--ds-border);box-shadow:0 2px 8px #0000004d;padding:1.25rem;transition:box-shadow .2s,background-color .2s}.league-card:hover{box-shadow:0 4px 16px #0006;background-color:var(--ds-surface-hover)}.league-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.league-card-header h3{margin:0;font-size:1.1rem;color:var(--ds-text)}.league-card-header h3 a{color:var(--ds-accent);text-decoration:none}.league-card-header h3 a:hover{text-decoration:underline}.owner-badge{background:rgba(var(--ds-accent-rgb),.15);color:var(--ds-accent);font-size:.7rem;padding:.2rem .5rem;border-radius:.25rem;font-weight:600;text-transform:uppercase}.league-card-meta{font-size:.85rem;color:var(--ds-text-secondary);margin-bottom:1rem}.league-card-meta span{display:block;margin-bottom:.25rem}.league-card-actions{display:flex;gap:.5rem;flex-wrap:wrap}.league-detail-container{padding:1rem 0}.league-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.league-info h2{margin:0 0 .5rem;font-size:1.5rem;color:var(--ds-text)}.league-meta{font-size:.9rem;color:var(--ds-text-secondary)}.league-meta span{margin-right:1rem}.league-actions{display:flex;gap:.5rem;flex-wrap:wrap}.league-leaderboard{background:var(--ds-surface);border-radius:var(--ds-radius);border:1px solid var(--ds-border);box-shadow:0 2px 8px #0000004d;padding:1.25rem;margin-bottom:1.5rem}.league-leaderboard h3{margin:0 0 1rem;font-size:1.1rem;color:var(--ds-text)}.league-leaderboard-table{width:100%;border-collapse:collapse}.league-leaderboard-table th,.league-leaderboard-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--ds-border)}.league-leaderboard-table th{background-color:var(--ds-controls-bg);font-weight:600;color:var(--ds-text-secondary);font-size:.8rem;text-transform:uppercase}.league-leaderboard-table tbody tr:hover{background-color:var(--ds-surface-hover)}.league-leaderboard-table .current-user{background-color:var(--ds-surface-highlight)}.league-leaderboard-table .position-cell{width:50px;font-weight:600;color:var(--ds-text-secondary)}.league-leaderboard-table .player-link{color:var(--ds-accent);text-decoration:none}.league-leaderboard-table .player-link:hover{text-decoration:underline}.league-members{background:var(--ds-surface);border-radius:var(--ds-radius);border:1px solid var(--ds-border);box-shadow:0 2px 8px #0000004d;padding:1.25rem}.league-members-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.league-members-header h3{margin:0;font-size:1.1rem;color:var(--ds-text)}.members-list{display:flex;flex-direction:column;gap:.5rem}.member-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#ffffff0a;border-radius:.375rem}.member-info{display:flex;align-items:center;gap:.5rem}.member-name{font-weight:500;color:var(--ds-text)}.member-role{font-size:.7rem;padding:.15rem .4rem;border-radius:.25rem;font-weight:600}.member-role.owner{background:rgba(var(--ds-accent-rgb),.15);color:var(--ds-accent)}.member-role.member{background:#ffffff14;color:var(--ds-text-secondary)}.create-league-container{padding:1rem 0;max-width:600px}.create-league-container h2{margin:0 0 1.5rem;font-size:1.5rem;color:var(--ds-text)}.create-league-form{background:var(--ds-surface);border-radius:var(--ds-radius);border:1px solid var(--ds-border);box-shadow:0 2px 8px #0000004d;padding:1.5rem}.create-league-form .form-group{margin-bottom:1.25rem}.create-league-form label{display:block;font-weight:500;color:var(--ds-text-secondary);margin-bottom:.5rem}.create-league-form input[type=text]{width:100%;padding:.5rem .75rem;border:1px solid var(--ds-border-strong);border-radius:.375rem;font-size:1rem;background:var(--ds-surface);color:var(--ds-text)}.create-league-form input[type=text]:focus{outline:none;border-color:var(--ds-accent);box-shadow:0 0 0 2px rgba(var(--ds-accent-rgb),.2)}.char-count{display:block;text-align:right;font-size:.75rem;color:var(--ds-text-muted);margin-top:.25rem}.form-hint{font-size:.85rem;color:var(--ds-text-secondary);margin-bottom:.75rem}.error-hint{font-size:.85rem;color:var(--ds-danger)}.no-participants{font-size:.9rem;color:var(--ds-text-muted);font-style:italic}.members-toolbar{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.members-toolbar .search-input{flex:1;min-width:200px;padding:.5rem .75rem;border:1px solid var(--ds-border-strong);border-radius:.375rem;font-size:.9rem;background:var(--ds-surface);color:var(--ds-text)}.selection-buttons{display:flex;gap:.5rem}.participants-list{max-height:300px;overflow-y:auto;border:1px solid var(--ds-border-strong);border-radius:.375rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.participants-list::-webkit-scrollbar{width:6px}.participants-list::-webkit-scrollbar-track{background:transparent}.participants-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.participants-list .participant-checkbox{display:flex!important;flex-direction:row!important;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:background-color .15s;border-bottom:1px solid var(--ds-border);margin:0;color:var(--ds-text)}.participants-list .participant-checkbox:last-child{border-bottom:none}.participants-list .participant-checkbox:hover{background-color:var(--ds-surface-hover)}.participants-list .participant-checkbox input[type=checkbox]{width:1.1rem;height:1.1rem;min-width:1.1rem;cursor:pointer;flex-shrink:0;margin:0}.participants-list .participant-checkbox span{flex:1}.selected-count{font-size:.85rem;color:var(--ds-accent);font-weight:500;margin-top:.5rem}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--ds-border)}.add-members-modal{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.add-members-modal-content{background:var(--ds-surface);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius);box-shadow:0 4px 20px #00000080;width:100%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.add-members-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--ds-border-strong)}.add-members-modal-header h3{margin:0;font-size:1.1rem;color:var(--ds-text)}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--ds-text-muted);cursor:pointer;line-height:1;padding:0}.modal-close:hover{color:var(--ds-text)}.add-members-modal-body{padding:1rem 1.25rem;overflow-y:auto;flex:1;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.add-members-modal-body::-webkit-scrollbar{width:6px}.add-members-modal-body::-webkit-scrollbar-track{background:transparent}.add-members-modal-body::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.add-members-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid var(--ds-border-strong)}.league-filter{position:relative;display:flex;align-items:center;gap:.5rem}.league-filter-select{padding:.4rem .75rem;border:1px solid var(--ds-border-strong);border-radius:.375rem;font-size:.9rem;background:var(--ds-surface);color:var(--ds-text);cursor:pointer;min-width:180px}.league-filter-select:focus{outline:none;border-color:var(--ds-accent)}.league-filter-disabled{opacity:.45}.league-filter-disabled .league-filter-select{cursor:not-allowed}.favorite-league-btn{background:none;border:none;cursor:pointer;font-size:1.5rem;color:var(--ds-text-muted);padding:.25rem;line-height:1;transition:color .2s,transform .15s}.favorite-league-btn:hover,.favorite-league-btn.is-favorite{color:var(--ds-warning)}.favorite-league-btn:focus{outline:none}.favorite-league-btn:focus-visible{outline:2px solid var(--ds-accent);outline-offset:2px;border-radius:4px}.leaderboard-title-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem}@media(max-width:768px){.personal-leagues-container .leagues-header{flex-direction:column;align-items:center}.leagues-grid{grid-template-columns:1fr}.league-detail-header{flex-direction:column}.league-actions{width:100%}.league-actions .btn{flex:1}.members-toolbar{flex-direction:column}.members-toolbar .search-input{min-width:100%}.leaderboard-title-row{flex-direction:column;align-items:center}.league-filter{width:100%}.league-filter-select{flex:1}}@media(max-width:480px){.personal-leagues-container .leagues-header,.leaderboard-title-row{align-items:center}}.leaderboard-table tr.current-user-row{background-color:var(--ds-surface-highlight);border-left:4px solid var(--ds-accent)}.leaderboard-table tr.current-user-row:hover{background-color:rgba(var(--ds-accent-rgb),.15)}.leaderboard-table tr.current-user-row .player-cell{font-weight:600;color:var(--ds-accent)}.position-badge{display:inline-block;min-width:24px;padding:4px 8px;border-radius:4px;font-weight:700;font-size:.85rem;text-align:center}.position-badge.first-place{background-color:#fbbf2433;color:var(--ds-gold);box-shadow:0 2px 4px #fbbf2426}.position-badge.second-place{background-color:#94a3b833;color:var(--ds-silver);box-shadow:0 2px 4px #94a3b826}.position-badge.third-place{background-color:#d9770633;color:var(--ds-bronze);box-shadow:0 2px 4px #d9770626}.position-badge.other-place{background-color:#ffffff14;color:var(--ds-text-secondary)}.league-detail-container .leaderboard-cards-mobile{display:none}@media(max-width:800px){.league-detail-container .leaderboard-table{display:none}.league-detail-container .leaderboard-cards-mobile{display:flex;flex-direction:column;gap:0;list-style:none;padding:0;margin:0;background-color:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius);overflow:hidden;box-shadow:0 2px 8px #0000004d}.league-detail-container .leaderboard-card-item{display:flex;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--ds-border);transition:background-color .2s;cursor:pointer;outline:none}.league-detail-container .leaderboard-card-item:last-child{border-bottom:none}.league-detail-container .leaderboard-card-item:hover{background-color:var(--ds-surface-hover)}.league-detail-container .leaderboard-card-item:focus{background-color:var(--ds-surface-hover);box-shadow:inset 0 0 0 2px var(--ds-accent)}.league-detail-container .leaderboard-card-item.current-user-card{background-color:var(--ds-surface-highlight);border-left:4px solid var(--ds-accent);padding-left:calc(1rem - 4px)}.league-detail-container .leaderboard-card-item.current-user-card:hover{background-color:rgba(var(--ds-accent-rgb),.15)}.league-detail-container .card-rank{flex-shrink:0;display:flex;align-items:flex-start;padding-top:.125rem}.league-detail-container .card-rank .position-badge{display:inline-block;min-width:28px;padding:4px 8px;border-radius:4px;font-weight:700;font-size:.85rem;text-align:center}.league-detail-container .card-main{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0}.league-detail-container .card-header-line{display:flex;justify-content:space-between;align-items:center;gap:.75rem;line-height:1.3}.league-detail-container .card-player-name{font-weight:600;color:var(--ds-text);font-size:.95rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.league-detail-container .card-total-points{font-weight:700;color:var(--ds-text);font-size:1rem;white-space:nowrap;flex-shrink:0}.league-detail-container .total-sigma{font-weight:400;color:var(--ds-text-muted);margin-right:.25rem}}@media(max-width:500px){.league-detail-container .leaderboard-card-item{padding:.65rem .75rem;gap:.5rem}.league-detail-container .card-rank .position-badge{min-width:24px;padding:3px 6px;font-size:.75rem}.league-detail-container .card-player-name{font-size:.9rem}.league-detail-container .card-total-points{font-size:.95rem}}.thread-replies-container{margin-top:.75rem;margin-left:2rem;padding-left:1rem;border-left:2px solid var(--ds-border-strong)}.thread-replies-header{margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--ds-border)}.thread-replies-count{font-size:.85rem;font-weight:600;color:var(--ds-text-secondary);text-transform:uppercase;letter-spacing:.5px}.thread-replies-list{display:flex;flex-direction:column;gap:.75rem}.thread-replies-loading{padding:1rem;text-align:center;color:var(--ds-text-secondary);font-style:italic;font-size:.9rem}.thread-replies-error{padding:.75rem;margin-top:.5rem;background:rgba(var(--ds-warning-rgb),.1);border:1px solid var(--ds-warning);border-radius:var(--ds-radius-sm);color:var(--ds-warning);font-size:.9rem}.thread-replies-load-more{margin-top:.75rem;text-align:center}.thread-load-more-btn{padding:.5rem 1rem;background:var(--ds-surface-hover);color:var(--ds-text);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-sm);font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--ds-transition)}.thread-load-more-btn:hover:not(:disabled){background:var(--ds-surface-highlight);border-color:var(--ds-accent)}.thread-load-more-btn:disabled{opacity:.6;cursor:not-allowed}.thread-inline-reply-form{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--ds-border)}.thread-inline-reply-input{width:100%;padding:.75rem;border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-sm);font-size:.9rem;font-family:inherit;resize:vertical;min-height:60px;max-height:150px;margin-bottom:.5rem;background:var(--ds-surface);color:var(--ds-text)}.thread-inline-reply-input:focus{outline:none;border-color:var(--ds-accent)}.thread-inline-reply-input:disabled{background:var(--ds-surface-hover);cursor:not-allowed;opacity:.7}.thread-inline-reply-actions{display:flex;justify-content:space-between;align-items:center}.thread-inline-reply-count{font-size:.75rem;color:var(--ds-text-muted)}.thread-inline-reply-btn{padding:.5rem 1rem;background:var(--ds-accent);color:#fff;border:none;border-radius:var(--ds-radius-sm);font-size:.85rem;font-weight:600;cursor:pointer;transition:background-color var(--ds-transition)}.thread-inline-reply-btn:hover:not(:disabled){background:var(--ds-accent-hover)}.thread-inline-reply-btn:disabled{background:var(--ds-text-muted);cursor:not-allowed;opacity:.6}@media(max-width:768px){.thread-replies-container{margin-left:1rem;padding-left:.75rem}.thread-inline-reply-input{font-size:.85rem;padding:.6rem}.thread-inline-reply-btn{font-size:.8rem;padding:.45rem .85rem}}.reply-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.reply-modal-content{background:var(--ds-surface);border-radius:var(--ds-radius);width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 24px #00000080}.reply-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--ds-border)}.reply-modal-header h3{margin:0;font-size:1.25rem;color:var(--ds-text)}.reply-modal-close-btn{background:transparent;border:none;font-size:2rem;line-height:1;color:var(--ds-text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color var(--ds-transition)}.reply-modal-close-btn:hover{color:var(--ds-text)}.reply-modal-parent-preview{padding:1rem 1.5rem;background:var(--ds-controls-bg);border-left:3px solid var(--ds-accent);margin:1rem 1.5rem 0;border-radius:var(--ds-radius-sm)}.parent-preview-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.parent-preview-author{font-weight:600;font-size:.9rem;color:var(--ds-text)}.parent-preview-timestamp{font-size:.75rem;color:var(--ds-text-muted)}.parent-preview-content{color:var(--ds-text-secondary);font-size:.9rem;line-height:1.4;white-space:pre-wrap;word-wrap:break-word;max-height:150px;overflow-y:auto}.reply-modal-body{padding:1.5rem;flex:1;display:flex;flex-direction:column;overflow:hidden}.reply-modal-textarea{flex:1;min-height:120px;max-height:300px;padding:.75rem;border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-sm);font-size:.95rem;font-family:inherit;resize:vertical;margin-bottom:.5rem;background:var(--ds-surface);color:var(--ds-text)}.reply-modal-textarea:focus{outline:none;border-color:var(--ds-accent)}.reply-modal-textarea:disabled{background:var(--ds-surface-hover);cursor:not-allowed}.reply-modal-char-count{font-size:.75rem;color:var(--ds-text-muted);text-align:right}.reply-modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding:1.25rem 1.5rem;border-top:1px solid var(--ds-border)}.reply-modal-btn{padding:.75rem 1.5rem;border:none;border-radius:var(--ds-radius-sm);font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color var(--ds-transition)}.reply-modal-btn-cancel{background:var(--ds-surface-hover);color:var(--ds-text)}.reply-modal-btn-cancel:hover:not(:disabled){background:var(--ds-surface-highlight)}.reply-modal-btn-send{background:var(--ds-accent);color:#fff}.reply-modal-btn-send:hover:not(:disabled){background:var(--ds-accent-hover)}.reply-modal-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.reply-modal-content{max-height:90vh}.reply-modal-header,.reply-modal-actions,.reply-modal-body{padding:1rem}.reply-modal-parent-preview{margin:1rem}}.chat-container{max-width:1400px;margin:0 auto}.chat-page-header{background-color:var(--ds-surface);border-radius:var(--ds-radius);padding:1.5rem;box-shadow:0 2px 4px #0000004d;margin-bottom:1.5rem}.chat-page-header h1{color:var(--ds-text);font-size:1.5rem;margin-bottom:.5rem}.chat-page-description{color:var(--ds-text-secondary);font-size:.95rem;margin-bottom:0;line-height:1.4}.chat-layout{display:grid;grid-template-columns:280px 1fr;gap:1.5rem;align-items:start}.channel-selector{background:var(--ds-surface);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius);padding:1rem;max-height:calc(100vh - 200px);overflow-y:auto;position:sticky;top:1rem}.channel-section{margin-bottom:1.5rem}.channel-section-title{font-size:.75rem;text-transform:uppercase;color:var(--ds-text-muted);margin-bottom:.5rem;font-weight:600;letter-spacing:.5px}.channel-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;border-radius:var(--ds-radius-sm);cursor:pointer;transition:background-color var(--ds-transition);margin-bottom:.25rem}.channel-item:hover{background-color:var(--ds-surface-hover)}.channel-item.active{background-color:rgba(var(--ds-accent-rgb),.15);color:var(--ds-accent);font-weight:500}.channel-icon{font-size:1.2rem;flex-shrink:0}.channel-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem}.unread-badge{background-color:var(--ds-accent);color:#fff;padding:.15rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600;min-width:20px;text-align:center}.chat-main{display:flex;flex-direction:column;background:var(--ds-surface);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius)}.chat-header{padding:1rem 1.5rem;border-bottom:1px solid var(--ds-border);background:var(--ds-controls-bg)}.chat-header-content{display:flex;justify-content:space-between;align-items:center;gap:1rem}.chat-header h3{margin:0;font-size:1.25rem;color:var(--ds-text)}.chat-subheader{margin:.25rem 0 0;font-size:.85rem;color:var(--ds-text-secondary)}.chat-refresh-btn{background:transparent;border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-sm);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem;color:var(--ds-text-secondary);transition:all var(--ds-transition);flex-shrink:0}.chat-refresh-btn:hover:not(:disabled){background:var(--ds-surface-hover);border-color:var(--ds-border-strong);color:var(--ds-text)}.chat-refresh-btn:disabled{opacity:.5;cursor:not-allowed;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.messages-container{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;background:var(--ds-surface);min-height:200px}.messages-loading,.messages-empty{display:flex;align-items:center;justify-content:center;min-height:400px;color:var(--ds-text-secondary);font-style:italic}.message{padding:1rem;border-radius:var(--ds-radius);background:var(--ds-controls-bg);transition:background-color var(--ds-transition)}.message:hover{background:var(--ds-surface-hover)}.message-pinned{border-left:4px solid var(--ds-accent);background:rgba(var(--ds-warning-rgb),.1)}.message-pinned-indicator{font-size:.75rem;color:var(--ds-accent);font-weight:600;margin-bottom:.5rem;display:flex;align-items:center;gap:.25rem}.message-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.message-author{font-weight:600;color:var(--ds-text);font-size:.95rem}.message-timestamp{font-size:.75rem;color:var(--ds-text-muted)}.message-actions{margin-left:auto;display:flex;gap:.5rem;align-items:center}.message-pin-btn,.message-delete-btn{background:transparent;border:none;cursor:pointer;font-size:1rem;opacity:.5;transition:opacity var(--ds-transition),transform var(--ds-transition);padding:.25rem}.message-pin-btn:hover,.message-delete-btn:hover{opacity:1;transform:scale(1.1)}.message-pin-btn{color:var(--ds-accent)}.message.message-pinned .message-pin-btn{opacity:1}.delete-confirm{background:rgba(var(--ds-warning-rgb),.1);border:1px solid rgba(var(--ds-warning-rgb),.3);border-radius:var(--ds-radius-sm);padding:1rem;margin-bottom:.5rem}.delete-confirm p{margin:0 0 .75rem;font-weight:500;color:var(--ds-warning)}.delete-confirm-actions{display:flex;gap:.5rem}.delete-confirm .btn-confirm{padding:.5rem 1rem;background:var(--ds-danger);color:#fff;border:none;border-radius:var(--ds-radius-sm);cursor:pointer;font-size:.9rem;font-weight:500;transition:background var(--ds-transition)}.delete-confirm .btn-confirm:hover{background:#dc2626}.delete-confirm .btn-cancel{padding:.5rem 1rem;background:var(--ds-surface-hover);color:var(--ds-text);border:none;border-radius:var(--ds-radius-sm);cursor:pointer;font-size:.9rem;font-weight:500;transition:background var(--ds-transition)}.delete-confirm .btn-cancel:hover{background:var(--ds-surface-highlight)}.message-content{color:var(--ds-text);line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.message-reactions{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}.reactions-list{display:flex;gap:.25rem;flex-wrap:wrap}.reaction-bubble{display:flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border:1px solid var(--ds-border-strong);border-radius:12px;background:var(--ds-surface);cursor:pointer;transition:all var(--ds-transition);font-size:.85rem}.reaction-bubble:hover{border-color:var(--ds-accent);transform:scale(1.05)}.reaction-bubble.user-reacted{background:rgba(var(--ds-accent-rgb),.15);border-color:var(--ds-accent)}.reaction-emoji{font-size:1rem}.reaction-count{font-size:.75rem;font-weight:600;color:var(--ds-text)}.reaction-add-container{position:relative}.reaction-add-btn{width:28px;height:28px;border:1px dashed var(--ds-text-muted);border-radius:50%;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--ds-transition);color:var(--ds-text-muted);font-size:1.2rem}.reaction-add-btn:hover{border-color:var(--ds-accent);color:var(--ds-accent);background:rgba(var(--ds-accent-rgb),.15)}.emoji-picker{position:absolute;bottom:100%;left:0;margin-bottom:.5rem;background:var(--ds-surface);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius);padding:.5rem;display:flex;gap:.25rem;box-shadow:0 4px 12px #0006;z-index:10}.emoji-option{width:32px;height:32px;border:none;background:transparent;cursor:pointer;font-size:1.25rem;border-radius:var(--ds-radius-sm);transition:background-color var(--ds-transition)}.emoji-option:hover{background:var(--ds-surface-hover)}.message-input-container{padding:1rem 1.5rem;border-bottom:1px solid var(--ds-border);background:var(--ds-controls-bg)}.message-input{width:100%;padding:.75rem;border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-sm);font-size:.95rem;font-family:inherit;resize:vertical;min-height:60px;max-height:150px;margin-bottom:.5rem;background:var(--ds-surface);color:var(--ds-text)}.message-input:focus{outline:none;border-color:var(--ds-accent)}.message-input:disabled{background:var(--ds-surface-hover);cursor:not-allowed}.message-input-footer{display:flex;justify-content:space-between;align-items:center}.message-input-char-count{font-size:.75rem;color:var(--ds-text-muted)}.message-send-btn{padding:.5rem 1rem;background:var(--ds-accent);color:#fff;border:none;border-radius:var(--ds-radius-sm);font-size:.85rem;font-weight:600;cursor:pointer;transition:background-color var(--ds-transition)}.message-send-btn:hover:not(:disabled){background:var(--ds-accent-hover)}.message-send-btn:disabled{background:var(--ds-text-muted);cursor:not-allowed}.chat-read-only{padding:1rem 1.5rem;text-align:center;background:var(--ds-controls-bg);color:var(--ds-text-secondary);border-bottom:1px solid var(--ds-border);font-style:italic}.chat-read-only p{margin:0}.chat-auth-required{text-align:center;padding:3rem 1rem}.chat-auth-required h1{margin-bottom:1rem;color:var(--ds-text);font-size:1.5rem}.chat-auth-required a{color:var(--ds-accent)}.chat-join-required{text-align:center;padding:3rem 1rem}.chat-join-required h1{margin-bottom:1rem;color:var(--ds-text);font-size:1.5rem}.chat-no-channel{display:flex;align-items:center;justify-content:center;height:400px;color:var(--ds-text-secondary);text-align:center}.chat-no-channel p{font-size:1.1rem;color:var(--ds-text-muted)}.message-threading-controls{display:flex;align-items:center;gap:.75rem;margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--ds-border)}.message-reply-btn,.thread-toggle-btn{background:transparent;border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-sm);padding:.4rem .75rem;font-size:.85rem;font-weight:500;cursor:pointer;color:var(--ds-text);transition:all var(--ds-transition);display:flex;align-items:center;gap:.25rem}.message-reply-btn:hover,.thread-toggle-btn:hover{background:var(--ds-surface-hover);border-color:var(--ds-accent);color:var(--ds-accent)}.message-reply-btn:active,.thread-toggle-btn:active{transform:scale(.98)}.thread-toggle-btn{color:var(--ds-accent);border-color:var(--ds-accent)}.thread-toggle-btn:hover{background:rgba(var(--ds-accent-rgb),.15)}.message-with-thread{margin-bottom:.5rem}.channel-selector-desktop{display:block}.channel-selector-mobile{display:none}@media(max-width:768px){.chat-page-header{text-align:center}.chat-layout{grid-template-columns:1fr}.channel-selector-desktop{display:none}.channel-selector-mobile{display:block;margin-bottom:1rem}.channel-select-mobile{width:100%;padding:.75rem 2.5rem .75rem 1rem;font-size:1rem;font-weight:500;border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-sm);background-color:var(--ds-surface);color:var(--ds-text);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}.channel-select-mobile:focus{outline:none;border-color:var(--ds-accent);box-shadow:0 0 0 3px rgba(var(--ds-accent-rgb),.2)}.message-threading-controls{flex-wrap:wrap;gap:.5rem}.message-reply-btn,.thread-toggle-btn{font-size:.8rem;padding:.35rem .6rem}}.compare-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.compare-modal{background-color:var(--ds-surface);border-radius:var(--ds-radius);box-shadow:0 4px 20px #0006;width:90%;max-width:400px}.compare-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--ds-border)}.compare-modal-header h3{margin:0;font-size:1.1rem;color:var(--ds-text)}.compare-modal-header .close-btn{background:none;border:none;font-size:1.5rem;color:var(--ds-text-secondary);cursor:pointer;padding:0;line-height:1}.compare-modal-header .close-btn:hover{color:var(--ds-text)}.compare-modal-body{padding:1.25rem 1.5rem}.compare-description{margin:0 0 1rem;color:var(--ds-text-secondary);font-size:.85rem}.compare-select-group{margin-bottom:.75rem}.compare-select-group label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--ds-text-secondary);margin-bottom:.25rem}.compare-select-group select{width:100%;padding:.5rem .75rem;border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-sm);font-size:.9rem;color:var(--ds-text);background-color:var(--ds-surface)}.compare-select-group select:focus{outline:none;border-color:var(--ds-accent);box-shadow:0 0 0 2px rgba(var(--ds-accent-rgb),.2)}.compare-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--ds-border)}.badge-icon-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid;background:#0003;flex-shrink:0;transition:transform .2s,box-shadow .2s}.badge-icon-wrapper.badge-clickable{cursor:pointer}.badge-icon-wrapper.badge-clickable:hover{transform:scale(1.1)}.badge-icon-wrapper.badge-unearned{border-color:#4b5563!important}.badge-icon-wrapper.badge-unearned .badge-icon-img{opacity:.25;filter:grayscale(1)}.badge-icon-img{border-radius:50%;object-fit:contain}.badge-tier-dots{position:absolute;bottom:-6px;left:50%;transform:translate(-50%);display:flex;gap:2px}.badge-tier-pip{width:8px;height:8px;border-radius:50%;border:1.5px solid}.badge-tooltip{position:fixed;transform:translate(-50%) translateY(-100%);background:var(--ds-surface);border:1px solid var(--ds-border-strong);border-radius:.5rem;padding:10px 12px 8px;white-space:nowrap;text-align:center;z-index:100;font-size:12px;color:var(--ds-text-secondary);box-shadow:0 4px 12px #0006;pointer-events:none}.badge-tooltip:after{content:"";position:absolute;top:100%;left:calc(50% - var(--arrow-offset, 0px));transform:translate(-50%);border:5px solid transparent;border-top-color:var(--ds-border-strong)}.badge-tooltip-below:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--ds-border-strong)}.badge-tooltip-preview{width:72px;height:72px;margin:0 auto 6px;border-radius:50%;border:2px solid;background:#0003;display:flex;align-items:center;justify-content:center}.badge-tooltip-preview-img{width:60px;height:60px;object-fit:contain}.badge-tooltip strong{color:var(--ds-text)}.badge-tier-label{color:var(--ds-text-muted);font-weight:400;text-transform:capitalize}.badge-tooltip-desc{color:var(--ds-text-secondary);margin-top:2px;font-size:11px;max-width:200px;white-space:normal}.badge-tooltip-earners{font-size:11px;color:var(--ds-text-muted);font-style:italic;margin-top:3px}.badge-tooltip-scope{font-size:10px;color:var(--ds-text-muted);margin-top:2px}.badge-tooltip-tiers{margin-top:6px;padding-top:6px;border-top:1px solid var(--ds-border);display:flex;flex-direction:column;gap:3px;text-align:left}.badge-tooltip-tier-row{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--ds-text-secondary)}.badge-tooltip-tier-row.tier-earned{color:var(--ds-text)}.badge-tooltip-tier-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.badge-tooltip-tier-name{text-transform:capitalize;font-weight:600;min-width:40px}.badge-tooltip-tier-desc{white-space:nowrap}.badge-grid-container{display:flex;flex-direction:column;gap:20px}.badge-grid-category-title{font-size:13px;font-weight:600;color:var(--ds-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid var(--ds-border)}.badge-grid-items{display:flex;flex-wrap:wrap;gap:12px}.participant-predictions-container{max-width:1200px;margin:0 auto;padding:0}.predictions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.predictions-header h2{margin:0;color:var(--ds-text);font-size:1.5rem}.back-to-leaderboard{color:var(--ds-text-secondary);text-decoration:none;font-size:.9rem}.back-to-leaderboard:hover{color:var(--ds-accent)}.points-summary-card{display:flex;gap:.5rem;background-color:var(--ds-surface);border-radius:var(--ds-radius);padding:1rem;box-shadow:0 2px 8px #0000004d;margin-bottom:1.5rem;flex-wrap:wrap}.summary-item{display:flex;flex-direction:column;align-items:center;padding:.75rem 1rem;border-right:1px solid var(--ds-border);flex:1;min-width:80px}.summary-item:last-child{border-right:none}.summary-item.total{background-color:var(--ds-controls-bg);border-radius:var(--ds-radius-sm);border-right:none}.summary-label{font-size:.7rem;color:var(--ds-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.summary-value{font-size:1.25rem;font-weight:600;color:var(--ds-text)}.summary-value.points-1x2{color:var(--ds-accent)}.summary-value.points-correct{color:#0d9488}.summary-value.points-strikers{color:var(--ds-success)}.summary-value.points-top4,.summary-value.points-joker{color:var(--ds-warning)}.special-predictions-row{display:flex;gap:1rem;margin-bottom:1.5rem}.compact-section{flex:1;background-color:var(--ds-surface);border-radius:var(--ds-radius);box-shadow:0 2px 8px #0000004d;padding:.75rem 1rem}.compact-section h4{margin:0 0 .5rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:var(--ds-text-secondary)}.compact-hidden,.compact-empty{font-size:.85rem;color:var(--ds-text-muted);font-style:italic}.compact-strikers-list,.compact-top4-list{display:flex;flex-direction:column;gap:.35rem}.compact-striker-header{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;color:var(--ds-text-secondary);text-transform:uppercase;padding-bottom:.25rem;margin-bottom:.125rem;border-bottom:1px solid var(--ds-border)}.compact-striker-item,.compact-top4-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.compact-order{color:var(--ds-text-secondary);font-weight:500;min-width:16px}.compact-player-name,.compact-team-name{flex:1;color:var(--ds-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-goals{font-weight:600;color:var(--ds-success);font-size:.85rem}.compact-position{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-weight:600;font-size:.7rem}.compact-position.gold{background-color:gold;color:#333}.compact-position.silver{background-color:silver;color:#333}.compact-position.bronze{background-color:#cd7f32;color:#333}.compact-position.fourth{background-color:var(--ds-border-strong);color:var(--ds-text)}.compact-points{font-weight:600;font-size:.85rem;margin-left:auto;padding-left:.5rem}.compact-points.perfect{color:#f59e0b}.compact-points.partial{color:#fb923c}.compact-points.none{color:var(--ds-text-muted)}.points-icon{font-size:.9rem;margin-left:.25rem;cursor:help}.compact-points.perfect+.points-icon{color:#f59e0b}.compact-points.partial+.points-icon{color:#fb923c}.rank-evolution-section{display:flex;flex-direction:column;min-height:200px}.rank-evolution-header{display:flex;justify-content:space-between;align-items:center}.compare-link{font-size:.75rem;color:var(--ds-accent);cursor:pointer}.compare-link:hover{text-decoration:underline}.participant-badges-section{margin-bottom:1.5rem;padding:1rem;background-color:var(--ds-surface);border-radius:var(--ds-radius);box-shadow:0 2px 8px #0000004d}.participant-badges-section h3{color:var(--ds-text);margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:2px solid var(--ds-accent);font-size:1.1rem}.predictions-section{margin-bottom:2rem}.predictions-section h3{color:var(--ds-text);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--ds-accent);font-size:1.1rem}.round-predictions-card{background-color:var(--ds-surface);border-radius:var(--ds-radius);box-shadow:0 2px 8px #0000004d;margin-bottom:.75rem;overflow:hidden}.round-header-clickable{display:flex;justify-content:space-between;align-items:center;padding:1rem;cursor:pointer;background-color:var(--ds-controls-bg);transition:background-color .2s}.round-header-clickable:hover{background-color:var(--ds-surface-hover)}.round-name{font-weight:600;color:var(--ds-accent);display:flex;align-items:center;gap:.5rem}.round-stats{color:var(--ds-text-secondary);font-size:.9rem}.hidden-badge{font-size:.8rem;color:var(--ds-text-secondary);font-style:italic}.expand-icon{font-size:.75rem;color:var(--ds-text-secondary);width:16px;text-align:center;flex-shrink:0}.predictions-table-container{padding:0;overflow-x:auto}.predictions-table{width:100%;border-collapse:collapse}.predictions-table th,.predictions-table td{padding:.75rem 1rem;text-align:center;border-bottom:1px solid var(--ds-border)}.predictions-table th{background-color:var(--ds-controls-bg);font-weight:600;font-size:.75rem;text-transform:uppercase;color:var(--ds-text-secondary);letter-spacing:.5px}.predictions-table tbody tr:hover{background-color:var(--ds-surface-hover)}.predictions-table tbody tr:last-child td{border-bottom:none}.match-cell{text-align:left}.match-teams-inline{display:flex;align-items:center;gap:.4rem;flex-wrap:nowrap}.team-flag-sm{width:20px;height:14px;border-radius:2px;object-fit:cover;box-shadow:0 0 0 1px #ffffff1a}.team-name-full{font-weight:500;font-size:.9rem}.team-name-abbr{display:none;font-weight:500;font-size:.9rem}.vs{color:var(--ds-text-muted);font-size:.75rem;margin:0 .25rem}.prediction-cell,.result-cell{font-weight:600;font-size:.95rem}.result-cell .pending{color:var(--ds-text-muted)}.outcome-badge{display:inline-block;padding:.25rem .5rem;border-radius:.25rem;font-weight:600;font-size:.8rem;min-width:28px}.outcome-badge.correct{background-color:rgba(var(--ds-success-rgb),.15);color:var(--ds-success)}.outcome-badge.incorrect{background-color:rgba(var(--ds-danger-rgb),.15);color:var(--ds-danger)}.outcome-badge.pending{background-color:#ffffff0d;color:var(--ds-text-muted)}.exact-badge{display:inline-block;padding:.2rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500}.exact-badge.correct{background-color:rgba(var(--ds-success-rgb),.15);color:var(--ds-success)}.exact-badge.incorrect{background-color:#ffffff0d;color:var(--ds-text-muted)}.exact-badge.pending{background-color:#ffffff08;color:var(--ds-text-muted)}.points-cell-value{font-weight:600;color:var(--ds-accent)}.no-predictions{padding:1.5rem;text-align:center;color:var(--ds-text-secondary);font-style:italic}.strikers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.striker-card{display:flex;align-items:center;gap:1rem;background-color:var(--ds-surface);border-radius:var(--ds-radius);padding:1rem;box-shadow:0 2px 8px #0000004d}.striker-order{font-size:1.25rem;font-weight:700;color:var(--ds-accent);min-width:36px}.striker-info{display:flex;align-items:center;gap:.75rem;flex:1}.striker-photo{width:48px;height:48px;border-radius:50%;object-fit:cover;background-color:var(--ds-border-strong)}.striker-details{flex:1}.striker-name{font-weight:600;color:var(--ds-text);margin-bottom:.25rem}.striker-team{font-size:.85rem;color:var(--ds-text-secondary);display:flex;align-items:center;gap:.4rem}.team-flag-xs{width:16px;height:11px;border-radius:2px;object-fit:cover;box-shadow:0 0 0 1px #ffffff1a}.striker-goals{display:flex;flex-direction:column;align-items:center;padding-left:1rem;border-left:1px solid var(--ds-border)}.goals-count{font-size:1.5rem;font-weight:700;color:var(--ds-success)}.goals-label{font-size:.65rem;color:var(--ds-text-secondary);text-transform:uppercase;letter-spacing:.5px}.top-teams-comparison{background-color:var(--ds-surface);border-radius:var(--ds-radius);overflow:hidden;box-shadow:0 2px 8px #0000004d}.top-teams-table{width:100%;border-collapse:collapse}.top-teams-table th,.top-teams-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--ds-border)}.top-teams-table th{background-color:var(--ds-controls-bg);font-weight:600;font-size:.75rem;text-transform:uppercase;color:var(--ds-text-secondary)}.top-teams-table tbody tr:last-child td{border-bottom:none}.position-cell-top4{display:flex;align-items:center;gap:.75rem}.position-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;font-weight:700;font-size:.75rem}.position-icon.gold{background-color:gold;color:#b8860b}.position-icon.silver{background-color:silver;color:#696969}.position-icon.bronze{background-color:#cd7f32;color:#8b4513}.position-icon.fourth{background-color:var(--ds-border-strong);color:var(--ds-text)}.position-label{font-weight:500;color:var(--ds-text)}.team-cell{display:flex;align-items:center;gap:.5rem}.points-cell-top4{text-align:center;font-weight:600}.points-correct{color:var(--ds-success)}.points-partial{color:var(--ds-warning)}.points-zero{color:var(--ds-text-muted)}.hidden-section{padding:2rem;text-align:center;color:var(--ds-text-secondary);font-style:italic;background-color:var(--ds-surface);border-radius:var(--ds-radius);border:1px dashed var(--ds-border-strong)}.no-data{padding:2rem;text-align:center;color:var(--ds-text-secondary);background-color:var(--ds-surface);border-radius:var(--ds-radius);box-shadow:0 2px 8px #0000004d}@media(max-width:768px){.predictions-header{flex-direction:column;align-items:flex-start}.points-summary-card{flex-direction:row;flex-wrap:wrap}.summary-item{flex:1 1 calc(50% - .5rem);border-right:none;border-bottom:1px solid var(--ds-border);padding:.5rem}.summary-item:nth-child(odd){border-right:1px solid var(--ds-border)}.summary-item:nth-last-child(-n+2){border-bottom:none}.summary-item.total{flex:1 1 100%;margin-top:.5rem}.special-predictions-row{flex-direction:column}.predictions-table{font-size:.85rem}.predictions-table th,.predictions-table td{padding:.5rem}.match-teams-inline{flex-wrap:wrap}.team-name-full{display:none}.team-name-abbr{display:inline}}@media(max-width:480px){.predictions-table th:nth-child(4),.predictions-table td:nth-child(4),.predictions-table th:nth-child(5),.predictions-table td:nth-child(5){display:none}}.predictions-table tbody tr.prediction-incorrect{background-color:#ef44441f}.predictions-table tbody tr.prediction-incorrect:hover{background-color:#ef44442e}.predictions-table tbody tr.prediction-correct{background-color:#22c55e1f}.predictions-table tbody tr.prediction-correct:hover{background-color:#22c55e2e}.predictions-table tbody tr.prediction-exact{background-color:#16a34a40}.predictions-table tbody tr.prediction-exact:hover{background-color:#16a34a52}.badge-catalog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.badge-catalog-header h1{margin:0;color:var(--ds-text);font-size:1.5rem}.badge-progress{display:flex;align-items:center;gap:.75rem}.badge-progress-count{font-size:.9rem;font-weight:600;color:var(--ds-text-secondary);white-space:nowrap}.badge-progress-bar{width:120px;height:8px;background-color:var(--ds-border-strong);border-radius:4px;overflow:hidden}.badge-progress-fill{height:100%;background:linear-gradient(90deg,var(--ds-accent),var(--ds-success));border-radius:4px;transition:width .5s ease}.badge-rarity-legend{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.5rem;padding:.75rem 1rem .75rem 0;background-color:transparent;border-radius:.5rem}.rarity-chip{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--ds-text-secondary);text-transform:capitalize;padding:.25rem .6rem;border:1.5px solid var(--ds-border-strong);border-radius:1rem;background-color:transparent}.rarity-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.badge-catalog-login-hint{text-align:center;color:var(--ds-text-muted);font-size:.9rem;font-style:italic;margin-top:2rem;padding:1rem}@media(max-width:480px){.badge-catalog-header{flex-direction:column;align-items:flex-start;gap:.75rem}.badge-catalog-header h1{font-size:1.25rem}.badge-progress{width:100%}.badge-progress-bar{flex:1}.badge-rarity-legend{gap:.5rem}.rarity-chip{font-size:.75rem;padding:.2rem .5rem}}.match-detail-container{max-width:800px;margin:0 auto;padding:1rem 0}.match-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.back-link{background:none;border:none;padding:0;cursor:pointer;color:var(--ds-accent);font-size:.9rem;font-weight:500}.back-link:hover{text-decoration:underline}.match-round-badge{background:var(--ds-controls-bg);color:var(--ds-text-secondary);padding:.25rem .75rem;border-radius:1rem;font-size:.8rem;font-weight:500}.match-detail-card{background:var(--ds-surface);border-radius:var(--ds-radius);box-shadow:0 4px 12px #0000004d;padding:1rem 1.5rem;margin-bottom:1.5rem}.match-score-display{display:flex;flex-direction:column;align-items:center;gap:.25rem}.match-teams-row{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%}.team-display{flex:1;display:flex;align-items:center;gap:.5rem}.team-display.home{justify-content:flex-end;text-align:right}.team-display.away{justify-content:flex-start;text-align:left}.team-flag-large{width:32px;height:21px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px #ffffff1a}.team-name{font-size:1.5rem;font-weight:700;color:var(--ds-text)}.final-score{display:flex;align-items:center;gap:.25rem}.score-home,.score-away{font-size:1.5rem;font-weight:700;color:var(--ds-text)}.score-separator{font-size:1.25rem;color:var(--ds-text-secondary);position:relative;top:-.5em}.score-placeholder{font-size:1rem;font-weight:500;color:var(--ds-text-muted);padding:0 .5rem}.match-datetime{font-size:.8rem;color:var(--ds-text-secondary);text-align:center}.predictions-stats-section{background:var(--ds-surface);border-radius:var(--ds-radius);box-shadow:0 2px 8px #0000004d;overflow:hidden}.stats-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background:var(--ds-controls-bg);border-bottom:1px solid var(--ds-border-strong)}.stats-header h2{margin:0;font-size:1.1rem;font-weight:600;color:var(--ds-text)}.total-predictions{font-size:.9rem;color:var(--ds-text-secondary);font-weight:500}.outcome-distribution{padding:1.5rem;border-bottom:1px solid var(--ds-border-strong)}.outcome-distribution h3{margin:0 0 1rem;font-size:.9rem;font-weight:600;color:var(--ds-text-secondary)}.outcome-bars{display:flex;flex-direction:column;gap:.75rem}.outcome-bar-item{display:grid;grid-template-columns:100px 1fr 50px;align-items:center;gap:.75rem}.outcome-bar-item-clickable{cursor:pointer;padding:.5rem;margin:-.5rem;border-radius:6px;transition:background-color .2s}.outcome-bar-item-clickable:hover{background-color:var(--ds-surface-hover)}.outcome-label{display:flex;justify-content:space-between;align-items:center}.outcome-name{font-size:.85rem;font-weight:500;color:var(--ds-text-secondary)}.outcome-count{font-size:.75rem;color:var(--ds-text-muted)}.outcome-bar-container{height:24px;background:#ffffff0f;border-radius:4px;overflow:hidden}.outcome-bar{height:100%;border-radius:4px;transition:width .3s ease}.outcome-bar.home-win{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.outcome-bar.draw{background:linear-gradient(90deg,#6b7280,#9ca3af)}.outcome-bar.away-win{background:linear-gradient(90deg,#ef4444,#f87171)}.outcome-percentage{font-size:.85rem;font-weight:600;color:var(--ds-text);text-align:right}.score-distribution{padding:1.5rem;border-bottom:1px solid var(--ds-border-strong)}.score-distribution h3{margin:0 0 1rem;font-size:.9rem;font-weight:600;color:var(--ds-text-secondary)}.score-distribution-list{display:flex;flex-direction:column;gap:.5rem}.score-distribution-item{display:grid;grid-template-columns:30px 50px 120px 1fr;align-items:center;gap:.75rem;column-gap:.5rem;padding:.5rem;background:#ffffff08;border-radius:6px}.score-distribution-item-clickable{cursor:pointer;transition:background-color .2s}.score-distribution-item-clickable:hover{background-color:var(--ds-surface-hover)}.score-rank{font-size:.75rem;color:var(--ds-text-muted);font-weight:500}.predicted-score{font-size:.95rem;font-weight:600;color:var(--ds-text)}.prediction-count{font-size:.8rem;color:var(--ds-text-secondary)}.prediction-count-link{color:var(--ds-accent);font-weight:600;white-space:nowrap;text-align:left;justify-self:start}.score-bar-container{height:8px;background:var(--ds-border-strong);border-radius:4px;overflow:hidden}.score-bar{height:100%;background:linear-gradient(90deg,#10b981,#34d399);border-radius:4px}.more-scores{font-size:.85rem;color:var(--ds-text-secondary);text-align:center;padding:.5rem}.no-predictions{text-align:center;color:var(--ds-text-secondary);padding:2rem}.view-all-predictions{padding:1.25rem 1.5rem;text-align:center}.predictions-hidden{background:var(--ds-surface);border-radius:var(--ds-radius);box-shadow:0 2px 8px #0000004d;padding:3rem 2rem;text-align:center}.hidden-icon{font-size:3rem;margin-bottom:1rem}.predictions-hidden h3{margin:0 0 .5rem;font-size:1.25rem;color:var(--ds-text-secondary)}.predictions-hidden p{margin:0;color:var(--ds-text-secondary)}.match-detail-container .modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.match-detail-container .modal-content{background-color:var(--ds-surface);border-radius:var(--ds-radius);box-shadow:0 4px 20px #00000080;border:1px solid var(--ds-border-strong);max-width:400px;width:90%;max-height:80vh;display:flex;flex-direction:column}.match-detail-container .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--ds-border-strong);background:transparent}.match-detail-container .modal-header h3{margin:0;font-size:1.1rem;color:var(--ds-text)}.match-detail-container .modal-close{background:none;border:none;font-size:1.5rem;color:var(--ds-text-secondary);cursor:pointer;padding:0;line-height:1}.match-detail-container .modal-close:hover{color:var(--ds-text);background:transparent}.match-detail-container .modal-body{padding:1rem 1.25rem;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.match-detail-container .modal-body::-webkit-scrollbar{width:6px}.match-detail-container .modal-body::-webkit-scrollbar-track{background:transparent}.match-detail-container .modal-body::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.match-detail-container .modal-body::-webkit-scrollbar-thumb:hover{background:#ffffff40}.predictions-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}.predictions-list li a,.predictions-list li .pred-row{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;color:var(--ds-text);text-decoration:none;border-radius:.25rem;transition:background-color .2s}.predictions-list li a:hover{background-color:var(--ds-surface-hover)}.pred-username{flex:1}.pred-score{color:var(--ds-text-secondary);min-width:40px;text-align:center}.pred-points{font-size:.85rem;color:var(--ds-text-secondary);min-width:45px;text-align:right}.pred-points.has-points{color:var(--ds-success);font-weight:600}@media(max-width:768px){.match-detail-container{padding:.5rem}.match-detail-card{padding:.75rem 1rem}.match-teams-row{gap:.5rem}.team-flag-large{width:24px;height:16px}.team-name,.score-home,.score-away{font-size:1.25rem}.score-separator{font-size:1rem}.outcome-bar-item{grid-template-columns:80px 1fr 40px;gap:.5rem}.score-distribution-item{grid-template-columns:25px 45px 80px 1fr;gap:.5rem;padding:.375rem}.match-detail-container .modal-content{max-height:90vh}}.team-detail-container{max-width:1200px;margin:0 auto;padding:0}.team-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.team-detail-header h2{margin:0;color:var(--ds-text);font-size:1.5rem;display:flex;align-items:center;gap:.75rem}.team-detail-header .team-logo{width:36px;height:36px;border-radius:.375rem;object-fit:contain}.team-detail-position{font-size:1.1rem;color:var(--ds-text-secondary);font-weight:600}.team-detail-row{display:flex;gap:1rem;margin-bottom:1.5rem}.team-members-section{flex:1.2;background-color:var(--ds-surface);border-radius:var(--ds-radius);border:1px solid var(--ds-border);padding:.75rem 1rem}.team-members-section h4{margin:0 0 .5rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:var(--ds-text-secondary)}.team-members-table{width:100%;border-collapse:collapse}.team-members-table th,.team-members-table td{padding:.5rem .75rem;text-align:center;border-bottom:1px solid var(--ds-border);font-size:.85rem;color:var(--ds-text)}.team-members-table th{font-weight:600;font-size:.7rem;text-transform:uppercase;color:var(--ds-text-secondary);letter-spacing:.5px}.team-members-table tbody tr:last-child td{border-bottom:none}.team-members-table tbody tr:hover{background-color:var(--ds-surface-hover)}.team-members-table tbody tr.current-user-row{background-color:#3b82f614}.team-members-table .member-name-cell{text-align:left}.team-members-table .member-name-cell a{color:var(--ds-text);text-decoration:none;font-weight:500}.team-members-table .member-name-cell a:hover{color:var(--ds-accent);text-decoration:underline}.team-members-table .member-position{color:var(--ds-text-secondary);font-weight:600;font-size:.8rem}.team-members-table .member-total{font-weight:700}.team-rank-evolution-section{flex:1;background-color:var(--ds-surface);border-radius:var(--ds-radius);border:1px solid var(--ds-border);padding:.75rem 1rem;display:flex;flex-direction:column;min-height:200px}.team-rank-evolution-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.team-rank-evolution-header h4{margin:0;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:var(--ds-text-secondary)}.team-members-cards-mobile{display:none;flex-direction:column;gap:.5rem;list-style:none;padding:0;margin:0}.team-member-card{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-bottom:1px solid var(--ds-border)}.team-member-card:last-child{border-bottom:none}.team-member-card.current-user-row{background-color:#3b82f614;border-radius:.375rem}.team-member-card .member-card-rank{font-weight:700;color:var(--ds-text-muted);font-size:.8rem;min-width:28px;text-align:center}.team-member-card .member-card-main{flex:1;min-width:0}.team-member-card .member-card-name{font-weight:500;color:var(--ds-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-member-card .member-card-name a{color:inherit;text-decoration:none}.team-member-card .member-card-name a:hover{color:var(--ds-accent)}.team-member-card .member-card-points{display:flex;gap:.5rem;font-size:.75rem;color:var(--ds-text-secondary);margin-top:.125rem}.team-member-card .member-card-total{font-weight:700;color:var(--ds-text);font-size:.95rem;min-width:40px;text-align:right}@media(max-width:768px){.team-detail-header{flex-direction:column;align-items:flex-start}.team-detail-row{flex-direction:column}.team-members-table-container{display:none}.team-members-cards-mobile{display:flex}}.faq-accordion{display:flex;flex-direction:column;gap:.5rem}.faq-item{background-color:var(--ds-surface);border-radius:var(--ds-radius-sm);overflow:hidden;box-shadow:0 1px 3px #0000004d}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:none;border:none;cursor:pointer;text-align:left;font-size:1rem;font-weight:500;color:var(--ds-text);transition:background-color var(--ds-transition)}.faq-question:hover,.faq-item-open .faq-question{background-color:var(--ds-surface-hover)}.faq-icon{font-size:1.25rem;font-weight:300;color:var(--ds-accent);flex-shrink:0;margin-left:1rem}.faq-answer-wrapper{max-height:0;overflow:hidden;transition:max-height .3s ease}.faq-item-open .faq-answer-wrapper{max-height:500px}.faq-answer{padding:0 1.25rem 1.25rem;color:var(--ds-text-secondary);line-height:1.6}@media(max-width:768px){.faq-question{padding:.875rem 1rem;font-size:.95rem}.faq-answer{padding:0 1rem 1rem}}.tournament-landing{max-width:100%}.landing-hero{position:relative;background:linear-gradient(135deg,rgba(var(--ds-accent-rgb),.6),#0a0e14d9);color:#fff;padding:4rem 2rem;border-radius:var(--ds-radius);margin-bottom:3rem;overflow:hidden;min-height:350px;display:flex;align-items:center;justify-content:center}.hero-image-container{position:absolute;inset:0}.hero-image{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(var(--ds-accent-rgb),.5),#0a0e14b3)}.hero-content{position:relative;z-index:1;text-align:center;max-width:700px}.hero-title{font-size:2.75rem;font-weight:700;margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.2)}.hero-tagline{font-size:1.25rem;opacity:.95;margin-bottom:1.5rem;line-height:1.6}.hero-meta{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem;font-size:.95rem;opacity:.9}.hero-dates,.hero-participants{display:flex;align-items:center;gap:.5rem}.hero-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.btn-lg{padding:.875rem 2rem;font-size:1.1rem}.btn-outline{background:transparent;border:2px solid white;color:#fff}.btn-outline:hover{background:#ffffff1a}.landing-section{margin-bottom:3rem;padding:2rem;background:var(--ds-surface);border-radius:var(--ds-radius);box-shadow:0 2px 8px #0000004d}.section-title{font-size:1.75rem;color:var(--ds-text);text-align:center;margin-bottom:2rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.feature-card{text-align:center;padding:1.5rem;background:transparent;border:1px solid var(--ds-border);border-radius:var(--ds-radius-sm);transition:transform var(--ds-transition),box-shadow var(--ds-transition)}.feature-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0006}.feature-icon{font-size:2.5rem;display:block;margin-bottom:1rem}.feature-card h3{font-size:1.1rem;color:var(--ds-text);margin-bottom:.5rem}.feature-card p{color:var(--ds-text-secondary);font-size:.95rem;line-height:1.5}.rules-content{max-width:800px;margin:0 auto}.landing-faq{max-width:800px;margin-left:auto;margin-right:auto}.landing-cta{background:linear-gradient(135deg,rgba(var(--ds-accent-rgb),.6),#0a0e14d9);color:#fff;text-align:center;padding:3rem 2rem;border-radius:var(--ds-radius);margin-bottom:2rem}.landing-cta h2{font-size:1.75rem;margin-bottom:.75rem}.landing-cta p{font-size:1.1rem;opacity:.9;margin-bottom:1.5rem}.landing-cta .cta-buttons{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}@media(max-width:768px){.landing-hero{padding:3rem 1.5rem;min-height:300px}.hero-title{font-size:2rem}.hero-tagline{font-size:1.1rem}.hero-meta{flex-direction:column;gap:.5rem}.hero-actions{flex-direction:column}.btn-lg{width:100%;max-width:300px}.landing-section{padding:1.5rem}.section-title{font-size:1.5rem}.landing-cta{padding:2rem 1.5rem}.landing-cta .cta-buttons{flex-direction:column;align-items:center}}.landing-promoted-messages{margin-bottom:3rem}.promoted-messages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;margin-top:1.5rem}.promoted-message-card{background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius);padding:1.5rem;box-shadow:0 1px 3px #0000004d;transition:all .2s}.promoted-message-card:hover{box-shadow:0 4px 6px #0006;border-color:var(--ds-border)}.promoted-message-title{margin:0 0 1rem;color:var(--ds-accent);font-size:1.25rem;font-weight:600}.promoted-message-content{margin-bottom:1rem;color:var(--ds-text);line-height:1.6}.promoted-message-content p{margin:.5rem 0}.promoted-message-meta{display:flex;align-items:center;gap:.5rem;padding-top:1rem;border-top:1px solid var(--ds-border);font-size:.875rem;color:var(--ds-text-secondary)}.promoted-author{font-weight:500}.meta-divider,.promoted-date{color:var(--ds-text-muted)}.invite-container{display:flex;justify-content:center;align-items:center;min-height:80vh;padding:2rem 1rem}.invite-card{background-color:var(--ds-surface);border-radius:var(--ds-radius);border:1px solid var(--ds-border);box-shadow:0 4px 6px #0000004d;padding:2rem;width:100%;max-width:450px;text-align:center}.invite-card.invite-error{border-top:4px solid var(--ds-danger)}.invite-header h2{margin-bottom:.5rem;color:var(--ds-accent)}.invite-from{color:var(--ds-text-secondary);margin-bottom:1.5rem}.invite-tournament{background-color:var(--ds-surface-hover);border-radius:var(--ds-radius);padding:1.5rem;margin-bottom:1.5rem}.invite-tournament h3{margin:0 0 .5rem;color:var(--ds-text);font-size:1.25rem}.tournament-date{color:var(--ds-text-secondary);margin:0;font-size:.9rem}.landing-page-link{display:inline-block;margin-top:.75rem;padding:0;background:none;border:none;color:var(--ds-accent);font-size:.9rem;cursor:pointer;text-decoration:none}.landing-page-link:hover{text-decoration:underline}.invite-actions{margin-top:1.5rem}.already-joined{padding:1rem;background-color:rgba(var(--ds-success-rgb),.08);border-radius:var(--ds-radius);margin-bottom:1rem}.already-joined p{margin:0 0 1rem;color:var(--ds-success)}.auth-options p{color:var(--ds-text-secondary);margin-bottom:1rem}.auth-options .btn{margin-bottom:.75rem}.btn-block{display:block;width:100%}.btn-secondary{background-color:var(--ds-surface-hover);color:var(--ds-text);border:none}.btn-secondary:hover{background-color:var(--ds-surface-highlight)}.not-found-container{display:flex;justify-content:center;align-items:center;min-height:70vh;text-align:center}.not-found-content{max-width:500px;padding:2rem}.not-found-content h1{font-size:6rem;color:var(--ds-accent);margin-bottom:0}.not-found-content h2{font-size:2rem;margin-bottom:1rem}.not-found-content p{color:var(--ds-text-secondary);margin-bottom:2rem}.my-feedback-page{max-width:1200px;margin:0 auto;padding:2rem 1rem}.my-feedback-page .page-header{display:block;margin-bottom:2rem}.my-feedback-page .page-header h1{margin:0 0 .5rem;color:var(--ds-text);font-size:1.75rem}.my-feedback-page .page-header p{margin:0;color:var(--ds-text-secondary)}.feedback-instructions{display:flex;gap:1rem;background:rgba(var(--ds-success-rgb),.08);border:1px solid var(--ds-success);border-radius:var(--ds-radius);padding:1.25rem;margin-bottom:1.5rem}.instructions-icon{font-size:1.5rem;flex-shrink:0}.instructions-content h3{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--ds-success)}.instructions-content p{margin:0;font-size:.9rem;line-height:1.5;color:var(--ds-success)}.instructions-content strong{color:var(--ds-success)}.loading-state{text-align:center;padding:3rem;color:var(--ds-text-muted)}.empty-state{text-align:center;padding:4rem 2rem;background:var(--ds-surface);border-radius:var(--ds-radius);border:1px solid var(--ds-border)}.empty-icon{font-size:3rem;margin-bottom:1rem}.empty-state h3{margin:0 0 .5rem;color:var(--ds-text)}.empty-state p{margin:0;color:var(--ds-text-muted)}.feedback-list{display:flex;flex-direction:column;gap:1rem}.feedback-card{background:var(--ds-surface);border-radius:var(--ds-radius);border:1px solid var(--ds-border);overflow:hidden;transition:border-color var(--ds-transition)}.feedback-card:hover,.feedback-card.expanded{border-color:var(--ds-border-strong)}.feedback-card.unread{border-left:4px solid var(--ds-success);background:linear-gradient(90deg,rgba(var(--ds-success-rgb),.08) 0%,var(--ds-surface) 20%)}.unread-badge{display:inline-block;background:var(--ds-success);color:#fff;font-size:.65rem;font-weight:700;padding:.2rem .5rem;border-radius:4px;letter-spacing:.3px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.feedback-card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;cursor:pointer;gap:1rem}.feedback-card-header:hover{background:var(--ds-surface-hover)}.feedback-card-main{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;flex:1;min-width:0}.feedback-type{font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.feedback-subject{margin:0;font-size:1rem;font-weight:500;color:var(--ds-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feedback-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;flex-shrink:0}.feedback-status{font-size:.75rem;font-weight:500;padding:.25rem .75rem;border-radius:20px;white-space:nowrap}.feedback-date{font-size:.85rem;color:var(--ds-text-muted);white-space:nowrap}.expand-icon{font-size:.75rem;color:var(--ds-text-muted)}.feedback-card-body{padding:0 1.25rem 1.25rem;border-top:1px solid var(--ds-border)}.feedback-description{margin-top:1rem}.feedback-description h4,.feedback-response h4{margin:0 0 .5rem;font-size:.85rem;font-weight:600;color:var(--ds-text-secondary);text-transform:uppercase;letter-spacing:.3px}.feedback-description p{margin:0;color:var(--ds-text);line-height:1.6;white-space:pre-wrap}.feedback-response{margin-top:1.5rem;padding:1rem;background:rgba(var(--ds-success-rgb),.08);border-radius:var(--ds-radius-sm);border-left:4px solid var(--ds-success)}.feedback-response p{margin:0;color:var(--ds-text);line-height:1.6}.response-date{display:block;margin-top:.75rem;font-size:.8rem;color:var(--ds-text-muted)}.no-response{margin-top:1.5rem;padding:1rem;background:var(--ds-surface-hover);border-radius:var(--ds-radius-sm);text-align:center}.no-response p{margin:0;color:var(--ds-text-muted);font-size:.9rem}@media(max-width:640px){.my-feedback-page{padding:1rem}.feedback-card-header{flex-direction:column;align-items:flex-start;gap:.75rem}.feedback-card-meta{width:100%;justify-content:space-between}.feedback-subject{white-space:normal}.my-feedback-page .page-header h1{font-size:1.5rem}}.feedback-modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.feedback-modal{background-color:#141922;border-radius:10px;border:1px solid rgba(255,255,255,.06);box-shadow:0 4px 20px #00000073;width:90%;max-width:500px;max-height:min(600px,85vh);display:flex;flex-direction:column}.feedback-modal-header{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.feedback-modal-header h3{margin:0;font-size:1.25rem;color:#f1f5f9}.feedback-modal-header .close-btn{background:none;border:none;font-size:1.75rem;color:#475569;cursor:pointer;padding:0;line-height:1;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:color .2s ease,background-color .2s ease}.feedback-modal-header .close-btn:hover{color:#8494a7;background-color:#ffffff14}.feedback-modal-body{padding:1rem 1.25rem;overflow-y:auto;flex:1;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.feedback-modal-body::-webkit-scrollbar{width:6px}.feedback-modal-body::-webkit-scrollbar-track{background:transparent}.feedback-modal-body::-webkit-scrollbar-thumb{background-color:#ffffff26;border-radius:3px}.feedback-modal-body::-webkit-scrollbar-thumb:hover{background-color:#ffffff40}.feedback-modal-body .form-group{margin-bottom:1rem}.feedback-modal-body label{display:block;font-weight:500;margin-bottom:.5rem;color:#f1f5f9}.feedback-modal-body input[type=text],.feedback-modal-body select,.feedback-modal-body textarea{width:100%;padding:.75rem;border:1px solid rgba(255,255,255,.1);border-radius:6px;font-size:1rem;background-color:#ffffff0d;color:#f1f5f9;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.feedback-modal-body input[type=text]::placeholder,.feedback-modal-body textarea::placeholder{color:#475569}.feedback-modal-body input[type=text]:focus,.feedback-modal-body select:focus,.feedback-modal-body textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f626}.feedback-modal-body textarea{min-height:100px;resize:vertical}.feedback-modal-body select{appearance:none;color-scheme:dark;background-color:#1a2030!important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.feedback-modal-body select option{background-color:#141922;color:#f1f5f9}.type-description{display:block;font-size:.85rem;color:#8494a7;margin-top:.25rem}.char-count{display:block;text-align:right;font-size:.8rem;color:#475569;margin-top:.25rem}.context-info{display:flex;align-items:flex-start;gap:.5rem;padding:.625rem;background-color:#ffffff0d;border:1px solid rgba(255,255,255,.06);border-radius:6px;margin-bottom:1rem;font-size:.8rem;color:#8494a7}.context-info .info-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background-color:#ffffff1a;color:#8494a7;border-radius:50%;font-size:.7rem;font-weight:600;flex-shrink:0}.feedback-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:.875rem 1.25rem;border-top:1px solid rgba(255,255,255,.06);flex-shrink:0;background:#141922;border-radius:0 0 10px 10px}.feedback-modal-footer .btn{padding:.75rem 1.5rem;min-height:48px;font-size:1rem;border-radius:6px;border:none;cursor:pointer;font-weight:500;transition:background-color .2s ease}.feedback-modal-footer .btn-primary{background-color:#3b82f6;color:#fff}.feedback-modal-footer .btn-primary:hover{background-color:#2563eb}.feedback-modal-footer .btn-secondary{background-color:#ffffff14;color:#f1f5f9;border:1px solid rgba(255,255,255,.1)}.feedback-modal-footer .btn-secondary:hover{background-color:#ffffff1f}@media(max-width:768px){.feedback-modal-overlay{padding:.5rem;align-items:flex-end}.feedback-modal{width:100%;max-width:none;max-height:90vh;border-radius:1rem 1rem 0 0}.feedback-modal-body textarea{min-height:150px}.feedback-modal-footer{flex-direction:column;border-radius:0}.feedback-modal-footer .btn{width:100%}}@media(max-width:480px){.feedback-modal-header,.feedback-modal-body{padding:1rem}}.feedback-button-container{position:fixed;bottom:2rem;right:2rem;z-index:998}.feedback-button{display:flex;align-items:center;gap:.5rem;background:var(--ds-surface, #141922);color:var(--ds-accent, #3b82f6);border:1px solid rgba(var(--ds-accent-rgb, 59, 130, 246),.3);border-radius:var(--ds-radius, 10px);padding:.75rem 1.25rem;font-size:.85rem;font-weight:500;cursor:pointer;box-shadow:0 4px 16px #0006;transition:background var(--ds-transition, .18s ease),border-color var(--ds-transition, .18s ease),box-shadow .2s;min-width:48px;min-height:48px}.feedback-button:hover{background:rgba(var(--ds-accent-rgb, 59, 130, 246),.15);border-color:var(--ds-accent, #3b82f6);box-shadow:0 6px 20px #00000080}.feedback-button:active{transform:translateY(0)}.feedback-icon{width:20px;height:20px;flex-shrink:0}@media(max-width:768px){.feedback-button-container{bottom:5rem;right:1rem}.feedback-button-text{display:none}.feedback-button{padding:.75rem;border-radius:var(--ds-radius, 10px)}}@media(max-width:480px){.feedback-button-container{bottom:4rem;right:.75rem}}.admin-layout{display:flex;height:100vh}.admin-sidebar{width:250px;background-color:#fff;color:var(--gray-800);display:flex;flex-direction:column;transition:width .2s ease;flex-shrink:0;border-right:1px solid var(--gray-300)}.admin-sidebar-header{padding:1rem 1.5rem;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center;min-height:60px}.admin-sidebar-header h3{margin:0;color:var(--gray-800);white-space:nowrap;overflow:hidden}.sidebar-toggle{background:none;border:1px solid var(--gray-300);color:var(--gray-600);width:28px;height:28px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .15s ease;flex-shrink:0}.sidebar-toggle:hover{background-color:var(--gray-100);color:var(--gray-800);border-color:var(--gray-400)}.mobile-menu-toggle{display:none}.admin-nav{padding:1rem 0;overflow-y:auto;flex:1}.admin-nav ul{list-style:none;padding:0;margin:0}.admin-nav li{margin-bottom:.25rem}.admin-nav a{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;color:var(--gray-700);text-decoration:none;transition:all .15s ease;white-space:nowrap}.admin-nav a:hover{background-color:var(--gray-100);color:var(--gray-900)}.admin-nav a.active{background-color:var(--primary-color);color:#fff}.nav-icon{font-size:1.125rem;width:1.5rem;text-align:center;flex-shrink:0}.nav-label{overflow:hidden;transition:opacity .2s ease}.sidebar-collapsed .admin-sidebar{width:60px}.sidebar-collapsed .admin-sidebar-header{padding:1rem .5rem;flex-direction:column;gap:.5rem}.sidebar-collapsed .admin-sidebar-header h3{font-size:.875rem}.sidebar-collapsed .sidebar-toggle{position:static;background-color:var(--gray-100);border-color:var(--gray-300)}.sidebar-collapsed .admin-nav a{padding:.75rem;justify-content:center}.sidebar-collapsed .nav-label{display:none}.sidebar-collapsed .nav-icon{font-size:1.25rem}.sidebar-collapsed .admin-nav li{position:relative}.admin-content{flex:1;overflow-y:auto;background-color:var(--gray-100);min-width:0}.admin-header{background-color:#fff;padding:1rem 2rem;border-bottom:1px solid var(--gray-300);display:flex;justify-content:space-between;align-items:center}.admin-header h2{margin:0}.admin-container{padding:0}@media(max-width:768px){.admin-layout{flex-direction:column}.admin-sidebar{width:100%;height:auto}.sidebar-collapsed .admin-sidebar{width:100%}.sidebar-collapsed .nav-label{display:inline}.sidebar-collapsed .admin-nav a{justify-content:flex-start;padding:.75rem 1.5rem}.admin-content{height:0;flex:1}.sidebar-toggle{display:none}.mobile-menu-toggle{display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--gray-300);width:36px;height:36px;border-radius:4px;cursor:pointer;padding:0;margin-left:auto}.mobile-menu-toggle:hover{background-color:var(--gray-100)}.hamburger-icon{display:block;width:18px;height:2px;background-color:var(--gray-700);position:relative;transition:background-color .2s ease}.hamburger-icon:before,.hamburger-icon:after{content:"";display:block;width:18px;height:2px;background-color:var(--gray-700);position:absolute;left:0;transition:transform .2s ease}.hamburger-icon:before{top:-6px}.hamburger-icon:after{top:6px}.mobile-menu-open .hamburger-icon{background-color:transparent}.mobile-menu-open .hamburger-icon:before{transform:rotate(45deg);top:0}.mobile-menu-open .hamburger-icon:after{transform:rotate(-45deg);top:0}.admin-nav{display:none}.mobile-menu-open .admin-nav{display:block}.admin-sidebar-header h3{flex:0 0 auto}}.admin-table-container{padding:2rem;background-color:var(--gray-100);min-height:100vh}.admin-table-container .admin-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.admin-table-container .admin-panel-header h1{margin:0;color:var(--gray-800);font-size:2rem;font-weight:600}.admin-table-container .search-box{position:relative;margin-bottom:1.5rem;max-width:400px}.admin-table-container .search-input{width:100%;padding:.75rem 2.5rem .75rem 1rem;border:1px solid var(--gray-300);border-radius:.5rem;font-size:1rem;transition:border-color .15s ease-in-out}.admin-table-container .search-input:focus{border-color:var(--primary-color);outline:0;box-shadow:0 0 0 .2rem #1e88e540}.admin-table-container .clear-search{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.25rem;color:var(--gray-500);cursor:pointer;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center}.admin-table-container .clear-search:hover{color:var(--gray-700)}.admin-table-container .admin-panel-content{background-color:#fff;border-radius:.5rem;box-shadow:0 2px 4px #0000001a;overflow:visible}.admin-table-container .admin-table{width:100%;border-collapse:collapse;margin:0}.admin-table-container .admin-table th,.admin-table-container .admin-table td{padding:.625rem 1rem;text-align:left;border-bottom:1px solid var(--gray-200);vertical-align:middle}.admin-table-container .admin-table th{background-color:var(--gray-100);font-weight:600;color:var(--gray-700);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.admin-table-container .admin-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s ease}.admin-table-container .admin-table th.sortable:hover{background-color:var(--gray-200)}.admin-table-container .th-content{display:flex;align-items:center;gap:.25rem}.admin-table-container .sort-indicator{color:var(--gray-400);font-size:.75rem;margin-left:auto}.admin-table-container .admin-table th.sortable:hover .sort-indicator{color:var(--gray-600)}.admin-table-container .admin-table tbody tr:hover{background-color:var(--gray-50)}.admin-table-container .admin-table tbody tr.clickable{cursor:pointer}.admin-table-container .admin-table tbody tr.clickable:hover{background-color:var(--gray-100)}.admin-table-container .empty-table{text-align:center;color:var(--gray-500);font-style:italic;padding:3rem 1rem}.admin-table-container .admin-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1.5rem;border-top:1px solid var(--gray-200);background-color:var(--gray-50)}.admin-table-container .page-info{color:var(--gray-600);font-size:.875rem;font-weight:500;white-space:nowrap}.admin-table-container .page-size-select{padding:.375rem .75rem;border:1px solid var(--gray-300);border-radius:.25rem;font-size:.875rem;color:var(--gray-700);background-color:#fff;cursor:pointer;margin-left:1rem}.admin-table-container .page-size-select:focus{border-color:var(--primary-color);outline:none}.admin-loading{text-align:center;padding:3rem;font-size:1.125rem;color:var(--gray-600)}.col-id{width:60px;text-align:center}.col-flag,.col-photo{width:80px;text-align:center}.col-actions{white-space:nowrap;text-align:right;min-width:150px}.col-status{width:100px}.col-date{width:150px}.status-badge.scheduled{background-color:var(--primary-color);color:#fff}.status-badge.in_progress{background-color:var(--warning-color);color:#fff}.status-badge.completed{background-color:var(--success-color);color:#fff}.status-badge.hidden-badge{background-color:#6c757d;color:#fff}.status-badge.upcoming-badge{background-color:#17a2b8;color:#fff}.status-badge.open-badge{background-color:#28a745;color:#fff}.status-badge.in_progress-badge{background-color:#ffc107;color:#000}.status-badge.completed-badge{background-color:#6c757d;color:#fff}.admin-table-container .btn+.btn{margin-left:.5rem}.table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.table-toolbar .search-box{margin-bottom:0}.col-select{width:50px;text-align:center}.admin-table-container .admin-table tbody tr.selected{background-color:var(--primary-light, #e3f2fd)}.admin-table-container .admin-table tbody tr.selected:hover{background-color:var(--primary-light, #bbdefb)}.selection-actions{display:flex;align-items:center;gap:.75rem}.selection-count{font-size:.875rem;color:var(--gray-600);font-weight:500}@media(max-width:1024px){.admin-table-container .admin-panel-header{flex-direction:column;gap:1rem;align-items:stretch}.admin-table-container .admin-panel-header h1{text-align:center}}@media(max-width:768px){.admin-table-container{padding:1rem}.admin-table-container .admin-table{font-size:.875rem}.admin-table-container .admin-table th,.admin-table-container .admin-table td{padding:.5rem}.admin-table-container .admin-panel-content{overflow-x:auto}.admin-table-container .admin-table{min-width:600px}}@media(max-width:480px){.col-actions{min-width:auto}.col-actions .btn{font-size:.75rem;padding:.25rem .5rem}}.column-visibility-dropdown{position:relative}.column-visibility-menu{position:absolute;top:100%;right:0;z-index:1000;min-width:200px;max-height:400px;overflow-y:auto;background-color:#fff;border:1px solid var(--gray-300);border-radius:.5rem;box-shadow:0 4px 12px #00000026;margin-top:.25rem}.column-visibility-header{display:flex;gap:.5rem;padding:.75rem;border-bottom:1px solid var(--gray-200);background-color:var(--gray-50)}.column-visibility-header .btn-xs{padding:.25rem .5rem;font-size:.75rem}.column-visibility-list{padding:.5rem 0}.column-visibility-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;cursor:pointer;transition:background-color .15s ease}.column-visibility-item:hover{background-color:var(--gray-100)}.column-visibility-item input[type=checkbox]{width:16px;height:16px;cursor:pointer}.column-visibility-item span{font-size:.875rem;color:var(--gray-700);text-transform:capitalize}.action-menu{position:relative;display:inline-block;float:right}.action-menu-trigger{background:none;border:1px solid var(--gray-300);border-radius:4px;padding:.25rem .5rem;font-size:1.25rem;line-height:1;cursor:pointer;color:var(--gray-600);transition:all .15s ease;min-width:32px;height:32px;display:flex;align-items:center;justify-content:center}.action-menu-trigger:hover{background-color:var(--gray-100);border-color:var(--gray-400);color:var(--gray-800)}.action-menu-trigger:focus{outline:none;box-shadow:0 0 0 2px #1e88e533;border-color:var(--primary-color)}.action-menu-dropdown{position:absolute;right:0;top:100%;margin-top:4px;background:#fff;border:1px solid var(--gray-200);border-radius:6px;box-shadow:0 4px 12px #00000026;min-width:150px;z-index:1000;overflow:hidden}.action-menu-item{display:block;width:100%;padding:.5rem 1rem;text-align:left;background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--gray-700);transition:background-color .1s ease;white-space:nowrap}.action-menu-item:hover{background-color:var(--gray-100)}.action-menu-item:focus{outline:none;background-color:var(--gray-100)}.action-menu-item.danger{color:var(--danger-color, #dc3545)}.action-menu-item.danger:hover{background-color:#fef2f2}.action-menu-item.disabled{opacity:.5;cursor:not-allowed}.action-menu-item.disabled:hover{background-color:transparent}.action-menu-divider{height:1px;background-color:var(--gray-200);margin:.25rem 0}.admin-table-container{overflow:visible}.admin-table-wrapper{position:relative}@media(max-width:480px){.action-menu-dropdown{min-width:120px}.action-menu-item{padding:.625rem .875rem}}.admin-user-detail{width:100%;padding:1.5rem}.alert{margin-bottom:1rem}.user-tournaments-section{margin-top:2rem;padding:1.5rem;background-color:var(--gray-100);border-radius:8px}.user-tournaments-section h2{font-size:1.25rem;font-weight:600;margin:0 0 1rem}.user-badges-section{margin-top:2rem;padding:1.5rem;background-color:var(--gray-100);border-radius:8px}.user-badges-section h2{font-size:1.25rem;font-weight:600;margin:0 0 1rem}.tournament-list-page{display:flex;flex-direction:column;gap:2rem}.tournament-list-page .admin-table-container{min-height:auto}.tournament-name-cell{display:flex;flex-direction:column;gap:.25rem}.tournament-name-cell .copy-indicator{font-size:.75rem;color:var(--text-muted, #6c757d);font-style:italic}.modal-content{background:var(--card-bg, #fff);border-radius:8px;padding:1.5rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.copy-tournament-modal h2{margin:0 0 .5rem;font-size:1.25rem}.copy-tournament-modal .modal-subtitle{margin:0 0 .5rem;color:var(--text-secondary, #6c757d)}.copy-tournament-modal .modal-description{margin:0 0 1.5rem;font-size:.875rem;color:var(--text-muted, #6c757d);line-height:1.5}.copy-tournament-modal .form-error{background:#fee2e2;color:#dc2626;padding:.75rem;border-radius:4px;margin-bottom:1rem;font-size:.875rem}.copy-tournament-modal .form-group{margin-bottom:1rem}.copy-tournament-modal .form-group label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.875rem}.copy-tournament-modal .form-group input,.copy-tournament-modal .form-group textarea{width:100%;padding:.5rem;border:1px solid var(--border-color, #e5e7eb);border-radius:4px;font-size:.875rem}.copy-tournament-modal .form-group input:focus,.copy-tournament-modal .form-group textarea:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 2px #3b82f633}.copy-tournament-modal .modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color, #e5e7eb)}.admin-tournament-detail{width:100%;padding:1.5rem}.form-group.checkbox{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:.5rem}.form-group.checkbox label{margin-bottom:0}.form-group.checkbox input[type=checkbox]{width:auto}.hint{font-size:.8rem;color:var(--gray-600);font-weight:400;margin-top:0;margin-bottom:1rem}textarea{resize:vertical;min-height:100px}.date-warning{color:var(--warning-color);font-size:.85rem;margin-top:.25rem}.tournament-options{margin-top:2rem;border-top:1px solid var(--gray-300);padding-top:1.5rem}.tournament-options h3{margin-bottom:1rem;color:var(--gray-700)}.danger-zone{margin-top:2rem;border:1px solid var(--danger-color);border-radius:.25rem;padding:1.5rem}.danger-zone h3{color:var(--danger-color);margin-bottom:1rem}.danger-zone p{margin-bottom:1rem}.danger-zone .btn-danger{background-color:var(--danger-color);border-color:var(--danger-color);color:#fff}.danger-zone .btn-danger:hover{background-color:#c82333;border-color:#bd2130}.admin-tournament-detail .leaderboard-table{width:100%;border-collapse:collapse}.admin-tournament-detail .leaderboard-table th,.admin-tournament-detail .leaderboard-table td{padding:.75rem .5rem;text-align:center;border-bottom:1px solid #e5e5e5}.admin-tournament-detail .leaderboard-table th{background-color:#f8f9fa;font-weight:600;color:#495057;font-size:.875rem}.admin-tournament-detail .leaderboard-table .player-cell{text-align:left;font-weight:500}.admin-tournament-detail .leaderboard-table .position-cell{font-weight:600}.admin-tournament-detail .leaderboard-table .points-cell{font-weight:500;min-width:60px}.admin-tournament-detail .leaderboard-table .total-points{background-color:#f8f9fa;font-size:1.1rem}.admin-tournament-detail .position-badge{display:inline-block;padding:.25rem .5rem;border-radius:.25rem;font-size:.875rem;font-weight:600}.admin-tournament-detail .position-badge.first-place{background-color:gold;color:#333}.admin-tournament-detail .position-badge.second-place{background-color:silver;color:#333}.admin-tournament-detail .position-badge.third-place{background-color:#cd7f32;color:#fff}.admin-tournament-detail .position-badge.other-place{background-color:#6c757d;color:#fff}.admin-tournament-detail .prediction-points{color:#007bff}.admin-tournament-detail .striker-points{color:#28a745}.admin-tournament-detail .top-teams-points{color:#fd7e14}.admin-tournament-detail .total-points strong{color:#495057}.admin-tournament-detail .leaderboard-legend{display:flex;flex-wrap:wrap;gap:1rem;font-size:.875rem}.admin-tournament-detail .legend-item{display:flex;align-items:center;gap:.5rem}.admin-tournament-detail .legend-color{width:16px;height:16px;border-radius:3px}.admin-tournament-detail .legend-color.prediction-color{background-color:#007bff}.admin-tournament-detail .legend-color.striker-color{background-color:#28a745}.admin-tournament-detail .legend-color.top-teams-color{background-color:#fd7e14}@media(max-width:768px){.admin-tournament-detail .leaderboard-table th,.admin-tournament-detail .leaderboard-table td{padding:.5rem .25rem}.admin-tournament-detail .leaderboard-legend{flex-direction:column;gap:.5rem}}.admin-tournament-detail .participants-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-tournament-detail .participants-table th,.admin-tournament-detail .participants-table td{padding:.5rem .25rem;text-align:center;border-bottom:1px solid #dee2e6}.admin-tournament-detail .participants-table th{background-color:#f8f9fa;font-weight:600;color:#495057}.admin-tournament-detail .participants-table .participant-name{text-align:left;font-weight:500}.admin-tournament-detail .participants-table .rank-cell{font-weight:600}.admin-tournament-detail .participants-table .points-cell{font-weight:500}.admin-tournament-detail .participants-table .total-points{background-color:#f8f9fa}.tournament-dashboard{width:100%;padding:1.5rem}.tournament-dashboard .dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.tournament-dashboard .header-content h1{margin-bottom:.5rem}.tournament-dashboard .tournament-dates{color:var(--gray-600);font-size:1.1rem}.tournament-dashboard .header-actions{display:flex;gap:1rem}.tournament-dashboard .tournament-progress{background-color:#fff;border-radius:.5rem;padding:1.5rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a}.tournament-dashboard .progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.tournament-dashboard .status-badge.large-badge{font-size:.9rem;padding:.3rem .8rem}.tournament-dashboard .days-left{font-weight:600;color:var(--gray-700)}.tournament-dashboard .progress-bar{height:10px;background-color:var(--gray-200);border-radius:5px;overflow:hidden;margin-bottom:.5rem}.tournament-dashboard .progress-fill{height:100%;background-color:var(--primary-color);border-radius:5px;transition:width .3s ease}.tournament-dashboard .progress-percentage{text-align:right;font-size:.9rem;color:var(--gray-600)}.tournament-dashboard .dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.tournament-dashboard .stat-card{background-color:#fff;border-radius:.5rem;padding:1.5rem;display:flex;align-items:center;box-shadow:0 1px 3px #0000001a}.tournament-dashboard .stat-icon{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:1rem;color:#fff;font-size:1.5rem}.tournament-dashboard .matches-icon{background-color:var(--primary-color)}.tournament-dashboard .predictions-icon{background-color:var(--success-color)}.tournament-dashboard .participants-icon{background-color:var(--warning-color)}.tournament-dashboard .stat-value{font-size:1.8rem;font-weight:600;line-height:1;margin-bottom:.25rem}.tournament-dashboard .stat-label{color:var(--gray-600);font-size:.9rem}.tournament-dashboard .dashboard-widgets{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;margin-bottom:2rem}.tournament-dashboard .widget{background-color:#fff;border-radius:.5rem;overflow:hidden;box-shadow:0 1px 3px #0000001a}.tournament-dashboard .widget-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--gray-200)}.tournament-dashboard .widget-header h3{margin:0;font-size:1.2rem}.tournament-dashboard .widget-link{color:var(--primary-color);font-size:.9rem;font-weight:500}.tournament-dashboard .widget-content{padding:1.5rem}.tournament-dashboard .match-list{list-style:none;padding:0;margin:0}.tournament-dashboard .match-item{display:flex;flex-direction:column;gap:.5rem;padding:1rem 0;border-bottom:1px solid var(--gray-200)}.tournament-dashboard .match-item:last-child{border-bottom:none}.tournament-dashboard .match-item-teams{display:flex;flex-direction:column;gap:.25rem}.tournament-dashboard .match-item-details{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:var(--gray-600)}.tournament-dashboard .status-badge.small-badge{font-size:.75rem;padding:.1rem .5rem}.tournament-dashboard .status-badge.scheduled{background-color:var(--primary-color);color:#fff}.tournament-dashboard .status-badge.in_progress{background-color:var(--warning-color);color:#fff}.tournament-dashboard .status-badge.completed{background-color:var(--success-color);color:#fff}.tournament-dashboard .match-score{font-weight:600;font-size:1.1rem}.tournament-dashboard .not-played{color:var(--gray-500);font-style:italic;font-size:.9rem;font-weight:400}.tournament-dashboard .participants-list{list-style:none;padding:0;margin:0}.tournament-dashboard .participant-item{display:flex;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--gray-200)}.tournament-dashboard .participant-item:last-child{border-bottom:none}.tournament-dashboard .participant-rank{width:40px;font-weight:600;color:var(--gray-700)}.tournament-dashboard .participant-name{flex:1}.tournament-dashboard .participant-points{font-weight:600;color:var(--gray-800)}.tournament-dashboard .tournament-description-card{background-color:#fff;border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.tournament-dashboard .tournament-description-card h3{margin-top:0;margin-bottom:1rem;font-size:1.2rem}.tournament-dashboard .tournament-description-card p{color:var(--gray-700);margin-bottom:0;line-height:1.6}.tournament-dashboard .no-data{text-align:center;padding:1.5rem 0;color:var(--gray-600)}.tournament-dashboard .no-data p{margin-bottom:1rem}@media(max-width:768px){.tournament-dashboard .dashboard-header{flex-direction:column;gap:1rem}.tournament-dashboard .header-actions{width:100%;justify-content:center}.tournament-dashboard .dashboard-widgets{grid-template-columns:1fr}}.tournament-dashboard .participants-table-container{overflow-x:auto}.tournament-dashboard .participants-table{width:100%;border-collapse:collapse;font-size:.9rem}.tournament-dashboard .participants-table th,.tournament-dashboard .participants-table td{padding:.5rem .25rem;text-align:center;border-bottom:1px solid var(--gray-200)}.tournament-dashboard .participants-table th{background-color:var(--gray-100);font-weight:600;color:var(--gray-700);font-size:.8rem;text-transform:uppercase}.tournament-dashboard .participants-table tr:last-child td{border-bottom:none}.tournament-dashboard .rank-cell{font-weight:600;color:var(--gray-700);width:40px}.tournament-dashboard .participant-name{text-align:left;font-weight:500;color:var(--gray-800);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tournament-dashboard .points-cell{font-weight:600;width:45px}.tournament-dashboard .points-cell.prediction-points{color:var(--primary-color)}.tournament-dashboard .points-cell.striker-points{color:var(--success-color)}.tournament-dashboard .points-cell.total-points{color:var(--gray-800);background-color:var(--gray-100)}.tournament-leaderboard{padding:2rem 0;max-width:1200px;margin:0 auto}.tournament-leaderboard .leaderboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--gray-200)}.tournament-leaderboard .header-content h1{margin:0 0 .5rem;color:var(--gray-800);font-size:1.75rem;font-weight:700}.tournament-leaderboard .tournament-dates{color:var(--gray-600);font-size:.9rem;margin-bottom:.5rem}.tournament-leaderboard .header-actions{display:flex;gap:.75rem;align-items:center}.tournament-leaderboard .leaderboard-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem;background-color:var(--gray-50);border-radius:8px;border:1px solid var(--gray-200)}.tournament-leaderboard .results-info{color:var(--gray-700);font-weight:500}.tournament-leaderboard .pagination-controls{display:flex;align-items:center;gap:.5rem}.tournament-leaderboard .pagination-controls label{color:var(--gray-700);font-weight:500}.tournament-leaderboard .page-size-select{padding:.25rem .5rem;border:1px solid var(--gray-300);border-radius:4px;background-color:#fff;color:var(--gray-700);font-size:.9rem}.tournament-leaderboard .page-size-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.tournament-leaderboard .leaderboard-table-container{background-color:#fff;border-radius:8px;border:1px solid var(--gray-200);overflow:hidden;box-shadow:0 1px 3px #0000001a}.tournament-leaderboard .leaderboard-table{width:100%;border-collapse:collapse}.tournament-leaderboard .leaderboard-table th,.tournament-leaderboard .leaderboard-table td{padding:.75rem .5rem;text-align:center;border-bottom:1px solid var(--gray-200)}.tournament-leaderboard .leaderboard-table th{background-color:var(--gray-100);font-weight:600;color:var(--gray-700);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0;z-index:10}.tournament-leaderboard .leaderboard-table tbody tr:hover{background-color:var(--gray-50)}.tournament-leaderboard .leaderboard-table tr:last-child td{border-bottom:none}.tournament-leaderboard .rank-cell{font-weight:600;color:var(--gray-700);width:60px;font-size:.95rem}.tournament-leaderboard .participant-name{text-align:left!important;font-weight:500;color:var(--gray-800);min-width:140px;padding-left:1rem}.tournament-leaderboard .leaderboard-table th:nth-child(2),.tournament-leaderboard .leaderboard-table td:nth-child(2){text-align:left!important}.tournament-leaderboard .participant-link{color:var(--primary-color);text-decoration:none;font-weight:500}.tournament-leaderboard .participant-link:hover{text-decoration:underline;color:var(--primary-dark)}.tournament-leaderboard .points-cell{font-weight:600;width:60px}.tournament-leaderboard .points-cell.prediction-points{color:var(--primary-color)}.tournament-leaderboard .points-cell.correct-score-points{color:var(--info-color)}.tournament-leaderboard .points-cell.striker-points{color:var(--success-color)}.tournament-leaderboard .points-cell.top-teams-points{color:var(--warning-color)}.tournament-leaderboard .points-cell.total-points{color:var(--gray-800);background-color:var(--gray-100);font-weight:700}.tournament-leaderboard .no-data{text-align:center;color:var(--gray-500);font-style:italic;padding:2rem}.tournament-leaderboard .pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:2rem;padding:1rem}.tournament-leaderboard .page-info{margin:0 1rem;color:var(--gray-700);font-weight:500;font-size:.9rem}.tournament-leaderboard .pagination .btn{min-width:70px}.tournament-leaderboard .pagination .btn:disabled{opacity:.5;cursor:not-allowed}.tournament-leaderboard .admin-loading{text-align:center;padding:3rem;color:var(--gray-600);font-size:1.1rem}.tournament-leaderboard .admin-error{text-align:center;padding:2rem;color:var(--danger-color);background-color:var(--danger-light);border:1px solid var(--danger-color);border-radius:8px;margin:1rem 0}@media(max-width:768px){.tournament-leaderboard{padding:1rem}.tournament-leaderboard .leaderboard-header{flex-direction:column;gap:1rem;align-items:stretch}.tournament-leaderboard .header-content h1{font-size:1.5rem}.tournament-leaderboard .header-actions{justify-content:flex-start}.tournament-leaderboard .leaderboard-controls{flex-direction:column;gap:1rem;align-items:stretch}.tournament-leaderboard .pagination-controls{justify-content:center}.tournament-leaderboard .leaderboard-table-container{overflow-x:auto}.tournament-leaderboard .leaderboard-table{min-width:600px}.tournament-leaderboard .leaderboard-table th,.tournament-leaderboard .leaderboard-table td{padding:.5rem .25rem}.tournament-leaderboard .participant-name{min-width:100px;padding-left:.5rem}.tournament-leaderboard .points-cell{width:45px}.tournament-leaderboard .pagination{flex-wrap:wrap;gap:.25rem}.tournament-leaderboard .pagination .btn{min-width:60px;font-size:.8rem}.tournament-leaderboard .page-info{margin:.5rem;order:-1;width:100%;text-align:center}}@media(max-width:480px){.tournament-leaderboard .leaderboard-table th,.tournament-leaderboard .leaderboard-table td{padding:.4rem .2rem;font-size:.8rem}.tournament-leaderboard .rank-cell,.tournament-leaderboard .points-cell{width:35px}.tournament-leaderboard .participant-name{min-width:80px}.tournament-leaderboard .header-content h1{font-size:1.25rem}}.admin-final-standings{width:100%;padding:1.5rem}.admin-final-standings .admin-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.admin-final-standings .admin-panel-header h1{margin:0;color:var(--gray-800);font-size:2rem}.admin-final-standings .admin-panel-content{background-color:#fff;border-radius:.5rem;box-shadow:0 2px 4px #0000001a;padding:2rem}.admin-final-standings .form-section{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid var(--gray-200)}.admin-final-standings .form-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.admin-final-standings .form-section h3{margin:0 0 .5rem;color:var(--gray-800);font-size:1.25rem}.admin-final-standings .hint{font-size:.875rem;color:var(--gray-600);margin-bottom:1.5rem}.admin-final-standings .form-actions{display:flex;justify-content:flex-end;margin-top:1.5rem}.admin-final-standings .form-actions-right{display:flex;gap:1rem}.admin-final-standings .striker-list{display:flex;flex-direction:column;gap:.5rem;max-height:400px;overflow-y:auto}.admin-final-standings .striker-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:1px solid var(--gray-300);border-radius:.25rem;cursor:pointer;transition:all .15s ease}.admin-final-standings .striker-item:hover{background:var(--gray-100);border-color:var(--gray-400)}.admin-final-standings .striker-item.selected{background:#e8f5e9;border-color:var(--success-color)}.admin-final-standings .striker-item input[type=checkbox]{width:18px;height:18px;cursor:pointer}.admin-final-standings .striker-name{font-weight:600;flex:1}.admin-final-standings .striker-team{color:var(--gray-600);font-size:.9rem}.admin-final-standings .striker-goals{background:var(--primary-color);color:#fff;padding:.25rem .75rem;border-radius:1rem;font-size:.85rem;font-weight:600}@media(max-width:768px){.admin-final-standings{padding:1rem}.admin-final-standings .admin-panel-header{flex-direction:column;gap:1rem;align-items:stretch}.admin-final-standings .admin-panel-header h1{text-align:center;font-size:1.5rem}.admin-final-standings .admin-panel-content{padding:1rem}.admin-final-standings .form-actions,.admin-final-standings .form-actions-right{flex-direction:column}}.copy-tournament-banner{display:flex;flex-direction:column;gap:.5rem}.copy-tournament-banner strong{font-size:1rem}.copy-tournament-banner p{margin:0;font-size:.875rem}.copy-tournament-banner .btn{align-self:flex-start;margin-top:.5rem}.admin-tournament-matches .home-team,.admin-tournament-matches .away-team{min-width:120px;font-weight:500}.admin-tournament-matches .date-column{min-width:100px;white-space:nowrap}.admin-tournament-matches .time-column{min-width:80px;white-space:nowrap}.admin-tournament-matches .admin-table th,.admin-tournament-matches .admin-table td{padding:.5rem 1rem;vertical-align:middle;line-height:1.4}.admin-tournament-matches .score-column{text-align:center}.admin-tournament-matches .score-column span{background:none!important;padding:0!important;font-weight:400!important;color:inherit!important}.admin-match-form{width:100%;padding:1.5rem}.match-form-layout{display:flex;gap:2rem}.match-form-layout .admin-panel-content{flex:3;min-width:0}.match-form-layout .right-column{flex:2;min-width:280px;display:flex;flex-direction:column;gap:1rem}.match-form-layout .score-panel{background-color:var(--gray-50);border-radius:.5rem;padding:1rem 1.5rem;border:1px solid var(--gray-200)}.match-form-layout .score-panel h3{margin:0 0 .75rem;font-size:1rem;font-weight:600}.score-actions{margin-top:1rem}.score-actions .btn{width:100%}.match-form-layout .goals-panel{background-color:var(--gray-50);border-radius:.5rem;padding:1rem 1.5rem;border:1px solid var(--gray-200)}.match-form-layout .goals-panel h3{margin:0 0 .75rem;font-size:1rem;font-weight:600}@media(max-width:900px){.match-form-layout{flex-direction:column}.match-form-layout .right-column{min-width:0}}.score-inputs{display:flex;align-items:center;justify-content:flex-start;gap:.5rem}.score-group{display:flex;flex-direction:column;align-items:center;gap:.25rem}.score-group label{font-size:.85rem;font-weight:500;color:var(--gray-600);margin:0}.score-group input{text-align:center;font-size:1.1rem;font-weight:600;padding:.4rem .5rem;width:60px;border:1px solid var(--gray-300);border-radius:.375rem}.score-group input::placeholder{color:var(--gray-400)}.score-separator{font-size:1.2rem;font-weight:500;color:var(--gray-500);margin-top:1.25rem}.team-label{display:flex;align-items:center;margin-bottom:.5rem}.team-flag{width:20px;height:15px;margin-right:.5rem;box-shadow:0 0 0 1px #00000026}.time-warning{color:var(--warning-color);font-size:.85rem;margin-top:.25rem}.prediction-info{background-color:var(--gray-100);border-radius:.5rem;padding:1rem;margin-top:1.5rem;border-left:4px solid var(--primary-color)}.prediction-info p{margin:0;color:var(--gray-700)}.add-goal-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}.add-goal-row select{padding:.4rem .5rem;border:1px solid var(--gray-300);border-radius:.375rem;font-size:.9rem}.add-goal-group{margin-bottom:.75rem}.add-goal-team-label{display:block;font-weight:500;font-size:.9rem;margin-bottom:.25rem}.add-goal-row select{flex:1;min-width:120px}.add-goal-row .btn{padding:.4rem .75rem;font-size:.9rem}.no-players-warning{color:var(--warning-color);font-size:.9rem;margin:.5rem 0}.no-players-warning a{color:var(--primary-color)}.goals-list{display:flex;flex-direction:column;gap:.5rem}.goal-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background-color:#fff;border-radius:.375rem;border:1px solid var(--gray-200);font-size:.9rem}.goal-player{font-weight:500}.goal-team{color:var(--gray-600);font-size:.9rem}.goal-item .btn-danger{margin-left:auto}.no-goals{color:var(--gray-500);font-style:italic;margin:.5rem 0}.copy-match-banner{background:#fef3c7;border:1px solid #f59e0b;border-radius:.5rem;padding:1rem;margin-bottom:0}.copy-match-banner strong{display:block;margin-bottom:.5rem;color:#92400e}.copy-match-banner p{margin:0 0 .75rem;font-size:.875rem;color:#78350f;line-height:1.5}.copy-match-banner .btn{font-size:.75rem;padding:.25rem .5rem}.admin-round-form{width:100%;padding:1.5rem}.form-row{display:flex;gap:1rem;margin-bottom:1rem}.form-group.half{flex:1}.hint{font-size:.8rem;color:var(--gray-600);font-weight:400}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:1rem;margin-top:2rem}.form-actions .btn-danger{margin-right:auto}.form-actions-right{display:flex;gap:1rem}.admin-round-matches{width:100%;padding:1.5rem}.tournament-meta{background-color:#fff;border-radius:.5rem;padding:1rem 1.5rem;margin-bottom:1.5rem;display:flex;justify-content:space-between;box-shadow:0 1px 3px #0000001a}.tournament-meta p{margin:0}.matches-table td{vertical-align:middle}.match-teams{display:flex;flex-direction:column;gap:.25rem}.vs{color:var(--gray-500);font-size:.8rem}.score-column{text-align:center}.not-played{color:var(--gray-500);font-style:italic;font-size:.9rem}.prediction-count{font-size:.9rem;color:var(--gray-700);background-color:var(--gray-200);padding:.25rem .5rem;border-radius:1rem}.status-select{padding:.25rem .5rem;border-radius:.25rem;border:1px solid var(--gray-300);background-color:#fff;font-size:.9rem}.status-select.scheduled{border-color:var(--primary-color);color:var(--primary-color)}.status-select.in_progress{border-color:var(--warning-color);color:var(--warning-color)}.status-select.completed{border-color:var(--success-color);color:var(--success-color)}.no-data{background-color:#fff;padding:3rem;text-align:center;color:var(--gray-600);border-radius:.25rem}.actions{white-space:nowrap;display:flex;gap:.5rem}@media(max-width:992px){.admin-table{display:block;overflow-x:auto}.tournament-meta{flex-direction:column;gap:.5rem}}.admin-team-detail{width:100%;padding:1.5rem}.abbreviation-input{text-transform:uppercase;max-width:100px}.flag-preview{margin-bottom:1.5rem}.flag-preview label{display:block;margin-bottom:.5rem;font-weight:500}.preview-container{max-width:150px;border:1px solid var(--gray-300);border-radius:.25rem;padding:.5rem;background-color:var(--gray-100)}.preview-container img{max-width:100%;height:auto;display:block}.admin-tournament-teams{width:100%;padding:1.5rem}.teams-section,.add-teams-section{background-color:#fff;border-radius:.5rem;box-shadow:0 2px 5px #0000001a;padding:1.5rem}.teams-section h2,.add-teams-section h2{margin-bottom:1.5rem;color:var(--gray-800);font-size:1.5rem}.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.team-card{background-color:var(--gray-100);border-radius:.5rem;padding:1.5rem;display:flex;flex-direction:column;position:relative;transition:transform .2s,box-shadow .2s}.team-card-content{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1rem}.team-flag-container{width:60px;height:40px;overflow:hidden;box-shadow:0 0 0 1px #00000026;border-radius:.25rem;display:flex;align-items:center;justify-content:center}.team-flag{max-width:100%;max-height:100%}.team-info{text-align:center}.team-info h3{margin-bottom:.25rem;font-size:1.1rem}.team-abbreviation{display:inline-block;padding:.2rem .5rem;background-color:var(--gray-200);border-radius:.25rem;font-size:.8rem;font-weight:600}.no-teams{text-align:center;padding:2rem;color:var(--gray-600)}.team-card.selectable{cursor:pointer;position:relative;overflow:hidden;padding-top:2.5rem}.selection-indicator{position:absolute;top:0;left:0;right:0;height:.5rem;background-color:transparent}.team-card.selectable:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.team-card.selectable.selected{background-color:#1e88e51a;border:1px solid var(--primary-color)}.team-card.selectable.selected .selection-indicator{background-color:var(--primary-color)}.remove-team{margin-top:auto}.team-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:auto}.admin-user-list,.admin-tournament-list,.admin-team-list,.admin-player-list,.admin-match-list{padding:2rem;background-color:var(--gray-100);min-height:100vh}.admin-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.admin-panel-header h1{margin:0;color:var(--gray-800);font-size:2rem;font-weight:600}.search-box{position:relative;margin-bottom:1.5rem;max-width:400px}.search-input{width:100%;padding:.75rem 2.5rem .75rem 1rem;border:1px solid var(--gray-300);border-radius:.5rem;font-size:1rem;transition:border-color .15s ease-in-out}.search-input:focus{border-color:var(--primary-color);outline:0;box-shadow:0 0 0 .2rem #1e88e540}.clear-search{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.25rem;color:var(--gray-500);cursor:pointer;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center}.clear-search:hover{color:var(--gray-700)}.filter-section{margin-bottom:1.5rem;display:flex;gap:2rem;align-items:center;flex-wrap:wrap}.tournament-filter{display:flex;align-items:center;gap:.5rem}.tournament-filter label{font-weight:500;color:var(--gray-700)}.tournament-select{padding:.5rem 1rem;border:1px solid var(--gray-300);border-radius:.25rem;font-size:.875rem;min-width:200px}.status-filter{display:flex;gap:.25rem}.filter-btn{padding:.5rem 1rem;border:1px solid var(--gray-300);background-color:#fff;color:var(--gray-700);border-radius:.25rem;cursor:pointer;transition:all .15s ease-in-out;font-size:.875rem;font-weight:500}.filter-btn:hover{background-color:var(--gray-50);border-color:var(--gray-400)}.filter-btn.active{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.admin-panel-content{background-color:#fff;border-radius:.5rem;box-shadow:0 2px 4px #0000001a;overflow:hidden}.admin-table{width:100%;border-collapse:collapse;margin:0}.admin-table th,.admin-table td{padding:.625rem 1rem;text-align:left;border-bottom:1px solid var(--gray-200);vertical-align:middle}.admin-table th{background-color:var(--gray-100);font-weight:600;color:var(--gray-700);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.admin-table tbody tr:hover{background-color:var(--gray-50)}.flag-column,.photo-column{width:80px;text-align:center}.team-flag,.player-photo{width:32px;height:24px;object-fit:cover;border-radius:.25rem;box-shadow:0 0 0 1px #00000026}.player-photo{width:40px;height:40px;border-radius:50%}.no-flag,.no-photo{color:var(--gray-500);font-size:.75rem;font-style:italic}.teams-column{min-width:200px}.match-teams{display:flex;align-items:center;gap:.5rem}.team-name{font-weight:500}.vs{color:var(--gray-500);font-size:.875rem}.score-column{text-align:center;min-width:80px}.match-score{font-weight:600;color:var(--gray-800)}.not-played{color:var(--gray-500);font-style:italic;font-size:.875rem}.shirt-number{text-align:center}.number-badge{background-color:var(--primary-color);color:#fff;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600}.no-number{color:var(--gray-500);font-size:.875rem}.predictions-column{text-align:center}.prediction-count{background-color:var(--gray-100);color:var(--gray-700);padding:.25rem .5rem;border-radius:.25rem;font-size:.875rem;font-weight:500}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.status-badge.active{background-color:var(--success-color);color:#fff}.status-badge.inactive{background-color:var(--gray-400);color:#fff}.status-select{padding:.25rem .5rem;border:1px solid var(--gray-300);border-radius:.25rem;font-size:.75rem;font-weight:500;cursor:pointer}.status-select.scheduled{background-color:var(--primary-color);color:#fff!important;border-color:var(--primary-color)}.status-select.in_progress{background-color:var(--warning-color);color:#fff!important;border-color:var(--warning-color)}.status-select.completed{background-color:var(--success-color);color:#fff!important;border-color:var(--success-color)}.actions{white-space:nowrap;text-align:right;min-width:200px}.actions .btn{margin-left:.5rem}.btn-danger{background-color:var(--danger-color);border-color:var(--danger-color);color:#fff}.btn-danger:hover{background-color:#c82333;border-color:#bd2130}.actions .btn:first-child{margin-left:0}.empty-table{text-align:center;color:var(--gray-500);font-style:italic;padding:3rem 1rem}.admin-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1.5rem;border-top:1px solid var(--gray-200);background-color:var(--gray-50)}.page-info{color:var(--gray-600);font-size:.875rem;font-weight:500}.admin-loading,.admin-error{text-align:center;padding:3rem;font-size:1.125rem}.admin-loading{color:var(--gray-600)}.admin-error{color:var(--danger-color);background-color:#dc35451a;border-radius:.5rem;margin:2rem}@media(max-width:1024px){.admin-panel-header{flex-direction:column;gap:1rem;align-items:stretch}.admin-panel-header h1{text-align:center}.filter-section{flex-direction:column;align-items:stretch;gap:1rem}.status-filter{justify-content:center}}@media(max-width:768px){.admin-user-list,.admin-tournament-list,.admin-team-list,.admin-player-list,.admin-match-list{padding:1rem}.admin-table{font-size:.875rem}.admin-table th,.admin-table td{padding:.5rem}.actions{min-width:auto}.actions .btn{font-size:.75rem;padding:.25rem .5rem}@media(max-width:480px){.actions{display:flex;flex-direction:column;gap:.25rem}.actions .btn{margin-left:0}}}@media(max-width:768px){.admin-panel-content{overflow-x:auto}.admin-table{min-width:600px}}.admin-player-detail{width:100%;padding:1.5rem}.admin-form{max-width:600px;padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.form-group input{display:block;width:100%;padding:.75rem 1rem;font-size:1rem;border:1px solid var(--gray-300);border-radius:.25rem;transition:border-color .15s ease-in-out}.form-group input:focus{border-color:var(--primary-color);outline:0;box-shadow:0 0 0 .2rem #1e88e540}.form-text{display:block;margin-top:.25rem;font-size:.85rem;color:var(--gray-600)}.shirt-number-input{max-width:120px}.photo-preview{margin-bottom:1.5rem}.photo-preview label{display:block;margin-bottom:.5rem;font-weight:500}.preview-container{max-width:200px;border:1px solid var(--gray-300);border-radius:.25rem;padding:.5rem;background-color:var(--gray-100)}.preview-container img{max-width:100%;height:auto;display:block;border-radius:.25rem}.preview-error{display:block;padding:1rem;text-align:center;color:var(--danger-color);font-weight:400;font-style:italic}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.admin-tournament-team-players{width:100%;padding:1.5rem}.header-actions{display:flex;gap:1rem}.admin-panel-content{display:flex;flex-direction:column;gap:2rem}.players-section,.add-players-section{background-color:#fff;border-radius:.5rem;box-shadow:0 2px 5px #0000001a;padding:1.5rem}.players-section h2,.add-players-section h2{margin-bottom:1.5rem;color:var(--gray-800);font-size:1.5rem}.player-roster{display:flex;flex-wrap:wrap;gap:.5rem}.player-roster .player-card{background-color:var(--gray-100);border-radius:.25rem;padding:.35rem .5rem;display:flex;flex-direction:row;align-items:center;gap:.5rem;transition:background-color .15s}.player-roster .player-card:hover{background-color:var(--gray-200)}.player-roster .player-card-content{display:flex;align-items:center;gap:.4rem;margin-bottom:0}.player-roster .player-photo-container{width:28px;height:28px;overflow:hidden;border-radius:50%;border:1px solid var(--gray-300);display:flex;align-items:center;justify-content:center;flex-shrink:0}.player-roster .player-photo{width:100%;height:100%;object-fit:cover}.player-roster .player-info{display:flex;align-items:center;gap:.4rem}.player-roster .player-info h3{margin:0;font-size:.85rem;font-weight:500;white-space:nowrap}.player-roster .number-badge{background-color:var(--primary-color);color:#fff;padding:.1rem .35rem;border-radius:.2rem;font-weight:600;font-size:.7rem}.player-roster .btn-remove{background:none;border:none;color:var(--gray-400);font-size:1.1rem;line-height:1;padding:.1rem .3rem;cursor:pointer;border-radius:.2rem;transition:color .15s,background-color .15s}.player-roster .btn-remove:hover{color:var(--danger-color, #dc3545);background-color:#dc35451a}.available-players-grid{display:flex;flex-wrap:wrap;gap:.5rem}.available-players-grid .player-card{background-color:var(--gray-100);border-radius:.25rem;padding:.35rem .5rem;display:flex;align-items:center;gap:.5rem;cursor:pointer;transition:background-color .15s}.available-players-grid .player-card:hover{background-color:var(--gray-200)}.available-players-grid .player-card-content{display:flex;align-items:center;gap:.4rem;margin-bottom:0}.available-players-grid .player-photo-container{width:28px;height:28px;overflow:hidden;border-radius:50%;border:1px solid var(--gray-300);flex-shrink:0}.available-players-grid .player-photo{width:100%;height:100%;object-fit:cover}.available-players-grid .player-info{display:flex;align-items:center;gap:.4rem}.available-players-grid .player-info h3{margin:0;font-size:.85rem;font-weight:500;white-space:nowrap}.available-players-grid .default-number{color:var(--gray-500);font-size:.7rem}.no-players{text-align:center;padding:2rem;color:var(--gray-600)}.search-and-select{display:flex;justify-content:space-between;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.search-box{position:relative;flex:1;min-width:200px}.select-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.player-card.selectable{cursor:pointer;border:1px solid transparent}.player-card.selectable.selected{background-color:#1e88e526;border-color:var(--primary-color)}@media(max-width:768px){.search-and-select{flex-direction:column}.search-box{width:100%}.select-actions{width:100%;justify-content:space-between}}.tournament-participants{padding:1.5rem}.participants-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.header-content h1{margin:0 0 .5rem;font-size:1.5rem;color:var(--gray-800)}.participants-stats{display:flex;gap:1rem}.participants-stats .stat{font-size:.9rem;color:var(--gray-600)}.participants-stats .stat-value{font-weight:600;color:var(--gray-800)}.participants-stats .stat.paid .stat-value{color:#10b981}.participants-stats .stat.unpaid .stat-value{color:#ef4444}.participants-table-container{background-color:#fff;border-radius:.5rem;box-shadow:0 2px 4px #0000001a;overflow:hidden}.participants-table{width:100%;border-collapse:collapse}.participants-table th,.participants-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--gray-200)}.participants-table th{background-color:var(--gray-100);font-weight:600;color:var(--gray-700);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.participants-table tbody tr:hover{background-color:var(--gray-50)}.participants-table tbody tr:last-child td{border-bottom:none}.index-cell{width:50px;color:var(--gray-500)}.name-cell{min-width:150px}.participant-link{color:var(--primary-color);text-decoration:none;font-weight:500}.participant-link:hover{text-decoration:underline}.fullname-hint{display:block;font-size:.75rem;color:var(--gray-500);margin-top:.1rem}.email-cell{color:var(--gray-600);font-size:.9rem}.date-cell{white-space:nowrap;font-size:.85rem;color:var(--gray-600)}.payment-cell{width:120px}.payment-toggle{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border-radius:.375rem;border:none;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.payment-toggle.paid{background-color:#ecfdf5;color:#059669}.payment-toggle.paid:hover{background-color:#d1fae5}.payment-toggle.unpaid{background-color:#fef2f2;color:#dc2626}.payment-toggle.unpaid:hover{background-color:#fee2e2}.payment-toggle:disabled{opacity:.6;cursor:not-allowed}.payment-icon{font-size:.9rem}@media(max-width:768px){.participants-header{flex-direction:column}.participants-table{font-size:.85rem}.participants-table th,.participants-table td{padding:.5rem .75rem}.email-cell{display:none}}.tournament-personal-leagues{padding:1.5rem}.tournament-personal-leagues .leagues-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.tournament-personal-leagues .header-content h1{margin:0 0 .5rem;font-size:1.5rem;color:var(--gray-800)}.tournament-personal-leagues .leagues-stats{display:flex;gap:1rem}.tournament-personal-leagues .leagues-stats .stat{font-size:.9rem;color:var(--gray-600)}.tournament-personal-leagues .leagues-stats .stat-value{font-weight:600;color:var(--gray-800)}.tournament-personal-leagues .leagues-stats .stat.active .stat-value{color:#10b981}.tournament-personal-leagues .leagues-stats .stat.inactive .stat-value{color:#ef4444}.tournament-personal-leagues .header-actions{display:flex;gap:.5rem}.tournament-personal-leagues .leagues-table-container{background-color:#fff;border-radius:.5rem;box-shadow:0 2px 4px #0000001a;overflow:hidden}.tournament-personal-leagues .leagues-table{width:100%;border-collapse:collapse}.tournament-personal-leagues .leagues-table th,.tournament-personal-leagues .leagues-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--gray-200)}.tournament-personal-leagues .leagues-table th{background-color:var(--gray-100);font-weight:600;color:var(--gray-700);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.tournament-personal-leagues .leagues-table tbody tr:hover{background-color:var(--gray-50)}.tournament-personal-leagues .leagues-table tbody tr.inactive-row{opacity:.7;background-color:var(--gray-50)}.tournament-personal-leagues .leagues-table tbody tr:last-child td{border-bottom:none}.tournament-personal-leagues .index-cell{width:50px;color:var(--gray-500)}.tournament-personal-leagues .name-cell{min-width:150px}.tournament-personal-leagues .league-link{color:var(--primary-color);text-decoration:none;font-weight:500}.tournament-personal-leagues .league-link:hover{text-decoration:underline}.tournament-personal-leagues .owner-cell{min-width:120px}.tournament-personal-leagues .owner-link{color:var(--primary-color);text-decoration:none}.tournament-personal-leagues .owner-link:hover{text-decoration:underline}.tournament-personal-leagues .members-cell{width:80px;text-align:center}.tournament-personal-leagues .date-cell{white-space:nowrap;font-size:.85rem;color:var(--gray-600)}.tournament-personal-leagues .status-cell{width:100px}.tournament-personal-leagues .status-badge{display:inline-block;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase}.tournament-personal-leagues .status-badge.active{background-color:#ecfdf5;color:#059669}.tournament-personal-leagues .status-badge.inactive{background-color:#fef2f2;color:#dc2626}.tournament-personal-leagues .actions-cell{width:220px}.tournament-personal-leagues .action-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.tournament-personal-leagues .no-data{text-align:center;color:var(--gray-500);padding:2rem!important}@media(max-width:1024px){.tournament-personal-leagues .action-buttons{flex-direction:column}}@media(max-width:768px){.tournament-personal-leagues{padding:1rem}.tournament-personal-leagues .leagues-header{flex-direction:column}.tournament-personal-leagues .leagues-table{font-size:.85rem}.tournament-personal-leagues .leagues-table th,.tournament-personal-leagues .leagues-table td{padding:.5rem .75rem}.tournament-personal-leagues .date-cell{display:none}.tournament-personal-leagues .actions-cell{width:auto}}.admin-personal-league-detail{padding:1.5rem}.admin-personal-league-detail .admin-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.admin-personal-league-detail .admin-panel-header h1{margin:0;font-size:1.5rem;color:var(--gray-800)}.admin-personal-league-detail .admin-panel-content{background-color:#fff;border-radius:.5rem;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.league-info-bar{display:flex;gap:2rem;padding:1rem;background:var(--gray-50);border-radius:.375rem;margin-bottom:1.5rem;flex-wrap:wrap}.league-info-bar span{font-size:.9rem;color:var(--gray-600)}.league-info-bar strong{color:var(--gray-800)}.league-edit-form{margin-bottom:2rem}.league-edit-form .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.league-edit-form .form-group{margin-bottom:0}.league-edit-form .form-group label{display:block;font-weight:500;color:var(--gray-700);margin-bottom:.5rem;font-size:.9rem}.league-edit-form .form-group input,.league-edit-form .form-group select{width:100%;padding:.5rem .75rem;border:1px solid var(--gray-300);border-radius:.375rem;font-size:.95rem}.league-edit-form .form-group input:focus,.league-edit-form .form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-100)}.league-edit-form .form-actions{display:flex;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--gray-200);margin-top:1rem}.role-badge{display:inline-block;padding:.2rem .5rem;border-radius:.25rem;font-size:.7rem;font-weight:600;text-transform:uppercase}.role-badge.owner{background-color:var(--primary-100);color:var(--primary-700)}.role-badge.member{background-color:var(--gray-200);color:var(--gray-600)}@media(max-width:768px){.admin-personal-league-detail{padding:1rem}.admin-personal-league-detail .admin-panel-header{flex-direction:column;align-items:stretch}.league-info-bar{flex-direction:column;gap:.5rem}.league-edit-form .form-row{grid-template-columns:1fr}.league-edit-form .form-actions{flex-direction:column;gap:.5rem}.league-edit-form .form-actions .btn{width:100%}.members-table{font-size:.85rem}.members-table th,.members-table td{padding:.5rem .75rem}}.admin-participant-team-detail{padding:1.5rem}.admin-participant-team-detail .admin-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.admin-participant-team-detail .admin-panel-header h1{margin:0;font-size:1.5rem;color:var(--gray-800)}.admin-participant-team-detail .admin-panel-content{background-color:#fff;border-radius:.5rem;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.team-info-bar{display:flex;gap:2rem;padding:1rem;background:var(--gray-50);border-radius:.375rem;margin-bottom:1.5rem;flex-wrap:wrap}.team-info-bar span{font-size:.9rem;color:var(--gray-600)}.team-info-bar strong{color:var(--gray-800)}.logo-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--gray-200)}.logo-section h3{margin:0 0 .5rem;font-size:1rem;color:var(--gray-800)}.logo-section .hint{font-size:.85rem;color:var(--gray-500);margin:0 0 1rem}.logo-upload-area{display:flex;align-items:flex-start}.logo-preview{display:flex;align-items:center;gap:1rem}.logo-preview img{width:80px;height:80px;object-fit:contain;border-radius:.5rem;background:var(--gray-100);border:1px solid var(--gray-200)}.logo-actions{display:flex;flex-direction:column;gap:.5rem}.logo-actions label{position:relative;overflow:hidden}.upload-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:160px;height:100px;border:2px dashed var(--gray-300);border-radius:.5rem;cursor:pointer;color:var(--gray-500);transition:border-color .15s,color .15s;position:relative;overflow:hidden}.upload-placeholder:hover{border-color:var(--primary-color);color:var(--primary-color)}.upload-placeholder span{font-size:.9rem}.logo-upload-area input[type=file],.logo-preview input[type=file],.upload-placeholder input[type=file]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.team-edit-form{margin-bottom:2rem}.team-edit-form .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.team-edit-form .form-group{margin-bottom:0}.team-edit-form .form-group label{display:block;font-weight:500;color:var(--gray-700);margin-bottom:.5rem;font-size:.9rem}.team-edit-form .form-group input{width:100%;padding:.5rem .75rem;border:1px solid var(--gray-300);border-radius:.375rem;font-size:.95rem}.team-edit-form .form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-100)}.team-edit-form .form-actions{display:flex;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--gray-200);margin-top:1rem}.members-section{border-top:1px solid var(--gray-200);padding-top:1.5rem}.members-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.members-header h2{margin:0;font-size:1.2rem;color:var(--gray-800)}.members-table-container{overflow-x:auto}.members-table{width:100%;border-collapse:collapse}.members-table th,.members-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--gray-200)}.members-table th{background-color:var(--gray-50);font-weight:600;color:var(--gray-700);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.members-table tbody tr:hover{background-color:var(--gray-50)}.members-table tbody tr:last-child td{border-bottom:none}.user-link{color:var(--primary-color);text-decoration:none}.user-link:hover{text-decoration:underline}.no-data{text-align:center;color:var(--gray-500);padding:2rem!important}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:.5rem;width:100%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--gray-200)}.modal-header h2{margin:0;font-size:1.1rem;color:var(--gray-800)}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--gray-500);cursor:pointer;line-height:1;padding:0}.modal-body{padding:1rem 1.25rem;overflow-y:auto;flex:1}.modal-body .search-input{width:100%;padding:.5rem .75rem;border:1px solid var(--gray-300);border-radius:.375rem;font-size:.9rem;margin-bottom:1rem}.modal-body .search-input:focus{outline:none;border-color:var(--primary-color)}.no-users{text-align:center;color:var(--gray-500);padding:1rem;font-style:italic}.users-list{max-height:300px;overflow-y:auto;border:1px solid var(--gray-200);border-radius:.375rem}.user-checkbox{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--gray-100);cursor:pointer;transition:background-color .15s}.user-checkbox:last-child{border-bottom:none}.user-checkbox:hover{background-color:var(--gray-50)}.user-checkbox input[type=checkbox]{width:1rem;height:1rem;cursor:pointer}.selected-count{font-size:.85rem;color:var(--primary-color);font-weight:500;margin-top:.75rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid var(--gray-200)}@media(max-width:768px){.admin-participant-team-detail{padding:1rem}.admin-participant-team-detail .admin-panel-header{flex-direction:column;align-items:stretch}.team-info-bar{flex-direction:column;gap:.5rem}.team-edit-form .form-row{grid-template-columns:1fr}.team-edit-form .form-actions{flex-direction:column;gap:.5rem}.team-edit-form .form-actions .btn{width:100%}.members-table{font-size:.85rem}.members-table th,.members-table td{padding:.5rem .75rem}}.landing-editor{max-width:900px;margin:0 auto;padding:1rem}.editor-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--gray-200)}.editor-header h1{margin:.5rem 0 .25rem;font-size:1.75rem}.editor-header .tournament-name{color:var(--gray-600);margin:0}.editor-header .back-link{font-size:.9rem;color:var(--primary-color)}.header-actions{display:flex;gap:.75rem}.editor-section{background:#fff;border-radius:.5rem;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #00000014}.editor-section h2{font-size:1.25rem;margin-bottom:1rem;display:flex;align-items:center;gap:1rem}.section-help{color:var(--gray-600);font-size:.9rem;margin-bottom:1rem}.toggle-row{display:flex;flex-direction:column;gap:.5rem}.toggle-label{display:flex;align-items:center;gap:.75rem;cursor:pointer}.toggle-label input[type=checkbox]{width:1.25rem;height:1.25rem}.toggle-text{font-weight:500;font-size:1.1rem}.toggle-help{color:var(--gray-600);font-size:.9rem;margin:0;padding-left:2rem}.hero-upload{border:2px dashed var(--gray-300);border-radius:.5rem;overflow:hidden}.upload-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;cursor:pointer;background:var(--gray-50);transition:background .2s}.upload-placeholder:hover{background:var(--gray-100)}.upload-placeholder span:first-child{font-size:1.1rem;color:var(--gray-700);margin-bottom:.5rem}.upload-hint{font-size:.85rem;color:var(--gray-500)}.hero-preview{position:relative}.hero-preview img{width:100%;max-height:300px;object-fit:cover}.hero-preview .hero-actions{position:absolute;bottom:1rem;right:1rem;display:flex;gap:.5rem}.features-editor{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.feature-editor-card{background:var(--gray-50);border-radius:.5rem;padding:1rem}.feature-row{margin-bottom:.75rem}.feature-row:last-child{margin-bottom:0}.feature-row label{display:block;font-size:.85rem;font-weight:500;color:var(--gray-600);margin-bottom:.25rem}.icon-select{width:100%}.rules-textarea{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;line-height:1.5;min-height:250px}.rules-preview{background:var(--gray-50);border-radius:.5rem;padding:1.5rem;min-height:200px}.rules-preview .markdown-content{color:var(--gray-700)}.rules-preview .markdown-content h1,.rules-preview .markdown-content h2,.rules-preview .markdown-content h3,.rules-preview .markdown-content h4{color:var(--gray-800)}.rules-preview .markdown-content a{color:var(--primary-color)}.rules-preview .markdown-content a:hover{color:var(--primary-hover)}.rules-preview .markdown-content blockquote{border-left-color:var(--primary-color);color:var(--gray-600)}.rules-preview .markdown-content code,.rules-preview .markdown-content pre{background-color:var(--gray-100)}.rules-preview .markdown-content th,.rules-preview .markdown-content td{border-color:var(--gray-300)}.rules-preview .markdown-content th{background-color:var(--gray-100)}.rules-preview .markdown-content hr{border-top-color:var(--gray-300)}.preview-toggle{margin-left:auto}.faq-editor{display:flex;flex-direction:column;gap:1rem}.faq-editor-item{background:var(--gray-50);border-radius:.5rem;padding:1rem}.faq-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-weight:500;color:var(--gray-700)}.faq-editor-item input{margin-bottom:.5rem}.editor-actions{display:flex;justify-content:center;padding:2rem 0}.editor-actions .btn-lg{padding:.875rem 3rem}.form-control{width:100%;padding:.5rem .75rem;border:1px solid var(--gray-300);border-radius:.375rem;font-size:1rem}.form-control:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #2563eb1a}textarea.form-control{resize:vertical}@media(max-width:768px){.editor-header{flex-direction:column;gap:1rem}.header-actions{width:100%}.header-actions .btn{flex:1}.features-editor{grid-template-columns:1fr}}.tournament-workspace{min-height:100vh;background-color:var(--gray-100)}.workspace-header{background-color:#fff;padding:1.5rem 2rem;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:flex-start}.header-info{flex:1}.breadcrumb{font-size:.875rem;color:var(--gray-500);margin-bottom:.5rem}.breadcrumb a{color:var(--primary-color);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.breadcrumb .separator{margin:0 .5rem;color:var(--gray-400)}.workspace-header h1{margin:0 0 .75rem;color:var(--gray-800);font-size:1.75rem;font-weight:600}.tournament-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.tournament-meta .status-badge{display:inline-block;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500;text-transform:uppercase}.tournament-meta .status-badge.active{background-color:var(--success-color);color:#fff}.tournament-meta .status-badge.inactive{background-color:var(--gray-400);color:#fff}.tournament-meta .synced-badge{display:inline-block;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500;text-transform:uppercase;background-color:#f59e0b;color:#78350f;cursor:help}.tournament-meta .status-badge.hidden-badge{background-color:#6c757d;color:#fff}.tournament-meta .status-badge.upcoming-badge{background-color:#17a2b8;color:#fff}.tournament-meta .status-badge.open-badge{background-color:#28a745;color:#fff}.tournament-meta .status-badge.in_progress-badge{background-color:#ffc107;color:#000}.tournament-meta .status-badge.completed-badge{background-color:#6c757d;color:#fff}.tournament-meta .dates{color:var(--gray-600);font-size:.875rem}.tournament-meta .stats-summary{color:var(--gray-500);font-size:.875rem}.header-actions{display:flex;gap:.5rem}.workspace-tabs{background-color:#fff;border-bottom:1px solid var(--gray-200);padding:0 2rem;display:flex;gap:0;overflow-x:auto}.tab-button{padding:1rem 1.5rem;border:none;background:none;font-size:.9375rem;font-weight:500;color:var(--gray-600);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s ease;white-space:nowrap}.tab-button:hover{color:var(--gray-800);background-color:var(--gray-50)}.tab-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.workspace-content{padding:1.5rem 2rem}.tab-panel{background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a}.tab-panel-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center}.tab-panel-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--gray-800)}.tab-panel-content{padding:1.5rem}.tab-placeholder{padding:3rem;text-align:center;color:var(--gray-500)}.tab-placeholder h3{margin:0 0 .5rem;color:var(--gray-700)}.tab-placeholder p{margin:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background-color:#fff;border-radius:.5rem;padding:1.25rem;box-shadow:0 1px 3px #0000001a}.stat-card .stat-value{font-size:2rem;font-weight:600;color:var(--gray-800)}.stat-card .stat-label{font-size:.875rem;color:var(--gray-500);margin-top:.25rem}.quick-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.5rem}.tab-panel-header .quick-actions{margin-bottom:0}.recalculate-progress{margin-top:1rem;max-width:400px}.recalculate-progress .progress-bar{height:8px;background:var(--gray-200);border-radius:4px;overflow:hidden}.recalculate-progress .progress-fill{height:100%;background:var(--primary-color);transition:width .2s ease}.recalculate-progress .progress-message{font-size:.75rem;color:var(--gray-600);margin-top:.5rem;display:block}@media(max-width:768px){.workspace-header{flex-direction:column;gap:1rem;padding:1rem}.header-actions{width:100%;justify-content:flex-start}.workspace-tabs{padding:0 1rem}.tab-button{padding:.75rem 1rem;font-size:.875rem}.workspace-content{padding:1rem}.tournament-meta{flex-direction:column;align-items:flex-start;gap:.5rem}}.round-panel{margin-bottom:1rem}.round-header{cursor:pointer;-webkit-user-select:none;user-select:none}.round-header:hover{background-color:var(--gray-50)}.round-header h2{display:flex;align-items:center;gap:.5rem;margin:0}.expand-icon{font-size:.875rem;color:var(--gray-400);width:1rem}.round-meta{font-size:.875rem;font-weight:400;color:var(--gray-500);margin-left:.5rem}.round-actions{display:flex;gap:.5rem}.round-actions button:disabled{opacity:.5;cursor:not-allowed;background-color:var(--gray-300);border-color:var(--gray-300);color:var(--gray-500)}.round-actions button:disabled:hover{background-color:var(--gray-300);border-color:var(--gray-300)}.expand-collapse-buttons{display:flex;gap:.5rem;margin-left:auto}.empty-round{padding:1.5rem;text-align:center;color:var(--gray-500)}.matches-table{width:100%}.matches-table th{white-space:nowrap}.actions-header{text-align:right!important}.match-teams-cell{min-width:140px;white-space:nowrap}.match-teams-content{display:flex;align-items:center;gap:.25rem}.match-teams-content .team-flag-inline{border-radius:2px;box-shadow:0 0 0 1px #00000026;object-fit:cover;flex-shrink:0}.match-teams-content .team-abbr,.matches-table .match-teams-content .team-name{font-weight:600;font-size:inherit}.match-teams-content .vs{color:var(--gray-600);margin:0 .25rem;font-weight:400}.datetime-cell{width:180px;white-space:nowrap}.match-teams-cell{width:160px;white-space:nowrap}.score-cell{width:120px;text-align:center}.status-cell{min-width:120px}.goals-cell{font-size:.6rem;color:var(--gray-600)}.actions-cell{width:80px;text-align:right;white-space:nowrap}.actions-cell-content{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.striker-indicator{font-size:.875rem;cursor:help;opacity:.7;transition:opacity .15s ease}.striker-indicator:hover{opacity:1}.inline-score,.inline-datetime{cursor:pointer;padding:.25rem .5rem;border-radius:.25rem;transition:background-color .15s ease}.inline-score:hover,.inline-datetime:hover{background-color:var(--gray-100)}.score-placeholder{color:var(--gray-400)}.inline-score-edit{display:flex;align-items:center;gap:.25rem}.score-input{width:3rem;padding:.25rem .5rem;border:1px solid var(--gray-300);border-radius:.25rem;text-align:center;font-size:.875rem;font-weight:600}.score-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #1e88e533}.score-separator{color:var(--gray-500);font-weight:600}.inline-datetime-edit{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.date-input,.time-input{padding:.25rem .5rem;border:1px solid var(--gray-300);border-radius:.25rem;font-size:.875rem}.date-input{width:130px}.time-input{width:90px}.date-input:focus,.time-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #1e88e533}.status-select{padding:.25rem .5rem;border:1px solid var(--gray-300);border-radius:.25rem;font-size:.75rem;font-weight:500;cursor:pointer;min-width:100px}.status-select.scheduled{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.status-select.in_progress{background-color:var(--warning-color);color:#fff;border-color:var(--warning-color)}.status-select.completed{background-color:var(--success-color);color:#fff;border-color:var(--success-color)}.btn-xs{padding:.125rem .375rem;font-size:.75rem;line-height:1.2}.btn-success{background-color:var(--success-color);border-color:var(--success-color);color:#fff}.btn-success:hover{background-color:#218838;border-color:#1e7e34}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:.5rem;width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--gray-200)}.modal-header h2{margin:0;font-size:1.25rem}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--gray-500);padding:0;line-height:1}.modal-close:hover{color:var(--gray-700)}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--gray-200)}.reminder-intro{margin-bottom:1rem;color:var(--gray-600)}.reminder-section{margin-bottom:1.5rem}.reminder-section h3{font-size:.875rem;color:var(--gray-700);margin-bottom:.5rem}.reminder-table{width:100%;border-collapse:collapse;font-size:.875rem}.reminder-table th,.reminder-table td{padding:.5rem;text-align:left;border-bottom:1px solid var(--gray-200)}.reminder-table th{font-weight:600;color:var(--gray-600);background-color:var(--gray-50)}.reminder-table td:last-child{text-align:center;width:80px}.no-reminders{color:var(--gray-500);text-align:center;padding:2rem}.warning-text{color:var(--warning-color);font-style:italic}.reminder-result{text-align:center;padding:1rem}.reminder-result h3{color:var(--success-color);margin-bottom:1rem}.result-summary{font-size:1.125rem;margin-bottom:1rem}.result-skipped,.result-errors{color:var(--gray-600);font-size:.875rem}.result-errors{color:var(--danger-color)}.reminder-message-input{width:100%;padding:.75rem;border:1px solid var(--gray-300);border-radius:.375rem;font-size:.875rem;font-family:inherit;resize:vertical;min-height:80px}.reminder-message-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #1e88e533}.helper-text{font-size:.75rem;color:var(--gray-500);margin-top:.5rem;font-style:italic}.reminder-progress{text-align:center;padding:1.5rem 0}.reminder-progress h3{margin:0 0 1rem}.progress-bar-container{width:100%;height:8px;background:var(--gray-200, #e0e0e0);border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--primary-color, #1e88e5);border-radius:4px;transition:width .3s ease}.progress-text{margin-top:.75rem;font-size:.875rem;color:var(--gray-600, #666)}.progress-errors{color:var(--error-color, #f44336)}.current-matches-panel{background-color:var(--primary-color);background:linear-gradient(135deg,var(--primary-color) 0%,#1565c0 100%)}.current-matches-panel .tab-panel-header{border-bottom-color:#fff3}.current-matches-panel .tab-panel-header h2{color:#fff}.current-matches-panel .expand-icon{color:#ffffffb3}.current-matches-content{padding:1rem!important;display:flex;flex-direction:column;gap:1.5rem}.current-matches-section h3{font-size:.875rem;font-weight:600;color:#ffffffe6;margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.05em}.current-matches-section .matches-table{background:#fff;border-radius:.5rem}.match-teams-content.clickable{cursor:pointer;border-radius:.25rem;padding:.25rem .5rem;margin:-.25rem -.5rem;transition:background-color .15s ease}.match-teams-content.clickable:hover{background-color:var(--gray-100)}.match-teams-content.clickable .team-abbr{cursor:pointer}.current-matches-section .matches-table.compact td{padding:.5rem .75rem}.current-matches-section .no-matches-text{color:#ffffffb3;font-style:italic;margin:0}.delete-matches-list{max-height:200px;overflow-y:auto;margin:.75rem 0;padding-left:1.5rem}.delete-matches-list li{padding:.25rem 0;color:var(--gray-700)}.delete-matches-list .match-score{color:var(--gray-500);font-size:.875rem}.danger-text{color:var(--danger-color);font-weight:500}.delete-progress{text-align:center;padding:1.5rem 0}.delete-progress .progress-step{font-size:.875rem;color:var(--gray-600);margin-bottom:1rem}@media(max-width:768px){.inline-datetime-edit{flex-direction:column;align-items:flex-start}.date-input,.time-input{width:100%}.match-teams-cell{min-width:auto}.matches-table{font-size:.875rem}.modal-content{max-height:90vh}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 25px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;color:#111827;font-size:20px}.modal-close{background:none;border:none;font-size:28px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.modal-close:hover{background:#f3f4f6}.message-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:16px;margin-bottom:24px}.message-preview strong{display:block;margin-bottom:8px;color:#374151;font-size:14px}.message-preview p{margin:0;color:#111827;font-size:14px;line-height:1.5}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#374151;font-size:14px;font-weight:500}.required{color:#dc2626}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-hint{margin-top:6px;font-size:13px;color:#6b7280}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e5e7eb}.btn-cancel{padding:10px 20px;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;color:#374151;transition:all .2s}.btn-cancel:hover{background:#f9fafb}.btn-primary{padding:10px 20px;background:#2563eb;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;color:#fff;transition:all .2s}.btn-primary:hover{background:#1d4ed8}.btn-primary:disabled{background:#93c5fd;cursor:not-allowed}.chat-messages-panel{width:100%}.panel-header{margin-bottom:24px}.panel-header h3{margin:0 0 8px;color:#333;font-size:20px}.panel-header p{margin:0;color:#666;font-size:14px}.panel-controls{margin-bottom:20px;display:flex;gap:12px;align-items:center}.search-input{flex:1;padding:10px 16px;border:1px solid #ddd;border-radius:6px;font-size:14px}.search-input:focus{outline:none;border-color:#2563eb}.status-filter{padding:10px 16px;border:1px solid #ddd;border-radius:6px;font-size:14px;background:#fff;cursor:pointer;min-width:180px}.status-filter:focus{outline:none;border-color:#2563eb}.message-badges{display:flex;gap:6px;flex-wrap:wrap}.badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.badge-pin{background:#dbeafe;color:#1e40af}.badge-promoted{background:#fef3c7;color:#92400e}.badge-deleted{background:#fee2e2;color:#991b1b}.badge-reply{background:#e5e7eb;color:#374151}.deleted-content{color:#999;font-style:italic}.pagination-controls{margin-top:20px;text-align:center}.btn-secondary{padding:10px 20px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;color:#374151;transition:all .2s}.btn-secondary:hover{background:#e5e7eb}.promoted-posts-panel{width:100%}.loading{padding:40px;text-align:center;color:#6b7280}.empty-state{padding:60px 20px;text-align:center;color:#6b7280}.empty-state p{margin:0 0 8px;font-size:16px}.empty-hint{font-size:14px;color:#9ca3af}.promoted-posts-panel .promoted-messages-list{display:flex;flex-direction:column;gap:12px}.promoted-posts-panel .promoted-message-item{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border:2px solid #e5e7eb;border-radius:8px;transition:all .2s;cursor:move}.promoted-posts-panel .promoted-message-item:hover{border-color:#d1d5db;box-shadow:0 2px 4px #0000000d}.promoted-posts-panel .promoted-message-item.dragging{opacity:.5;background:#f9fafb}.promoted-posts-panel .drag-handle{color:#9ca3af;font-size:20px;cursor:grab;-webkit-user-select:none;user-select:none;padding:0 4px}.promoted-posts-panel .drag-handle:active{cursor:grabbing}.promoted-posts-panel .message-content-area{flex:1;min-width:0}.promoted-posts-panel .message-title{display:flex;align-items:center;gap:12px;margin-bottom:8px}.promoted-posts-panel .message-title strong{color:#111827;font-size:16px;flex:1}.promoted-posts-panel .message-order{font-size:12px;color:#6b7280;background:#f3f4f6;padding:2px 8px;border-radius:4px}.promoted-posts-panel .message-preview{color:#4b5563;font-size:14px;line-height:1.5;margin-bottom:8px}.promoted-posts-panel .message-meta{display:flex;align-items:center;gap:8px;font-size:13px;color:#6b7280}.promoted-posts-panel .message-actions{display:flex;gap:8px}.btn-action{padding:8px 16px;border:1px solid #d1d5db;border-radius:6px;background:#fff;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-edit{color:#2563eb;border-color:#2563eb}.btn-edit:hover{background:#eff6ff}.btn-unpromote{color:#dc2626;border-color:#dc2626}.btn-unpromote:hover{background:#fef2f2}.tournament-alerts-panel{width:100%}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.btn-create{padding:10px 20px;background:#2563eb;border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.panel-note{margin-top:8px;font-size:13px;color:#6b7280;font-style:italic}.panel-note a{color:#2563eb;text-decoration:none}.panel-note a:hover{text-decoration:underline}.daily-summary-panel{width:100%}.daily-summary-panel .panel-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.daily-summary-panel .panel-header h3{margin:0 0 8px}.daily-summary-panel .panel-header p{margin:0;color:#6b7280;font-size:14px}.last-sent-indicator{margin-top:12px;padding:8px 12px;background:#d1fae5;color:#065f46;border-radius:4px;font-size:13px}.last-sent-indicator.warning{background:#fef3c7;color:#92400e}.loading-state,.error-state{padding:40px;text-align:center;color:#6b7280}.error-state{color:#dc2626}.preview-section{margin-bottom:24px}.preview-section h4{margin:0 0 16px;font-size:16px;font-weight:600;color:#374151}.recipients-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.recipient-card{padding:20px;border-radius:8px;text-align:center}.recipient-card.verified{background:#d1fae5}.recipient-card.unverified{background:#f3f4f6}.recipient-count{font-size:36px;font-weight:700;margin-bottom:4px}.recipient-card.verified .recipient-count{color:#059669}.recipient-card.unverified .recipient-count{color:#6b7280}.recipient-label{font-size:14px;font-weight:600;color:#374151;margin-bottom:2px}.recipient-subtext{font-size:12px;color:#6b7280}.info-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#dbeafe;border-radius:8px;margin-bottom:16px;color:#1e40af;font-size:14px}.info-icon{font-size:20px}.warning-banner{display:flex;gap:12px;padding:16px;background:#fef3c7;border-radius:8px;margin-bottom:24px}.warning-icon{font-size:24px}.warning-banner strong{display:block;color:#92400e;margin-bottom:4px}.warning-banner p{margin:0;font-size:14px;color:#92400e}.preview-card{background:#f9fafb;border-radius:8px;padding:16px;margin-bottom:16px}.preview-card h5{margin:0 0 12px;font-size:14px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.top5-list{display:flex;flex-direction:column;gap:8px}.top5-entry{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#fff;border-radius:4px}.top5-entry .position{font-weight:700;color:#6b7280;min-width:30px}.top5-entry .name{flex:1;font-weight:500}.top5-entry .points{color:#6b7280;font-size:14px}.stars-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.star-item{display:flex;gap:12px;padding:12px;background:#fff;border-radius:6px}.star-item.rocket{background:#d1fae5}.star-item.worst{background:#fee2e2}.star-item.empty{background:#f3f4f6;color:#9ca3af}.star-icon{font-size:24px}.star-content{flex:1}.star-label{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.star-name{font-weight:600}.star-change{font-size:13px;color:#6b7280}.streaks-list{display:flex;flex-direction:column;gap:8px}.streak-entry{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fff;border-radius:4px}.streak-entry.up{background:#d1fae5}.streak-entry.down{background:#fee2e2}.streak-icon{font-size:18px}.streak-name{font-weight:600;flex:1}.streak-days{font-size:13px;color:#6b7280}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.stat-item{text-align:center;padding:12px;background:#fff;border-radius:6px}.stat-value{font-size:28px;font-weight:700;color:#2563eb}.stat-label{font-size:13px;color:#6b7280}.send-section{padding:24px 0;border-top:1px solid #e5e7eb;text-align:center}.btn-send{padding:14px 32px;background:#2563eb;border:none;border-radius:6px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.btn-send:hover:not(:disabled){background:#1d4ed8}.btn-send:disabled{background:#9ca3af;cursor:not-allowed}.send-note{margin:12px 0 0;font-size:14px;color:#6b7280}.send-result{margin-top:24px;padding:20px;background:#f9fafb;border-radius:8px}.send-result h4{margin:0 0 16px;font-size:16px;font-weight:600}.result-stats{display:flex;gap:24px;margin-bottom:16px}.result-stat{text-align:center;padding:12px 24px;border-radius:6px}.result-stat.success{background:#d1fae5}.result-stat.error{background:#fee2e2}.result-stat.skipped{background:#f3f4f6}.result-value{font-size:24px;font-weight:700}.result-stat.success .result-value{color:#059669}.result-stat.error .result-value{color:#dc2626}.result-stat.skipped .result-value{color:#6b7280}.result-label{font-size:13px;color:#6b7280}.error-list{background:#fee2e2;border-radius:6px;padding:16px}.error-list h5{margin:0 0 8px;color:#dc2626;font-size:14px}.error-item{font-size:13px;color:#991b1b;padding:4px 0}.dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog-content{background:#fff;border-radius:12px;padding:24px;width:480px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.dialog-content h3{margin:0 0 4px;font-size:18px}.dialog-subtitle{margin:0 0 16px;color:#6b7280;font-size:14px}.recipient-checkbox{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;cursor:pointer;transition:background .15s}.recipient-checkbox:hover{background:#f3f4f6}.recipient-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;flex-shrink:0}.recipient-checkbox.toggle-all{border-bottom:1px solid #e5e7eb;margin-bottom:4px;padding-bottom:12px;font-weight:600}.checkbox-label{font-size:14px;font-weight:500;flex:1}.toggle-all .checkbox-label{font-weight:600}.checkbox-count{font-size:13px;color:#6b7280}.checkbox-email{font-size:12px;color:#9ca3af}.recipient-list{overflow-y:auto;flex:1;min-height:0;max-height:400px;margin-bottom:16px}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:16px;border-top:1px solid #e5e7eb}.btn-cancel{padding:10px 20px;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-cancel:hover{background:#f3f4f6}.dialog-actions .btn-send{padding:10px 20px;font-size:14px}.summary-message-input{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit;resize:vertical;min-height:80px;box-sizing:border-box}.summary-message-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb33}.btn-reset-message{margin-top:8px;padding:4px 12px;background:none;border:1px solid #d1d5db;border-radius:4px;color:#6b7280;font-size:13px;cursor:pointer;transition:background .15s}.btn-reset-message:hover{background:#f3f4f6}.summary-progress{text-align:center;padding:1.5rem 0}.summary-progress h3{margin:0 0 1rem}.daily-summary-panel .progress-bar-container{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.daily-summary-panel .progress-bar-fill{height:100%;background:#2563eb;border-radius:4px;transition:width .3s ease}.daily-summary-panel .progress-text{margin:.75rem 0 0;font-size:14px;color:#6b7280}.daily-summary-panel .progress-errors{color:#dc2626;font-weight:500}.communications-tab{padding:20px}.communications-header{margin-bottom:30px}.communications-header h2{margin:0 0 10px;color:#333;font-size:24px}.communications-description{margin:0;color:#666;font-size:14px}.communications-panels{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.panel-selector{display:flex;border-bottom:1px solid #e0e0e0;background:#f5f5f5}.panel-selector-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 20px;border:none;background:transparent;cursor:pointer;font-size:14px;font-weight:500;color:#666;transition:all .2s;border-bottom:3px solid transparent}.panel-selector-btn:hover{background:#fff;color:#333}.panel-selector-btn.active{background:#fff;color:#2563eb;border-bottom-color:#2563eb}.panel-icon{font-size:20px}.panel-label{font-weight:600}.panel-content{padding:24px;min-height:400px}.site-wide-alerts-page{padding:30px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.btn-create{padding:12px 24px;background:#2563eb;border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-create:hover{background:#1d4ed8}.priority-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:13px;font-weight:600}.alert-type-badge{display:inline-block;padding:4px 12px;border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#f3f4f6;color:#6b7280}.feedback-detail-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:flex-start;padding:40px 20px;z-index:1000;overflow-y:auto}.feedback-detail-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0003;width:100%;max-width:700px;max-height:calc(100vh - 80px);overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;position:sticky;top:0;background:#fff;z-index:1}.modal-header h2{margin:0;font-size:20px;color:#111827}.modal-header .close-btn{background:none;border:none;font-size:28px;color:#9ca3af;cursor:pointer;padding:0;line-height:1;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px}.modal-header .close-btn:hover{background:#f3f4f6;color:#374151}.modal-body{padding:24px}.section-title{font-size:14px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.info-section{margin-bottom:24px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.info-item{display:flex;flex-direction:column;gap:4px}.info-label{font-size:12px;color:#9ca3af;text-transform:uppercase}.info-value{font-size:14px;color:#111827}.type-value{font-weight:500;color:#2563eb}.content-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #f3f4f6}.subject-text{font-size:16px;font-weight:500;color:#111827;margin:0 0 20px}.description-text{background:#f9fafb;padding:16px;border-radius:8px;font-size:14px;line-height:1.6;color:#374151;white-space:pre-wrap;word-break:break-word}.context-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #f3f4f6}.context-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.context-item{display:flex;flex-direction:column;gap:4px}.context-item.full-width{grid-column:1 / -1}.context-label{font-size:12px;color:#9ca3af}.context-value{font-size:13px;color:#6b7280;word-break:break-all}.context-value.browser-info{font-size:12px;font-family:monospace;background:#f3f4f6;padding:8px;border-radius:4px;max-height:60px;overflow-y:auto}.management-section{margin-bottom:24px}.management-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500;color:#374151}.form-group select{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;cursor:pointer}.form-group select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.response-section{margin-bottom:8px}.response-meta{font-size:13px;color:#6b7280;margin:0 0 12px;font-style:italic}.response-section textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;line-height:1.5;resize:vertical;box-sizing:border-box}.response-section textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #e5e7eb;background:#f9fafb}.modal-footer .btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.modal-footer .btn-secondary{background:#fff;border:1px solid #d1d5db;color:#374151}.modal-footer .btn-secondary:hover:not(:disabled){background:#f3f4f6}.modal-footer .btn-primary{background:#2563eb;border:1px solid #2563eb;color:#fff}.modal-footer .btn-primary:hover:not(:disabled){background:#1d4ed8}.modal-footer .btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:640px){.feedback-detail-overlay{padding:0;align-items:flex-end}.feedback-detail-modal{max-height:95vh;border-radius:16px 16px 0 0}.info-grid,.context-grid,.management-grid{grid-template-columns:1fr}.modal-footer{flex-direction:column}.modal-footer .btn{width:100%}}.feedback-list-page{padding:30px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.page-title{margin:0 0 8px;color:#2563eb;font-size:28px;font-weight:600}.page-description{margin:0;color:#6b7280;font-size:15px}.settings-panel{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:20px 24px;margin-bottom:24px}.setting-row{display:flex;align-items:center;gap:16px;padding:8px 0}.setting-row:not(:last-child){border-bottom:1px solid #f3f4f6;padding-bottom:16px;margin-bottom:8px}.toggle-switch{display:flex;align-items:center;gap:12px;cursor:pointer}.toggle-switch input{display:none}.toggle-slider{position:relative;width:44px;height:24px;background:#d1d5db;border-radius:12px;transition:background .2s}.toggle-slider:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.toggle-switch input:checked+.toggle-slider{background:#2563eb}.toggle-switch input:checked+.toggle-slider:after{transform:translate(20px)}.toggle-label{font-weight:500;color:#374151}.setting-hint{font-size:13px;color:#6b7280}.btn-secondary{padding:8px 16px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.filters-panel{display:flex;gap:24px;margin-bottom:24px;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-size:14px;color:#6b7280;font-weight:500}.filter-group select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;cursor:pointer}.filter-group select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.feedback-list-page .admin-table-container{min-height:auto}.table-section{margin-bottom:32px}.table-section:last-of-type{margin-bottom:0}.section-title{display:flex;align-items:center;gap:12px;margin:0 0 16px;font-size:18px;font-weight:600;color:#374151}.section-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;background:#fef2f2;color:#dc2626;border-radius:12px;font-size:13px;font-weight:600}.section-count.responded{background:#f0fdf4;color:#16a34a}.page-content{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:24px}.status-badge,.priority-badge,.type-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}@media(max-width:768px){.feedback-list-page,.settings-panel{padding:16px}.setting-row{flex-direction:column;align-items:flex-start;gap:8px}.filters-panel{flex-direction:column;gap:12px}.page-content{padding:16px}}.sse-connections-page{padding:30px;max-width:1400px;margin:0 auto}.sse-connections-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.sse-connections-page .page-title{margin:0 0 8px;color:#2563eb;font-size:28px;font-weight:600}.sse-connections-page .page-description{margin:0;color:#6b7280;font-size:15px}.sse-connections-page .btn-refresh{padding:10px 20px;background:#2563eb;border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.sse-connections-page .btn-refresh:hover{background:#1d4ed8}.sse-connections-page .btn-refresh:disabled{opacity:.6;cursor:not-allowed}.sse-stats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.sse-stat-card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:20px 24px}.sse-stat-card .stat-label{font-size:13px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.sse-stat-card .stat-value{font-size:32px;font-weight:700;color:#111827}.sse-tournament-groups{display:flex;flex-direction:column;gap:12px}.sse-tournament-group{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.sse-tournament-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.sse-tournament-header:hover{background:#f9fafb}.sse-tournament-header .tournament-info{display:flex;align-items:center;gap:12px}.sse-tournament-header .expand-icon{font-size:12px;color:#9ca3af;transition:transform .2s}.sse-tournament-header .expand-icon.expanded{transform:rotate(90deg)}.sse-tournament-header .tournament-name{font-weight:600;color:#111827;font-size:15px}.sse-tournament-header .connection-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;border-radius:12px;background:#dbeafe;color:#1d4ed8;font-size:13px;font-weight:600}.sse-connections-table{width:100%;border-collapse:collapse}.sse-connections-table th{text-align:left;padding:10px 20px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;background:#f9fafb;border-top:1px solid #e5e7eb}.sse-connections-table td{padding:10px 20px;font-size:14px;color:#374151;border-top:1px solid #f3f4f6}.sse-connections-table .user-agent-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#9ca3af}.sse-empty-state{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:48px 24px;text-align:center;color:#6b7280}.sse-empty-state .empty-icon{font-size:48px;margin-bottom:12px}.sse-empty-state p{margin:0;font-size:15px}.sse-auto-refresh-note{text-align:center;color:#9ca3af;font-size:13px;margin-top:16px}.badge-toast-container{position:fixed;top:1rem;left:50%;transform:translate(-50%);z-index:10000;display:flex;flex-direction:column;gap:.75rem;pointer-events:none}.badge-toast{display:flex;align-items:center;gap:.75rem;background:var(--ds-surface);border:1px solid var(--ds-border-strong);border-left:4px solid;border-radius:.5rem;padding:.75rem 1rem;min-width:300px;max-width:400px;box-shadow:0 4px 12px #0006;cursor:pointer;pointer-events:auto;position:relative;overflow:hidden;opacity:0;transform:translateY(-20px) scale(.95);transition:opacity .4s ease,transform .4s ease}.badge-toast-visible{opacity:1;transform:translateY(0) scale(1)}.badge-toast-exiting{opacity:0;transform:translateY(-20px) scale(.95)}.badge-toast:hover{box-shadow:0 6px 16px #00000080}.badge-toast-icon{width:44px;height:44px;min-width:44px;border-radius:50%;border:2px solid;background:#ffffff0d;display:flex;align-items:center;justify-content:center;animation:badge-toast-pulse 1.5s ease-in-out .4s}.badge-toast-icon img{width:34px;height:34px;object-fit:contain}.badge-toast-content{flex:1;min-width:0}.badge-toast-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ds-text-muted);margin-bottom:.1rem}.badge-toast-name{font-size:.95rem;font-weight:600;color:var(--ds-text)}.badge-toast-tier{font-weight:400;text-transform:capitalize}.badge-toast-desc{font-size:.75rem;color:var(--ds-text-secondary);margin-top:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes badge-toast-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}
