*{box-sizing:border-box;margin:0;padding:0;font-family:Urbanist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}:root{--primary:#2c7a8f;--primary-light:#5faec0;--primary-lighter:#bfe1e7;--primary-dark:#205e6f;--primary-darker:#183f4a;--muted-red:#cc4e4e;--sunset-dark:#e76a41;--sunset-light:#ff9673;--coral:#ff9a76;--coral-light:#ffc7b3;--coral-dark:#e08361;--sand:#f4e4c1;--sand-light:#faf0d8;--sand-dark:#d6c19c;--deep-ocean:#2c7a8f;--warm-brown:#8b6f47;--warm-brown-light:#b89a6d;--warm-brown-dark:#6b5334;--seafoam:#8ed4c6;--seafoam-light:#c9eee6;--seafoam-dark:#5fa79b;--sun-gold:#ffd78a;--sun-gold-light:#ffebc2;--sun-gold-dark:#e7b662;--dusk-purple:#4c3a4d;--dusk-purple-light:#7a6780;--dusk-purple-dark:#342735;--ocean-gray:#9aa7a9;--ocean-gray-light:#c4cfd1;--ocean-gray-dark:#6f7b7d;--ocean-gray-darker:#3d4445;--navy-logo-bg:#0f172a;--gold-gradient:linear-gradient(90deg,#c9a652 0%,#ecd36f 50%,#b68b34 100%);--gold-text:#ecd36f;--gold-dark:#b68b34;--gray-50:#fafafa;--gray-100:#f5f5f5;--gray-200:#eee;--gray-300:#e0e0e0;--gray-600:#757575;--gray-700:#616161;--gray-900:#212121;--success:#10b981;--success-dark:#059669;--success-light:#e8fbf0;--success-lighter:#f4fdf8;--danger:#ef4444;--danger-light:#ffeceb;--shadow-sm:0 1px 2px 0 #966e500f;--shadow-md:0 4px 6px -1px #966e501a;--shadow-lg:0 10px 15px -3px #966e501f;--shadow-xl:0 20px 25px -5px #966e5026;--navbar-height:53px;--sidebar-width-home:220px;--sidebar-width-league:240px;--sidebar-width-collapsed:72px}html{overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;font-family:Urbanist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto;background:linear-gradient(135deg,#f7f8f9,#fafbfc,#f7f8f9);min-height:100dvh;margin:0;padding:0;font-family:Urbanist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;position:relative;overflow:hidden auto}button,input,select,textarea,table,th,td,span,div,p,h1,h2,h3,h4,h5,h6,a,label{font-family:inherit}.legal-page-container{background-color:#f9fafb;min-height:100vh}.legal-page-main{max-width:900px;min-height:calc(100vh - var(--navbar-height));background-color:#fff;margin:0 auto;padding:84px 48px;box-shadow:0 1px 3px #0000001a}.legal-page-header{margin-bottom:2rem}.legal-page-title{color:#111827;margin-bottom:.5rem;font-size:2.5rem;font-weight:700}.legal-page-date{color:#6b7280;font-size:.95rem}.legal-section{color:#374151;line-height:1.75}.legal-section>p{margin-bottom:1rem}.legal-intro{margin-bottom:2rem;font-size:1.05rem}.legal-section h3{color:#111827;margin-top:2.5rem;margin-bottom:1rem;font-size:1.5rem;font-weight:600}.legal-section h4{color:#1f2937;margin-top:1.5rem;margin-bottom:.75rem;font-size:1.15rem;font-weight:600}.legal-section ul{margin-bottom:1.5rem;margin-left:1.5rem}.legal-section ul li{margin-bottom:.5rem}.legal-info-box{background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin:1rem 0;padding:1rem}.legal-warning-box{background-color:#fef2f2;border:1px solid #fca5a5;border-radius:8px;margin:1rem 0;padding:1rem}.legal-disclaimer-box{text-transform:uppercase;background-color:#f0f0f0;border-radius:8px;margin:1rem 0;padding:1rem}.legal-footer-note{color:#666;margin-top:2rem;font-size:.9em}.legal-liability-text{text-transform:uppercase}.flex-center-gap{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.flex-align-gap{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.required-asterisk{color:red}.info-icon{cursor:help;vertical-align:middle;color:var(--gray-500);align-items:center;margin-left:6px;display:inline-flex}.info-icon:hover{color:var(--gray-700)}.disabled-button{opacity:.6;cursor:not-allowed}.empty-state-icon{opacity:.3;margin-bottom:16px}.empty-state-text{color:var(--gray-600);margin-top:8px;font-size:.9em}.secondary-text{color:var(--gray-600);font-size:.9em}.footer-bullet{margin-left:12px}.large-empty-state-icon{opacity:.3;margin-bottom:16px}.pending-text{color:var(--gray-600);font-style:italic}.loading-message{margin-top:32px}.loading-submessage{margin-top:16px;font-size:.9em}.no-pointer{cursor:default}.section-title-first{margin-top:0}.section-title-spaced{margin-top:24px}.disabled-input{background:var(--gray-100)}.form-actions{justify-content:flex-end;margin-top:32px;display:flex}.save-button{align-items:center;gap:8px;width:auto;padding:12px 32px;display:flex}.save-button.save-success{background:linear-gradient(135deg,#10b981,#059669);animation:.6s ease-out checkmarkPulse;box-shadow:0 10px 20px #10b9814d}.save-button.save-success:hover{box-shadow:0 12px 22px #10b98159}.save-button .checkmark-icon{animation:.4s cubic-bezier(.68,-.55,.265,1.55) checkmarkScale}@keyframes checkmarkPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes checkmarkScale{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.coming-soon-section{text-align:center;color:var(--gray-600);padding:48px 0}.coming-soon-icon{opacity:.5;margin-bottom:16px}.league-card{border:1px solid var(--gray-200);cursor:pointer;background:#fff;border-radius:16px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:20px;transition:all .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000a}.league-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 8px 16px #00000014}.league-card-content{flex:1}.league-card-title{color:var(--gray-900);margin:0 0 6px;font-size:18px;font-weight:700}.league-card-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.league-card-badge{color:var(--gray-600);background:var(--gray-100);border-radius:20px;padding:4px 10px;font-size:13px;font-weight:500}.league-card-members{color:var(--gray-600);align-items:center;gap:4px;font-size:13px;font-weight:500;display:flex}.league-card-actions{align-items:center;gap:16px;display:flex}.league-card-role-badge{background:var(--gold-gradient);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:6px 12px;font-size:13px;font-weight:600;box-shadow:0 2px 8px #c9a6524d}.league-card-chevron{color:var(--gray-400)}.league-leave-button{color:#ef4444;cursor:pointer;z-index:2;background:#ef44440d;border:1px solid #ef444433;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.league-leave-button:hover{color:#fff;background:#ef4444}.league-details-header-row{justify-content:flex-end;margin-bottom:12px;display:flex}.league-leave-text-button{color:#ef4444;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-family:Urbanist,sans-serif;font-size:.9em;font-weight:500;transition:all .2s;display:inline-flex}.league-leave-text-button:hover{color:#dc2626;background:#ef44441a}.league-details-footer-row{justify-content:flex-end;margin-top:24px;display:flex}.container{margin:0 auto;margin-top:var(--navbar-height)}.navbar{z-index:1000;background:var(--navy-logo-bg);background:var(--navy-logo-bg);border-bottom:1px solid #3b82c833;font-family:Urbanist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 20px #00000014,inset 0 1px #ff78491a}.navbar-container{max-width:1400px;height:var(--navbar-height);justify-content:center;align-items:center;padding:0 24px;display:flex;position:relative}.navbar-left{flex:1;align-items:center;display:flex}.navbar-center{flex:1;justify-content:center;align-items:center;display:flex}.navbar-brand{color:inherit;align-items:center;gap:10px;text-decoration:none;transition:all .2s;display:inline-flex}.navbar-brand-logo{object-fit:contain;width:auto;height:25px}.navbar-brand-crown{color:var(--retro-yellow);filter:drop-shadow(0 2px 4px #ffd66b66);flex-shrink:0;transition:all .3s}.navbar-brand:hover .navbar-brand-crown{color:var(--retro-yellow);filter:drop-shadow(0 4px 8px #ffd66b99);transform:scale(1.1)rotate(5deg)}.navbar-brand:hover{transform:scale(1.02)}.navbar-brand-text{letter-spacing:.08em;text-transform:uppercase;background:var(--gold-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Urbanist,sans-serif;font-size:1.5em;font-weight:900;transition:all .3s;position:relative}.navbar-brand:hover .navbar-brand-text{background:var(--gold-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;transform:translateY(-1px)}.navbar-brand-text:after{content:"";background:var(--gold-gradient);opacity:.6;border-radius:2px;height:3px;transition:transform .3s;position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}.navbar-brand:hover .navbar-brand-text:after{transform:scaleX(1)}.navbar-right{flex:1;justify-content:flex-end;align-items:center;gap:8px;display:flex;position:relative}.navbar-home-button{color:var(--gold-text);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;padding:6px;transition:background .2s,transform .2s,box-shadow .2s;display:inline-flex}.navbar-home-button:hover{background:#ffffff14;transform:translateY(-1px);box-shadow:0 2px 6px #0003}.navbar-home-button:active{box-shadow:none;transform:translateY(0)}.navbar-home-icon{width:22px;height:22px}.navbar-menu-group{position:relative}.navbar-menu-button{color:var(--gold-text);cursor:pointer;min-height:40px;box-shadow:none;text-transform:none;letter-spacing:normal;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-family:Urbanist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:.95em;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.navbar-menu-button:hover{color:var(--gold-text);transform:translateY(-1px)}.navbar-menu-button:active{background:var(--primary-dark);box-shadow:none;transform:none}.navbar-menu-button svg{stroke:currentColor;fill:none;stroke-width:1.5px;flex-shrink:0}.navbar-avatar{background:var(--primary-dark);color:#fff;border:2px solid #0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-family:Urbanist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.navbar-menu-button:hover .navbar-avatar{transform:scale(1.1);box-shadow:0 0 8px #ecd36f66}.navbar-icon-with-plus{justify-content:center;align-items:center;display:inline-flex;position:relative}.navbar-volleyball-icon{color:currentColor;fill:currentColor;stroke:none;transition:color .2s}.navbar-plus-overlay{color:#fff;stroke-width:2px;background:#ff7849d9;border-radius:50%;padding:2px;transition:all .2s;position:absolute;bottom:-2px;right:-4px;box-shadow:0 2px 4px #ff78494d}.navbar-menu-button:hover .navbar-plus-overlay{background:#ff8c61e6;transform:scale(1.1)}.navbar-chevron{flex-shrink:0;margin-left:4px;transition:transform .2s}.navbar-chevron.open{transform:rotate(180deg)}.navbar-menu-label{background:var(--gold-gradient);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;display:inline-block}.navbar-dropdown{z-index:1001;background:#fff;border:1px solid #3b82c833;border-radius:12px;min-width:220px;animation:.2s ease-out slideDown;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 8px 24px #0000001f}.navbar-dropdown-menu,.navbar-dropdown-user{right:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.navbar-dropdown-item{width:100%;color:var(--gray-700);cursor:pointer;text-align:left;box-shadow:none;text-transform:none;letter-spacing:normal;background:#fff;border:none;border-bottom:1px solid #3b82c81a;justify-content:flex-start;align-items:center;gap:12px;min-height:auto;padding:12px 16px;font-family:Urbanist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:.95em;font-weight:500;transition:all .15s;display:flex}.navbar-dropdown-item:last-child{border-bottom:none}.navbar-dropdown-item:hover{color:var(--navy-logo-bg);box-shadow:none;background:#0f172a0d;transform:none}.navbar-dropdown-item:active{box-shadow:none;background:#0f172a1a;transform:none}.navbar-dropdown-item svg{color:var(--gray-600);text-align:center;stroke-width:1.5px;flex-shrink:0;width:18px;height:18px;transition:color .15s}.navbar-dropdown-item:hover svg{color:var(--navy-logo-bg)}.navbar-dropdown-item-danger{color:var(--danger)}.navbar-dropdown-item-danger:hover{color:var(--danger);background:#ef44441a}.navbar-dropdown-item-danger svg{color:var(--danger)}.navbar-dropdown-section{padding:4px 0}.navbar-dropdown-header{text-transform:uppercase;letter-spacing:.5px;color:var(--gray-600);text-align:left;margin-bottom:4px;padding:8px 16px 4px;font-family:Urbanist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:.75em;font-weight:700}.navbar-dropdown-divider{background:#3b82c826;height:1px;margin:8px 0}.navbar-dropdown-item-league{font-weight:600}.navbar-dropdown-item-league:hover{color:var(--navy-logo-bg);background:#0f172a0d}.hero-header{background-image:var(--hero-bg-image);background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:17px 17px 0 0;height:300px;transition:background-image 1s ease-in-out;position:relative}.hero-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:linear-gradient(135deg,#ff7849d9 0%,#ff9a76bf 50%,#ffd66bd9 100%);flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex;position:relative}h1{color:#fff;letter-spacing:-.025em;text-transform:uppercase;margin-bottom:8px;font-family:Urbanist,sans-serif;font-size:3.5em;font-weight:900}.subtitle{color:#fff;margin-bottom:0;font-size:1.25em;font-style:italic;font-weight:600}.controls{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:28px;display:flex}.button{background:var(--primary);color:#fff;cursor:pointer;text-transform:none;letter-spacing:normal;box-shadow:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:none;border-radius:6px;justify-content:center;align-items:center;padding:10px 16px;font-family:Urbanist,sans-serif;font-size:.875rem;font-weight:500;transition:all .15s;display:inline-flex}.button:hover{background:var(--deep-ocean);box-shadow:none;transform:none}.button:active{box-shadow:none;background:var(--deep-ocean);transform:scale(.98)}.button:disabled{background:var(--gray-300);color:var(--gray-600);cursor:not-allowed;box-shadow:none;opacity:.6;transform:none}.btn-success{background:var(--primary);color:#fff;box-shadow:none;border:none}.btn-success:hover{background:var(--deep-ocean);box-shadow:none;transform:none}.btn-success:active{background:var(--deep-ocean);box-shadow:none;transform:scale(.98)}.btn-danger{color:#fff;box-shadow:none;background:#dc2626;border:none;align-items:center;gap:8px;display:flex}.btn-danger:hover{box-shadow:none;background:#b91c1c;transform:none}.btn-danger:active{box-shadow:none;background:#991b1b;transform:scale(.98)}.btn-whatsapp{background:var(--success);color:#fff;box-shadow:none;border:none}.btn-whatsapp:hover{box-shadow:none;background:#059669;transform:none}.btn-whatsapp:active{box-shadow:none;background:#047857;transform:scale(.98)}.loading{color:var(--primary);text-align:center;justify-content:center;align-items:center;gap:12px;padding:32px;font-size:1.1em;font-weight:600;display:flex}@keyframes shimmer{0%,to{background-color:#ffffff2b;box-shadow:-2px 0 8px #3b82c81c}50%{background-color:#3b82c80d;box-shadow:-2px 0 8px #0000}}.skeleton{background:linear-gradient(90deg,#e0e0e0 0%,#f0f0f0 50%,#e0e0e0 100%) 0 0/1000px 100%;animation:1.5s infinite shimmer}.skeleton-box{background:linear-gradient(90deg,#e0e0e0 0%,#f0f0f0 50%,#e0e0e0 100%) 0 0/1000px 100%;border-radius:4px;animation:1.5s infinite shimmer}.skeleton-text{background:linear-gradient(90deg,#e0e0e0 0%,#f0f0f0 50%,#e0e0e0 100%) 0 0/1000px 100%;border-radius:4px;height:16px;animation:1.5s infinite shimmer;display:block}.skeleton-avatar{vertical-align:middle;background:linear-gradient(90deg,#e0e0e0 0%,#f0f0f0 50%,#e0e0e0 100%) 0 0/1000px 100%;border-radius:50%;flex-shrink:0;width:32px;height:32px;margin-right:8px;animation:1.5s infinite shimmer;display:inline-block}.error{background:var(--danger-light);color:var(--danger);border-left:4px solid var(--danger);border-radius:10px;margin-bottom:20px;padding:16px;font-weight:500}.success{background:var(--success-light);color:var(--success);border-left:4px solid var(--success);border-radius:10px;margin-bottom:20px;padding:16px;font-weight:500}.tabs{border-bottom:3px solid var(--sand);gap:8px;margin-bottom:24px;display:flex;overflow-x:auto}.tab{color:var(--warm-brown);cursor:pointer;white-space:nowrap;box-shadow:none;text-transform:uppercase;letter-spacing:1px;background:0 0;border:none;border-bottom:4px solid #0000;min-height:44px;padding:12px 24px;font-size:1em;font-weight:700;transition:all .2s}.tab:hover{color:var(--muted-red);box-shadow:none;background:#ff78491a;transform:none}.tab.active{color:var(--muted-red);border-bottom:4px solid var(--muted-red);box-shadow:none;background:0 0;font-weight:800}.content-area{margin-top:24px}.homepage-video-container{justify-content:center;align-items:center;margin-top:32px;display:flex}.homepage-video{max-width:100%;max-height:400px;box-shadow:var(--shadow-lg);border-radius:12px;margin-top:20px}.landing-content{justify-content:center;align-items:center;min-height:200px;margin:32px 12px;display:flex}.landing-message{text-align:center;max-width:600px;box-shadow:var(--shadow-lg);border:2px solid var(--primary);background:#fff;border-radius:16px;padding:48px 32px}.landing-message h2{color:var(--primary);margin-bottom:16px;font-size:2rem;font-weight:700}.landing-welcome-title{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.landing-brand{align-items:center;gap:8px;display:inline-flex}.landing-brand-logo{max-width:90%;max-height:100px}.landing-brand-text{letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(135deg,var(--muted-red)0%,var(--coral)50%,var(--retro-yellow)100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Urbanist,sans-serif;font-weight:900;position:relative}.landing-message p{color:var(--gray-700);margin-bottom:32px;font-size:1.125rem;line-height:1.6}.landing-message .btn{cursor:pointer;border:none;border-radius:8px;padding:12px 32px;font-size:1rem;font-weight:600;transition:all .2s}.landing-message .btn-primary{background:var(--muted-red);color:#fff}.landing-message .btn-primary:hover{background:var(--coral);box-shadow:var(--shadow-md);transform:translateY(-2px)}.dashboard-container{max-width:1200px;margin:0 auto;padding:32px 20px}.dashboard-welcome{text-align:center;margin-bottom:32px}.dashboard-widgets{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;display:grid}.dashboard-widget{box-shadow:var(--shadow-md);border:1px solid var(--gray-200);background:#fff;border-radius:16px;overflow:hidden}.dashboard-widget-header{border-bottom:1px solid var(--gray-200);background:var(--gray-50);justify-content:space-between;align-items:center;gap:12px;padding:20px 24px;display:flex}.dashboard-widget-header-title{align-items:center;gap:8px;display:flex}.dashboard-widget-header-title svg{color:var(--primary);flex-shrink:0}.dashboard-widget-header-actions{gap:8px;display:flex}.dashboard-widget-title{color:var(--gray-900);margin:0;font-size:1.25rem;font-weight:600}.dashboard-widget-create-btn{color:var(--primary-dark);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.dashboard-widget-create-btn:hover{color:var(--primary-darker);background:#2c7a8f14}.dashboard-widget-content{padding:20px 24px}.dashboard-empty-state{text-align:center;color:var(--gray-600);padding:32px 20px}.dashboard-empty-state p{margin:8px 0;font-size:1rem}.dashboard-leagues-list,.dashboard-matches-list{flex-direction:column;gap:12px;display:flex}.dashboard-matches-list-expanded{max-height:500px;overflow:hidden auto}.dashboard-league-item{border:1px solid var(--gray-200);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;padding:16px;transition:all .2s;display:flex}.dashboard-league-item:hover{border-color:var(--primary);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.dashboard-league-info{flex:1;min-width:0}.dashboard-league-name{color:var(--gray-900);margin:0 0 8px;font-size:1rem;font-weight:600}.dashboard-league-meta{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.dashboard-league-location{color:var(--gray-600);background:var(--gray-100);border-radius:12px;padding:4px 10px;font-size:.875rem}.dashboard-league-members{color:var(--gray-600);align-items:center;gap:4px;font-size:.875rem;display:flex}.dashboard-chevron{color:var(--gray-400);flex-shrink:0}.dashboard-match-item{border:1px solid var(--gray-200);background:var(--gray-50);border-radius:12px;justify-content:space-between;align-items:center;padding:16px;display:flex}.dashboard-match-item-clickable{cursor:pointer;transition:all .2s}.dashboard-match-item-clickable:hover{border-color:var(--primary);box-shadow:var(--shadow-sm);background:#fff;transform:translateY(-1px)}.dashboard-match-item-clickable:active{transform:translateY(0)}.dashboard-match-item-clickable:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.dashboard-match-result{align-items:center;gap:12px;display:flex}.dashboard-match-status{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.875rem;font-weight:700;display:inline-flex}.dashboard-match-status.won{background:var(--success-light);color:var(--success-dark)}.dashboard-match-status.lost{background:var(--danger-light);color:var(--danger)}.dashboard-match-details{flex-direction:column;gap:4px;display:flex}.dashboard-match-score{color:var(--gray-900);font-size:1rem;font-weight:600}.dashboard-match-partner{color:var(--gray-700);font-size:.875rem;font-style:italic}.dashboard-match-opponent{color:var(--gray-600);font-size:.875rem}.dashboard-match-date{color:var(--gray-600);flex-shrink:0;font-size:.875rem}.dashboard-widget-footer{text-align:center}.dashboard-widget-footer-clickable{cursor:pointer;transition:background-color .2s}.dashboard-widget-footer-clickable .secondary-text{color:var(--primary);font-weight:500}.dashboard-widget-footer-clickable .secondary-text:hover{color:var(--primary-dark)}table{border-collapse:separate;border-spacing:0;border:3px solid var(--primary);width:100%;box-shadow:var(--shadow-md);background:#fff;border-radius:12px;margin-top:16px;overflow:hidden}thead{background:linear-gradient(135deg,var(--primary)0%,var(--teal)100%)}th{color:#fff;text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;text-transform:uppercase;letter-spacing:.8px;padding:16px 12px;font-size:.875em;font-weight:700;transition:all .2s}th:hover{background:#ffffff26}th:first-child{border-top-left-radius:6px}th:last-child{border-top-right-radius:6px}td{border-bottom:1px solid var(--gray-200);color:var(--gray-700);padding:14px 12px;font-size:.95em}tbody tr{transition:all .2s}tbody tr:hover{background:#ff78490d}tbody tr:last-child td{border-bottom:none}.sticky-col{z-index:10;position:sticky;left:0}thead .sticky-col{background:linear-gradient(135deg,var(--primary)0%,var(--teal)100%);box-shadow:2px 0 4px #0000001a}tbody .sticky-col{background:#fff;box-shadow:2px 0 4px #0000000d}tbody tr:hover .sticky-col{background:#fff8f5}.crown-icon{color:gold;vertical-align:middle;margin-left:8px}.rankings-table-wrapper{border:1px solid var(--gray-300);box-shadow:0 1px 3px var(--gray-300);-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--gray-400)transparent;background:#fff;border-radius:8px;width:100%;max-width:100%;margin-top:0;position:relative;overflow-x:auto}.rankings-table-modern{border-collapse:separate;border-spacing:0;width:100%;min-width:800px;box-shadow:none;table-layout:auto;background:#fff;border:none;margin:0;position:relative;border-radius:0!important}.rankings-table-modern thead{background:var(--gray-300);border-bottom:1px solid var(--gray-200)}.rankings-table-modern thead tr:first-child th:first-child{border-top-left-radius:6px!important}.rankings-table-modern thead tr:first-child th:last-child{border-top-right-radius:6px!important}.rankings-table-modern th:first-child{border-top-left-radius:6px!important}.rankings-table-modern th:last-child{border-top-right-radius:6px!important}.rankings-table-modern th{color:var(--gray-700);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;box-sizing:border-box;vertical-align:middle;border:none;padding:14px 4px;font-size:.875rem;font-weight:600;transition:all .2s;position:relative}.rankings-table-modern td{box-sizing:border-box;vertical-align:middle}.rankings-table-modern th:nth-child(3),.rankings-table-modern td:nth-child(3){min-width:50px}.rankings-table-modern th:nth-child(4){min-width:70px}.rankings-table-modern th.rank-number-header{text-align:left;color:var(--gray-600);z-index:11;vertical-align:middle;width:35px;min-width:35px;max-width:35px;padding:14px 2px 14px 8px;font-size:.75rem;position:sticky;left:0}.rankings-table-modern th.rank-number-header .th-content{white-space:nowrap;justify-content:flex-start;align-items:center;gap:2px;display:flex}.rankings-table-modern th .th-content{white-space:nowrap;align-items:center;gap:4px;display:flex}.rankings-table-modern th .desktop-label{display:inline}.rankings-table-modern th .mobile-label{display:none}.rankings-table-modern th:hover:not(.rank-number-header){background:var(--gray-100)}.rankings-table-modern thead .sticky-col{background:var(--gray-300);z-index:10;vertical-align:middle;width:220px;min-width:220px;position:sticky;left:35px;box-shadow:2px 0 2px #0000000d}.rankings-table-modern thead .rank-number-header{background:var(--gray-300);z-index:11}.rankings-table-modern tbody .sticky-col{z-index:9;vertical-align:middle;background:#fff;width:220px;min-width:220px;position:sticky;left:35px;box-shadow:2px 0 2px #00000008}.rankings-table-modern tbody tr:nth-child(2n) .sticky-col{background:var(--gray-50)}.rankings-table-modern tbody tr:hover .sticky-col{background:#f7f7f7}.rankings-row{border-bottom:1px solid var(--gray-100);transition:all .2s}.rankings-row.clickable-row{cursor:pointer}.rankings-row:nth-child(2n){background:var(--gray-50)}.rankings-row:hover,.rankings-row:nth-child(2n):hover{background:#00000008}.rankings-row:last-child{border-bottom:none}.rankings-table-modern tbody tr:last-child td:first-child{border-bottom-left-radius:6px}.rankings-table-modern tbody tr:last-child td:last-child{border-bottom-right-radius:6px}.rank-number-cell{text-align:left;color:var(--gray-600);z-index:10;vertical-align:middle;background:#fff;width:35px;min-width:35px;max-width:35px;padding:14px 2px 14px 14px;font-size:.75rem;font-weight:500;position:sticky;left:0}.rankings-table-modern tbody tr:nth-child(2n) .rank-number-cell{background:var(--gray-50)}.rankings-table-modern tbody tr:hover .rank-number-cell{background:#00000008}.rankings-name-cell{vertical-align:middle;width:220px;min-width:220px;padding:4px 8px}.rankings-stat-cell{color:var(--gray-700);text-align:left;box-sizing:border-box;vertical-align:middle;padding:14px 4px;font-size:.9375rem;font-weight:500}.player-name-modern{color:var(--primary-darker);cursor:pointer;align-items:center;gap:.5em;font-size:.95em;font-weight:600;transition:all .2s;display:inline-flex}.player-name-modern:hover{color:var(--dusk-purple-dark)}.crown-icon-modern{color:var(--gold-text);filter:drop-shadow(0 1px 2px #ffd66b66);flex-shrink:0}.player-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex;overflow:hidden}.player-avatar-initials{background-color:var(--gray-100);border:1px solid var(--gray-200)}.player-avatar-text{color:var(--primary-dark);text-transform:uppercase;font-size:.8rem;font-weight:500;line-height:1}.player-avatar-image{background:0 0}.player-avatar-image img{object-fit:cover;border-radius:50%;width:100%;height:100%}.winner-cell{font-weight:700;background:var(--success-light)!important}.loser-cell{background:var(--danger-light)!important}.matches-container{flex-direction:column;gap:32px;display:flex}.match-date-group{flex-direction:column;gap:16px;display:flex}.match-date-header{color:var(--primary-darker);letter-spacing:1px;border-bottom:1px solid var(--primary-darker);justify-content:space-between;align-items:center;gap:1rem;padding-bottom:8px;font-size:1.1em;font-weight:700;display:flex}.match-date-header-left{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.match-date-header-stats{gap:12px;margin-left:auto}.match-date-header-stats .session-stat{gap:6px;font-size:.85em}.edit-session-button{color:#374151;cursor:pointer;background-color:#0000;border:1px solid #d1d5db;border-radius:6px;justify-content:center;align-items:center;margin-left:10px;padding:6px;font-family:Urbanist,sans-serif;transition:all .2s;display:inline-flex}.edit-session-button:hover{background-color:#f3f4f6;border-color:#9ca3af}.edit-session-button:active{background-color:var(--gray-300)!important}.match-cards{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;display:grid}.session-timestamp{color:var(--gray-400);text-align:right;margin-top:-8px;padding-top:4px;font-size:.75rem}.match-card{border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);background:#fff;border-radius:12px;transition:all .2s;position:relative;overflow:hidden}.match-card .match-team{background:#fff}.match-card .match-team.winner{background:var(--sand-light);border-left:4px solid var(--primary)}.match-card .match-team.loser{background:var(--sand-dark);border-left:4px solid #0000}.match-card:not(.editable):hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.match-card-header{background:var(--gray-100);border-bottom:1px solid var(--gray-300);justify-content:flex-end;align-items:center;padding:8px 12px;display:flex}.rating-badge{color:var(--gray-600);cursor:help;align-items:center;gap:4px;font-size:.75em;font-weight:600;display:inline-flex}.match-team{border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.match-team:last-child{border-bottom:none}.match-team.winner{border-left:3px solid var(--primary);background:#bfe1e71f}.match-team.loser{opacity:.8;background:#fff;border-left:4px solid #0000}.team-players{flex-direction:column;gap:1px;display:flex}.match-team.loser .player-name-modern{color:var(--gray-500)}.team-score{color:var(--primary);text-align:right;font-size:1.5em;font-weight:800}.match-team.loser .team-score{color:var(--gray-400);font-size:1.4em;font-weight:500}.player-details{border-left:1px solid var(--gray-200);-webkit-overflow-scrolling:touch;z-index:2002;isolation:isolate;background:linear-gradient(135deg,#fafbfc 0%,#fff 100%);max-width:100%;padding:24px;animation:.3s ease-out slideInFromRight;position:fixed;top:0;bottom:0;right:0;overflow:hidden auto;box-shadow:-4px 0 20px #00000014}.table-scroll-wrapper{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--gray-300)transparent;width:100%;height:auto;max-height:80vh;margin-top:0;padding:4px;position:relative;overflow:auto}.table-scroll-wrapper::-webkit-scrollbar{height:8px}.table-scroll-wrapper::-webkit-scrollbar-track{background:0 0}.table-scroll-wrapper::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:4px}.table-scroll-wrapper::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.player-details table{border-collapse:collapse;border-spacing:0;border:1px solid var(--gray-200);width:100%;min-width:600px;box-shadow:var(--shadow-sm);table-layout:auto;background:#fff;border-radius:12px;margin-top:0;display:table}.player-details table.player-stats-table{min-width:600px}.player-details table thead{background:linear-gradient(135deg,var(--primary-darker)0%,var(--primary-dark)100%)}.player-details table th{color:#fff;text-align:left;text-transform:uppercase;letter-spacing:.5px;border:none;padding:14px 16px;font-size:.8em;font-weight:600}.player-details table thead th:nth-child(4),.player-details table tbody td:nth-child(4){text-align:center}.player-details table tbody tr{border-bottom:1px solid var(--gray-100);transition:background .15s}.player-details table tbody tr.row-gray{background:var(--gray-50)}.player-details table tbody tr:hover{background:#00000008}.player-details table tbody tr:last-child{border-bottom:none}.player-details table td{color:var(--gray-700);vertical-align:middle;border:none;padding:14px 16px;font-size:.9em;font-weight:500}.player-details table .section-header{background:var(--gray-100);color:var(--gray-900);text-transform:uppercase;letter-spacing:.5px;font-size:.75em;font-weight:700;display:table-row}.player-details table tbody tr.section-header td{background:var(--gray-100);border-bottom:1px solid var(--gray-200);box-sizing:border-box;width:100%;min-width:600px;padding:12px 16px;display:table-cell;position:static}.player-details table .spacer-row td{background:0 0;padding:8px}.player-stats-table{border-collapse:separate;border-spacing:0;width:100%}.player-stats-table th .th-content{white-space:nowrap;align-items:center;gap:4px;display:flex}.player-stats-table th .desktop-label{display:inline}.player-stats-table th .mobile-label{display:none}.player-stats-name-col{position:relative}.player-stats-stat-cell{text-align:left}.player-details table tbody tr.overall-row{background:var(--gray-50);font-weight:600}.player-details table tbody tr.overall-row:hover{background:var(--gray-100)}.player-details table tbody tr.active-session-row{border-left:3px solid var(--success);background:#10b9810d}.player-details table tbody tr.active-session-row:hover{background:#10b9811a}.player-details table .result-win{color:var(--success);font-weight:600}.player-details table .result-loss{color:var(--danger);font-weight:600}.player-details table .rating-positive{color:var(--success);font-weight:600}.player-details table .rating-negative{color:var(--danger);font-weight:600}.player-details table .active-session-badge-small{background:var(--success-light);color:var(--success);border-radius:12px;margin-left:8px;padding:2px 8px;font-size:.75em;font-weight:600;display:inline-block}@keyframes slideInFromRight{0%{transform:translate(100%)}to{transform:translate(0)}}.player-details-backdrop{z-index:2000;isolation:isolate;background:#00000080;animation:.3s ease-out fadeIn;position:fixed;inset:0}body.drawer-open{overscroll-behavior-y:none;overflow:hidden}body.drawer-open .navbar{z-index:999!important}@media (max-width:768px){body.modal-open .navbar,body.drawer-open .navbar{transition:opacity .2s;pointer-events:none!important;opacity:.3!important}}@media (min-width:769px){body.modal-open .navbar,body.drawer-open .navbar{-webkit-backdrop-filter:none!important;background:var(--navy-logo-bg)!important}}.player-selector-container{align-items:center;gap:12px;margin-bottom:24px;display:flex}.player-selector-container svg{color:var(--primary);flex-shrink:0}.player-selector-wrapper{min-width:0;position:relative}.player-selector-current{cursor:pointer;box-shadow:none;background:0 0;border:none;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 10px;transition:all .2s;display:flex}.player-selector-current:hover{opacity:.7}.player-selector-current:active{transform:none}.player-selector-name{color:var(--gray-900);letter-spacing:-.01em;font-family:Urbanist,sans-serif;font-size:1.25em;font-weight:600}.player-selector-current svg{color:var(--gray-600);flex-shrink:0;transition:transform .2s}.player-selector-current svg.rotate-180{transform:rotate(180deg)}.player-selector-dropdown{border:1px solid var(--gray-200);box-shadow:var(--shadow-lg);z-index:1001;background:#fff;border-radius:12px;flex-direction:column;max-height:400px;display:flex;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden}.player-selector-search{border:none;border-bottom:1px solid var(--gray-200);width:100%;color:var(--gray-900);background:#fff;padding:12px 16px;font-family:inherit;font-size:.95em;transition:all .2s}.player-selector-search:focus{border-bottom-color:var(--primary);background:var(--gray-50);outline:none}.player-selector-search::placeholder{color:var(--gray-600);opacity:.6}.player-selector-options{max-height:350px;overflow-y:auto}.player-selector-option{cursor:pointer;border-bottom:1px solid var(--gray-100);color:var(--gray-700);padding:12px 16px;font-size:.95em;font-weight:500;transition:all .15s}.player-selector-option:hover{background:var(--gray-50);color:var(--gray-900)}.player-selector-option.selected{background:var(--gray-100);color:var(--primary);font-weight:600}.player-selector-option.highlighted{background:var(--gray-100);color:var(--gray-900)}.player-selector-option.disabled{cursor:not-allowed;color:var(--gray-600);opacity:.6}.player-selector-option.disabled:hover{color:var(--gray-600);background:0 0}.player-details-season-name{color:var(--gray-600);margin-top:-12px;margin-bottom:24px;padding-left:4px;font-size:.9em;font-weight:500}.player-overview{box-shadow:none;background:0 0;border:none;border-radius:0;gap:16px;margin:0;padding:0;display:flex}.overview-stat{border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);background:#fff;border-radius:8px;flex:1;align-items:center;gap:12px;padding:12px;transition:all .2s;display:flex}.overview-stat:hover{box-shadow:var(--shadow-md);border-color:var(--gray-300);transform:translateY(-2px)}.overview-icon{color:var(--muted-red);flex-shrink:0}.overview-content{flex-direction:column;gap:4px;display:flex}.overview-label{text-transform:uppercase;letter-spacing:.5px;color:var(--gray-600);margin-bottom:4px;font-size:.8em;font-weight:600}.overview-value{color:var(--gray-900);letter-spacing:-.02em;font-family:Urbanist,sans-serif;font-size:1.2em;font-weight:700}.player-details h2{color:var(--gray-900);letter-spacing:-.02em;align-items:center;gap:12px;margin-bottom:20px;font-family:Urbanist,sans-serif;font-size:1.75em;font-weight:700;display:flex}.player-details h3{color:var(--gray-900);text-transform:none;letter-spacing:-.01em;align-items:center;gap:10px;margin-top:40px;margin-bottom:20px;font-size:1.15em;font-weight:600;display:flex}.player-details-close-btn{color:var(--gray-600);box-shadow:none;cursor:pointer;z-index:10;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;padding:8px;transition:all .15s;display:flex;position:absolute;top:30px;right:24px}.player-details-close-btn:hover{background:var(--gray-100);color:var(--gray-900);box-shadow:none;transform:none}.player-details-close-btn:active{background:var(--gray-200);transform:scale(.95)}.player-details>.close-btn,.player-details button.close-btn{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300);width:fit-content;box-shadow:none;cursor:pointer;border-radius:8px;align-items:center;gap:8px;margin-bottom:24px;margin-left:auto;padding:10px 16px;font-size:.875em;font-weight:500;transition:all .2s;display:flex}.player-details>.close-btn:hover,.player-details button.close-btn:hover{background:var(--gray-200);border-color:var(--gray-400);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.player-details>.close-btn:active,.player-details button.close-btn:active{box-shadow:none;transform:translateY(0)}.section-header{background:linear-gradient(135deg,var(--sand)0%,var(--cream)100%);color:var(--warm-brown);text-transform:uppercase;letter-spacing:.5px;font-weight:700}.stat-badge{border-radius:16px;align-items:center;gap:6px;padding:4px 12px;font-size:.875em;font-weight:600;display:inline-flex}.stat-badge.positive{background:var(--success-light);color:var(--success)}.stat-badge.negative{background:var(--danger-light);color:var(--danger)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes wave{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.spin{animation:1s linear infinite spin}.content-area{animation:.4s ease-out fadeIn}::-webkit-scrollbar{width:6px;height:6px;transition:width .2s,opacity .3s}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#0003;border-radius:3px;transition:background .2s,opacity .3s}::-webkit-scrollbar-thumb:hover{background:#0006}*{scrollbar-width:thin;scrollbar-color:#0003 transparent}html:not(:hover) body:not(.scrolling) ::-webkit-scrollbar{opacity:0}html:not(:hover) body:not(.scrolling) ::-webkit-scrollbar-thumb{opacity:0}body.scrolling ::-webkit-scrollbar{opacity:1}body.scrolling ::-webkit-scrollbar-thumb{opacity:1}html:hover ::-webkit-scrollbar{opacity:1;width:8px}body:hover ::-webkit-scrollbar{opacity:1;width:8px}html:hover ::-webkit-scrollbar-thumb{opacity:1;background:#0000004d}body:hover ::-webkit-scrollbar-thumb{opacity:1;background:#0000004d}.tooltip-trigger{position:relative}.tooltip{color:#fff;white-space:nowrap;background:#212121f2;border-radius:6px;padding:8px 12px;font-size:13px;font-weight:400;line-height:1.4;animation:.15s ease-out tooltipFadeIn;box-shadow:0 4px 12px #00000026}.tooltip-multiline{white-space:normal;word-wrap:break-word;overflow-wrap:break-word;max-width:300px}.tooltip-fixed{pointer-events:none;z-index:10000;will-change:transform;position:fixed;transform:translate(-50%,-100%)}@keyframes tooltipFadeIn{0%{opacity:0}to{opacity:1}}.winner-row,.loser-row{background:#fff}.result-win{color:var(--success);font-weight:400}.result-loss{color:var(--danger);font-weight:400}.rating-positive{color:var(--success);font-weight:400}.rating-negative{color:var(--danger);font-weight:400}.spacer-row{height:10px}.no-underline{text-decoration:none}.modal-overlay{-webkit-backdrop-filter:blur(4px);isolation:isolate;background:#00000080;justify-content:center;align-items:flex-end;padding:0;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0;overflow:hidden;z-index:2001!important}.modal-content{background:#fff;border:none;border-radius:24px 24px 0 0;flex-direction:column;width:100%;max-width:100%;height:auto;max-height:95vh;animation:.3s cubic-bezier(.4,0,.2,1) slideUpMobile;display:flex;position:relative;overflow:visible auto;box-shadow:0 -4px 24px #00000026}@keyframes slideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--gray-200);z-index:10;background:#fff;border-radius:24px 24px 0 0;flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:8px 12px;display:flex;position:sticky;top:0}.modal-header-right{align-items:center;gap:.5rem;margin-left:auto;display:flex}.modal-header .season-badge{margin-right:0}.modal-header-actions{align-items:center;gap:12px;display:flex}.modal-header h2:not(.league-members-modal-title){color:var(--gray-900);margin:0;font-family:Urbanist,sans-serif;font-size:1.25rem;font-weight:600}.modal-header .close-btn{color:var(--gray-600);box-shadow:none;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:6px;transition:all .15s;display:flex}.modal-header .close-btn:hover{background:var(--gray-100);color:var(--gray-900);box-shadow:none;transform:none}.modal-header .close-btn:active{background:var(--gray-200);transform:scale(.95)}.modal-body{padding:28px}.modal-stats{border-bottom:1px solid var(--gray-200);flex-wrap:wrap;gap:20px;margin-bottom:20px;padding-bottom:20px;display:flex}.modal-stat{align-items:center;gap:8px;font-size:.95em;font-weight:600;display:flex}.modal-stat:first-child{color:var(--primary)}.modal-stat:nth-child(2){color:var(--gray-700)}.modal-body p{color:var(--gray-700);margin:0;font-size:1.05em;line-height:1.6}.modal-actions{border-top:1px solid var(--gray-200);background:#fff;flex-shrink:0;justify-content:flex-end;gap:8px;margin-top:auto;padding:10px 12px;display:flex;position:sticky;bottom:0}.modal-actions .button:not(.btn-success):not(.btn-danger){color:var(--gray-700);background:0 0}.modal-actions .button:not(.btn-success):not(.btn-danger):hover{background:var(--gray-50);color:var(--gray-900)}.modal-actions .button:not(.btn-success):not(.btn-danger):active{background:var(--gray-100)}.modal-actions .button.btn-danger{color:#fff;background:#dc2626;border:none;font-weight:600;box-shadow:0 2px 4px #dc26264d}.modal-actions .button.btn-danger:hover{color:#fff;background:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 8px #dc262666}.modal-actions .button.btn-danger:active{background:#991b1b;transform:translateY(0)}.modal-actions .delete-match-text-btn{margin-right:auto}.confirmation-modal{max-width:550px}.modal-header-title-group{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.confirmation-modal-warning-icon{color:#dc2626;background:#fef2f2;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.confirmation-modal-context{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;margin-bottom:16px;padding:12px 16px}.confirmation-modal-context-row{align-items:baseline;gap:8px;font-size:.95rem;display:flex}.confirmation-modal-context-row+.confirmation-modal-context-row{margin-top:6px}.confirmation-modal-context-label{color:var(--gray-600);min-width:60px;font-weight:600}.confirmation-modal-context-value{color:var(--gray-900)}.modal-player-stats{margin:24px 0}.modal-stats-table{border-collapse:collapse;border:1px solid var(--gray-300);background:#fff;border-radius:8px;width:100%;font-size:.875rem;overflow:hidden;box-shadow:0 2px 8px #00000014}.modal-stats-table thead{background:var(--coral);border-bottom:2px solid #ff784933}.modal-stats-table th{text-align:left;color:var(--gray-900);text-transform:uppercase;letter-spacing:.8px;padding:14px 12px;font-size:.75rem;font-weight:700;position:relative}.modal-stats-table th:not(:last-child):after{content:"";background:#ff784933;width:1px;position:absolute;top:20%;bottom:20%;right:0}.modal-stats-table tbody tr{border-bottom:1px solid var(--gray-100);transition:background .15s}.modal-stats-table tbody tr:hover{background:var(--gray-50)}.modal-stats-table tbody tr:last-child{border-bottom:none}.modal-stats-table td{vertical-align:middle;color:var(--gray-700);padding:14px 12px;font-weight:500}.modal-stats-table-name{color:var(--primary);text-align:left;font-weight:600}.modal-stats-table td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.add-match-form{flex-direction:column;flex:1;gap:12px;min-height:0;margin-bottom:32px;padding:16px;display:flex;overflow-y:auto}.create-league-form{flex-direction:column;flex:1;gap:16px;min-height:0;margin-bottom:0;padding:16px;display:flex;overflow:hidden auto}.match-config-section{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;flex-direction:column;gap:4px;padding:6px 10px;display:flex}.match-config-top-row{grid-template-columns:1fr;align-items:end;gap:8px;display:grid}.match-config-bottom-row{border-top:1px solid var(--gray-200);justify-content:space-between;align-items:center;gap:12px;padding-top:4px;display:flex}.match-config-item.compact{flex-direction:column;gap:4px;min-width:0;display:flex}.match-config-item.compact.league-season-item{min-width:180px}.league-season-combined-inline{flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.season-dropdown-container{position:relative}.active-season-inline-text{color:var(--gray-600);background:var(--gray-50);border:1px solid var(--gray-200);border-radius:4px;flex-direction:column;padding:2px 6px;font-size:.6875rem;font-weight:500;line-height:1.3;display:flex}.active-season-inline-text .season-name{color:var(--gray-700);font-weight:600}.active-season-inline-text .season-dates{color:var(--gray-500);font-size:.625rem}.match-config-label{color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;align-items:center;gap:4px;font-size:.7rem;font-weight:600;display:flex}.info-icon-wrapper{cursor:help;color:var(--gray-400);align-items:center;transition:color .15s;display:inline-flex}.info-icon-wrapper:hover{color:var(--gray-600)}.match-type-toggle.compact{border:1px solid var(--gray-300);white-space:nowrap;background:#fff;border-radius:6px;gap:0;padding:2px;display:flex}.match-type-option.compact{color:var(--gray-600);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;flex:1;padding:5px 10px;font-family:Urbanist,sans-serif;font-size:.75rem;font-weight:500;transition:all .15s}.match-type-option.compact:hover:not(:disabled){background:var(--gray-50)}.match-type-option.compact.active{background:var(--primary);color:#fff}.match-type-option.compact:disabled{opacity:.6;cursor:not-allowed}.league-dropdown-container{position:relative}.league-dropdown-container.compact{flex-direction:column;gap:4px;display:flex}.league-dropdown-trigger{border:1px solid var(--gray-300);cursor:pointer;color:var(--gray-900);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;min-height:40px;padding:10px 14px;font-size:.875rem;transition:all .15s;display:flex}.league-dropdown-trigger.compact{white-space:nowrap;text-overflow:ellipsis;border-radius:6px;min-height:28px;padding:5px 10px;font-size:.75rem;overflow:hidden}.league-dropdown-trigger.compact.disabled-look{background:var(--gray-100);border-color:var(--gray-200);color:var(--gray-500);cursor:default}.league-dropdown-trigger.compact.disabled-look:hover{border-color:var(--gray-200)}.league-dropdown-trigger:hover:not(:disabled){border-color:var(--gray-400)}.league-dropdown-trigger.open{border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.league-dropdown-trigger.placeholder{color:var(--gray-400)}.league-dropdown-trigger:disabled{opacity:.6;cursor:not-allowed}.league-dropdown-menu{border:1px solid var(--gray-200);z-index:3000;background:#fff;border-radius:8px;max-height:200px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.league-dropdown-option{cursor:pointer;color:var(--gray-900);padding:10px 14px;font-size:.875rem;transition:background .15s}.league-dropdown-option:hover{background:var(--gray-50)}.league-dropdown-option.selected{background:var(--primary);color:#fff}.active-season-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;padding:12px 16px;font-size:.875rem}.active-season-card.compact{border:1px solid var(--gray-300);background:#fff;border-radius:6px;flex:1;min-width:0;padding:5px 10px;font-size:.75rem}.active-season-content{flex-direction:column;gap:2px;display:flex}.active-season-name{color:var(--gray-900);font-size:.75rem;font-weight:600}.active-season-card.compact .active-season-name{font-size:.75rem;font-weight:600}.active-season-dates{color:var(--gray-600);font-size:.8125rem}.active-season-loading,.active-season-no-season{color:var(--gray-500);font-size:.8125rem}.active-season-card.compact .active-season-loading,.active-season-card.compact .active-season-no-season{font-size:.75rem}.ranked-toggle-switch.compact{border:1px solid var(--gray-300);white-space:nowrap;background:#fff;border-radius:6px;gap:0;padding:2px;display:flex}.ranked-toggle-option.compact{color:var(--gray-600);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;flex:1;padding:5px 10px;font-family:Urbanist,sans-serif;font-size:.75rem;font-weight:500;transition:all .15s}.ranked-toggle-option.compact:hover:not(:disabled){background:var(--gray-50)}.ranked-toggle-option.compact.active{background:var(--primary);color:#fff}.ranked-toggle-option.compact:disabled{opacity:.6;cursor:not-allowed}.ranked-toggle-note.compact{color:var(--gray-500);white-space:nowrap;font-size:.6875rem;font-style:italic}.delete-match-text-btn{color:var(--danger);cursor:pointer;box-shadow:none;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;min-height:36px;margin:0;padding:8px 16px;font-family:Urbanist,sans-serif;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.delete-match-text-btn:hover{color:#b91c1c;background:#fee2e2;text-decoration:none}.delete-match-text-btn:active{background:#fecaca}.delete-match-text-btn:disabled{opacity:.5;cursor:not-allowed}.teams-container{grid-template-columns:1fr auto 1fr;align-items:start;display:grid}.team-section{border:1px solid var(--gray-200);background:#fff;border-radius:8px;flex-direction:column;gap:8px;padding:14px;display:flex;position:relative;overflow:visible}.vs-divider-column{color:var(--gray-500);justify-content:center;align-self:center;align-items:center;padding:0 6px;font-size:.875rem;font-weight:600;display:flex}.team-header{align-items:center;gap:10px;margin-bottom:0;display:flex}.team-section h3{color:var(--gray-900);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;margin:0;font-size:.9375rem;font-weight:600;display:flex}.team-inputs-row{align-items:stretch;gap:16px;display:flex;position:relative;overflow:visible}.player-inputs{flex-direction:column;flex:1;gap:12px;display:flex;position:relative;overflow:visible}.player-input{border:2px solid var(--gray-300);background:#fff;border-radius:8px;width:100%;padding:12px 16px;font-size:1em;font-weight:600;transition:all .2s}.player-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #3b82c81a}.score-input{border:2px solid var(--gray-300);text-align:center;width:80px;color:var(--gray-700);background:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:Urbanist,sans-serif;font-size:2.5em;font-weight:800;transition:all .2s;display:flex}.score-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #3b82c826}.score-input::placeholder{color:var(--gray-400);opacity:.4}.scorecard-container{flex-shrink:0;align-items:center;gap:4px;display:flex}.scorecard-digit-input{color:#fff;text-align:center;cursor:text;border:none;border-radius:8px;width:50px;height:70px;padding:0;font-family:Urbanist,sans-serif;font-size:2.5em;font-weight:800;transition:all .2s;box-shadow:0 2px 4px #00000026}.scorecard-digit-input:focus{outline:none;transform:scale(1.05);box-shadow:0 0 0 3px #ffffff4d,0 2px 8px #0003}.scorecard-digit-input::selection{color:#fff;background:#ffffff4d}.scorecard-digit-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.scorecard-digit-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.scorecard-digit-input[type=number]{-moz-appearance:textfield}.winner-badge{background:var(--success);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:10px;justify-content:center;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.vs-divider{display:none}.form-error{color:#dc2626;background-color:#fee2e2;border-left:3px solid #dc2626;border-radius:6px;margin-bottom:0;padding:12px 16px;font-size:.875rem}.form-group{box-sizing:border-box;width:100%;margin-bottom:24px}.form-group:last-child{margin-bottom:0}.form-group-row{gap:16px;display:flex}.form-group-row .form-field{flex:1}.form-group-row .form-field label,.form-group label{color:var(--gray-900);margin-bottom:10px;font-size:.95em;font-weight:600;line-height:1.4;display:block}.form-group label .required{color:var(--danger)}.form-input{border:1.5px solid var(--gray-300);appearance:none;background:#fff;border-radius:12px;width:100%;padding:14px 16px;font-family:inherit;font-size:16px;font-weight:500;transition:all .2s}.form-input:focus{border-color:var(--primary);outline:none;transform:none;box-shadow:0 0 0 3px #3b82c81a}.form-input:disabled{background-color:var(--gray-100);cursor:not-allowed;opacity:.7}.form-input::placeholder{color:var(--gray-600);opacity:.6}.form-group textarea.form-input{resize:vertical;min-height:100px;font-size:16px;line-height:1.5}.form-select{appearance:none;cursor:pointer;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='%234a90a4' d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:16px;min-width:0;padding-right:44px;font-size:16px}.form-select option{min-height:auto;padding:8px 12px;font-size:.95em;font-weight:500;line-height:1.4}.form-select:focus{min-width:0}select.form-select{box-sizing:border-box;width:100%}.form-help-text{color:var(--gray-600);margin-top:8px;font-size:.85em;font-style:italic;line-height:1.4;display:block}.checkbox-label{cursor:pointer;color:var(--gray-900);align-items:center;gap:10px;font-weight:500;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;width:20px;height:20px;accent-color:var(--primary)}.radio-card-group{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;width:100%;margin-top:8px;display:grid}.radio-card-group.radio-card-group-2{grid-template-columns:repeat(2,1fr)}.radio-card-group.radio-card-group-3{grid-template-columns:repeat(3,1fr)}.radio-card{border:1.5px solid var(--gray-300);cursor:pointer;box-sizing:border-box;background:#fff;border-radius:12px;flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;width:100%;max-width:100%;min-height:auto;padding:12px 14px;transition:all .2s;display:flex;position:relative}.radio-card:hover:not(.disabled):not(:has(input:disabled)){border-color:var(--primary);transform:none;box-shadow:0 2px 8px #3b82c81a}.radio-card.selected{border-color:var(--primary);background:#3b82c80d;box-shadow:0 0 0 2px #3b82c826}.radio-card.disabled{opacity:.6;cursor:not-allowed}.radio-card:has(input:disabled){opacity:.6;cursor:not-allowed}.radio-card.disabled:hover{border-color:var(--gray-300);box-shadow:none;transform:none}.radio-card:has(input:disabled):hover{border-color:var(--gray-300);box-shadow:none;transform:none}.radio-card-header{flex:1;align-items:center;gap:12px;margin:0;display:flex}.radio-card input[type=radio]{cursor:pointer;width:20px;height:20px;accent-color:var(--primary);flex-shrink:0;margin:0}.radio-card.disabled input[type=radio]{cursor:not-allowed}.radio-card:has(input:disabled) input[type=radio]{cursor:not-allowed}.radio-card-title{color:var(--gray-900);-webkit-user-select:none;user-select:none;white-space:nowrap;flex:1;font-size:.9em;font-weight:600;line-height:1.4}.radio-card.selected .radio-card-title{color:var(--primary)}.radio-card-description{color:var(--gray-600);-webkit-user-select:none;user-select:none;margin:0;font-size:.875em;line-height:1.4;display:none}.radio-card.selected .radio-card-description{color:var(--gray-800);font-weight:500}.form-group-label{color:var(--gray-900);margin-bottom:10px;font-size:.95em;font-weight:600;line-height:1.4;display:block}.toggle-group{border:2px solid var(--gray-300);background:#fff;border-radius:8px;gap:0;display:flex;overflow:hidden}.toggle-option{color:var(--gray-700);cursor:pointer;border:none;border-right:1px solid var(--gray-300);background:#fff;flex:1;padding:12px 20px;font-size:1em;font-weight:600;transition:all .2s}.toggle-option:last-child{border-right:none}.toggle-option:hover:not(:disabled){background:var(--gray-100)}.toggle-option.active{background:var(--primary);color:#fff}.toggle-option.active:hover:not(:disabled){background:var(--deep-ocean)}.toggle-option:disabled{opacity:.6;cursor:not-allowed}.league-dashboard-container{margin-top:var(--navbar-height);min-height:calc(100dvh - var(--navbar-height));background:0 0;padding:0}.league-dashboard{max-width:1600px;min-height:calc(100dvh - var(--navbar-height));background:0 0;margin:0 auto;display:flex}.sidebar{top:var(--navbar-height);height:calc(100dvh - var(--navbar-height));z-index:100;background:#ffffffbf;border-right:1px solid #00000014;flex-direction:column;flex-shrink:0;font-family:Urbanist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;display:flex;position:fixed;left:0;overflow-y:auto}.sidebar--home{width:var(--sidebar-width-home)}.sidebar--league{width:var(--sidebar-width-league)}.league-sidebar{width:var(--sidebar-width-league);top:var(--navbar-height);height:calc(100vh - var(--navbar-height));z-index:100;background:#ffffffbf;border-right:1px solid #00000014;flex-direction:column;flex-shrink:0;font-family:Urbanist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;display:flex;position:fixed;left:0;overflow-y:auto}.league-sidebar-header{border-bottom:1px solid #00000014;flex-shrink:0;justify-content:space-between;align-items:center;gap:4px;padding:16px;display:flex}.league-sidebar-title-wrapper-container{flex:1;min-width:0;position:relative}.league-sidebar-title-wrapper{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;min-width:0;margin:0 auto;padding:6px 10px;font-family:inherit;transition:background-color .2s;display:flex}.league-sidebar-title-wrapper:hover{background:#00000008}.league-sidebar-title{color:var(--gray-900);word-wrap:break-word;overflow-wrap:break-word;text-wrap:wrap;min-width:0;margin:0;font-family:Urbanist,sans-serif;font-size:.95rem;font-weight:500;line-height:1.3}.league-sidebar-title-caret{color:var(--gray-500);flex-shrink:0;transition:transform .2s}.league-sidebar-title-caret.open{transform:rotate(180deg)}.league-sidebar-title-wrapper:hover .league-sidebar-title-caret{color:var(--gray-700)}.league-sidebar-dropdown{z-index:1002;min-width:220px;max-width:280px;position:absolute;top:calc(100% + 8px);left:0}.league-sidebar-dropdown-menu{animation:.2s ease-out slideDown;position:relative;left:0;right:auto}.league-sidebar-current{font-weight:600;color:var(--muted-red)!important}.league-sidebar-current svg,.league-sidebar-current:hover{color:var(--muted-red)!important}.league-sidebar-collapse-btn{cursor:pointer;color:var(--gray-600);background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:4px;transition:all .2s;display:flex}.league-sidebar-collapse-btn:hover{color:var(--gray-900);background:#0000000d}.league-sidebar-collapse-btn:active{transform:scale(.95)}.league-sidebar.collapsed .league-sidebar-title-wrapper-container{display:none}.league-sidebar.collapsed .league-sidebar-header{justify-content:center}.sidebar.collapsed .league-sidebar-title-wrapper-container{display:none}.sidebar.collapsed .league-sidebar-header{justify-content:center}.sidebar.collapsed,.league-sidebar.collapsed{width:var(--sidebar-width-collapsed)}.sidebar.collapsed~.league-content,.sidebar.collapsed~.home-content,.league-sidebar.collapsed~.league-content{margin-left:var(--sidebar-width-collapsed)}.league-sidebar.collapsed .league-sidebar-nav-item{justify-content:center;padding:6px 12px}.league-sidebar.collapsed .league-sidebar-nav-item span{display:none}.sidebar.collapsed .league-sidebar-nav-item{justify-content:center;padding:6px 12px}.sidebar.collapsed .league-sidebar-nav-item span{display:none}.league-sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:12px 8px;display:flex}.league-sidebar-nav-item{cursor:pointer;color:var(--primary);text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:4px;padding:12px 16px;font-family:Urbanist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:.95rem;font-weight:500;transition:all .2s;display:flex;position:relative}.more-menu-item-mobile{display:none!important}.league-sidebar-nav-item:hover{color:var(--gray-900);background:#0000000a}.league-sidebar-nav-item.active{color:var(--primary-darker);font-weight:600;background:#2f779426!important}.league-sidebar-nav-item.active:before{content:"";background:var(--primary);border-radius:0 2px 2px 0;width:3px;height:24px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.league-sidebar-nav-item svg{flex-shrink:0;width:20px;height:20px}.league-sidebar-nav-item span{flex:1}.league-sidebar-nav-group{width:100%;position:relative}.league-sidebar-nav-group .league-sidebar-nav-item{width:100%}.league-sidebar-more-menu-portal{z-index:10000;pointer-events:auto}.league-sidebar-more-menu{background:#fff;border-radius:12px;flex-direction:column;gap:4px;min-width:200px;padding:8px;display:flex;box-shadow:0 4px 20px #00000026,0 0 0 1px #00000014}.league-sidebar-more-menu-item{color:var(--gray-700);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px 12px;font-family:inherit;font-size:.85rem;font-weight:500;transition:all .15s;display:flex;position:relative}.league-sidebar-more-menu-item:hover{background:var(--gray-100);color:var(--gray-900)}.league-sidebar-more-menu-item.active{color:var(--primary-darker);font-weight:600;background:#2f779426!important}.league-sidebar-more-menu-item.active:before{content:"";background:var(--primary);border-radius:0 2px 2px 0;width:3px;height:24px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.league-sidebar-more-menu-item.active:hover{color:var(--primary-darker);background:#2f779426!important}.league-sidebar-more-menu-item svg{flex-shrink:0;width:18px;height:18px}.sidebar.collapsed .league-sidebar-more-menu{display:none}@media (max-width:768px){.league-sidebar-more-menu-portal{top:auto!important;left:auto!important;right:0!important}}.home-content{margin-left:var(--sidebar-width-home);flex:1;padding:0;overflow-y:auto}.league-message{border-radius:10px;align-items:center;gap:8px;margin-bottom:24px;padding:12px 16px;font-size:.95rem;font-weight:500;display:flex}.league-message.success{background:var(--success-light);color:var(--success-dark);border:1px solid #10b98133}.league-message.error{background:var(--danger-light);color:var(--danger);border:1px solid #ef444433}.league-loading,.league-error{flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:calc(100vh - 64px);padding:40px;display:flex}.league-loading{color:var(--gray-600);font-size:1.1rem;font-weight:500}.league-section{margin-bottom:24px;padding:18px}.find-leagues-page{padding:24px}.league-section:last-child{margin-bottom:0}.leagues-tab-create-btn-container{justify-content:flex-end;margin-bottom:20px;display:flex}.leagues-tab-create-btn{color:var(--primary-dark);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.leagues-tab-create-btn:hover{color:var(--primary-darker);background:#2c7a8f14}.rankings-filters-row{box-sizing:border-box;justify-content:space-between;align-items:center;gap:16px;max-width:100%;margin-bottom:20px;display:flex}.player-search-wrapper{box-sizing:border-box;flex:1;min-width:0;max-width:45%;position:relative}.player-search-icon{color:var(--gray-500);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.player-search-input{border:1px solid var(--gray-300);width:100%;max-width:100%;color:var(--gray-900);box-sizing:border-box;background:#fff;border-radius:6px;padding:6px 10px 6px 32px;font-family:inherit;font-size:.8em;font-weight:500;transition:all .2s}.player-search-input::placeholder{color:var(--gray-500);font-weight:400}.player-search-input:hover{border-color:var(--primary)}.player-search-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #3b82c81a}.player-search-wrapper:hover .player-search-icon{color:var(--primary)}.player-search-wrapper:has(.player-search-input:focus) .player-search-icon{color:var(--primary)}.season-selector-wrapper{box-sizing:border-box;flex:1;min-width:fit-content;max-width:fit-content;position:relative}.season-selector-wrapper:before{content:"Season";color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;z-index:1;background:#fff;padding:0 6px;font-size:.6em;font-weight:500;position:absolute;top:-.3em;left:8px}.season-selector-dropdown{border:1px solid var(--gray-300);width:100%;max-width:100%;color:var(--gray-900);cursor:pointer;background:#fff;border-radius:6px;padding:6px 10px;font-family:inherit;font-size:.8em;font-weight:500;transition:all .2s}.filterable-table-wrapper{width:100%}.filterable-table-header{box-sizing:border-box;align-items:center;gap:16px;max-width:100%;margin-bottom:20px;display:flex}.filterable-filter-button-wrapper{flex-shrink:0;position:relative}.filterable-search-wrapper{box-sizing:border-box;flex:1;min-width:0;position:relative}.find-leagues-toggle{color:var(--gray-800);white-space:nowrap;align-items:center;gap:6px;font-size:.8em;display:inline-flex}.find-leagues-toggle input[type=checkbox]{width:14px;height:14px}.filterable-search-icon{color:var(--gray-500);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.filterable-search-spinner{color:var(--primary);pointer-events:none;transform-origin:50%;animation:1s linear infinite spin;position:absolute;top:calc(50% - 8px);left:10px}.filterable-search-input{border:1px solid var(--gray-300);width:100%;max-width:100%;color:var(--gray-900);box-sizing:border-box;background:#fff;border-radius:6px;padding:6px 10px 6px 32px;font-family:inherit;font-size:.8em;font-weight:500;transition:all .2s}.filterable-search-input::placeholder{color:var(--gray-500);font-weight:400}.filterable-search-input:hover{border-color:var(--primary)}.filterable-search-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #3b82c81a}.filterable-search-wrapper:hover .filterable-search-icon:not(.filterable-search-spinner){color:var(--primary)}.filterable-search-wrapper:has(.filterable-search-input:focus) .filterable-search-icon:not(.filterable-search-spinner){color:var(--primary)}.filterable-table-pagination{color:var(--gray-700);justify-content:space-between;align-items:center;padding:12px 4px 0;font-size:.85rem;display:flex}.filterable-pagination-summary{color:var(--gray-600)}.filterable-pagination-controls{align-items:center;gap:8px;display:flex}.filterable-pagination-button{border:1px solid var(--gray-300);cursor:pointer;color:var(--gray-700);background:#fff;border-radius:12px;padding:4px 10px;font-size:.8rem;font-weight:500;transition:background .15s,border-color .15s,color .15s}.filterable-pagination-button:disabled{opacity:.5;cursor:not-allowed}.filterable-pagination-button:not(:disabled):hover{background:var(--gray-100);border-color:var(--gray-400)}.filterable-pagination-page{color:var(--gray-700);font-size:.8rem}.filterable-pagination-pagesize{align-items:center;gap:6px;font-size:.8rem;display:flex}.filterable-pagination-pagesize select{border:1px solid var(--gray-300);border-radius:6px;padding:2px 6px;font-size:.8rem}.filterable-filter-button{border:1px solid var(--gray-300);width:40px;height:32px;color:var(--gray-700);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex;position:relative}.filterable-filter-button:hover{border-color:var(--primary);color:var(--primary)}.filterable-filter-button.active{border-color:var(--primary);background:var(--primary);color:#fff}.filterable-filter-badge{background:var(--primary);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.7em;font-weight:600;display:flex;position:absolute;top:-6px;right:-6px}.filterable-filter-panel{border:1px solid var(--gray-300);z-index:1000;background:#fff;border-radius:8px;min-width:250px;padding:16px;animation:.2s ease-out slideDown;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 4px 12px #0000001a}.filterable-filter-group{margin-bottom:16px}.filterable-filter-group:last-child{margin-bottom:0}.filterable-filter-label{color:var(--gray-700);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:.85em;font-weight:600;display:block}.filterable-filter-select{border:1px solid var(--gray-300);width:100%;color:var(--gray-900);cursor:pointer;background:#fff;border-radius:6px;padding:8px 12px;font-family:inherit;font-size:.9em;transition:all .2s}.filterable-filter-select:hover{border-color:var(--primary)}.filterable-filter-select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #3b82c81a}.filterable-filter-pills{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.filterable-filter-clear-all{background:var(--gray-200);color:var(--gray-700);border:1px solid var(--gray-300);cursor:pointer;border-radius:16px;padding:6px 12px;font-family:inherit;font-size:.85em;font-weight:500;transition:all .2s}.filterable-filter-clear-all:hover{background:var(--gray-300);border-color:var(--gray-400)}.filterable-filter-pill{background:var(--primary);color:#fff;border-radius:16px;align-items:center;gap:6px;padding:4px 10px;font-size:.85em;font-weight:500;display:inline-flex}.filterable-filter-pill-label{white-space:nowrap}.filterable-filter-pill-remove{color:#fff;cursor:pointer;background:#ffffff4d;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;padding:0;transition:all .2s;display:flex}.filterable-filter-pill-remove:hover{background:#ffffff80}.filterable-table-content{width:100%;overflow-x:auto}.filterable-table-table{border-collapse:collapse;background:#fff;border-radius:8px;width:100%;min-width:720px;overflow:hidden;box-shadow:0 1px 3px #0000001a;border:none!important}.filterable-table-table thead{background:var(--gray-300)}.filterable-table-table th{text-align:left;color:var(--gray-700);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--gray-200);padding:12px 16px;font-size:.75em;font-weight:600}.filterable-table-table tbody tr{border-bottom:1px solid var(--gray-200);transition:background-color .2s}.filterable-table-table tbody tr:hover{background:var(--gray-50)}.filterable-table-table tbody tr:last-child{border-bottom:none}.leagues-table-row{cursor:pointer}.leagues-table-name-cell{padding:12px 16px;font-weight:500}.leagues-table-cell{color:var(--gray-900);padding:12px 16px;font-size:.9em}.leagues-table-action-cell{text-align:center}.leagues-table-action-cell .leagues-table-join-button{justify-content:center;margin:0 auto}.leagues-table-member-indicator{background:var(--success-light);color:var(--success-dark);border-radius:999px;justify-content:center;align-items:center;padding:2px 8px;font-size:.8em;font-weight:600;line-height:1;display:inline-flex}.league-members-link-inline{cursor:pointer;color:var(--primary);font:inherit;background:0 0;border:none;align-items:center;gap:6px;margin:0;padding:0;display:inline-flex}.league-members-link-inline:hover{color:var(--primary-dark)}.leagues-table-name-button{color:var(--primary);cursor:pointer;font-family:inherit;font-weight:500;font-size:inherit;text-align:left;background:0 0;border:none;padding:0;transition:color .15s}.leagues-table-name-button:hover{color:var(--primary-dark);text-decoration:underline}@media (max-width:640px){.filterable-table-table th{padding:8px 10px;font-size:.75em}.leagues-table-cell{padding:8px 10px;font-size:.8em}.leagues-table-name-cell{padding:8px 10px}.leagues-table-member-indicator{padding:2px 6px;font-size:.75em}}.leagues-table-location{align-items:center;gap:4px;display:flex}.leagues-table-icon{color:var(--gray-500);flex-shrink:0}.leagues-table-members-button{color:var(--primary);cursor:pointer;font-size:inherit;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-family:inherit;display:flex}.leagues-table-members-button:hover{color:var(--primary-dark)}.leagues-table-join-button{font-size:inherit;color:var(--primary);cursor:pointer;font-weight:inherit;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-family:inherit;transition:color .15s;display:flex}.leagues-table-join-button:hover:not(:disabled){color:var(--primary-dark)}.leagues-table-join-button:disabled{opacity:.6;cursor:not-allowed}.leagues-table-join-button svg{flex-shrink:0;width:14px;height:14px}.league-members-modal{max-width:600px;max-height:80vh}.league-members-modal-title{color:var(--gray-900);margin:10px 0;font-size:1.7em;font-weight:600}.modal-subtitle{color:var(--gray-600);align-items:center;gap:6px;margin-top:4px;font-size:.9em;display:flex}.modal-subtitle svg{flex-shrink:0}.league-members-header{border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;display:flex}.league-members-title{color:var(--gray-900);align-items:center;gap:8px;font-size:1.1em;font-weight:600;display:flex}.league-members-meta{align-items:center;gap:8px;display:flex}.level-badge{letter-spacing:.3px;white-space:nowrap;color:#fff;border-radius:12px;padding:4px 10px;font-size:.75em;font-weight:500}.level-badge-seafoam-dark{background:var(--seafoam-dark)}.level-badge-dusk-purple-light{background:var(--dusk-purple-light)}.level-badge-muted-red{background:var(--muted-red)}.level-badge-sunset-dark{background:var(--sunset-dark)}.level-badge-gold-dark{background:var(--gold-dark)}.level-badge-gray{background:var(--gray-500)}.access-badge{letter-spacing:.3px;white-space:nowrap;border-radius:12px;padding:4px 10px;font-size:.75em;font-weight:600}.access-badge-open{background:var(--success);color:#fff}.access-badge-invite{background:var(--gray-600);color:#fff}.gender-badge{background:var(--gray-200);color:var(--gray-700);border-radius:12px;padding:4px 10px;font-size:.75em;font-weight:500}.league-members-list{flex-direction:column;gap:12px;max-height:50vh;display:flex;overflow-y:auto}.league-member-item{background:var(--gray-50);border-radius:8px;padding:12px}.league-member-info{justify-content:space-between;align-items:center;gap:12px;display:flex}.league-member-avatar{flex-shrink:0}.league-member-left{flex-direction:column;flex:1;gap:4px;display:flex}.league-member-name{color:var(--gray-900);font-size:1em;font-weight:500}.league-member-joined{color:var(--gray-600);font-size:.85em}.link-button{color:var(--primary);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:underline}.link-button:hover{color:var(--primary-dark)}.season-selector-dropdown:hover{border-color:var(--primary)}.season-selector-dropdown:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #3b82c81a}.section-title{color:var(--gray-900);letter-spacing:-.02em;text-transform:none;margin:0;font-size:1.35rem;font-weight:700}.league-badges{gap:8px;display:flex}.league-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:16px;padding:6px 14px;font-size:.85em;font-weight:700}.league-badge.open{background:var(--success);color:#fff}.league-badge.invite-only{background:var(--gray-300);color:var(--gray-700)}.league-description{color:var(--gray-700);margin:0;font-size:1.1em;line-height:1.6}.league-stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:40px;display:grid}.stat-card{background:linear-gradient(135deg,var(--cream)0%,var(--sand)100%);border:2px solid var(--gray-200);border-radius:12px;align-items:center;gap:16px;padding:24px;transition:all .3s;display:flex}.stat-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #3b82c826}.stat-icon{background:var(--primary);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stat-content{flex:1}.stat-value{color:var(--primary);margin-bottom:4px;font-size:2em;font-weight:800;line-height:1}.stat-label{color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;font-size:.9em;font-weight:600}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.empty-state{text-align:center;background:var(--gray-50);border:1px dashed #0000001a;border-radius:16px;padding:60px 20px}.empty-state p{color:var(--gray-600);margin:0;font-size:1rem;font-weight:500}.seasons-list,.members-list{gap:16px;display:grid}.season-card,.member-card{border:2px solid var(--gray-200);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;padding:20px;transition:all .2s;display:flex}.season-card:hover,.member-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #3b82c81a}.season-info h3,.member-info h3{color:var(--gray-900);margin:0 0 6px;font-size:1.2em;font-weight:700}.season-dates,.member-role{color:var(--gray-600);margin:0;font-size:.9em}.season-badge,.member-badge{color:var(--gray-900);text-transform:none;letter-spacing:0;white-space:nowrap;background-color:#e5e7eb;border-radius:9999px;padding:.375rem .75rem;font-size:.75rem;font-weight:500;display:inline-block}.season-badge.active{background:var(--success);color:#fff}.member-badge.admin{background:var(--retro-yellow);color:var(--gray-900)}.league-details-new{flex-direction:column;gap:32px;display:flex}.league-description-section{border:1px solid var(--gray-200);background:#fff;border-radius:8px;padding:20px 24px}.league-description-display{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.league-description-text{color:var(--gray-700);flex:1;margin:0;font-size:.95em;line-height:1.6}.league-edit-icon{color:var(--gray-400);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.league-edit-icon:hover{color:var(--gray-600);background:var(--gray-50)}.league-description-edit{flex-direction:column;gap:12px;display:flex}.league-description-input{border:1px solid var(--gray-300);resize:vertical;border-radius:6px;width:100%;padding:10px 12px;font-family:Urbanist,sans-serif;font-size:.95em;line-height:1.5;transition:all .2s}.league-description-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #3b82c81a}.league-description-actions{justify-content:flex-end;gap:8px;display:flex}.league-section-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.league-section-title{color:var(--gray-900);align-items:center;gap:8px;margin:0;font-size:1.1em;font-weight:600;display:flex}.league-text-button{color:var(--primary);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-family:Urbanist,sans-serif;font-size:.9em;font-weight:500;transition:all .2s;display:inline-flex}.league-text-button:hover:not(:disabled){background:var(--primary-dark);color:#fff}.league-text-button:active:not(:disabled){background:var(--gray-100)}.league-text-button.primary{color:#fff;background:var(--primary)}.league-text-button:disabled{opacity:.5;cursor:not-allowed}.league-players-section{border:1px solid var(--gray-200);background:#fff;border-radius:8px;padding:20px 24px}.league-table-wrapper{overflow-x:auto}.league-table{border-collapse:collapse;width:100%}.league-table thead{border-bottom:1px solid var(--gray-200)}.league-table th{text-align:left;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px;padding:10px 12px;font-size:.85em;font-weight:600}.league-table tbody tr{border-bottom:1px solid var(--gray-100);transition:background .15s}.league-table tbody tr:hover{background:var(--gray-50)}.league-table tbody tr:last-child{border-bottom:none}.league-table td{vertical-align:middle;padding:12px}.league-table-name{color:var(--gray-900);font-weight:500}.league-table-role{width:150px}.league-players-list{flex-direction:column;gap:8px;display:flex}.league-player-row{border:1px solid var(--gray-200);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;transition:all .2s;display:flex;position:relative}.league-player-row:hover:not(.disabled){border-color:var(--gray-300);box-shadow:0 2px 4px #0000000d}.league-player-row.disabled{background:var(--gray-50);cursor:default}.league-player-info{flex:1;align-items:center;gap:12px;display:flex}.league-player-name{color:var(--gray-900);font-size:.95em;font-weight:500}.league-player-actions{align-items:center;gap:12px;display:flex}.league-player-role{align-items:center;display:flex}.league-player-remove{opacity:0;width:28px;height:28px;color:var(--danger);cursor:pointer;background:#ef44441a;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.league-player-row:hover .league-player-remove{opacity:1}.league-player-remove:hover{background:var(--danger);color:#fff;transform:scale(1.1)}.league-player-remove:active{transform:scale(.95)}.add-players-modal{flex-direction:column;max-width:600px;height:600px;display:flex}.add-players-modal .modal-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.add-players-selected-section{margin-bottom:24px}.add-players-selected-section .league-player-remove{opacity:1}.add-players-section-title{color:var(--gray-700);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:.9em;font-weight:600}.add-players-search-section{margin-bottom:20px}.add-players-table-section{flex:1;min-height:0;overflow-y:auto}.add-players-table{border:1px solid var(--gray-200);border-radius:8px;flex-direction:column;gap:0;display:flex;overflow:hidden}.add-players-table-row{border-bottom:1px solid var(--gray-100);cursor:pointer;background:#fff;justify-content:space-between;align-items:center;padding:12px 16px;transition:all .15s;display:flex}.add-players-table-row:last-child{border-bottom:none}.add-players-table-row:hover:not(.selected){background:var(--gray-50)}.add-players-table-row.selected{background:var(--cream);border-bottom-color:var(--gray-200);cursor:default}.add-players-table-name{color:var(--gray-900);flex:1;font-size:.95em;font-weight:500}.add-players-table-actions{align-items:center;gap:12px;display:flex}.add-players-table-add{width:28px;height:28px;color:var(--primary);cursor:pointer;background:#3b82c81a;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.add-players-table-add:hover{background:var(--primary);color:#fff;transform:scale(1.1)}.add-players-table-add:active{transform:scale(.95)}.add-players-table-remove{width:28px;height:28px;color:var(--danger);cursor:pointer;background:#ef44441a;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.add-players-table-remove:hover{background:var(--danger);color:#fff;transform:scale(1.1)}.add-players-table-remove:active{transform:scale(.95)}.league-role-select{border:1px solid var(--gray-300);width:100%;color:var(--gray-900);cursor:pointer;appearance:none;background:#fff;border-radius:6px;padding:6px 10px;font-family:Urbanist,sans-serif;font-size:.9em;transition:all .2s}.league-role-select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #3b82c81a}.league-role-badge{background:var(--gray-100);color:var(--gray-700);text-transform:capitalize;border-radius:12px;padding:4px 10px;font-size:.8em;font-weight:500;display:inline-block}.league-role-badge-admin{background:var(--muted-red);color:#fff}.league-seasons-section{border:1px solid var(--gray-200);background:#fff;border-radius:8px;padding:20px 24px}.league-seasons-grid{flex-direction:column;gap:8px;display:flex}.league-season-item{background:var(--gray-50);justify-content:space-between;align-items:center;transition:all .2s;display:flex}.league-season-content{flex:1}.league-season-name{color:var(--gray-900);margin:0 0 4px;font-size:.95em;font-weight:600}.league-season-dates{color:var(--gray-600);margin:0;font-size:.85em}.league-season-active{background:var(--success);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:4px 10px;font-size:.75em;font-weight:600}.league-info-section{border:1px solid var(--gray-200);background:#fff;border-radius:8px;padding:20px 24px}.league-info-list{flex-direction:column;gap:12px;display:flex}.league-info-item{border-bottom:1px solid var(--gray-100);align-items:center;gap:12px;padding:10px 0;display:flex}.league-info-item:last-child{border-bottom:none}.league-info-label{color:var(--gray-700);min-width:120px;font-size:.9em;font-weight:500}.league-info-value{color:var(--gray-900);font-size:.9em}.league-info-select{border:1px solid var(--gray-300);background-color:var(--white);color:var(--gray-900);cursor:pointer;border-radius:6px;min-width:140px;padding:6px 12px;font-size:.9em;transition:border-color .2s,box-shadow .2s}.league-info-select:hover{border-color:var(--gray-400)}.league-info-select:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light);outline:none}.league-empty-state{text-align:center;color:var(--gray-500);padding:48px 20px}.league-empty-state svg{opacity:.4;color:var(--gray-400);margin-bottom:12px}.league-empty-state p{color:var(--gray-600);margin:0;font-size:.9em}.modal-close-button{color:var(--gray-400);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.modal-close-button:hover{background:var(--gray-100);color:var(--gray-600)}.modal-hint{color:var(--gray-600);margin-top:12px;font-size:.9em}.add-matches-section{justify-content:center;align-items:center;width:100%;display:flex}.add-matches-card{text-align:center;cursor:pointer;background:#fff;border:1px solid #00000014;border-radius:12px;width:100%;max-width:250px;margin-top:12px;padding:28px 32px;font-family:Urbanist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:all .2s;box-shadow:0 3px 6px #0000001a}.add-matches-card:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001f}.add-matches-card:active{transform:translateY(0);box-shadow:0 1px 3px #0000001a}.add-matches-icon{width:56px;height:56px;color:var(--muted-red);background:#ff78491a;border-radius:12px;justify-content:center;align-items:center;margin:16px auto;transition:all .2s;display:flex}.add-matches-card:hover .add-matches-icon{background:#ff784926}.add-matches-title{color:var(--primary-dark);letter-spacing:-.02em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 0 8px;font-family:Urbanist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:1.5rem;font-weight:700}.add-matches-description{color:var(--gray-600);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Urbanist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:.95rem;font-weight:400}.add-matches-empty-state{text-align:center;color:var(--gray-600);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:24px;font-family:Urbanist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:.95rem}.match-date-header-container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.match-date-header-left{flex:1;min-width:0}.btn-end-session-header{background:var(--danger);border-color:#dc2626;padding:10px 20px;font-size:.9em;box-shadow:4px 4px #dc2626}.btn-end-session-header:hover{background:#f87171;box-shadow:6px 6px #dc2626}.btn-end-session-header:active{box-shadow:2px 2px #dc2626}.add-match-card{border:2px dashed var(--gray-300);cursor:pointer;color:var(--gray-500);background:#fff;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:140px;padding:32px 20px;font-size:1.05em;font-weight:600;transition:all .2s;display:flex}.add-match-card:hover{background:var(--gray-50);border-color:var(--primary);color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.add-match-card:active{transform:translateY(0)}.add-match-card svg{opacity:.5;color:var(--gray-400);transition:all .2s}.add-match-card:hover svg{opacity:1;color:var(--primary)}.match-config-content{gap:10px;padding:12px 16px}.match-config-section{flex-direction:column;gap:4px;width:100%;display:flex}.match-config-header-row{justify-content:space-between;align-items:center;width:100%;display:flex}button.match-config-toggle.inline{cursor:pointer;align-items:center;width:auto!important;color:var(--gray-900)!important;appearance:none!important;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;gap:8px!important;padding:0!important;display:flex!important}button.match-config-toggle .match-info-title{font-family:inherit;text-transform:uppercase!important;letter-spacing:.05em!important;color:var(--gray-700)!important;font-size:.75em!important;font-weight:600!important}button.match-config-toggle.inline svg{width:14px!important;height:14px!important}.match-config-inline-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;animation:.2s ease-out fadeIn;display:flex}.match-config-content{padding-top:8px;animation:.2s ease-out slideDown}.match-config-toggle-left{display:none}.match-config-chevron-button{cursor:pointer;justify-content:center;align-items:center;transition:background-color .2s;width:24px!important;height:24px!important;color:var(--gray-500)!important;appearance:none!important;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:4px!important;padding:0!important;display:flex!important}.match-config-chevron-button:hover{background-color:var(--gray-100)!important;color:var(--gray-900)!important}.config-chevron{color:var(--gray-400);transition:transform .2s}.config-chevron.rotate-180{transform:rotate(180deg)}.player-dropdown-container{z-index:1;width:100%;position:relative}.player-dropdown-input{border:2px solid var(--gray-300);width:100%;color:var(--gray-900);background:#fff;border-radius:8px;padding:12px 16px;font-family:inherit;font-size:.9em;font-weight:600;transition:all .2s}.player-dropdown-input::placeholder{color:var(--gray-600);font-weight:400}.player-dropdown-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #3b82c81a}.player-dropdown-input:hover{border-color:var(--primary)}.player-dropdown-list{border:2px solid var(--primary);-webkit-overflow-scrolling:touch;background:#fff;border-radius:8px;margin:0;padding:0;list-style:none;box-shadow:0 8px 16px #00000026}.player-dropdown-trigger{border:2px solid var(--gray-300);cursor:pointer;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;transition:all .2s;display:flex}.player-dropdown-trigger:hover{border-color:var(--primary)}.player-dropdown-trigger.open{border-color:var(--primary);box-shadow:0 0 0 3px #3b82c81a}.player-dropdown-value{color:var(--gray-900);font-size:.9em;font-weight:600}.player-dropdown-placeholder{color:var(--gray-600)}.player-dropdown-trigger svg{color:var(--primary);flex-shrink:0;transition:transform .2s}.player-dropdown-trigger svg.rotate-180{transform:rotate(180deg)}.player-dropdown-menu{border:2px solid var(--primary);z-index:3000;background:#fff;border-radius:8px;flex-direction:column;max-height:300px;display:flex;position:fixed;top:0;left:0;overflow:hidden;box-shadow:0 8px 16px #00000026}.player-dropdown-menu.above{flex-direction:column-reverse;box-shadow:0 -8px 16px #00000026}.player-dropdown-menu.above .player-dropdown-search{border-bottom:none;border-top:2px solid var(--gray-200)}.player-dropdown-menu.above .player-dropdown-search:focus{border-top-color:var(--primary)}.player-dropdown-search{border:none;border-bottom:2px solid var(--gray-200);background:var(--gray-50);width:100%;padding:12px 16px;font-family:inherit;font-size:1em}.player-dropdown-search:focus{border-bottom-color:var(--primary);background:#fff;outline:none}.player-dropdown-options{max-height:250px;overflow-y:auto}.player-dropdown-option{cursor:pointer;color:var(--gray-700);align-items:center;gap:8px;padding:12px 16px;font-weight:600;transition:all .2s;display:flex}.player-dropdown-option:hover{color:var(--primary);background:#3b82c81a}.player-dropdown-option.selected{background:var(--cream);color:var(--muted-red);font-weight:700}.player-dropdown-option.highlighted{color:var(--primary);outline-offset:-2px;background:#3b82c826;outline:2px solid #3b82c84d}.player-dropdown-option.disabled{cursor:not-allowed;color:var(--gray-600);opacity:.6}.player-dropdown-option.disabled:hover{color:var(--gray-600);background:0 0}.player-dropdown-option.create-new{background:var(--success-light);color:var(--success);border-top:2px solid var(--gray-200);font-weight:700}.player-dropdown-option.create-new:hover{background:var(--success);color:#fff}.match-card.editable{cursor:pointer}.match-card.editable .match-team{padding-right:48px}.match-card.editable:hover{box-shadow:var(--shadow-xl);border-color:var(--primary);transform:translateY(-4px)}.auth-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2001;isolation:isolate;background:#0f172a8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.auth-modal{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #3b82c826;border-radius:20px;width:min(420px,100%);max-height:95vh;padding:28px;overflow-y:auto;box-shadow:0 25px 45px #0f172a40}.auth-modal__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.auth-modal__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--gray-600);margin-bottom:4px;font-size:.8rem;font-weight:600}.auth-modal__close{cursor:pointer;width:32px;height:32px;color:var(--gray-600);justify-content:center;align-items:center;transition:color .2s;display:inline-flex;box-shadow:none!important;text-transform:none!important;letter-spacing:normal!important;background:0 0!important;border:none!important;border-radius:0!important;gap:0!important;min-height:auto!important;padding:0!important;font-weight:400!important}.auth-modal__close:hover{color:var(--gray-900);box-shadow:none!important;transform:none!important}.auth-modal__close:active{box-shadow:none!important;transform:none!important}.auth-modal__description{color:var(--gray-600);margin:16px 0 20px;line-height:1.5}.auth-modal__alert{border-radius:10px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 12px;font-size:.9rem;display:flex}.auth-modal__alert.success{background:var(--success-light);color:var(--success-dark)}.auth-modal__alert.error{background:var(--danger-light);color:var(--danger)}.auth-modal__form{flex-direction:column;gap:14px;display:flex}.auth-modal__label{color:var(--gray-700);flex-direction:column;gap:6px;font-size:.95rem;font-weight:600;display:flex}.auth-modal__label>span{align-items:center;gap:6px;display:flex}.field-saving{color:var(--gray-600);font-size:.85rem;font-style:italic;font-weight:400}.field-saved{color:var(--success);flex-shrink:0}.auth-modal__input{border:1px solid #3b82c840;border-radius:10px;padding:10px 12px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.auth-modal__input[type=password]{letter-spacing:.1em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:1rem}.auth-modal__input:focus{border-color:var(--muted-red);outline:none;box-shadow:0 0 0 3px #ff784926}.auth-modal__password-requirements{flex-direction:column;gap:6px;margin-top:8px;display:flex}.auth-modal__requirement{color:var(--gray-600);align-items:center;gap:6px;font-size:.875rem;transition:color .2s;display:flex}.auth-modal__requirement.valid{color:var(--success-dark)}.auth-modal__requirement-icon{flex-shrink:0}.auth-modal__requirement:not(.valid) .auth-modal__requirement-icon{color:var(--gray-400)}.auth-modal__requirement.valid .auth-modal__requirement-icon{color:var(--success-dark)}.phone-input{width:100%}.phone-input__wrapper{background:#fff;border:1px solid #3b82c840;border-radius:10px;align-items:stretch;transition:border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.phone-input__wrapper:focus-within{border-color:var(--muted-red);box-shadow:0 0 0 3px #ff784926}.phone-input__wrapper .phone-input__input--error{border-color:var(--danger)}.phone-input__wrapper:has(.phone-input__input--error){border-color:var(--danger)}.phone-input__country-code{color:var(--gray-700);-webkit-user-select:none;user-select:none;cursor:not-allowed;background:#3b82c80d;border-right:1px solid #3b82c840;align-items:center;padding:10px 12px;font-size:1rem;display:flex}.phone-input__country-code-text{font-weight:500}.phone-input__input-wrapper{flex:1;align-items:center;display:flex;position:relative}.phone-input__input{background:0 0;border:none;outline:none;flex:1;padding:10px 12px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.phone-input__input--error{color:var(--danger)}.phone-input__error-icon{color:var(--danger);pointer-events:none;align-items:center;display:flex;position:absolute;right:12px}.phone-input__error-message{color:var(--danger);align-items:center;gap:4px;margin-top:6px;font-size:.875rem;display:flex}.auth-modal__code-row{gap:8px;display:flex}.auth-modal__ghost-button{cursor:pointer;color:var(--primary);background:0 0;border:1px solid #3b82c840;border-radius:10px;align-items:center;gap:6px;padding:0 12px;font-weight:600;display:inline-flex}.auth-modal__ghost-button:disabled{opacity:.6;cursor:not-allowed}.auth-modal__submit{color:#fff;background:linear-gradient(135deg,var(--muted-red),var(--coral));cursor:pointer;border:none;border-radius:12px;margin-top:8px;padding:12px;font-size:1rem;font-weight:700;transition:transform .15s,box-shadow .15s;box-shadow:0 10px 20px #ff784933}.auth-modal__submit:disabled{opacity:.7;cursor:not-allowed;box-shadow:none}.auth-modal__submit:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 12px 22px #ff784940}.auth-modal__footer{text-align:center;color:var(--gray-600);margin-top:20px;font-size:.9rem}.auth-modal__footer-text{color:var(--gray-600)}.auth-modal__footer-link{color:var(--primary);cursor:pointer;font-weight:600;font-size:inherit;text-decoration:none;transition:color .2s;box-shadow:none!important;text-transform:none!important;letter-spacing:normal!important;background:0 0!important;border:none!important;min-height:auto!important;padding:0!important;transform:none!important}.auth-modal__footer-link:hover{color:var(--muted-red);text-decoration:underline;box-shadow:none!important;background:0 0!important;transform:none!important}.match-card-edit-icon{width:32px;height:32px;color:var(--primary);z-index:10;pointer-events:none;background:0 0;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:10px;right:10px}.match-card-edit-icon svg{stroke-width:2px}.match-card.editable:hover .match-card-edit-icon{color:var(--teal)}.match-card.editable:hover .match-card-edit-icon svg{stroke-width:2.5px}.active-session-row{border-left:3px solid var(--success);background:#10b9810d!important}.active-session-row:hover{background:#10b9811a!important}.active-session-badge-small{background:var(--success);color:#fff;text-transform:uppercase;letter-spacing:.3px;vertical-align:middle;border-radius:8px;margin-left:8px;padding:2px 8px;font-size:.7em;font-weight:700;display:inline-block}.active-session-panel{border:1px solid var(--gray-200);background:#fff;border-radius:8px;margin-bottom:12px;padding:28px;box-shadow:0 1px 3px #0000001a}.session-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.session-title-group{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.recording-badge{background:var(--gray-100);border:1px solid var(--gray-300);text-transform:uppercase;letter-spacing:1px;color:var(--gray-700);border-radius:6px;align-items:center;gap:6px;padding:5px 12px;font-size:.75em;font-weight:600;display:inline-flex}.recording-dot{background:#ef4444;border-radius:50%;width:8px;height:8px;animation:1.5s infinite recording-blink}@keyframes recording-blink{0%,to{opacity:1}50%{opacity:.3}}.signed-up-badge{border:1px solid var(--success-dark);text-transform:uppercase;letter-spacing:1px;color:var(--success-dark);background:0 0;border-radius:6px;align-items:center;gap:6px;margin-left:8px;padding:5px 12px;font-size:.75em;font-weight:600;display:inline-flex}.signed-up-dot{background:var(--success-dark);border-radius:50%;width:8px;height:8px}.session-name{letter-spacing:-.5px;color:var(--muted-red);margin:0;font-size:1.8em;font-weight:800}.session-stats{flex-wrap:wrap;gap:20px;display:flex}.session-stats-clickable{cursor:pointer;transition:opacity .2s}.session-stats-clickable:hover{opacity:.8}.session-stat{align-items:center;gap:8px;font-size:.95em;font-weight:600;display:flex}.session-stat:first-child{color:var(--primary)}.session-stat:nth-child(2){color:var(--gray-700)}.session-delete-btn{color:#ef4444;cursor:pointer;box-shadow:none;background:0 0;border:none;justify-content:center;align-items:center;margin-left:8px;padding:0;transition:none;display:flex;transform:none}.session-delete-btn:hover{box-shadow:none;background:0 0;transform:none}.session-delete-btn:active{transform:none}.session-actions{flex-wrap:wrap;justify-content:flex-start;gap:12px;margin-bottom:24px;display:flex}.session-btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px;font-family:Urbanist,sans-serif;font-size:.8em;font-weight:500;transition:all .15s;display:inline-flex}.session-btn-add{background:var(--primary);color:#fff}.session-btn-add:hover,.session-btn-add:active{background:var(--deep-ocean)}.session-btn-upload{background:var(--secondary,#6366f1);color:#fff}.session-btn-upload:hover{background:var(--secondary-dark,#4f46e5)}.session-btn-upload:active{background:var(--secondary-dark,#4338ca)}.session-btn-submit{background:var(--muted-red);color:#fff;white-space:nowrap;box-shadow:0 2px 4px #ff784933}.session-btn-submit:hover{color:#fff;background:#e55a2b;transform:translateY(-1px);box-shadow:0 4px 8px #ff78494d}.session-btn-submit:active{background:#cc4a24;transform:translateY(0);box-shadow:0 1px 2px #ff784933}.session-btn-delete{color:#fff;background:#dc2626}.session-btn-delete:hover{color:#fff;background:#b91c1c}.session-btn-delete:active{color:#fff;background:#991b1b}.session-btn:disabled{opacity:.5;cursor:not-allowed}.session-season-row{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:16px;padding:.75rem 1rem;display:flex}.session-season-row .session-season-selector{border-bottom:none;flex:1;min-width:0;margin-bottom:0;padding:0}.session-btn-delete-header{flex-shrink:0}.session-season-selector{border-bottom:1px solid #e5e7eb;align-items:center;gap:.5rem;margin-bottom:16px;padding:.75rem 1rem;display:flex}.session-season-label{color:#6b7280;font-size:14px;font-weight:500}.season-dropdown-wrapper{display:inline-block;position:relative}.season-selector-wrapper-inline{justify-content:flex-end;align-self:flex-end;width:100%;display:inline-flex}.season-filter-dropdown{cursor:pointer;appearance:none;background-image:none;border:1px solid #ccc;border-radius:6px;padding:.5rem 2rem .5rem .75rem;font-size:14px}.season-filter-dropdown option[data-active=true]{background-color:var(--success-lighter)}.season-filter-chevron{pointer-events:none;color:#666;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.season-dropdown-trigger{cursor:pointer;background-color:#f3f4f6;border:1px solid #0000;border-radius:4px;align-items:center;gap:.5rem;padding:.25rem .5rem;font-size:14px;display:inline-flex}.season-dropdown-trigger.error{border:1px solid red}.season-dropdown-menu{z-index:3001;background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;min-width:200px;max-height:300px;margin-top:.25rem;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 4px 6px -1px #0000001a}.season-dropdown-option{cursor:pointer;background-color:#0000;flex-direction:column;gap:.25rem;padding:.5rem .75rem;display:flex}.season-dropdown-option.selected{background-color:#f3f4f6}.season-dropdown-option:not(.selected):hover{background-color:#f9fafb}.season-name{font-weight:400}.season-dropdown-option.selected .season-name{font-weight:600}.season-dates{color:#6b7280;font-size:12px}.season-id-text{color:#6b7280;font-size:14px}.session-matches-section{margin-top:24px}.session-matches-label{text-transform:uppercase;letter-spacing:1px;color:var(--gray-600);margin-bottom:16px;font-size:.85em;font-weight:600}.session-empty-state{text-align:center;background:var(--gray-50);border:2px dashed var(--gray-300);border-radius:12px;padding:40px}.session-empty-icon{opacity:.3;color:var(--gray-400);margin-bottom:12px}.session-empty-text{opacity:.7;color:var(--gray-600)}.league-signups-section,.league-schedules-section{padding:20px 24px}.league-signups-list,.league-schedules-list{flex-direction:column;gap:8px;min-width:350px;display:flex}.league-signup-row,.league-schedule-row{border:1px solid var(--gray-200);background:#fff;border-radius:8px;flex-direction:column;min-width:350px;padding:12px 16px;transition:all .2s;display:flex}.league-signup-row:hover:not(.past):not(.closed){border-color:var(--gray-300);box-shadow:0 2px 4px #0000000d}.league-signup-row.past{opacity:.7;background:var(--gray-50)}.league-signup-row.closed{border-color:var(--gray-300);background:var(--gray-50)}.league-schedule-row:hover{border-color:var(--gray-300);box-shadow:0 2px 4px #0000000d}.league-signup-info,.league-schedule-info{width:100%}.league-signup-main,.league-schedule-main{grid-template-columns:1fr auto;align-items:flex-start;gap:16px;width:100%;display:grid}.league-signup-details,.league-schedule-details{min-width:200px;overflow:hidden}.league-signup-title,.league-schedule-title{color:var(--gray-900);word-wrap:break-word;overflow-wrap:break-word;margin-bottom:6px;font-size:.95em;font-weight:500}.league-signup-meta,.league-schedule-meta{color:var(--gray-600);flex-wrap:wrap;gap:12px;margin-bottom:4px;font-size:.85em;display:flex}.league-signup-meta-item{flex-shrink:0;align-items:center;gap:4px;display:flex}.league-signup-status{color:var(--gray-600);word-wrap:break-word;overflow-wrap:break-word;margin-top:4px;font-size:.8em;font-style:italic}.league-signup-actions,.league-schedule-actions{flex-wrap:nowrap;justify-self:end;align-items:center;gap:8px;min-width:fit-content;display:flex}.league-signup-actions>.league-signup-actions-group{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:8px;min-width:fit-content;display:flex}.league-signup-actions-group{white-space:nowrap;flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:8px;min-width:fit-content;display:flex}.league-signup-actions-group>*{flex-grow:0;flex-shrink:0}.league-signup-actions-group .league-text-button{white-space:nowrap;flex-shrink:0;align-items:center;min-width:fit-content;display:inline-flex}.league-signup-actions-group .league-text-button *{white-space:nowrap;flex-shrink:0;display:inline-block}.league-signup-remove,.league-schedule-remove{opacity:0;width:28px;height:28px;color:var(--danger);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.league-signup-row:hover .league-signup-remove,.league-schedule-row:hover .league-schedule-remove,.league-signup-row.admin .league-signup-remove{opacity:1}.league-signup-remove:hover,.league-schedule-remove:hover{background:var(--gray-50);color:var(--danger)}.league-signup-remove:active,.league-schedule-remove:active{background:var(--gray-100);transform:scale(.95)}.league-signup-players{border-top:1px solid var(--gray-200);flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;display:flex}.league-signup-player-item{background:var(--gray-50);border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;padding:8px 12px;transition:border-color .2s;display:flex}.league-signup-player-item.current-player{border:1px solid var(--success-dark);background:0 0}.league-signup-player-order{color:var(--gray-600);min-width:24px;font-size:.9em;font-weight:600}.league-signup-player-name{color:var(--gray-900);flex:1;font-size:.9em;font-weight:500}.league-signup-player-time{color:var(--gray-600);font-size:.8em}.league-text-button.danger{color:var(--danger)}.league-text-button.danger:hover{color:var(--danger);background:#ef44441a}.signup-players-modal-list{flex-direction:column;gap:12px;max-height:400px;display:flex;overflow-y:auto}.signup-player-modal-item{background:var(--gray-50);border-radius:8px;align-items:center;gap:8px;padding:12px;display:flex}.signup-player-modal-item .player-modal-order{color:var(--gray-600);min-width:24px;font-size:.9em;font-weight:600}.signup-player-modal-item .player-modal-name{color:var(--warm-brown);flex:1;font-size:1rem;font-weight:600}.signup-player-modal-item .player-modal-time{color:var(--gray-600);font-size:.875rem}.modal-close-button{cursor:pointer;color:var(--gray-600);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:color .2s;display:flex}.modal-close-button:hover{color:var(--warm-brown)}.form-group{margin-bottom:16px}.form-group label{color:var(--warm-brown);margin-bottom:6px;font-size:.875rem;font-weight:500;display:block}.form-group .required{color:var(--danger)}.form-group small{color:var(--gray-600);margin-top:4px;font-size:.75rem;display:block}.form-input{border:2px solid var(--gray-200);border-radius:8px;width:100%;padding:10px 12px;font-size:.875rem;transition:border-color .2s}.form-input:focus{border-color:var(--primary);outline:none}.form-input select{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='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.team-inputs-row.reverse-layout{flex-direction:row-reverse}.league-messages-tab{max-width:800px;margin:14px}.league-messages-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.league-messages-header h2{color:var(--gray-900);margin:0;font-size:1.5rem;font-weight:600}.league-messages-refresh-btn{border:1px solid var(--gray-300);cursor:pointer;color:var(--gray-600);background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.league-messages-refresh-btn:hover{background:var(--gray-100);color:var(--gray-800)}.league-messages-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.league-messages-refresh-btn .spinning{animation:1s linear infinite spin}.league-messages-form{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.league-messages-input{border:1px solid var(--gray-300);background:var(--white);resize:vertical;border-radius:8px;width:100%;min-height:80px;padding:12px 16px;font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.league-messages-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #3b82f61a}.league-messages-send-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-left:auto;padding:12px 20px;font-size:.95rem;font-weight:500;transition:background .2s;display:flex}.league-messages-send-btn:hover:not(:disabled){background:var(--primary)}.league-messages-send-btn:disabled{opacity:.6;cursor:not-allowed}.league-messages-list{flex-direction:column;gap:12px;display:flex}.league-messages-loading,.league-messages-empty{text-align:center;color:var(--gray-500);padding:40px 20px;font-size:.95rem}.league-message-item{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:12px;padding:14px 16px}.league-message-item.own-message{background:var(--primary);border-color:var(--primary)}.league-message-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.league-message-player{color:var(--gray-800);font-size:.9rem;font-weight:600}.league-message-time{color:var(--gray-500);font-size:.8rem}.league-message-content{color:var(--gray-700);white-space:pre-wrap;word-break:break-word;font-size:.95rem;line-height:1.5}.profile-page{background:linear-gradient(135deg,#f7f8f9,#fafbfc,#f7f8f9);min-height:100vh;padding:80px 20px 40px}.profile-page__container{max-width:800px;margin:0 auto}.profile-page__header{margin-bottom:32px}.profile-page__header h1{color:var(--gray-900);margin:0;font-size:2rem;font-weight:700}.profile-page-content{width:100%;max-width:100%;padding:16px}.profile-page__section{box-shadow:var(--shadow-md);background:#fff;border-radius:20px;margin-bottom:24px}.profile-page__section-title{color:var(--gray-900);margin:0 0 20px;font-size:1.5rem;font-weight:600}.profile-page__form{flex-direction:column;gap:14px;display:flex}.profile-page__form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.profile-page__help-text{color:var(--gray-600);margin-top:4px;font-size:.875rem}.auth-modal__legal-text{color:var(--gray-600);text-align:center;margin-top:12px;font-size:.75rem;line-height:1.4}.auth-modal__legal-text a{color:var(--primary);text-decoration:underline}.auth-modal__legal-text a:hover{color:var(--primary-dark)}.app-container{flex-direction:column;min-height:100dvh;display:flex}.main-content{flex:1}.site-footer{border-top:1px solid var(--gray-200);background:#fff;margin-top:auto;padding:32px 24px}.footer-content{flex-direction:column;align-items:center;gap:16px;max-width:1200px;margin:0 auto;display:flex}.footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.footer-link{color:var(--gray-600);align-items:center;gap:6px;font-size:.875rem;text-decoration:none;transition:color .2s;display:inline-flex}.footer-link:hover{color:var(--primary)}.footer-separator{color:var(--gray-300);font-size:.75rem}.feedback-button{cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit}.footer-copyright{color:var(--gray-400);font-size:.75rem}.feedback-modal{width:min(500px,100%)}.feedback-textarea{resize:vertical;min-height:120px}.feedback-success{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:40px 20px;display:flex}.feedback-success h3{color:var(--gray-900);margin:0;font-size:1.5rem}.feedback-success p{color:var(--gray-600);margin:0}.text-success{color:var(--success)}.home-tab-container{flex-direction:column;gap:24px;display:flex}.home-header-row{justify-content:space-between;align-items:center;padding:16px 20px 0;display:flex}.home-header-left{align-items:center;transition:opacity .2s;display:flex}.home-header-left:hover{opacity:.7}.home-header-name{color:var(--gray-900);font-size:1.125rem;font-weight:600}.home-header-right{gap:8px;display:flex}.home-header-icon-btn{width:45px;height:45px;color:var(--primary-dark);cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;transition:all .2s;display:flex}.home-header-icon-btn:hover{color:var(--primary);background:var(--gray-100)}.home-stats-row{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.home-stat-card{box-shadow:var(--shadow-sm);border:1px solid var(--gray-200);background:#fff;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:20px 8px;transition:all .2s;display:flex}.home-stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.home-stat-icon{color:var(--primary);margin-bottom:8px}.home-stat-label{color:var(--gray-600);text-align:center;max-width:6.5em;min-height:1.7rem;margin-bottom:4px;font-size:.875rem}.home-stat-value{color:var(--gray-900);font-size:1.5rem;font-weight:700}.home-content-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (min-width:769px) and (max-width:890px){.rankings-table-modern{min-width:auto}.rankings-table-modern th{padding:14px 2px;font-size:.8rem}.rankings-stat-cell{padding:14px 2px;font-size:.875rem}.rankings-table-modern th:nth-child(3),.rankings-table-modern td:nth-child(3){min-width:40px}.rankings-table-modern th:nth-child(4){min-width:60px}.rankings-table-modern th.rank-number-header,.rank-number-cell{padding:14px 1px 14px 6px}}@media (min-width:769px){.mobile-hide-col{display:table-cell!important}}@media (max-width:768px){body{padding:0;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.navbar-container{height:52px;padding:0 12px}.navbar-brand-text{letter-spacing:.06em;font-size:1.2em}.navbar-menu-button{padding:6px 10px;font-size:.9em}.navbar-menu-label{display:none}.navbar-dropdown{min-width:200px}.navbar-dropdown-item{padding:12px 16px;font-size:.9em}.container{margin-top:calc(56px + env(safe-area-inset-top,0))}.league-dashboard-container{margin-top:calc(56px + env(safe-area-inset-top,0));padding-top:0;padding-bottom:calc(72px + env(safe-area-inset-bottom,0))}.league-dashboard{flex-direction:column}.sidebar,.league-sidebar{padding-bottom:env(safe-area-inset-bottom,0);order:2;overflow:visible;transform:none;z-index:1000!important;background:#fff!important;border:none!important;border-top:1px solid #00000014!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:auto!important;margin:0!important;position:fixed!important;inset:auto 0 0!important;box-shadow:0 -2px 8px #00000014!important}.sidebar.collapsed,.league-sidebar.collapsed{width:100%!important;height:auto!important;position:fixed!important;inset:auto 0 0!important}body.modal-open .sidebar,body.modal-open .league-sidebar,body.drawer-open .sidebar,body.drawer-open .league-sidebar,.sidebar .league-sidebar-header{display:none!important}.league-sidebar .league-sidebar-header{border-bottom:1px solid #0000000a;justify-content:center;align-items:center;width:100%;padding:8px 16px 4px;display:flex!important}.league-sidebar-collapse-btn{visibility:hidden!important;display:none!important}.league-sidebar-title-wrapper-container{flex:none;justify-content:center;width:auto;max-width:100%;display:flex!important}.league-sidebar-title-wrapper{justify-content:center;width:auto;max-width:100%;padding:0;display:flex!important}.league-sidebar-title{word-wrap:break-word;overflow-wrap:break-word;white-space:nowrap;text-overflow:ellipsis;text-align:center;max-width:80vw;font-size:1rem;overflow:hidden;display:block!important}.league-sidebar-nav{flex:none;justify-content:space-around;gap:0;width:100%;flex-direction:row!important;padding:0!important}.league-sidebar-nav-item{border-radius:8px;flex-direction:column;flex:1;justify-content:center;gap:2px;min-height:56px;padding:0}.league-sidebar-nav-item span{text-align:center;font-size:12px;font-weight:500;display:block!important}.sidebar.collapsed .league-sidebar-nav-item span,.league-sidebar.collapsed .league-sidebar-nav-item span{display:block!important}.league-sidebar-dropdown{top:auto!important;bottom:calc(100% + 8px)!important}.league-sidebar-dropdown-menu{animation:.2s ease-out slideUp!important}.league-sidebar-nav-item.active:before{display:none}.league-sidebar-nav-item.active{color:var(--primary-darker)}.league-sidebar-nav-item svg{width:22px;height:22px}.notifications-menu-item-desktop,.find-leagues-menu-item-desktop{display:none!important}.more-menu-item-mobile{display:flex!important}.league-content-header{padding:8px 4px}.league-content-header-text{font-size:1.5rem}.home-content,.league-content{order:1;padding-bottom:90px;margin-left:0!important}.sidebar.collapsed~.home-content,.sidebar.collapsed~.league-content,.league-sidebar.collapsed~.league-content{margin-bottom:90px;margin-left:0!important}.league-content>:not(.league-content-header){padding:8px!important}.add-matches-card{padding:24px 20px}.add-matches-icon{width:48px;height:48px;margin:12px auto}.add-matches-icon svg{width:20px;height:20px}.add-matches-title{font-size:1.25rem}.add-matches-description{font-size:.9rem}.league-details-new{gap:24px}.league-description-section,.league-players-section,.league-seasons-section,.league-info-section{padding:16px 20px}.league-section-title{font-size:1em}.league-seasons-grid{grid-template-columns:1fr}.league-table{font-size:.9em}.league-table th,.league-table td{padding:10px 8px}.league-empty-state{padding:32px 16px}.hero-header{border-radius:10px 10px 0 0;height:180px}h1.hero-title{padding:0 10%}h1{text-align:center;padding:0 10px;font-size:1.75em}.subtitle{text-align:center;padding:0 10px;font-size:.9em}.landing-message h2,.landing-welcome-title{font-size:1.5rem}.dashboard-container{padding:24px 16px}.dashboard-widgets{grid-template-columns:1fr;gap:20px}.dashboard-widget-header,.dashboard-widget-content{padding:16px 20px}.dashboard-league-item,.dashboard-match-item{padding:12px}.dashboard-league-name{font-size:.95rem}.dashboard-league-meta{font-size:.8rem}.landing-brand-crown{width:24px;height:24px}table{-webkit-overflow-scrolling:touch;box-shadow:4px 4px 0px var(--sand);font-size:1em;display:block;overflow-x:auto}.rankings-table-modern{display:table!important}th,td{min-width:70px;padding:10px 8px;font-size:1em}th{font-size:.875em}.rankings-table-modern th,.rankings-table-modern td{min-width:auto!important}.sticky-col{max-width:120px;min-width:100px!important}tbody .sticky-col{box-shadow:3px 0 6px #0000001a}.rankings-table-wrapper{border-left:1px solid var(--gray-300);border-right:1px solid var(--gray-300);-webkit-overflow-scrolling:touch;border-radius:8px;width:100%;max-width:100%;margin:0;overflow-x:auto}.rankings-table-modern{overscroll-behavior-x:none;table-layout:auto;width:100%;min-width:100%;margin-bottom:8px;font-size:.875em;position:relative}.rankings-table-modern th{white-space:nowrap;padding:12px 6px;font-size:.72em}.rankings-table-modern td{padding:12px 8px;font-size:.85em}.rankings-table-modern th .desktop-label{display:none}.rankings-table-modern th .mobile-label{display:inline}.rankings-table-modern th.rank-number-header{width:30px;min-width:30px;max-width:30px;padding:12px 1px 12px 6px;font-size:.72em}.rank-number-cell{width:30px;min-width:30px;max-width:30px;padding:12px 1px 12px 12px;font-size:.7rem}.rankings-table-modern thead .sticky-col{left:30px}.rankings-table-modern tbody .sticky-col{width:auto;min-width:auto;left:30px}.player-avatar{display:none}.mobile-hide-col{display:table-cell!important}.rankings-name-cell{width:auto;min-width:auto;padding:0 2px}.rankings-table-modern thead .sticky-col{width:auto;min-width:auto}.rankings-stat-cell{white-space:nowrap;padding:12px 3px}.rankings-table-modern th:nth-child(n+3),.rankings-table-modern td:nth-child(n+3){width:auto;min-width:auto}.rankings-table-modern th:nth-child(3),.rankings-table-modern td:nth-child(3){padding-left:12px}.player-details table.player-stats-table{min-width:auto}.player-stats-table{width:100%;min-width:100%;font-size:.875em}.player-stats-table th{white-space:nowrap;padding:12px 4px;font-size:.72em}.player-stats-table td{padding:12px 4px;font-size:.85em}.player-stats-table th .desktop-label{display:none}.player-stats-table th .mobile-label{display:inline}.player-stats-table th.player-stats-name-col{z-index:10;background:linear-gradient(135deg,var(--primary-darker)0%,var(--primary-dark)100%);min-width:100px;max-width:120px;padding:12px 6px;position:sticky;left:0;box-shadow:2px 0 2px #0000000d}.player-stats-table td.player-stats-name-col{z-index:9;background:#fff;min-width:100px;max-width:120px;padding:12px 6px;position:sticky;left:0;box-shadow:2px 0 2px #00000008}.player-stats-table tbody tr.row-gray td.player-stats-name-col{background:var(--gray-50)}.player-stats-table tbody tr:hover td.player-stats-name-col{background:#00000008}.player-stats-table th:not(.player-stats-name-col),.player-stats-table td.player-stats-stat-cell{white-space:nowrap;width:auto;min-width:auto;padding:12px 3px}.player-stats-table th:nth-child(2),.player-stats-table td:nth-child(2){padding-left:8px}.league-section{margin-bottom:16px;padding:0}.rankings-filters-row{gap:8px;max-width:100%;margin-bottom:16px}.player-search-wrapper{flex:1;min-width:0;max-width:none}.player-search-icon{width:14px;height:14px;left:8px}.player-search-input{max-width:100%;height:36px;padding:9px 8px 9px 28px;font-size:13px}.season-selector-wrapper{flex:1;min-width:fit-content;max-width:fit-content}.season-selector-wrapper:before{font-size:.5em;left:6px}.season-selector-dropdown{width:100%;max-width:100%;height:36px;padding:9px 8px;font-size:12px}.controls{flex-direction:column;gap:10px;width:100%}.controls button,.controls a,.controls a button{width:100%}button{font-size:.9em}.league-player-remove{opacity:1}.tabs{-webkit-overflow-scrolling:touch;gap:4px}.tab{flex:1;min-width:120px;padding:10px 16px;font-size:.8em}.match-cards{grid-template-columns:1fr;gap:12px}.match-card{border-width:2px}.match-card-header{padding:6px 10px}.match-team{padding:10px 12px}.match-date-header{font-size:1.1em}.team-score{font-size:1.2em}.team-players{flex:1;min-width:0}.player-details{max-width:100%;padding:12px 16px;padding-top:calc(10px + env(safe-area-inset-top));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(16px,env(safe-area-inset-bottom));border-left:none;top:0;z-index:2002!important}.player-details h2{font-size:1.4em}.player-details h3{margin-top:24px;margin-bottom:12px;font-size:1.1em}.player-details-close-btn{width:40px;height:40px;padding:10px;top:12px;right:12px}.player-selector-container{flex-direction:row;align-items:center;gap:10px;margin-top:8px;margin-bottom:20px}.player-selector-wrapper{min-width:0}.player-selector-name{font-size:1.3em}.player-selector-current{padding:10px 12px}.player-selector-dropdown{max-height:300px}.player-details>.close-btn{margin-bottom:0;padding:8px 12px;font-size:.8em}.loading{padding:24px 16px;font-size:1em}.error,.success{padding:12px;font-size:.9em}}@media (max-width:576px){body{padding:0;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.navbar-container{height:52px;padding:0 12px}.navbar-brand-text{letter-spacing:.05em;font-size:1.1em}.navbar-menu-button{padding:6px 8px;font-size:.85em}.navbar-dropdown{min-width:180px}.navbar-dropdown-item{padding:10px 14px;font-size:.85em}.container{border-width:2px;margin-top:52px}.league-dashboard-container{margin-top:52px;padding-bottom:68px}.league-sidebar-header{display:none}.league-sidebar-nav-item{min-height:52px;padding:6px 2px}.league-sidebar-nav-item span{font-size:.65em}.league-sidebar-nav-item svg{width:20px;height:20px}.league-content-header{padding:6px 2px}.league-content-header-text{font-size:1.25rem}.league-content>:not(.league-content-header){padding:8px}.add-matches-card{padding:20px 16px}.add-matches-icon{width:44px;height:44px;margin:10px auto}.add-matches-icon svg{width:18px;height:18px}.add-matches-title{font-size:1.1rem}.add-matches-description{font-size:.85rem}h1{font-size:1.5em}.landing-message h2,.landing-welcome-title{font-size:1.25rem}.landing-brand-crown{width:20px;height:20px}.hero-header{height:150px}.match-team{padding:10px 12px}.team-players{max-width:calc(100% - 50px)}.team-score{font-size:1.2em}table{font-size:.9em}th,td{min-width:60px;padding:8px 6px}.rankings-table-modern th,.rankings-table-modern td{min-width:auto}.sticky-col{max-width:95px;padding-left:6px;padding-right:6px;min-width:85px!important}.rankings-table-modern{margin-bottom:4px;font-size:.8em}.rankings-table-modern th{padding:10px 5px;font-size:.68em}.rankings-table-modern td{padding:2px 8px;font-size:.8em}.rankings-table-modern th.rank-number-header{width:30px;min-width:30px;max-width:30px;padding:10px 1px 10px 6px;font-size:.68em}.rank-number-cell{width:30px;min-width:30px;max-width:30px;padding:10px 1px 10px 10px;font-size:.65rem}.rankings-table-modern thead .sticky-col{left:30px}.rankings-table-modern tbody .sticky-col{padding:4px 2px;left:30px}.player-avatar{display:none}.rankings-name-cell{width:auto;min-width:auto;padding:4px 2px}.rankings-stat-cell{white-space:nowrap;min-width:45px;max-width:none;padding:10px 4px}.rankings-table-modern th:nth-child(n+3),.rankings-table-modern td:nth-child(n+3){width:auto;min-width:auto}.rankings-table-modern th:nth-child(3),.rankings-table-modern td:nth-child(3){padding-left:12px}.league-section{margin-bottom:12px;padding:0}.tab{min-width:100px;padding:8px 12px;font-size:.75em}.player-selector-name{font-size:1.3em}.match-date-header{padding-bottom:6px;font-size:1em}.match-date-group{gap:12px}.player-overview{margin:0;padding:0}.overview-stat{gap:8px;padding:8px 10px}.overview-icon{width:20px;height:20px}.overview-label{font-size:.7em}.overview-value{font-size:1.2em}}@media (max-width:896px) and (orientation:landscape){.hero-header{height:120px}h1{font-size:1.5em}}@media (min-width:769px){.match-config-top-row{gap:10px}}@media (max-width:768px){.radio-card-group{gap:10px;width:100%;max-width:100%;grid-template-columns:1fr!important}.radio-card-group.radio-card-group-2,.radio-card-group.radio-card-group-3{grid-template-columns:1fr!important}}@media (hover:hover) and (pointer:fine){.radio-card:hover:not(.disabled):not(:has(input:disabled)){transform:translateY(-1px)}}@media (min-width:769px){.radio-card{flex-direction:column;justify-content:center;align-items:flex-start;gap:0}.radio-card-header{margin-bottom:8px}.radio-card-description{display:block}.radio-card-title{white-space:normal;font-size:1em}}@media (max-width:768px){.league-sidebar.collapsed .league-sidebar-title-wrapper-container,.sidebar.collapsed .league-sidebar-title-wrapper-container{display:flex!important}}@media (min-width:769px){.modal-overlay{align-items:center;padding:20px}.modal-content{border:1px solid var(--gray-200);border-radius:16px;flex-direction:column;max-width:650px;height:auto;max-height:90vh;animation:.3s cubic-bezier(.4,0,.2,1) slideUp;display:flex;box-shadow:0 25px 50px -12px #00000040}.league-members-modal-title{font-size:1.15rem}.modal-header-actions{gap:6px}.league-members-title{font-size:1em}.drawer-modal{border:1px solid var(--gray-200);background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:650px;height:auto;max-height:90vh;animation:.3s cubic-bezier(.4,0,.2,1) slideUp;display:flex;position:relative;box-shadow:0 25px 50px -12px #00000040}.modal-header{border-radius:20px 20px 0 0;flex-shrink:0;padding:8px 12px}.modal-header h2{font-size:1.1rem}.add-match-form,.create-league-form{flex:1;min-height:0;margin-bottom:0;padding:16px;overflow:hidden auto}.modal-actions{border-top:1px solid var(--gray-100);background:#fff;border-radius:10px;flex-shrink:0;justify-content:flex-end;padding:10px 12px}.modal-actions button{min-width:auto}}@media (max-width:768px){.drawer-modal{background:#fff;border:none;border-radius:20px 20px 0 0;flex-direction:column;width:100%;max-width:100%;max-height:90vh;animation:.3s cubic-bezier(.16,1,.3,1) slideUpMobile;display:flex;position:fixed;inset:auto 0 0;overflow:hidden;transform:none;box-shadow:0 -4px 20px #00000026}.match-config-header-row{flex-wrap:nowrap;gap:8px;padding-right:4px;overflow-x:auto}.match-config-inline-controls{flex-wrap:nowrap;gap:16px}.match-type-option.compact,.ranked-toggle-option.compact{white-space:nowrap;padding:6px 10px;font-size:.75rem}.match-config-toggle.inline{flex-shrink:0}.modal-header{padding:8px 12px}.modal-header h2{font-size:1.1rem}.add-match-form{margin-bottom:32px;padding:20px}.create-league-form{margin-bottom:0;padding:20px}.form-group{margin-bottom:20px}.radio-card{min-height:auto;padding:12px 14px}.radio-card-title{font-size:.9em}.team-section{gap:8px;padding:14px}.player-dropdown-trigger{padding:14px 16px}.player-dropdown-input{min-height:48px;padding:14px 16px;font-size:16px}.team-inputs-row{gap:8px}.score-input{width:60px;font-size:1.8em}.scorecard-digit-input{width:45px;height:60px;font-size:1.8em}.team-header{gap:8px;margin-bottom:0;padding-right:21px;position:absolute;top:12px;right:12px}.team-section{position:relative}.team-section.is-winner{border:2px solid var(--success)}.team-section h3{font-size:.95em}.winner-badge{display:none}.vs-divider{padding:4px 0;font-size:1.2em}.player-dropdown-option{font-size:.9em}.form-error{margin-bottom:12px;padding:10px;font-size:13px}.add-matches-card{padding:36px 24px}.add-matches-icon{width:64px;height:64px;margin:20px auto}.add-matches-title{font-size:1.5rem}.add-matches-description{font-size:.95rem}.match-date-header-container{flex-direction:column;align-items:flex-start}.btn-end-session-header{justify-content:center;width:100%}.add-match-card{min-height:120px;padding:30px 20px;font-size:1em}}.admin-view-container{max-width:800px;box-shadow:var(--shadow-lg);background-color:#fff;border-radius:12px;margin:2rem auto;padding:2rem}.admin-view-header{border-bottom:2px solid var(--gray-200);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.admin-view-container h1{color:var(--gray-900);margin:0;font-size:2rem;font-weight:700}.admin-refresh-btn{background:var(--gray-100);border:1px solid var(--gray-300);cursor:pointer;width:36px;height:36px;color:var(--gray-700);border-radius:6px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.admin-refresh-btn:hover:not(:disabled){background:var(--gray-200);border-color:var(--gray-400);color:var(--gray-900)}.admin-refresh-btn:active:not(:disabled){background:var(--gray-300);transform:scale(.95)}.admin-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.admin-refresh-btn .spinning{animation:1s linear infinite spin}.admin-view-container p{color:var(--gray-600)}.admin-settings{margin-bottom:2rem}.setting-group{border-bottom:1px solid var(--gray-200);margin-bottom:2rem;padding-bottom:1.5rem}.setting-group:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.setting-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.setting-label{color:var(--gray-900);font-size:1.1rem;font-weight:600}.setting-description{color:var(--gray-600);margin:0;font-size:.9rem;line-height:1.5}.toggle-wrapper{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;margin:0;padding:0;display:flex}.toggle-wrapper:focus{outline:none}.toggle-wrapper:focus-visible .toggle-switch{box-shadow:0 0 0 3px #2c7a8f33}.toggle-switch{background-color:var(--muted-red);cursor:pointer;border-radius:13px;width:50px;height:26px;transition:background-color .3s;display:inline-block;position:relative;box-shadow:0 2px 4px #0000001a}.toggle-switch.active{background-color:var(--success)}.toggle-switch.warning{background-color:var(--muted-red)}.toggle-switch:after{content:"";background-color:#fff;border-radius:50%;width:22px;height:22px;transition:left .3s;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0003}.toggle-switch.active:after{left:26px}.toggle-switch.warning:after{left:2px;box-shadow:0 2px 6px #e76a4166}.log-level-badge{background-color:var(--gray-100);color:var(--gray-900);border:1px solid var(--gray-300);border-radius:6px;padding:.5rem 1rem;font-family:Courier New,monospace;font-size:.9rem;font-weight:600}.log-level-select{border:1px solid var(--gray-300);color:var(--gray-900);cursor:pointer;background-color:#fff;border-radius:6px;padding:.5rem 1rem;font-family:Courier New,monospace;font-size:.9rem;font-weight:600;transition:all .15s}.log-level-select:hover{border-color:var(--primary);background-color:var(--gray-50)}.log-level-select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2c7a8f1a}.admin-actions{border-top:1px solid var(--gray-200);gap:1rem;padding-top:1.5rem;display:flex}.btn-primary{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.75rem 2rem;font-size:1rem;font-weight:500;transition:all .15s}.btn-primary:hover:not(:disabled){background:var(--primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{color:var(--gray-700);border:1px solid var(--gray-300);cursor:pointer;background:#fff;border-radius:6px;padding:.75rem 2rem;font-size:1rem;font-weight:500;transition:all .15s}.btn-secondary:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-400);color:var(--gray-900)}.btn-secondary:active:not(:disabled){background:var(--gray-100)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.admin-view-container .error-message{background-color:var(--danger-light);color:var(--danger);border:1px solid #fcc;border-radius:6px;margin-bottom:1rem;padding:1rem}.admin-view-container .success-message{background-color:var(--success-light);color:var(--success-dark);border:1px solid #cfc;border-radius:6px;margin-bottom:1rem;padding:1rem}.admin-feedback-section{border-top:1px solid var(--gray-200);margin-top:3rem;padding-top:2rem}.admin-section-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.admin-section-header h2{color:var(--gray-900);margin:0;font-size:1.5rem;font-weight:600}.admin-feedback-filters{background-color:var(--gray-50);border-radius:8px;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem;display:flex}.feedback-filter-group{align-items:center;display:flex}.feedback-search-input{border:1px solid var(--gray-300);border-radius:6px;flex:1;min-width:250px;padding:.5rem .75rem;font-size:.9rem}.feedback-search-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #3b82f61a}.feedback-filter-checkbox{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--gray-700);align-items:center;gap:.5rem;font-size:.9rem;display:flex}.feedback-filter-checkbox input[type=checkbox]{cursor:pointer;width:1.1rem;height:1.1rem;accent-color:var(--primary)}.feedback-resolve-toggle{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;display:flex}.feedback-resolve-toggle:hover .toggle-switch{opacity:.8}.feedback-resolve-toggle .toggle-switch{background-color:var(--gray-300);border-radius:.625rem;width:2.5rem;height:1.25rem;transition:background-color .2s;position:relative}.feedback-resolve-toggle .toggle-switch.active{background-color:var(--success)}.feedback-resolve-toggle .toggle-switch:after{content:"";background-color:#fff;border-radius:50%;width:1rem;height:1rem;transition:transform .2s;position:absolute;top:.125rem;left:.125rem;box-shadow:0 1px 3px #0003}.feedback-resolve-toggle .toggle-switch.active:after{transform:translate(1.25rem)}.admin-feedback-table-container{border:1px solid var(--gray-200);background-color:#fff;border-radius:8px;overflow-x:auto}.admin-feedback-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-feedback-table thead{background-color:var(--gray-50);border-bottom:2px solid var(--gray-200)}.admin-feedback-table th{text-align:left;color:var(--gray-700);white-space:nowrap;padding:.75rem 1rem;font-weight:600}.admin-feedback-table td{border-bottom:1px solid var(--gray-100);color:var(--gray-700);padding:.75rem 1rem}.admin-feedback-table tbody tr:hover{background-color:var(--gray-50)}.admin-feedback-table tbody tr.resolved{opacity:.7}.admin-feedback-table tbody tr:last-child td{border-bottom:none}.feedback-status{border-radius:12px;padding:.25rem .75rem;font-size:.8rem;font-weight:500;display:inline-block}.feedback-status.pending{color:#92400e;background-color:#fef3c7}.feedback-status.resolved{color:#065f46;background-color:#d1fae5}.feedback-text-cell{max-width:400px}.feedback-text{word-wrap:break-word;white-space:pre-wrap;line-height:1.5}@media (max-width:768px){.admin-feedback-filters{flex-direction:column;align-items:stretch}.feedback-search-input{min-width:100%}.admin-feedback-table{font-size:.85rem}.admin-feedback-table th,.admin-feedback-table td{padding:.5rem .75rem}.feedback-text-cell{max-width:200px}}@media (max-width:576px){.modal-overlay{justify-content:flex-end;align-items:flex-end;max-height:100vh;padding:8px 0 0;overflow:hidden}.modal-content{border-radius:16px 16px 0 0;flex-direction:column;width:100%;min-height:0;max-height:calc(100vh - 8px);display:flex;overflow:hidden}.add-match-form,.create-league-form{padding-bottom:16px}.modal-header{flex-shrink:0;padding:12px 14px}.modal-header h2{font-size:1em}.modal-body{padding:12px}.form-group-row{flex-direction:column;gap:0}.form-group-row .form-field{margin-bottom:24px}.form-group-row .form-field:last-child{margin-bottom:0}.modal-stats{gap:16px;margin-bottom:16px;padding-bottom:16px}.modal-stat{font-size:.85em}.modal-player-stats{margin:16px 0}.modal-stats-table{font-size:.8rem}.modal-stats-table th,.modal-stats-table td{padding:8px 10px}.modal-actions{border-top:1px solid var(--gray-100);background:#fff;border-radius:10px;flex-shrink:0;gap:8px;padding:10px 14px}.modal-actions button{padding:10px 14px}.add-match-form{flex:1;gap:16px;min-height:0;margin-bottom:32px;padding:16px;overflow-y:auto}.create-league-form{flex:1;gap:16px;min-height:0;margin-bottom:0;padding:16px;overflow-y:auto}.teams-container{grid-template-columns:1fr;gap:16px}.vs-divider-column{display:none}.vs-divider{text-align:center;color:var(--gray-400);margin:0;padding:4px 0;font-size:1rem;font-weight:600;display:block}.league-members-modal-title{font-size:1.15rem}.modal-header-actions{gap:6px}.league-members-title{font-size:1em}.modal-header{gap:8px}.dashboard-widget-title{font-size:1.15rem}.team-section{gap:12px;padding:14px}.match-config-section{gap:4px;padding:12px 16px;animation:.2s ease-out slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.match-config-top-row{grid-template-columns:1fr;gap:8px}.match-config-bottom-row{flex-direction:column;align-items:flex-start;gap:4px;padding-top:6px}.match-config-item.compact.league-item{min-width:0}.match-type-option.compact,.ranked-toggle-option.compact{padding:4px 8px;font-size:.6875rem}.league-dropdown-trigger.compact{min-height:26px;padding:4px 8px;font-size:.6875rem}.active-season-card.compact{width:100%;padding:4px 8px;font-size:.6875rem}.active-season-content{flex-direction:column;align-items:flex-start;gap:2px}.ranked-toggle-note.compact{width:100%;font-size:.625rem}.match-config-label{font-size:.625rem}.team-inputs-row{gap:18px}.score-input{width:60px;height:50px;font-size:1.6em}.scorecard-digit-input{width:45px;height:56px;font-size:1.6em}.team-header{gap:6px;margin-bottom:4px}.team-section h3{font-size:.9em}.winner-badge{padding:3px 8px;font-size:.65em}.vs-divider{padding:2px 0;font-size:1em}.form-error{margin-bottom:10px;padding:8px 10px;font-size:12px}.add-matches-card{padding:28px 20px}.add-matches-icon{width:56px;height:56px;margin:16px auto}.add-matches-title{font-size:1.25rem}.add-matches-description{font-size:.9rem}.add-matches-button{padding:12px 24px;font-size:.95rem}.add-match-card{border-width:2px;min-height:100px;padding:24px 16px;font-size:.95em}}@media (max-width:768px){.active-session-panel{padding:20px}.session-name{font-size:1.4em}.session-header{gap:12px}.session-stats{gap:16px}.session-stat{font-size:.85em}.session-actions{gap:10px}.session-btn-cancel{color:#fff;background-color:var(--ocean-gray)}}@media (max-width:576px){.active-session-panel{padding:16px}.session-name{font-size:1.2em}.recording-badge{padding:4px 10px;font-size:.65em}.session-stat{font-size:.8em}.session-empty-state{padding:32px 16px}.session-empty-icon{width:32px;height:32px}}@media (max-width:768px){.league-signup-main,.league-schedule-main{gap:12px}.league-signup-details,.league-schedule-details{min-width:0;max-width:100%}.league-signup-actions,.league-schedule-actions{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:flex-start;justify-self:start;align-items:center;width:100%;overflow-x:auto}.league-signup-actions>.league-signup-actions-group{flex-shrink:0;flex-basis:auto;min-width:fit-content}.league-signup-actions-group{flex-wrap:nowrap;flex-shrink:0;min-width:fit-content}.league-signup-actions-group .league-text-button{white-space:nowrap;flex-shrink:0;min-width:fit-content}.league-signups-section,.league-schedules-section{padding:8px 4px}.league-messages-tab{padding:16px}.league-messages-header h2{font-size:1.25rem}.profile-page{padding:80px 16px 32px}.profile-page__section{padding:20px}.profile-page__form-row{grid-template-columns:1fr}.profile-page__header h1{font-size:1.75rem}.profile-page__section-title{font-size:1.25rem}}@media (max-width:640px){.profile-page__section{margin-bottom:16px;padding:16px}.profile-page__section-title{margin:0 0 12px;font-size:1.1rem}.profile-page__form,.profile-page__form-row{gap:10px}.profile-page__section .auth-modal__label{gap:4px;font-size:.875rem}.profile-page__section .auth-modal__input{padding:8px 10px;font-size:.9rem}.profile-page__help-text{margin-top:2px;font-size:.8rem}.profile-page__section .auth-modal__submit{padding:10px;font-size:.9rem}.site-footer{padding:20px 16px;padding-bottom:calc(90px + env(safe-area-inset-bottom,0))}.footer-content{gap:8px}.footer-links{flex-wrap:wrap;gap:4px;font-size:.7rem}.footer-link{gap:4px;font-size:.7rem}.footer-link svg{width:12px;height:12px}.footer-separator{margin:0 2px;font-size:.65rem}.footer-copyright{font-size:.65rem}}@media (max-width:1024px){.home-content-grid{grid-template-columns:1fr}}@media (max-width:640px){.home-header-row{padding:12px 16px}.home-header-name{font-size:1rem}.home-stats-row{gap:8px}.home-stat-card{padding:16px 8px}.home-stat-value{font-size:1.25rem}.home-content-grid{gap:16px}}.clipboard-view-container{flex-direction:column;gap:24px;padding-bottom:40px;display:flex}.clipboard-session-card{border:1px solid var(--gray-200);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.clipboard-session-card.active-session{border:2px solid var(--primary);box-shadow:0 4px 12px #2c7a8f26}.clipboard-session-card.editing-session{border:2px solid var(--warning,#f59e0b);box-shadow:0 4px 12px #f59e0b26}.clipboard-header{background:var(--gray-50);border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.active-session .clipboard-header{background:var(--primary-lighter);border-bottom-color:var(--primary-light)}.editing-session .clipboard-header{background:#fffbeb;border-bottom-color:#fcd34d}.clipboard-header-left{flex-direction:column;gap:4px;display:flex}.clipboard-title{color:var(--gray-900);align-items:center;gap:10px;margin:0;font-size:1.1rem;display:flex}.clipboard-meta{color:var(--gray-600);align-items:center;gap:16px;font-size:.85rem;display:flex}.clipboard-meta span{align-items:center;gap:4px;display:flex}.status-badge{text-transform:uppercase;border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:600}.status-badge.active{background:var(--primary);color:#fff}.status-badge.editing{background:var(--warning,#f59e0b);color:#fff}.clipboard-actions{align-items:center;gap:12px;display:flex}.clipboard-table-wrapper{overflow-x:auto}.clipboard-table{border-collapse:collapse;width:100%;font-size:.95rem}.clipboard-table th,.clipboard-table td{text-align:left;border-bottom:1px solid var(--gray-100);padding:12px 16px}.clipboard-table th{color:var(--gray-700);text-transform:uppercase;letter-spacing:.05em;background:#fff;font-size:.85rem;font-weight:600}.clipboard-table tr:last-child td{border-bottom:none}.player-cell{flex-direction:column;gap:2px;display:flex}.player-name{color:var(--gray-800);font-weight:500}.player-name.clickable:hover{color:var(--primary);cursor:pointer;text-decoration:underline}.score-cell{color:var(--gray-900);font-size:1.1rem;font-weight:700;text-align:center!important}.winner-cell{color:var(--gray-600);font-weight:600}.winner-cell.team1-win,.winner-cell.team2-win{color:var(--primary)}.actions-cell{text-align:right}.icon-button{cursor:pointer;color:var(--gray-500);background:0 0;border:none;border-radius:4px;padding:4px;transition:all .2s}.icon-button:hover{background:var(--gray-100);color:var(--primary)}.icon-button.small{padding:2px}.add-row-button{border:none;border-top:1px dashed var(--gray-300);width:100%;color:var(--gray-500);cursor:pointer;text-align:left;text-align:center;background:0 0;padding:12px;font-weight:500;transition:all .2s}.add-row-button:hover{background:var(--gray-50);color:var(--primary)}.edit-actions,.active-actions{gap:8px;display:flex}.view-toggle{background:var(--gray-100);border-radius:8px;gap:4px;padding:4px;display:flex}.view-toggle-button{color:var(--gray-600);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.view-toggle-button.active{color:var(--primary);background:#fff;box-shadow:0 1px 2px #0000001a}.view-toggle-button:hover:not(.active){color:var(--gray-800);background:#ffffff80}.session-stats-clickable{cursor:pointer;border-radius:6px;padding:4px 8px;transition:transform .2s,background-color .2s}.session-stats-clickable:hover{background-color:var(--gray-100);transform:translateY(-1px)}.winner-text{color:var(--primary)!important;font-weight:700!important}.winner-cell-bg{background-color:var(--seafoam-light)}.clipboard-table tr:hover .winner-cell-bg{background-color:#beece5}.clipboard-winner{color:var(--primary-dark);font-weight:600}.clipboard-loser{color:var(--gray-800)}
