@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700;800;900&family=Barlow:wght@300;400;500;600;700&display=swap";:root{--primary: #0a1628;--primary-mid: #1a2e4a;--accent: #c8102e;--accent-hover: #a00d24;--accent-gold: #f7b500;--text: #0a1628;--text-secondary: #5a6a7e;--text-light: #8898aa;--bg: #f5f6f8;--bg-white: #ffffff;--bg-card: #ffffff;--border: #e2e8f0;--border-mid: #cbd5e0;--error: #ef4444;--error-bg: rgba(239, 68, 68, .1);--success: #10b981;--shadow-sm: 0 1px 4px rgba(10, 22, 40, .08);--shadow-md: 0 4px 16px rgba(10, 22, 40, .1);--shadow-lg: 0 12px 40px rgba(10, 22, 40, .13);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--font-display: "Barlow Condensed", sans-serif;--font-body: "Barlow", sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.auth-container{min-height:100vh;background:var(--bg);position:relative;overflow:hidden}.auth-container:before{content:"";position:absolute;width:100%;height:100%;background-image:repeating-linear-gradient(90deg,rgba(10,22,40,.02) 0px,rgba(10,22,40,.02) 1px,transparent 1px,transparent 60px),repeating-linear-gradient(0deg,rgba(10,22,40,.02) 0px,rgba(10,22,40,.02) 1px,transparent 1px,transparent 60px);animation:gridMove 20s linear infinite;opacity:.5;pointer-events:none}@keyframes gridMove{0%{transform:translate(0)}to{transform:translate(60px,60px)}}.loading-overlay{position:fixed;inset:0;background:#0a162899;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:999;pointer-events:all}.loading-text{margin-top:1.5rem;color:#fff;font-size:.95rem;font-weight:600;letter-spacing:.3px}.auth-split{display:grid;grid-template-columns:45% 55%;min-height:100vh;position:relative;z-index:1}.auth-brand{position:relative;background:var(--primary);display:flex;align-items:center;justify-content:center;padding:3rem;overflow:hidden;border-right:2px solid var(--border)}.auth-brand:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0px,rgba(255,255,255,.03) 1px,transparent 1px,transparent 60px);pointer-events:none}.auth-brand:after{content:"";position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-gold) 100%)}.brand-overlay{position:absolute;top:-20%;right:-15%;width:500px;height:500px;background:radial-gradient(circle,rgba(200,16,46,.15) 0%,transparent 70%);border-radius:50%;animation:float 10s ease-in-out infinite}@keyframes float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-20px,20px) scale(1.1)}}.brand-content{position:relative;z-index:2;max-width:500px;animation:fadeUp .6s ease both}.brand-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,2.8rem);font-weight:900;color:#fff;margin-bottom:.75rem;line-height:1.1;letter-spacing:.5px;text-transform:uppercase;position:relative;display:inline-block}.beta-badge{position:absolute;top:-8px;right:-65px;background:var(--accent);color:#fff;font-size:.5rem;font-weight:800;padding:4px 10px;border-radius:4px;letter-spacing:1.5px;box-shadow:0 4px 12px #c8102e66}.brand-tagline{font-size:1.1rem;color:#ffffffa6;font-weight:500;margin-bottom:3rem;letter-spacing:.5px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}.stat-item{display:flex;flex-direction:column;gap:.4rem;padding:1.25rem;background:#ffffff0d;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.stat-item:hover{background:#ffffff14;border-color:var(--accent-gold);transform:translateY(-4px)}.stat-number{font-family:var(--font-display);font-size:2rem;font-weight:900;color:var(--accent-gold);line-height:1}.stat-label{font-size:.8rem;color:#fff9;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.auth-form-section{display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;z-index:1;animation:fadeUp .6s ease both .1s}.auth-form-section.fullscreen{grid-column:1/-1}.auth-form{width:100%;max-width:480px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-lg)}.register-form{max-width:700px}.form-header{margin-bottom:2rem;text-align:center}.form-header h2{font-family:var(--font-display);font-size:1.8rem;font-weight:800;color:var(--text);margin-bottom:.5rem;letter-spacing:.3px;text-transform:uppercase}.form-header p{font-size:.9rem;color:var(--text-secondary);font-weight:500}.form-body{display:flex;flex-direction:column;gap:1.25rem}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.input-row .flex-2,.input-row .flex-1{grid-column:span 1}.input-group{position:relative;display:flex;flex-direction:column}.all-input-wrapper{position:relative;display:flex;align-items:center}.all-input-wrapper label,.password-input-wrapper label{position:absolute;left:1rem;top:50%;transform:translateY(-50%);font-size:.9rem;color:var(--text-secondary);pointer-events:none;transition:all .3s cubic-bezier(.4,0,.2,1);background:var(--bg-card);padding:0 .4rem;z-index:1;font-weight:500}.all-input-wrapper label.active,.password-input-wrapper label.active{top:0;left:.75rem;font-size:.7rem;color:var(--primary);font-weight:700;letter-spacing:.5px;text-transform:uppercase}.all-input-wrapper input,.password-input-wrapper input{width:100%;padding:.85rem 1rem;background:var(--bg-white);border:1.5px solid var(--border-mid);border-radius:var(--radius-sm);color:var(--text);font-size:.9rem;font-weight:500;font-family:var(--font-body);transition:all .2s ease;outline:none}.all-input-wrapper input:focus,.password-input-wrapper input:focus{background:#fff;border-color:var(--primary);box-shadow:0 0 0 3px #0a16281a}.all-input-wrapper input.error,.password-input-wrapper input.error{border-color:var(--error);background:var(--error-bg)}.all-input-wrapper input.error:focus,.password-input-wrapper input.error:focus{box-shadow:0 0 0 3px #ef44441a}.error-message{font-size:.75rem;color:var(--error);margin-top:.4rem;font-weight:600;display:flex;align-items:center;gap:.25rem}.optional-label{position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:.7rem;color:var(--text-light);font-weight:600;text-transform:uppercase;letter-spacing:.3px;opacity:.7;pointer-events:none;z-index:2}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{padding-right:3rem}.password-toggle{position:absolute;right:1rem;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:color .2s ease;z-index:2}.password-toggle:hover{color:var(--primary)}.password-requirements{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;padding:1rem;background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border)}.requirement{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-secondary);font-weight:500;transition:all .2s ease}.requirement svg{font-size:.9rem;color:var(--text-light);flex-shrink:0}.requirement.valid{color:var(--success)}.requirement.valid svg{color:var(--success)}.submit-btn{width:100%;padding:.85rem 1.5rem;background:var(--primary);border:none;border-radius:var(--radius-sm);color:#fff;font-family:var(--font-body);font-size:.9rem;font-weight:700;letter-spacing:.3px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm);margin-top:.5rem}.submit-btn:hover:not(:disabled){background:var(--primary-mid);transform:translateY(-1px);box-shadow:var(--shadow-md)}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-footer{margin-top:1.5rem;text-align:center}.form-footer p{font-size:.9rem;color:var(--text-secondary);font-weight:500}.form-footer a{color:var(--primary);font-weight:700;text-decoration:none;transition:all .2s ease;position:relative}.form-footer a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--accent);transition:width .3s ease}.form-footer a:hover{color:var(--accent)}.form-footer a:hover:after{width:100%}.login-error{color:#f44336;font-size:.9rem;margin-top:.5rem;text-align:center}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:767px){.auth-container:before{background-size:40px 40px}.auth-split{grid-template-columns:1fr}.auth-brand{display:none}.auth-form-section{padding:1.5rem 1rem}.auth-form{padding:2rem 1.5rem;border-radius:var(--radius-md);max-width:100%}.register-form{max-width:100%}.form-header h2{font-size:1.5rem}.form-header p{font-size:.85rem}.form-body{gap:1rem}.input-row{grid-template-columns:1fr;gap:1rem}.input-row .flex-2,.input-row .flex-1{grid-column:span 1}.all-input-wrapper input,.password-input-wrapper input{padding:.8rem .9rem;font-size:.875rem}.password-requirements{grid-template-columns:1fr;gap:.5rem;padding:.85rem}.requirement{font-size:.75rem}.submit-btn{padding:.8rem 1.25rem;font-size:.875rem}.loader{width:60px;height:60px}.loader-icon{font-size:18px}.loading-text{font-size:.875rem;margin-top:1.25rem}}@media(min-width:768px)and (max-width:1023px){.auth-split{grid-template-columns:1fr}.auth-brand{display:none}.auth-form-section{padding:2rem}.auth-form{padding:2.5rem;max-width:550px}.register-form{max-width:650px}.form-header h2{font-size:1.7rem}.input-row{grid-template-columns:1fr 1fr}.password-requirements{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.auth-split{grid-template-columns:45% 55%}.brand-title{font-size:2.5rem}.stats-grid{gap:1.5rem}}@media(min-width:1536px){.brand-content{max-width:600px}.brand-title{font-size:3rem}.brand-tagline{font-size:1.25rem}.stats-grid{gap:2rem}.stat-item{padding:1.5rem}.stat-number{font-size:2.5rem}.auth-form{max-width:520px;padding:3rem}.register-form{max-width:750px}}@media(max-height:600px)and (orientation:landscape){.auth-form-section{padding:1.5rem 1rem;align-items:flex-start}.auth-form{margin:1rem 0}.form-header{margin-bottom:1.25rem}.form-header h2{font-size:1.4rem}.form-body{gap:.85rem}}@media(hover:none)and (pointer:coarse){.submit-btn:hover:not(:disabled){transform:none}.submit-btn:active:not(:disabled){transform:scale(.98)}.stat-item:hover{transform:none}.password-toggle{padding:.75rem}.all-input-wrapper input,.password-input-wrapper input{font-size:16px}}.admin-dashboard{display:flex;min-height:100vh;background:var(--bg);font-family:var(--font-body);color:var(--text)}.sidebar{width:260px;background:var(--primary);position:relative;overflow:hidden}.sidebar:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0px,rgba(255,255,255,.03) 1px,transparent 1px,transparent 60px);pointer-events:none}.sidebar:after{content:"";position:absolute;top:0;bottom:0;right:0;width:4px;background:linear-gradient(180deg,var(--accent) 0%,var(--accent-gold) 100%)}.sidebar h2{font-family:var(--font-display);font-size:1.25rem;font-weight:900;color:#fff;text-transform:uppercase;letter-spacing:.5px;padding:2rem 1.5rem 1.5rem;margin:0;border-bottom:1px solid rgba(255,255,255,.1);position:relative;z-index:1}.sidebar h2:before{content:"⚡";margin-right:.5rem;color:var(--accent-gold)}.sidebar nav{padding:1rem 0;position:relative;z-index:1}.sidebar nav ul{list-style:none;padding:0 1rem;margin:0}.sidebar nav ul li{padding:.75rem 1rem;color:#ffffffa6;font-weight:600;font-size:.85rem;cursor:pointer;border-radius:var(--radius-sm);transition:all .2s;margin-bottom:.25rem}.sidebar nav ul li:hover{background:#ffffff1a;color:#fff}.sidebar nav ul li.active{background:#ffffff26;color:#fff;font-weight:700;border-left:3px solid var(--accent);padding-left:calc(1rem - 3px)}.sidebar nav ul li:last-child{margin-top:1rem;color:var(--accent);border:1.5px solid rgba(200,16,46,.3)}.sidebar nav ul li:last-child:hover{background:#c8102e26;border-color:var(--accent)}.main-content{flex:1;overflow-y:auto;background:var(--bg)}header{background:var(--bg-white);border-bottom:2px solid var(--border);padding:2rem 2.5rem;box-shadow:var(--shadow-sm)}header h1{font-family:var(--font-display);font-size:clamp(1.75rem,3vw,2.25rem);font-weight:900;color:var(--primary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 .5rem}header p{color:var(--text-secondary);font-size:.95rem;margin:0 0 2rem}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow-sm);transition:border-color .2s,box-shadow .2s,transform .2s}.stat-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon{width:56px;height:56px;background:var(--bg);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.75rem;flex-shrink:0}.stat-info{display:flex;flex-direction:column;gap:.25rem}.stat-value{font-family:var(--font-display);font-size:1.75rem;font-weight:900;color:var(--primary);line-height:1}.stat-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}section{padding:2.5rem}section h2{font-family:var(--font-display);font-size:1.5rem;font-weight:900;color:var(--primary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 1.5rem}.add-btn{padding:.65rem 1.25rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-weight:700;font-size:.85rem;letter-spacing:.3px;cursor:pointer;transition:all .2s;margin-bottom:1.5rem;display:inline-flex;align-items:center;gap:.5rem}.add-btn:before{content:"+";font-size:1.125rem;font-weight:700}.add-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}table{width:100%;border-collapse:separate;border-spacing:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}table thead tr{background:var(--bg);border-bottom:2px solid var(--border)}table thead th{padding:1rem 1.25rem;text-align:left;font-weight:700;font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}table tbody tr{border-bottom:1px solid var(--border);transition:background .2s}table tbody tr:last-child{border-bottom:none}table tbody tr:hover{background:var(--bg)}table tbody td{padding:1rem 1.25rem;color:var(--text);font-size:.875rem}table tbody td:first-child{font-weight:600}table tbody td button{padding:.45rem 1rem;margin-right:.5rem;background:transparent;border:1.5px solid var(--border-mid);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-body);font-weight:700;font-size:.8rem;letter-spacing:.3px;cursor:pointer;transition:all .2s}table tbody td button:hover{border-color:var(--primary);color:var(--primary);background:var(--bg)}table tbody td button.delete{color:var(--accent);border-color:#c8102e4d}table tbody td button.delete:hover{background:#c8102e0d;border-color:var(--accent)}.badge{display:inline-block;padding:.28rem .65rem;border-radius:4px;font-family:var(--font-display);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.6px}.badge.admin{background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.3)}.badge.superadmin{background:#c8102e1a;color:var(--accent);border:1px solid rgba(200,16,46,.3)}.empty-state{text-align:center;padding:4rem 2rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.empty-state-icon{font-size:3rem;opacity:.2;margin-bottom:1rem}.empty-state h3{font-family:var(--font-display);font-size:1.25rem;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.5px;margin:0 0 .5rem}.modal-overlay{position:fixed;inset:0;background:#0a1628bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;z-index:1000;padding:2rem 1rem;animation:fadeIn .2s ease;overflow-y:auto}.modal{background:var(--bg-white);border-radius:var(--radius-lg);padding:2rem;width:100%;max-width:720px;max-height:calc(100vh - 4rem);overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .2s ease;margin:auto 0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.modal h3{font-family:var(--font-display);font-size:1.5rem;font-weight:900;color:var(--primary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 1.5rem}.modal form{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.modal .form-group.full-width,.modal .form-group:has(textarea){grid-column:1/-1}.modal input,.modal select,.modal textarea{width:100%;padding:.75rem 1rem;background:var(--bg-white);border:1.5px solid var(--border-mid);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;color:var(--text);transition:border-color .2s,background .2s}.modal input::placeholder,.modal select::placeholder,.modal textarea::placeholder{color:var(--text-light)}.modal input:focus,.modal select:focus,.modal textarea:focus{outline:none;border-color:var(--accent);background:var(--bg-white);box-shadow:0 0 0 3px #c8102e1a}.modal textarea{min-height:100px;resize:vertical}.modal select{cursor:pointer}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.form-group.required label:after{content:"*";color:var(--accent);margin-left:.25rem}.modal-actions{display:flex;gap:.75rem;margin-top:.5rem;grid-column:1/-1}.modal-actions button{flex:1;padding:.75rem 1.25rem;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-weight:700;font-size:.875rem;letter-spacing:.3px;cursor:pointer;transition:all .2s}.modal-actions button.submit-btn{background:var(--primary);color:#fff}.modal-actions button.submit-btn:hover{background:var(--primary-mid);transform:translateY(-1px)}.modal-actions button.cancel-btn{background:transparent;color:var(--text-secondary);border:1.5px solid var(--border-mid)}.modal-actions button.cancel-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--bg)}.modal-actions button.delete{background:var(--accent);color:#fff}.modal-actions button.delete:hover{background:var(--accent-hover);transform:translateY(-1px)}.confirmation-modal{max-width:440px;text-align:center}.confirmation-modal form{display:flex;flex-direction:column}.confirmation-modal .icon{width:72px;height:72px;margin:0 auto 1.5rem;background:var(--bg);border:3px solid var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem}.confirmation-modal.warning .icon{border-color:var(--accent-gold)}.confirmation-modal h3{font-size:1.25rem;margin-bottom:.75rem}.confirmation-modal p{color:var(--text-secondary);font-size:.875rem;line-height:1.6;margin-bottom:1.5rem}@media(max-width:1024px){.admin-dashboard{flex-direction:column}.sidebar{width:100%}.sidebar:after{width:100%;height:4px;top:auto;bottom:0;right:auto;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-gold) 100%)}.sidebar h2{padding:1.5rem}.sidebar nav ul{display:flex;overflow-x:auto;padding:.5rem 1rem}.sidebar nav ul li{white-space:nowrap}header{padding:1.75rem 1.5rem}section{padding:1.75rem 1.5rem}.dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media(max-width:768px){.modal{max-width:100%;padding:1.5rem}.modal form{grid-template-columns:1fr}.modal h3{font-size:1.25rem}.modal-actions{flex-direction:column}table{font-size:.8rem}table th,table td{padding:.75rem .875rem}.dashboard-stats{grid-template-columns:1fr}}@media(max-width:480px){header{padding:1.25rem 1rem}header h1{font-size:1.5rem}section{padding:1.25rem 1rem}.add-btn{width:100%;justify-content:center}}.users-modal-overlay{position:fixed;inset:0;background:#0a1628bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;z-index:1000;padding:2rem 1rem;animation:fadeIn .2s ease;overflow-y:auto}.users-modal{background:var(--bg-white);border-radius:var(--radius-lg);padding:2rem;width:100%;max-width:700px;max-height:calc(100vh - 4rem);overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .2s ease;margin:auto 0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.users-modal h3{font-family:var(--font-display);font-size:1.5rem;font-weight:900;color:var(--primary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 1.5rem}.users-modal form{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.users-modal .form-group.full-width,.users-modal .form-group:has(textarea){grid-column:1/-1}.users-modal input,.users-modal select,.users-modal textarea{width:100%;padding:.75rem 1rem;background:var(--bg-white);border:1.5px solid var(--border-mid);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;color:var(--text);transition:border-color .2s,background .2s}.users-modal input::placeholder,.users-modal select::placeholder,.users-modal textarea::placeholder{color:var(--text-light)}.users-modal input:focus,.users-modal select:focus,.users-modal textarea:focus{outline:none;border-color:var(--accent);background:var(--bg-white);box-shadow:0 0 0 3px #c8102e1a}.users-modal textarea{min-height:100px;resize:vertical}.users-modal select{cursor:pointer}.users-modal .form-group{display:flex;flex-direction:column;gap:.5rem}.users-modal .form-group label{font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.users-modal .form-group.required label:after{content:"*";color:var(--accent);margin-left:.25rem}.users-modal .modal-actions{display:flex;gap:.75rem;margin-top:.5rem;grid-column:1/-1}.users-modal .modal-actions button{flex:1;padding:.75rem 1.25rem;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-weight:700;font-size:.875rem;letter-spacing:.3px;cursor:pointer;transition:all .2s}.users-modal .modal-actions button.submit-btn{background:var(--primary);color:#fff}.users-modal .modal-actions button.submit-btn:hover{background:var(--primary-mid);transform:translateY(-1px)}.users-modal .modal-actions button.cancel-btn{background:transparent;color:var(--text-secondary);border:1.5px solid var(--border-mid)}.users-modal .modal-actions button.cancel-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--bg)}.users-modal .modal-actions button.delete{background:var(--accent);color:#fff}.users-modal .modal-actions button.delete:hover{background:var(--accent-hover);transform:translateY(-1px)}.users-confirmation-modal{max-width:440px;text-align:center}.users-confirmation-modal form{display:flex;flex-direction:column}.users-confirmation-modal .icon{width:72px;height:72px;margin:0 auto 1.5rem;background:var(--bg);border:3px solid var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem}.users-confirmation-modal h3{font-size:1.25rem;margin-bottom:.75rem}.users-confirmation-modal p{color:var(--text-secondary);font-size:.875rem;line-height:1.6;margin-bottom:1.5rem}@media(max-width:640px){.users-modal{max-width:100%;padding:1.5rem}.users-modal form{grid-template-columns:1fr}.users-modal h3{font-size:1.25rem}.users-modal .modal-actions{flex-direction:column}}.leagues-modal-overlay{position:fixed;inset:0;background:#0a1628bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;z-index:1000;padding:2rem 1rem;animation:fadeIn .2s ease;overflow-y:auto}.leagues-modal{background:var(--bg-white);border-radius:var(--radius-lg);padding:2rem;width:100%;max-width:900px;max-height:calc(100vh - 4rem);overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .2s ease;margin:auto 0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.leagues-modal h3{font-family:var(--font-display);font-size:1.5rem;font-weight:900;color:var(--primary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 1.5rem}.leagues-modal form{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.leagues-modal .form-group.full-width,.leagues-modal .form-group:has(textarea){grid-column:1/-1}.leagues-modal input,.leagues-modal select,.leagues-modal textarea{width:100%;padding:.75rem 1rem;background:var(--bg-white);border:1.5px solid var(--border-mid);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;color:var(--text);transition:border-color .2s,background .2s}.leagues-modal input::placeholder,.leagues-modal select::placeholder,.leagues-modal textarea::placeholder{color:var(--text-light)}.leagues-modal input:focus,.leagues-modal select:focus,.leagues-modal textarea:focus{outline:none;border-color:var(--accent);background:var(--bg-white);box-shadow:0 0 0 3px #c8102e1a}.leagues-modal textarea{min-height:100px;resize:vertical}.leagues-modal select{cursor:pointer}.leagues-modal .form-group{display:flex;flex-direction:column;gap:.5rem}.leagues-modal .form-group label{font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.leagues-modal .form-group.required label:after{content:"*";color:var(--accent);margin-left:.25rem}.leagues-modal .modal-actions{display:flex;gap:.75rem;margin-top:.5rem;grid-column:1/-1}.leagues-modal .modal-actions button{flex:1;padding:.75rem 1.25rem;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-weight:700;font-size:.875rem;letter-spacing:.3px;cursor:pointer;transition:all .2s}.leagues-modal .modal-actions button.submit-btn{background:var(--primary);color:#fff}.leagues-modal .modal-actions button.submit-btn:hover{background:var(--primary-mid);transform:translateY(-1px)}.leagues-modal .modal-actions button.cancel-btn{background:transparent;color:var(--text-secondary);border:1.5px solid var(--border-mid)}.leagues-modal .modal-actions button.cancel-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--bg)}.leagues-modal .modal-actions button.delete{background:var(--accent);color:#fff}.leagues-modal .modal-actions button.delete:hover{background:var(--accent-hover);transform:translateY(-1px)}.leagues-confirmation-modal{max-width:440px;text-align:center}.leagues-confirmation-modal form{display:flex;flex-direction:column}.leagues-confirmation-modal .icon{width:72px;height:72px;margin:0 auto 1.5rem;background:var(--bg);border:3px solid var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem}.leagues-confirmation-modal h3{font-size:1.25rem;margin-bottom:.75rem}.leagues-confirmation-modal p{color:var(--text-secondary);font-size:.875rem;line-height:1.6;margin-bottom:1.5rem}@media(max-width:640px){.leagues-modal{max-width:100%;padding:1.5rem}.leagues-modal form{grid-template-columns:1fr}.leagues-modal h3{font-size:1.25rem}.leagues-modal .modal-actions{flex-direction:column}}.sports-modal-overlay{position:fixed;inset:0;background:#0a1628bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;z-index:1000;padding:2rem 1rem;animation:fadeIn .2s ease;overflow-y:auto}.sports-modal{background:var(--bg-white);border-radius:var(--radius-lg);padding:2rem;width:100%;max-width:800px;max-height:calc(100vh - 4rem);overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .2s ease;margin:auto 0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.sports-modal h3{font-family:var(--font-display);font-size:1.5rem;font-weight:900;color:var(--primary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 1.5rem}.sports-modal form{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.sports-modal .form-group.full-width,.sports-modal .form-group:has(textarea){grid-column:1/-1}.sports-modal input,.sports-modal select,.sports-modal textarea{width:100%;padding:.75rem 1rem;background:var(--bg-white);border:1.5px solid var(--border-mid);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.875rem;color:var(--text);transition:border-color .2s,background .2s}.sports-modal input::placeholder,.sports-modal select::placeholder,.sports-modal textarea::placeholder{color:var(--text-light)}.sports-modal input:focus,.sports-modal select:focus,.sports-modal textarea:focus{outline:none;border-color:var(--accent);background:var(--bg-white);box-shadow:0 0 0 3px #c8102e1a}.sports-modal textarea{min-height:100px;resize:vertical}.sports-modal select{cursor:pointer}.sports-modal .form-group{display:flex;flex-direction:column;gap:.5rem}.sports-modal .form-group label{font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.sports-modal .form-group.required label:after{content:"*";color:var(--accent);margin-left:.25rem}.sports-modal .modal-actions{display:flex;gap:.75rem;margin-top:.5rem;grid-column:1/-1}.sports-modal .modal-actions button{flex:1;padding:.75rem 1.25rem;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-weight:700;font-size:.875rem;letter-spacing:.3px;cursor:pointer;transition:all .2s}.sports-modal .modal-actions button.submit-btn{background:var(--primary);color:#fff}.sports-modal .modal-actions button.submit-btn:hover{background:var(--primary-mid);transform:translateY(-1px)}.sports-modal .modal-actions button.cancel-btn{background:transparent;color:var(--text-secondary);border:1.5px solid var(--border-mid)}.sports-modal .modal-actions button.cancel-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--bg)}.sports-modal .modal-actions button.delete{background:var(--accent);color:#fff}.sports-modal .modal-actions button.delete:hover{background:var(--accent-hover);transform:translateY(-1px)}.sports-confirmation-modal{max-width:440px;text-align:center}.sports-confirmation-modal form{display:flex;flex-direction:column}.sports-confirmation-modal .icon{width:72px;height:72px;margin:0 auto 1.5rem;background:var(--bg);border:3px solid var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem}.sports-confirmation-modal h3{font-size:1.25rem;margin-bottom:.75rem}.sports-confirmation-modal p{color:var(--text-secondary);font-size:.875rem;line-height:1.6;margin-bottom:1.5rem}@media(max-width:640px){.sports-modal{max-width:100%;padding:1.5rem}.sports-modal form{grid-template-columns:1fr}.sports-modal h3{font-size:1.25rem}.sports-modal .modal-actions{flex-direction:column}}.leagues-page{min-height:100vh;background:var(--bg);font-family:var(--font-body);color:var(--text)}.leagues-header{position:sticky;top:0;z-index:100;background:var(--bg-white);border-bottom:2px solid var(--border);box-shadow:var(--shadow-sm)}.leagues-header .header-content{max-width:1280px;margin:0 auto;padding:0 1.5rem;height:56px;display:flex;align-items:center;justify-content:space-between}.brand h1{font-family:var(--font-display);font-size:1.25rem;font-weight:800;color:var(--primary);text-transform:uppercase;letter-spacing:.5px;margin:0}.header-auth{display:flex;align-items:center;gap:.75rem}.profile-section{position:relative}.profile-button{display:flex;align-items:center;gap:.5rem;padding:.4rem .9rem;background:transparent;border:1.5px solid var(--border-mid);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .2s,background .2s}.profile-button:hover{border-color:var(--primary);background:var(--bg)}.profile-avatar{width:28px;height:28px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem}.profile-name{font-family:var(--font-body);font-weight:600;font-size:.85rem;color:var(--text)}.profile-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:220px;z-index:1000;overflow:hidden;animation:fadeIn .2s ease}.dropdown-header{padding:1rem;display:flex;align-items:center;gap:.75rem;background:var(--bg);border-bottom:1px solid var(--border)}.dropdown-avatar{width:40px;height:40px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem}.dropdown-info{flex:1;min-width:0}.dropdown-name{font-weight:700;font-size:.9rem;color:var(--text);margin:0 0 .2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-email{font-size:.75rem;color:var(--text-secondary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-divider{height:1px;background:var(--border);margin:.5rem 0}.dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:var(--text-secondary);font-family:var(--font-body);font-weight:600;font-size:.85rem;text-decoration:none;background:transparent;border:none;width:100%;cursor:pointer;transition:background .2s,color .2s}.dropdown-item:hover{background:var(--bg);color:var(--text)}.dropdown-item svg{font-size:.9rem}.dropdown-item.logout{color:var(--accent)}.dropdown-item.logout:hover{background:#c8102e0d}.auth-buttons{display:flex;gap:.75rem}.btn-login,.btn-register{padding:.45rem 1.1rem;font-family:var(--font-body);font-weight:700;font-size:.85rem;letter-spacing:.3px;border-radius:var(--radius-sm);text-decoration:none;cursor:pointer;transition:all .2s}.btn-login{background:transparent;color:var(--text-secondary);border:1.5px solid var(--border-mid)}.btn-login:hover{border-color:var(--primary);color:var(--primary);background:var(--bg)}.btn-register{background:var(--primary);color:#fff;border:none}.btn-register:hover{background:var(--primary-mid);transform:translateY(-1px)}.leagues-banner{background:var(--primary);position:relative;overflow:hidden}.leagues-banner:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0px,rgba(255,255,255,.03) 1px,transparent 1px,transparent 60px);pointer-events:none}.leagues-banner:after{content:"";position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-gold) 100%)}.banner-content{max-width:1280px;margin:0 auto;padding:2.5rem 1.5rem 3rem;position:relative;z-index:1;animation:fadeUp .5s ease both}.banner-content h1{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:900;color:#fff;letter-spacing:.5px;text-transform:uppercase;margin:0 0 .5rem;line-height:1}.banner-description{color:#ffffffa6;font-size:.95rem;line-height:1.6;margin-bottom:1.75rem;max-width:680px}.banner-search{position:relative;max-width:600px;margin-top:1.5rem}.banner-search .search-icon{position:absolute;left:1.1rem;top:50%;transform:translateY(-50%);color:var(--text-light);font-size:.95rem;pointer-events:none}.banner-search input{width:100%;padding:.85rem 1.1rem .85rem 2.75rem;background:#fffffff2;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.9rem;color:var(--text);transition:all .2s}.banner-search input::placeholder{color:var(--text-light)}.banner-search input:focus{outline:none;background:#fff;border-color:var(--accent);box-shadow:0 0 0 3px #c8102e1a}.leagues-main{max-width:1280px;margin:0 auto;padding:1.75rem 1.5rem}.filters-section{display:flex;align-items:center;gap:1rem;margin-bottom:1.75rem;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-group .filter-icon{color:var(--text-secondary);font-size:.85rem}.filter-select{padding:.6rem 1rem;background:var(--bg-white);border:1.5px solid var(--border-mid);border-radius:var(--radius-sm);font-family:var(--font-body);font-weight:600;font-size:.85rem;color:var(--text);cursor:pointer;transition:border-color .2s}.filter-select:hover{border-color:var(--primary)}.filter-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #c8102e1a}.results-count{margin-left:auto;color:var(--text-secondary);font-weight:600;font-size:.85rem;padding:.6rem 1rem;background:var(--bg);border-radius:var(--radius-sm)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1.5rem;color:var(--text-secondary)}.league-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.league-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:border-color .2s,box-shadow .2s,transform .2s;display:flex;flex-direction:column}.league-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:var(--bg);border-bottom:1px solid var(--border)}.league-sport{display:flex;align-items:center;gap:.4rem;color:var(--text-secondary);font-weight:600;font-size:.82rem}.league-sport svg{color:var(--accent-gold);font-size:.85rem}.league-status{padding:.28rem .65rem;border-radius:4px;font-family:var(--font-display);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.6px}.status-default{background:#5a6a7e1a;color:var(--text-secondary);border:1px solid var(--border)}.card-body{padding:1.25rem;flex:1;display:flex;flex-direction:column}.league-title{font-family:var(--font-display);font-size:1.1rem;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.3px;margin:0 0 .3rem;line-height:1.3}.league-subtitle{font-size:.82rem;color:var(--text-secondary);font-weight:600;margin-bottom:.5rem}.league-description{color:var(--text-secondary);font-size:.88rem;line-height:1.6;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.league-details{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem}.detail-item{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.82rem;font-weight:500}.detail-item svg{color:var(--accent);font-size:.75rem;flex-shrink:0}.league-fee,.league-prize{padding:.5rem .75rem;background:#f7b50014;border:1px solid rgba(247,181,0,.2);border-radius:var(--radius-sm);font-weight:700;font-size:.85rem;color:var(--text);margin-top:.5rem}.league-prize{background:#10b98114;border-color:#10b98133;color:#059669}.card-footer{padding:1rem 1.25rem;background:var(--bg);border-top:1px solid var(--border);display:flex;gap:.75rem}.btn-view-details,.btn-register-league{flex:1;padding:.65rem 1.1rem;font-family:var(--font-body);font-weight:700;font-size:.85rem;letter-spacing:.3px;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;border:none;text-align:center}.btn-view-details{background:var(--primary);color:#fff}.btn-view-details:hover{background:var(--primary-mid);transform:translateY(-1px)}.btn-register-league{background:var(--accent);color:#fff}.btn-register-league:hover{background:var(--accent-hover);transform:translateY(-1px)}.empty-state{text-align:center;padding:3rem 2rem;color:var(--text-secondary);grid-column:1/-1}.modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:999}.modal{background:#fff;padding:2rem;border-radius:.75rem;width:320px;max-width:90%;text-align:center;box-shadow:0 8px 20px #0003}.modal h3{margin-bottom:1rem}.modal p{margin-bottom:1.5rem}.modal .modal-actions{display:flex;justify-content:space-between}.modal .modal-actions .btn{padding:.5rem 1rem;border-radius:.5rem;border:none;cursor:pointer;font-weight:600}.modal .modal-actions .btn.btn-cancel{background:#ddd;color:#333}.modal .modal-actions .btn.btn-confirm{background:#e74c3c;color:#fff}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){.leagues-main{padding:1.5rem 1.25rem}.league-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media(max-width:768px){.banner-content{padding:1.75rem 1rem 2.25rem}.leagues-main{padding:1.25rem 1rem}.banner-content h1{font-size:1.8rem}.filters-section{flex-direction:column;align-items:stretch}.results-count{margin-left:0;text-align:center}.league-grid{grid-template-columns:1fr}}@media(max-width:480px){.leagues-header .header-content{padding:0 1rem}.brand h1{font-size:1rem}.profile-name{display:none}.banner-search input{padding:.75rem 1rem .75rem 2.5rem}.card-footer{flex-direction:column}}.schedule-section .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.schedule-section .section-header h2{font-family:var(--font-display);font-size:1.25rem;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.5px;margin:0}.schedule-section .section-header .header-actions{display:flex;align-items:center;gap:.75rem}.schedule-section .view-toggle{display:flex;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.schedule-section .view-toggle .toggle-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:transparent;border:none;border-right:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-display);font-weight:700;font-size:.85rem;letter-spacing:.3px;text-transform:uppercase;cursor:pointer;transition:all .2s}.schedule-section .view-toggle .toggle-btn:last-child{border-right:none}.schedule-section .view-toggle .toggle-btn:hover{background:var(--bg);color:var(--primary)}.schedule-section .view-toggle .toggle-btn.active{background:var(--accent);color:#fff}.schedule-section .view-toggle .toggle-btn svg{font-size:.75rem}.schedule-section .btn-add-game{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.1rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-display);font-weight:700;font-size:.85rem;letter-spacing:.3px;text-transform:uppercase;cursor:pointer;transition:all .2s}.schedule-section .btn-add-game:hover{background:var(--accent-hover);transform:translateY(-1px)}.schedule-section .btn-add-game svg{font-size:.75rem}.schedule-stats-bar{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap}.schedule-stats-bar .stat-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:20px;font-family:var(--font-display);font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.schedule-stats-bar .stat-chip.series{background:#6366f114;border-color:#6366f14d;color:#6366f1}.schedule-stats-bar .stat-chip.live{background:#c8102e14;border-color:#c8102e4d;color:var(--accent);animation:pulse-live 1.5s ease-in-out infinite}.series-block{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:box-shadow .2s}.series-block:hover{box-shadow:var(--shadow-md)}.series-block.series-live{border-left:3px solid var(--accent)}.series-block.series-complete{border-left:3px solid #059669}.series-header{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.25rem;background:var(--bg);cursor:pointer;gap:1rem;transition:background .15s}.series-header:hover{background:#0a16280a}.series-header-left{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1}.series-header-left .series-icon{font-size:1rem;color:#6366f1;flex-shrink:0}.series-info{min-width:0;flex:1}.series-matchup-label{display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem}.series-matchup-label .series-team{font-family:var(--font-display);font-size:.95rem;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.series-matchup-label .series-vs{font-family:var(--font-display);font-size:.7rem;font-weight:700;color:var(--text-light);text-transform:uppercase;flex-shrink:0}.series-meta{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.series-length-badge{display:inline-flex;align-items:center;padding:.15rem .5rem;background:#6366f11a;color:#6366f1;border-radius:10px;font-family:var(--font-display);font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.3px}.series-format-badge{display:inline-flex;align-items:center;padding:.15rem .5rem;background:#0a16280f;color:var(--text-secondary);border-radius:10px;font-size:.65rem;font-weight:600;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.series-live-badge{display:inline-flex;align-items:center;padding:.15rem .5rem;background:#c8102e1a;color:var(--accent);border-radius:10px;font-family:var(--font-display);font-size:.65rem;font-weight:800;animation:pulse-live 1.5s ease-in-out infinite}.series-done-badge{display:inline-flex;align-items:center;gap:.2rem;padding:.15rem .5rem;background:#10b9811a;color:#059669;border-radius:10px;font-family:var(--font-display);font-size:.65rem;font-weight:800;text-transform:uppercase}.series-header-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.series-score-display .series-score-text{font-family:var(--font-display);font-size:.85rem;font-weight:800;color:var(--text);white-space:nowrap}.series-winner-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .75rem;background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#059669;border-radius:20px;font-family:var(--font-display);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.series-winner-chip svg{font-size:.65rem}.series-expand-btn{background:none;border:none;color:var(--text-secondary);font-size:.7rem;cursor:pointer;padding:.25rem;line-height:1;transition:color .15s;flex-shrink:0}.series-expand-btn:hover{color:var(--text)}.series-games{display:flex;flex-direction:column;border-top:1px solid var(--border)}.series-game-row{display:grid;grid-template-columns:80px 1fr auto auto;align-items:center;gap:1rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);transition:background .15s}.series-game-row:last-child{border-bottom:none}.series-game-row:hover{background:#0a162805}.series-game-row.live{background:#c8102e08;border-left:2px solid var(--accent)}.series-game-row.completed{opacity:.92}.sgr-game-label{display:flex;align-items:center;gap:.4rem}.sgr-game-label .sgr-game-num{font-family:var(--font-display);font-size:.75rem;font-weight:800;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.sgr-game-label .sgr-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.sgr-game-label .sgr-status-dot.status-scheduled{background:#93c5fd}.sgr-game-label .sgr-status-dot.status-in-progress{background:var(--accent);animation:pulse-live 1.5s ease-in-out infinite}.sgr-game-label .sgr-status-dot.status-completed{background:#6ee7b7}.sgr-game-label .sgr-status-dot.status-postponed,.sgr-game-label .sgr-status-dot.status-cancelled{background:#fcd34d}.sgr-matchup{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.sgr-team{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.sgr-team.away{flex-direction:row-reverse;text-align:right}.sgr-logo{width:24px;height:24px;min-width:24px;border-radius:3px;object-fit:contain;border:1px solid var(--border);padding:1px;background:var(--bg-white)}.sgr-team-name{font-family:var(--font-display);font-size:.85rem;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sgr-score{font-family:var(--font-display);font-size:1.15rem;font-weight:900;color:var(--text);min-width:28px;text-align:center;flex-shrink:0}.sgr-score.winning{color:var(--accent)}.sgr-at{font-family:var(--font-display);font-size:.7rem;font-weight:800;color:var(--text-light);text-transform:uppercase;flex-shrink:0}.sgr-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.sgr-meta .sgr-date{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--text-secondary);font-weight:600;white-space:nowrap}.sgr-meta .sgr-date svg{font-size:.65rem}.sgr-meta .sgr-date.tbd{color:var(--text-light);font-style:italic}.sgr-meta .sgr-location{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;color:var(--text-secondary);white-space:nowrap}.sgr-meta .sgr-location svg{font-size:.65rem}.sgr-meta .sgr-live-badge{font-size:.65rem;font-family:var(--font-display);font-weight:800;color:var(--accent);animation:pulse-live 1.5s ease-in-out infinite}.sgr-meta .sgr-status-badge{padding:.15rem .45rem;border-radius:4px;font-family:var(--font-display);font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.sgr-meta .sgr-status-badge.status-scheduled,.sgr-meta .sgr-status-badge.status-upcoming{background:#3b82f61a;color:#2563eb}.sgr-meta .sgr-status-badge.status-in-progress{background:#c8102e1a;color:var(--accent)}.sgr-meta .sgr-status-badge.status-completed{background:#10b9811a;color:#059669}.sgr-meta .sgr-status-badge.status-postponed,.sgr-meta .sgr-status-badge.status-cancelled{background:#f59e0b1a;color:#d97706}.sgr-actions{display:flex;gap:.3rem}.sgr-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:.72rem;transition:all .15s}.sgr-btn.view:hover{border-color:var(--primary);color:var(--primary);background:#0a16280d}.sgr-btn.edit:hover{border-color:var(--accent);color:var(--accent);background:#c8102e0d}.sgr-btn.delete:hover{border-color:#ef4444;color:#ef4444;background:#ef44440d}.game-card-series-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;background:#6366f11a;color:#6366f1;border-radius:10px;font-family:var(--font-display);font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.3px;margin-bottom:.5rem}.game-card-series-badge svg{font-size:.6rem}.cal-game-badge{display:inline-block;background:#6366f126;color:#6366f1;border-radius:4px;font-family:var(--font-display);font-size:.58rem;font-weight:800;padding:.05rem .3rem;margin-right:.25rem;vertical-align:middle}.list-view .games-list{display:flex;flex-direction:column;gap:.75rem}.list-view .list-game-card{display:grid;grid-template-columns:180px 1fr auto auto;align-items:center;gap:1.5rem;padding:1rem 1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);transition:all .2s}.list-view .list-game-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.list-view .list-game-card.live{border-left:3px solid var(--accent);background:#c8102e05}.list-view .list-game-card.completed{opacity:.9}.list-view .list-game-date{display:flex;align-items:center;gap:.75rem}.list-view .list-game-date svg{color:var(--accent);font-size:1.1rem;flex-shrink:0}.list-view .list-game-date .date-text{font-family:var(--font-display);font-size:.9rem;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.3px}.list-view .list-game-date .time-text{font-size:.8rem;color:var(--text-secondary);font-weight:600}.list-view .list-game-matchup{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.list-view .list-team{display:flex;align-items:center;gap:.6rem;flex:1;min-width:0}.list-view .list-team-logo{width:32px;height:32px;min-width:32px;border-radius:4px;object-fit:contain;border:1px solid var(--border);padding:2px;background:var(--bg-white)}.list-view .list-team-name{font-family:var(--font-display);font-size:.95rem;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-view .list-team-score{font-family:var(--font-display);font-size:1.4rem;font-weight:900;color:var(--text);min-width:40px;text-align:center}.list-view .list-team-score.winning{color:var(--accent)}.list-view .list-vs{font-family:var(--font-display);font-size:.75rem;font-weight:800;color:var(--text-light);text-transform:uppercase;padding:0 .25rem}.list-view .list-game-meta{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.list-view .list-live-badge{display:inline-flex;align-items:center;gap:.3rem;background:var(--accent);color:#fff;padding:.25rem .6rem;border-radius:12px;font-family:var(--font-display);font-size:.65rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase;animation:pulse-live 1.5s ease-in-out infinite}.list-view .list-status-badge{padding:.25rem .6rem;border-radius:4px;font-family:var(--font-display);font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.list-view .list-status-badge.status-scheduled,.list-view .list-status-badge.status-upcoming{background:#3b82f61a;color:#2563eb}.list-view .list-status-badge.status-in-progress{background:#c8102e1a;color:var(--accent)}.list-view .list-status-badge.status-completed{background:#10b9811a;color:#059669}.list-view .list-status-badge.status-postponed,.list-view .list-status-badge.status-cancelled{background:#f59e0b1a;color:#d97706}.list-view .list-location{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--text-secondary)}.list-view .list-location svg{font-size:.7rem}.list-view .list-game-actions{display:flex;gap:.4rem}.list-view .list-btn-action{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:.8rem;transition:all .2s}.list-view .list-btn-action.btn-view:hover{border-color:var(--primary);color:var(--primary);background:#0a16280d}.list-view .list-btn-action.btn-edit:hover{border-color:var(--accent);color:var(--accent);background:#c8102e0d}.list-view .list-btn-action.btn-delete:hover{border-color:#ef4444;color:#ef4444;background:#ef44440d}.calendar-view .calendar-controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md)}.calendar-view .calendar-nav-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:1.2rem;cursor:pointer;transition:all .2s}.calendar-view .calendar-nav-btn:hover{border-color:var(--primary);background:var(--primary);color:#fff}.calendar-view .calendar-month{font-family:var(--font-display);font-size:1.1rem;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.5px;min-width:200px;text-align:center}.calendar-view .btn-today{padding:.5rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-display);font-weight:700;font-size:.8rem;letter-spacing:.3px;text-transform:uppercase;cursor:pointer;transition:all .2s}.calendar-view .btn-today:hover{background:var(--primary-mid);transform:translateY(-1px)}.calendar-view .calendar-grid{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.calendar-view .calendar-header{display:grid;grid-template-columns:repeat(7,1fr);background:var(--bg);border-bottom:2px solid var(--border)}.calendar-view .calendar-day-name{padding:.75rem;text-align:center;font-family:var(--font-display);font-size:.8rem;font-weight:800;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.calendar-view .calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border)}.calendar-view .calendar-day{min-height:100px;background:var(--bg-card);padding:.5rem;position:relative;transition:all .2s}.calendar-view .calendar-day.empty{background:var(--bg);opacity:.3}.calendar-view .calendar-day.today{background:#c8102e08;border:2px solid var(--accent)}.calendar-view .calendar-day.has-games:hover{background:#0a162808;cursor:pointer}.calendar-view .calendar-day .day-number{font-family:var(--font-display);font-size:.85rem;font-weight:700;color:var(--text);margin-bottom:.5rem}.calendar-view .calendar-day.today .day-number{display:inline-block;background:var(--accent);color:#fff;width:24px;height:24px;line-height:24px;text-align:center;border-radius:50%;font-size:.75rem}.calendar-view .day-games{display:flex;flex-direction:column;gap:.3rem}.calendar-view .calendar-game{padding:.35rem .5rem;background:var(--bg);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .2s}.calendar-view .calendar-game:hover{border-color:var(--primary);background:#0a16280d;transform:translate(2px)}.calendar-view .calendar-game.live{background:#c8102e14;border-color:var(--accent);border-left-width:3px}.calendar-view .calendar-game .calendar-game-time{font-size:.65rem;font-weight:700;color:var(--text-secondary);margin-bottom:.2rem}.calendar-view .calendar-game .calendar-game-teams{font-family:var(--font-display);font-size:.7rem;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-view .month-games-summary{margin-top:2rem}.calendar-view .month-games-summary h3{font-family:var(--font-display);font-size:1rem;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.5px;margin:0 0 1rem}.calendar-view .month-games-summary .month-games-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.calendar-view .game-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem;transition:all .2s}.calendar-view .game-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.calendar-view .game-card.live-game{border-left:3px solid var(--accent);background:#c8102e05}.calendar-view .game-card.completed-game{opacity:.9}.calendar-view .game-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.calendar-view .game-time{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:.85rem;font-weight:700;color:var(--text)}.calendar-view .game-time .live-indicator{background:var(--accent);color:#fff;padding:.2rem .5rem;border-radius:10px;font-size:.6rem;letter-spacing:.5px;animation:pulse-live 1.5s ease-in-out infinite}.calendar-view .game-status-badge{padding:.25rem .6rem;border-radius:4px;font-family:var(--font-display);font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.calendar-view .game-status-badge.status-scheduled,.calendar-view .game-status-badge.status-upcoming{background:#3b82f61a;color:#2563eb}.calendar-view .game-status-badge.status-in-progress{background:#c8102e1a;color:var(--accent)}.calendar-view .game-status-badge.status-completed{background:#10b9811a;color:#059669}.calendar-view .game-status-badge.status-postponed,.calendar-view .game-status-badge.status-cancelled{background:#f59e0b1a;color:#d97706}.calendar-view .game-matchup{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.calendar-view .team-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem;background:var(--bg);border-radius:4px}.calendar-view .team-identity{display:flex;align-items:center;gap:.6rem;flex:1;min-width:0}.calendar-view .team-logo-sm{width:28px;height:28px;min-width:28px;border-radius:4px;object-fit:contain;border:1px solid var(--border);padding:2px;background:var(--bg-white)}.calendar-view .team-name{font-family:var(--font-display);font-size:.85rem;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-view .team-score{font-family:var(--font-display);font-size:1.2rem;font-weight:900;color:var(--text);min-width:32px;text-align:right}.calendar-view .team-score.winning{color:var(--accent)}.calendar-view .vs-separator{text-align:center;font-family:var(--font-display);font-size:.7rem;font-weight:800;color:var(--text-light);text-transform:uppercase;padding:.25rem 0}.calendar-view .game-location{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:var(--text-secondary);margin-bottom:.75rem}.calendar-view .game-location svg{font-size:.7rem}.calendar-view .game-actions{display:flex;gap:.4rem;padding-top:.75rem;border-top:1px solid var(--border)}.calendar-view .btn-game-action{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-body);font-weight:600;font-size:.75rem;cursor:pointer;transition:all .2s}.calendar-view .btn-game-action svg{font-size:.7rem}.calendar-view .btn-game-action.btn-view:hover{border-color:var(--primary);background:var(--primary);color:#fff}.calendar-view .btn-game-action.btn-edit:hover{border-color:var(--accent);background:var(--accent);color:#fff}.calendar-view .btn-game-action.btn-delete{flex:0;padding:.5rem .6rem}.calendar-view .btn-game-action.btn-delete:hover{border-color:#ef4444;background:#ef4444;color:#fff}.empty-state{text-align:center;padding:3rem 2rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md)}.empty-state .empty-icon{font-size:2.5rem;opacity:.2;color:var(--text-secondary);margin-bottom:.75rem}.empty-state h3{font-family:var(--font-display);font-size:1.1rem;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.5px;margin:0 0 .5rem}.empty-state p{font-size:.9rem;color:var(--text-secondary);margin:0}.series-context-banner{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#6366f10f;border:1px solid rgba(99,102,241,.2);border-radius:var(--radius-md);margin-bottom:1.25rem}.series-context-banner .sc-icon{color:#6366f1;font-size:1rem;flex-shrink:0}.series-context-banner .sc-body{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.series-context-banner .sc-format{font-size:.7rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.series-context-banner .sc-label{font-family:var(--font-display);font-size:.85rem;font-weight:800;color:#6366f1;text-transform:uppercase;letter-spacing:.3px}.series-context-banner .sc-score{font-size:.75rem;font-weight:700;color:var(--text)}.series-context-banner .sc-games{display:flex;align-items:center;gap:.3rem;flex-shrink:0}.series-context-banner .sc-dot{width:10px;height:10px;border-radius:50%;background:#6366f133;border:1.5px solid rgba(99,102,241,.3);transition:all .15s}.series-context-banner .sc-dot.current{background:#6366f1;border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}@keyframes pulse-live{0%,to{opacity:1}50%{opacity:.65}}@media(max-width:1024px){.list-view .list-game-card{grid-template-columns:160px 1fr auto;gap:1rem}.list-view .list-game-card .list-game-actions{grid-column:1/-1;justify-content:flex-end;padding-top:.75rem;border-top:1px solid var(--border)}.calendar-view .month-games-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media(max-width:900px){.series-game-row{grid-template-columns:70px 1fr auto;gap:.75rem}.series-game-row .sgr-meta{grid-column:1/-1;padding-top:.5rem;border-top:1px solid var(--border)}}@media(max-width:768px){.schedule-section .section-header{flex-direction:column;align-items:stretch}.schedule-section .section-header .header-actions{flex-direction:column}.schedule-section .section-header .view-toggle,.schedule-section .section-header .btn-add-game{width:100%}.series-header{flex-direction:column;align-items:flex-start;gap:.75rem}.series-header-right{width:100%;justify-content:space-between}.series-game-row{grid-template-columns:1fr auto;gap:.5rem}.series-game-row .sgr-game-label{grid-column:1/-1}.series-game-row .sgr-matchup{grid-column:1/2}.series-game-row .sgr-actions{grid-column:2/3;align-self:center}.series-game-row .sgr-meta{grid-column:1/-1;padding-top:.4rem;border-top:1px solid var(--border)}.list-view .list-game-card{grid-template-columns:1fr;gap:.75rem}.list-view .list-game-card .list-game-meta{order:-1}.list-view .list-game-card .list-game-matchup{flex-direction:column;align-items:stretch;gap:.5rem}.list-view .list-game-card .list-vs{text-align:center;padding:.25rem 0}.calendar-view .calendar-day{min-height:80px}.calendar-view .calendar-game-teams{font-size:.65rem}.calendar-view .month-games-list{grid-template-columns:1fr}}@media(max-width:480px){.list-view .list-team-name{font-size:.85rem}.list-view .list-team-score{font-size:1.2rem;min-width:35px}.calendar-view .calendar-day{min-height:70px;padding:.35rem}.calendar-view .calendar-day-name{font-size:.7rem;padding:.5rem}.calendar-view .calendar-game{padding:.25rem .35rem}.calendar-view .calendar-game-time,.calendar-view .calendar-game-teams{font-size:.6rem}.series-matchup-label .series-team{max-width:110px}.series-score-display .series-score-text{font-size:.75rem}}:root{--primary: #0a1628;--primary-mid: #1a2e4a;--accent: #c8102e;--accent-hover: #a00d24;--accent-gold: #f7b500;--text: #0a1628;--text-secondary: #5a6a7e;--text-light: #8898aa;--bg: #f5f6f8;--bg-white: #ffffff;--bg-card: #ffffff;--border: #e2e8f0;--border-mid: #cbd5e0;--shadow-sm: 0 1px 4px rgba(10, 22, 40, .08);--shadow-md: 0 4px 16px rgba(10, 22, 40, .1);--shadow-lg: 0 12px 40px rgba(10, 22, 40, .13);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--font-display: "Barlow Condensed", sans-serif;--font-body: "Barlow", sans-serif}.league-details-page{min-height:100vh;background:var(--bg);font-family:var(--font-body);color:var(--text)}.details-header{position:sticky;top:0;z-index:100;background:var(--bg-white);border-bottom:2px solid var(--border);box-shadow:var(--shadow-sm)}.details-header .header-content{max-width:1280px;margin:0 auto;padding:0 1.5rem;height:56px;display:flex;align-items:center;justify-content:space-between}.btn-back{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem 1rem;background:transparent;border:1.5px solid var(--border-mid);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-body);font-weight:600;font-size:.85rem;letter-spacing:.3px;cursor:pointer;text-decoration:none;transition:border-color .2s,color .2s,background .2s}.btn-back:hover{border-color:var(--primary);color:var(--primary);background:var(--bg)}.header-actions{display:flex;gap:.75rem}.btn-share{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem 1.1rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-weight:700;font-size:.85rem;letter-spacing:.3px;cursor:pointer;transition:background .2s,transform .15s}.btn-share:hover{background:var(--primary-mid);transform:translateY(-1px)}.btn-share.copied{background:#10b981}.league-banner{background:var(--primary);position:relative;overflow:hidden}.league-banner:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0px,rgba(255,255,255,.03) 1px,transparent 1px,transparent 60px);pointer-events:none}.league-banner:after{content:"";position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-gold) 100%)}.banner-content{max-width:1280px;margin:0 auto;padding:2.5rem 1.5rem 3rem;position:relative;z-index:1}.league-info{animation:fadeUp .5s ease both}.info-header-with-logo{display:flex;align-items:flex-start;gap:1.5rem;margin-bottom:1rem}@media(max-width:768px){.info-header-with-logo{flex-direction:column;align-items:flex-start;gap:1rem}}.title-meta-column{flex:1;display:flex;flex-direction:column;gap:.5rem;min-width:0}.league-logo-container{position:relative;width:120px;height:120px;min-width:120px;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);border:2px solid rgba(255,255,255,.15);transition:all .3s ease;box-shadow:0 4px 12px #00000026}.league-logo-container.editable{cursor:pointer}.league-logo-container.editable:hover{border-color:#ffffff59;transform:translateY(-2px);box-shadow:0 8px 20px #00000040}.league-logo-container.no-logo{display:flex;align-items:center;justify-content:center}@media(max-width:768px){.league-logo-container{width:100px;height:100px;min-width:100px}}.league-logo{width:100%;height:100%;object-fit:cover;display:block}.logo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}.logo-placeholder svg{font-size:3rem;color:#ffffff59;transition:all .3s ease}.editable:hover .logo-placeholder svg{color:#fff9;transform:scale(1.1)}.logo-overlay{position:absolute;inset:0;background:#000c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;opacity:0;transition:opacity .3s ease;padding:1rem}.editable:hover .logo-overlay{opacity:1}.logo-overlay svg{font-size:2rem;color:#fff}.logo-overlay span{color:#fff;font-size:.875rem;font-weight:700;text-align:center;font-family:var(--font-display);letter-spacing:.5px;text-transform:uppercase}.btn-remove-logo{margin-top:.5rem;padding:.3rem .8rem;background:#ef4444e6;color:#fff;border:none;border-radius:4px;font-size:.75rem;font-weight:700;font-family:var(--font-display);letter-spacing:.3px;text-transform:uppercase;cursor:pointer;transition:all .2s ease}.btn-remove-logo:hover{background:#ef4444;transform:scale(1.05)}.league-meta-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.info-header{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;flex:1;min-width:0}.info-header h1{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.6rem);font-weight:900;color:#fff;letter-spacing:.5px;text-transform:uppercase;margin:0;line-height:1.1}.league-status{padding:.3rem .75rem;border-radius:var(--radius-sm);font-family:var(--font-display);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;display:inline-block}.sport-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .8rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-sm);color:#ffffffd9;font-weight:600;font-size:.82rem;letter-spacing:.3px}.league-description{color:#ffffffa6;font-size:.95rem;line-height:1.6;margin-bottom:1.75rem;max-width:680px}.info-grid{display:flex;flex-wrap:wrap;gap:.75rem}.info-item{display:flex;align-items:center;gap:.6rem;padding:.6rem 1rem;background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);min-width:0}.info-item svg{color:var(--accent-gold);font-size:.9rem;flex-shrink:0}.info-item>div{display:flex;flex-direction:column;gap:.1rem}.info-item .label{font-size:.7rem;color:#ffffff73;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.info-item .value{font-size:.9rem;color:#fff;font-weight:700}.details-tabs{background:var(--bg-white);border-bottom:2px solid var(--border);position:sticky;top:56px;z-index:90;box-shadow:var(--shadow-sm)}.tabs-container{max-width:1280px;margin:0 auto;padding:0 1.5rem;display:flex;gap:0;overflow-x:auto;scrollbar-width:none}.tabs-container::-webkit-scrollbar{display:none}.tab{padding:.9rem 1.25rem;background:transparent;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;color:var(--text-secondary);font-family:var(--font-display);font-weight:700;font-size:.95rem;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;transition:color .2s,border-color .2s;white-space:nowrap}.tab:hover{color:var(--primary)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.details-content{max-width:1280px;margin:0 auto;padding:1.75rem 1.5rem}.section-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem;margin-bottom:1.25rem;box-shadow:var(--shadow-sm)}.section-card h2{font-family:var(--font-display);font-size:1.25rem;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.5px;margin:0 0 1.25rem}.section-card h3{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.4px;margin:1.25rem 0 .75rem}.section-card p{color:var(--text-secondary);line-height:1.7;font-size:.95rem}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:.75rem}.section-header h2{font-family:var(--font-display);font-size:1.25rem;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.5px;margin:0}.header-left{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.group-filter{display:flex;align-items:center}.filter-select{padding:.45rem .85rem;background:var(--bg);border:1.5px solid var(--border-mid);border-radius:var(--radius-sm);color:var(--text);font-size:.875rem;font-family:var(--font-body);font-weight:600;cursor:pointer;transition:border-color .2s;min-width:130px}.filter-select:focus{outline:none;border-color:var(--primary)}.btn-add-team{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.1rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-display);font-weight:700;font-size:.9rem;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;transition:background .2s,transform .15s}.btn-add-team:hover{background:var(--accent-hover);transform:translateY(-1px)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1rem}.stat-item{text-align:center;padding:1.25rem 1rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .2s,box-shadow .2s,transform .2s}.stat-item:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-value{display:block;font-family:var(--font-display);font-size:2.2rem;font-weight:900;color:var(--accent);line-height:1;margin-bottom:.35rem}.stat-label{display:block;font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.teams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.team-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .2s,border-color .2s,transform .2s;box-shadow:var(--shadow-sm)}.team-card:hover{transform:translateY(-3px);border-color:var(--primary);box-shadow:var(--shadow-md)}.team-header{display:flex;align-items:flex-start;gap:.9rem;padding:1.1rem 1.25rem;background:var(--bg);border-bottom:1px solid var(--border)}.team-logo{width:50px;height:50px;border-radius:var(--radius-sm);object-fit:cover;border:1.5px solid var(--border)}.team-info{flex:1}.team-info h3{font-family:var(--font-display);font-size:1.1rem;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.3px;margin:0 0 .3rem}.team-group{display:inline-block;padding:.2rem .55rem;background:var(--primary);color:#fff;border-radius:4px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.3rem}.team-coach{font-size:.83rem;color:var(--text-secondary);margin:0}.team-actions{display:flex;gap:.35rem;flex-shrink:0}.btn-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-white);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:.8rem;transition:border-color .2s,color .2s,background .2s}.btn-icon:hover{border-color:var(--primary);color:var(--primary);background:var(--bg)}.btn-icon.btn-danger:hover{border-color:#ef4444;color:#ef4444;background:#ef44440f}.team-body{padding:1rem 1.25rem}.team-stats{display:flex;justify-content:space-around;padding:.75rem;background:var(--bg);border-radius:var(--radius-sm);margin-bottom:.85rem;border:1px solid var(--border)}.team-stats span{font-size:.83rem;color:var(--text-secondary);font-weight:500}.team-stats strong{color:var(--text);font-weight:700}.btn-add-player{width:100%;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem;background:transparent;border:1.5px dashed var(--border-mid);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-body);font-weight:600;font-size:.85rem;cursor:pointer;transition:border-color .2s,color .2s,background .2s}.btn-add-player:hover{border-color:var(--accent);color:var(--accent);background:#c8102e0a}.standings-table{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border)}.standings-table table{width:100%;border-collapse:collapse}.standings-table th,.standings-table td{padding:.8rem 1rem;text-align:left;border-bottom:1px solid var(--border);font-size:.875rem}.standings-table th{font-family:var(--font-display);font-weight:800;color:var(--text);background:var(--bg);font-size:.78rem;text-transform:uppercase;letter-spacing:.6px;white-space:nowrap}.standings-table td{color:var(--text-secondary);font-weight:500}.standings-table tbody tr{transition:background .15s}.standings-table tbody tr:last-child td{border-bottom:none}.standings-table tbody tr:hover{background:var(--bg)}.standings-table tbody tr:first-child td{color:var(--text);font-weight:700}.team-name-cell{display:flex;align-items:center;gap:.6rem;font-weight:700!important;color:var(--text)!important;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.3px}.table-logo{width:28px;height:28px;border-radius:4px;object-fit:cover;border:1px solid var(--border)}.schedule-list{display:flex;flex-direction:column;gap:.75rem}.schedule-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:all .3s ease}.schedule-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.schedule-card.live-game{border-color:var(--accent);border-left-width:3px;box-shadow:0 0 0 3px #c8102e14,var(--shadow-sm)}.schedule-card.completed-game{opacity:.92}.game-main{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;gap:1rem;transition:background .2s}.game-main:hover{background:#0a162805}.game-matchup-compact{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.team-compact{display:flex;align-items:center;gap:.6rem;min-width:0;flex:1}.team-logo-compact{width:32px;height:32px;min-width:32px;border-radius:4px;object-fit:contain;border:1px solid var(--border);padding:2px;background:var(--bg-white)}.team-name-compact{font-family:var(--font-display);font-size:.95rem;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.team-score-compact{font-family:var(--font-display);font-size:1.4rem;font-weight:900;color:var(--text);min-width:40px;text-align:right;line-height:1}.team-score-compact.winning{color:var(--accent)}.divider-compact{font-family:var(--font-display);font-size:.75rem;font-weight:800;color:var(--text-light);text-transform:uppercase;padding:0 .25rem;flex-shrink:0}.game-info-compact{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.live-badge-compact{display:inline-flex;align-items:center;gap:.3rem;background:var(--accent);color:#fff;padding:.25rem .6rem;border-radius:12px;font-family:var(--font-display);font-size:.65rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase;animation:pulse-live 1.5s ease-in-out infinite}.game-status-compact{padding:.25rem .6rem;border-radius:4px;font-family:var(--font-display);font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.game-status-compact.status-scheduled,.game-status-compact.status-upcoming{background:#3b82f61a;color:#2563eb}.game-status-compact.status-in-progress{background:#c8102e1a;color:var(--accent)}.game-status-compact.status-completed{background:#10b9811a;color:#059669}.game-status-compact.status-postponed,.game-status-compact.status-cancelled{background:#f59e0b1a;color:#d97706}.btn-expand{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .2s;font-size:.75rem}.btn-expand:hover{background:var(--bg);border-color:var(--primary);color:var(--primary)}.game-details-expanded{padding:1rem;background:var(--bg);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.85rem;animation:slideDown .3s ease}.details-row{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.detail-item{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text-secondary)}.detail-item .detail-icon{color:var(--accent);font-size:.75rem}.detail-item .detail-label{font-weight:600;color:var(--text)}.records-row{display:flex;gap:1.5rem;padding:.75rem;background:var(--bg-white);border-radius:var(--radius-sm);border:1px solid var(--border);flex-wrap:wrap}.team-record-item{display:flex;flex-direction:column;gap:.2rem;flex:1;min-width:140px}.team-record-item .record-team{font-family:var(--font-display);font-size:.8rem;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.3px}.team-record-item .record-text{font-family:var(--font-display);font-size:.85rem;font-weight:600;color:var(--text-secondary)}.actions-row{display:flex;gap:.6rem;padding-top:.5rem;border-top:1px solid var(--border)}.btn-action{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-body);font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s}.btn-action:hover{border-color:var(--primary);background:var(--primary);color:#fff}.btn-action.btn-danger:hover{border-color:#ef4444;background:#ef4444;color:#fff}.btn-action svg{font-size:.8rem}@keyframes pulse-live{0%,to{opacity:1}50%{opacity:.7}}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}@media(max-width:768px){.game-main{flex-direction:column;align-items:stretch;gap:.75rem}.game-matchup-compact{flex-direction:column;align-items:stretch;gap:.5rem}.team-compact{padding:.5rem;background:var(--bg);border-radius:var(--radius-sm)}.divider-compact{text-align:center;padding:.25rem 0}.game-info-compact{justify-content:space-between;width:100%}.details-row{flex-direction:column;align-items:flex-start;gap:.5rem}.records-row{flex-direction:column;gap:.75rem}.actions-row{flex-direction:column}.btn-action{width:100%;justify-content:center}}@media(max-width:480px){.team-name-compact{font-size:.85rem}.team-score-compact{font-size:1.2rem;min-width:35px}.team-logo-compact{width:28px;height:28px;min-width:28px}}.overview-section{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}@media(max-width:768px){.overview-section{grid-template-columns:1fr}}.empty-state{text-align:center;padding:3rem 2rem;color:var(--text-secondary)}.empty-state h3{font-family:var(--font-display);font-size:1.25rem;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.5px;margin:.75rem 0 .4rem}.empty-state p{font-size:.9rem;color:var(--text-secondary)}.empty-icon{font-size:2.5rem;opacity:.2;display:block;margin:0 auto .5rem}.empty-message{font-size:.9rem;color:var(--text-secondary)}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1.5rem;background:var(--bg);color:var(--text-secondary)}.loader{position:relative;width:72px;height:72px;display:flex;align-items:center;justify-content:center}.loader-ring{position:absolute;width:100%;height:100%;border:3px solid transparent;border-top-color:var(--accent);border-radius:50%;animation:spin 1.4s cubic-bezier(.68,-.55,.27,1.55) infinite}.loader-ring:nth-child(2){width:72%;height:72%;border-top-color:var(--primary);animation-delay:-.3s}.loader-ring:nth-child(3){width:44%;height:44%;border-top-color:var(--accent-gold);animation-delay:-.6s}.loader-icon{font-size:20px;color:var(--accent);animation:pulse 2s ease-in-out infinite;z-index:1}.status-upcoming{background:#3b82f61a;color:#2563eb;border:1px solid rgba(59,130,246,.3)}.status-open{background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.3)}.status-active{background:#c8102e1a;color:var(--accent);border:1px solid rgba(200,16,46,.3)}.status-completed{background:#5a6a7e1a;color:var(--text-secondary);border:1px solid var(--border-mid)}.status-cancelled{background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.3)}.status-hold{background:#f59e0b1a;color:#d97706;border:1px solid rgba(245,158,11,.3)}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.75}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){.details-content{padding:1.5rem 1.25rem}.teams-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}@media(max-width:768px){.banner-content{padding:1.75rem 1rem 2.25rem}.details-content{padding:1.25rem 1rem}.info-header h1{font-size:1.6rem}.section-header,.header-left{flex-direction:column;align-items:stretch}.teams-grid{grid-template-columns:1fr}.game-matchup{flex-direction:column;gap:.75rem}.team-section{width:100%}.vs-divider{align-self:center}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.details-header .header-content,.tabs-container{padding:0 1rem}.tab{padding:.75rem .9rem;font-size:.82rem}.section-card{padding:1.25rem 1rem}.team-header{flex-direction:column}.team-actions{width:100%;justify-content:flex-end}.stats-grid{grid-template-columns:1fr}}.modal-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow-y:auto}.modal-content,.modal-container{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px #000000e6;animation:slideUp .3s ease;margin:auto;position:relative}.modal-content.player-modal{max-width:800px}.modal-container.team-info-modal{max-width:900px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:2rem;border-bottom:1px solid var(--border);background:#ffffff05;flex-shrink:0}.modal-header h2{font-size:1.75rem;font-weight:700;margin:0;color:var(--text)}.modal-subtitle{font-size:.95rem;color:var(--text-secondary);margin:.5rem 0 0}.btn-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;transition:all .3s ease;flex-shrink:0}.modal-body::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.modal-body::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.form-section{margin-bottom:2rem}.form-section h3{font-size:1.1rem;font-weight:600;color:var(--text);margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.5px;font-size:.9rem;color:var(--text-secondary)}.form-group{margin-bottom:1.5rem;flex:1}.form-group label{display:block;font-size:.9rem;font-weight:600;color:var(--text);margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.875rem 1rem;background:#ffffff0d;border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.95rem;font-family:Outfit,sans-serif;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;background:#ffffff14;border-color:var(--accent);box-shadow:0 0 0 3px #ffffff1a}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-secondary)}.form-group input.error,.form-group select.error{border-color:var(--error)}.form-group textarea{resize:vertical;min-height:80px}.error-message{display:block;color:var(--error);font-size:.85rem;margin-top:.5rem}.form-row{display:flex;gap:1rem;margin-bottom:1.5rem}.form-row .form-group{margin-bottom:0}.logo-upload-group{margin-bottom:2rem}.logo-upload-container{width:100%;max-width:200px}.logo-preview{position:relative;width:150px;height:150px;border-radius:12px;overflow:hidden;border:2px solid var(--border);background:#ffffff08}.logo-preview img{width:100%;height:100%;object-fit:cover}.btn-remove-logo{position:absolute;top:.5rem;right:.5rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--error);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease;opacity:0}.logo-preview:hover .btn-remove-logo{opacity:1}.btn-remove-logo:hover{transform:scale(1.1)}.logo-upload-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:150px;height:150px;border:2px dashed var(--border);border-radius:12px;background:#ffffff08;cursor:pointer;transition:all .3s ease;color:var(--text-secondary);text-align:center;padding:1rem}.logo-upload-placeholder:hover{border-color:var(--accent);background:#ffffff0d;color:var(--accent)}.logo-upload-placeholder svg{font-size:2.5rem;margin-bottom:.75rem}.logo-upload-placeholder span{font-size:.9rem;font-weight:600;margin-bottom:.25rem}.logo-upload-placeholder small{font-size:.75rem;color:var(--text-secondary)}.modal-footer{display:flex;gap:1rem;padding:1.5rem 2rem;border-top:1px solid var(--border);background:#ffffff05;flex-shrink:0}.btn-cancel,.btn-submit,.btn-secondary{flex:1;padding:.875rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:600;font-family:Outfit,sans-serif;cursor:pointer;transition:all .3s ease;border:none}.btn-cancel,.btn-secondary{background:#ffffff0d;color:var(--text);border:1px solid var(--border)}.btn-cancel:hover:not(:disabled),.btn-secondary:hover:not(:disabled){background:#ffffff1a;border-color:var(--accent)}.btn-submit{background:var(--accent);color:var(--primary);box-shadow:0 4px 15px #fff3}.btn-submit:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 6px 20px #ffffff4d}.btn-cancel:disabled,.btn-submit:disabled{opacity:.5;cursor:not-allowed}.team-info-header{display:flex;align-items:center;gap:2rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}.team-logo-large{width:100px;height:100px;border-radius:12px;object-fit:cover;border:2px solid var(--border)}.team-name{font-size:2rem;font-weight:700;margin:0 0 .5rem;color:var(--text)}.team-group-badge{display:inline-block;padding:.25rem .75rem;background:var(--accent);color:var(--primary);border-radius:6px;font-size:.85rem;font-weight:600;margin-bottom:.5rem}.team-coach{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.95rem;margin:.5rem 0 0}.team-stats-section h3,.team-roster-section h3{font-size:1.1rem;font-weight:600;color:var(--text);margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:#ffffff08;border:1px solid var(--border);border-radius:12px;transition:all .3s ease}.stat-card:hover{background:#ffffff0d;transform:translateY(-2px)}.stat-icon{font-size:1.75rem;color:var(--accent)}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:1.75rem;font-weight:700;color:var(--text);line-height:1}.stat-label{font-size:.85rem;color:var(--text-secondary);margin-top:.25rem}.roster-table thead{background:#ffffff08;border-bottom:2px solid var(--border)}.roster-table th{padding:1rem;text-align:left;font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.roster-table td{padding:1rem;border-bottom:1px solid var(--border);color:var(--text)}.roster-table tbody tr{transition:background .2s ease}.jersey-number{font-weight:700;color:var(--accent);font-size:1.1rem}.player-name strong{color:var(--text)}.player-position{color:var(--text-secondary)}.player-contact{font-size:.9rem;color:var(--text-secondary)}.empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.3}.info-section h4{font-size:.95rem;font-weight:600;color:var(--text);margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.5px}.info-section p{color:var(--text-secondary);line-height:1.6;margin:0}@media(max-width:768px){.modal-content,.modal-container{max-width:100%;margin:0;border-radius:16px 16px 0 0;max-height:95vh}.modal-header,.modal-body,.modal-footer{padding:1.5rem}.form-row{flex-direction:column}.team-info-header{flex-direction:column;text-align:center}.stats-grid{grid-template-columns:repeat(2,1fr)}.roster-table{font-size:.9rem}.roster-table th,.roster-table td{padding:.75rem .5rem}}@media(max-width:480px){.modal-header h2{font-size:1.5rem}.modal-header,.modal-body{padding:1.25rem}.modal-footer{flex-direction:column;padding:1.25rem}.btn-cancel,.btn-submit,.btn-secondary{width:100%}.team-name{font-size:1.5rem}.stats-grid{grid-template-columns:1fr}.roster-table th:nth-child(3),.roster-table td:nth-child(3),.roster-table th:nth-child(4),.roster-table td:nth-child(4){display:none}}.modal-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-container{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;max-width:600px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 50px #000000e6;animation:slideUp .3s ease;margin:auto;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-container.team-info-modal{max-width:800px}.modal-container.schedule-modal{max-width:700px}.modal-container.large-modal{max-width:900px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid var(--border);background:#ffffff08;flex-shrink:0}.modal-header h2{font-size:1.5rem;font-weight:700;color:var(--text);margin:0}.btn-close{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid var(--border);border-radius:10px;color:var(--text);cursor:pointer;transition:all .3s ease;font-size:1.1rem}.btn-close:hover{background:var(--error-bg);border-color:var(--error);color:var(--error);transform:rotate(90deg)}.modal-body{padding:2rem;overflow-y:auto;flex:1;min-height:0}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:#ffffff0d;border-radius:10px}.modal-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;border-top:1px solid var(--border);background:#ffffff08;flex-shrink:0}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border-radius:10px;font-size:.95rem;font-weight:600;font-family:Outfit,sans-serif;cursor:pointer;transition:all .3s ease;border:none}.btn-primary{background:var(--accent);color:var(--primary);box-shadow:0 5px 20px #fff3}.btn-primary:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 8px 30px #ffffff4d}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#ffffff0d;color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:#ffffff1a;border-color:var(--accent)}.form-group{margin-bottom:1.5rem}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-group label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--text);margin-bottom:.5rem;font-size:.95rem}.form-group label svg{color:var(--accent);font-size:1rem}.form-group label small{display:block;font-weight:400;margin-top:.25rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.875rem 1rem;background:#ffffff0d;border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:.95rem;font-family:Outfit,sans-serif;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);background:#ffffff14;box-shadow:0 0 0 3px #ffffff1a}.form-group input:read-only{background:#ffffff05;cursor:not-allowed;opacity:.7}.form-group textarea{resize:vertical;min-height:100px}.form-group select option{background:var(--bg-card);color:var(--text)}.error-message{padding:1rem;background:var(--error-bg);border:1px solid var(--error);border-radius:10px;color:var(--error);font-size:.9rem;font-weight:600;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.view-only-notice{padding:1rem;background:#3b82f61a;border:1px solid var(--info);border-radius:10px;color:var(--info);font-size:.9rem;font-weight:600;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.scores-section{margin:2rem 0;padding:1.5rem;background:#ffffff08;border:1px solid var(--border);border-radius:12px}.scores-section h3{font-size:1.25rem;font-weight:700;color:var(--text);margin-bottom:1rem}.player-scoring-section{margin:2rem 0}.player-scoring-section h3{font-size:1.25rem;font-weight:700;color:var(--text);margin-bottom:.5rem}.team-players-section{margin:2rem 0;padding:1.5rem;background:#ffffff05;border:1px solid var(--border);border-radius:12px}.team-header-stats{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.team-header-stats h4{font-size:1.1rem;font-weight:700;color:var(--text);margin:0}.btn-add-player-score{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#ffffff0d;border:1px dashed var(--border);border-radius:8px;color:var(--text);font-family:Outfit,sans-serif;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .3s ease}.btn-add-player-score:hover{background:#ffffff14;border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.player-score-row{margin-bottom:1rem;padding:1rem;background:#ffffff08;border:1px solid var(--border);border-radius:10px;position:relative}.player-score-row:hover{background:#ffffff0d;border-color:var(--accent)}.player-score-row .form-row{grid-template-columns:2fr 1fr 1fr 1fr auto;gap:.75rem;align-items:end}.player-score-row .form-group{margin-bottom:0}.btn-remove-player{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;transition:all .3s ease;font-size:.9rem;margin-top:auto}.btn-remove-player:hover{background:var(--error-bg);border-color:var(--error);color:var(--error);transform:scale(1.1)}.team-info-header{display:flex;align-items:center;gap:1.5rem;padding:2rem;background:#ffffff08;border-radius:12px;margin-bottom:2rem}.team-logo-large{width:100px;height:100px;border-radius:16px;object-fit:cover;border:2px solid var(--border);box-shadow:0 8px 30px #0006}.team-main-info{flex:1}.team-main-info .team-name{font-size:2rem;font-weight:800;color:var(--text);margin:0 0 .5rem}.team-main-info .team-coach{display:flex;align-items:center;gap:.5rem;font-size:1rem;color:var(--text-secondary);margin:.5rem 0 0}.team-main-info .team-coach svg{color:var(--accent)}.team-stats-section{margin-bottom:2rem}.team-stats-section h3{font-size:1.25rem;font-weight:700;color:var(--text);margin-bottom:1rem}.team-stats-section .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#ffffff08;border:1px solid var(--border);border-radius:12px;transition:all .3s ease}.stat-card:hover{background:#ffffff0d;border-color:var(--accent);transform:translateY(-2px)}.stat-icon{font-size:1.5rem;color:var(--accent)}.stat-content{display:flex;flex-direction:column;gap:.25rem}.stat-content .stat-value{font-size:1.5rem;font-weight:800;color:var(--accent)}.stat-content .stat-label{font-size:.85rem;color:var(--text-secondary);font-weight:600}.team-roster-section{margin-bottom:2rem}.team-roster-section h3{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;color:var(--text);margin-bottom:1rem}.team-roster-section h3 svg{color:var(--accent)}.roster-table{overflow-x:auto}.roster-table table{width:100%;border-collapse:collapse}.roster-table th,.roster-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--border)}.roster-table th{font-weight:700;color:var(--text);background:#ffffff08;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.roster-table td{color:var(--text-secondary);font-size:.95rem}.roster-table tbody tr:hover{background:#ffffff08}.roster-table .jersey-number{font-weight:700;color:var(--accent);font-size:1rem}.roster-table .player-name{color:var(--text)}.roster-table .player-position{color:var(--text-secondary);font-style:italic}.empty-roster{text-align:center;padding:3rem 2rem;color:var(--text-secondary)}.empty-roster .empty-icon{font-size:3rem;opacity:.3;margin-bottom:1rem}.empty-roster p{font-size:1rem;color:var(--text-secondary)}.team-additional-info{margin-top:2rem}.info-section{margin-bottom:1.5rem}.info-section h4{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:.5rem}.info-section p{color:var(--text-secondary);line-height:1.6}@media(max-width:768px){.modal-container{max-height:95vh;margin:.5rem}.modal-header,.modal-footer{padding:1rem 1.5rem}.modal-body{padding:1.5rem}.form-row,.player-score-row .form-row{grid-template-columns:1fr}.player-score-row .form-row .form-group:last-of-type{grid-column:1}.btn-remove-player{width:100%;margin-top:.5rem}.team-info-header{flex-direction:column;text-align:center;padding:1.5rem}.team-main-info .team-name{font-size:1.5rem}.team-stats-section .stats-grid{grid-template-columns:repeat(2,1fr)}.team-header-stats{flex-direction:column;align-items:stretch;gap:1rem}.btn-add-player-score{width:100%;justify-content:center}}@media(max-width:480px){.modal-header h2{font-size:1.25rem}.btn-primary,.btn-secondary{padding:.625rem 1.25rem;font-size:.85rem}.team-logo-large{width:80px;height:80px}.team-main-info .team-name{font-size:1.25rem}.team-stats-section .stats-grid{grid-template-columns:1fr}.roster-table th,.roster-table td{padding:.75rem .5rem;font-size:.85rem}.scores-section,.team-players-section{padding:1rem}}.result-section{margin-bottom:1rem}.result-section h3{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem;font-size:.95rem;font-weight:700}.result-section h3 svg{color:var(--accent-gold);font-size:.9rem}.result-hint,.section-hint{font-size:.8rem;color:var(--text-secondary);margin:0 0 .85rem}.optional-tag{font-size:.7rem;font-weight:600;color:var(--text-secondary);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:.1rem .4rem;vertical-align:middle;margin-left:.4rem;text-transform:uppercase;letter-spacing:.3px}.auto-note{display:block;margin-top:.25rem;font-size:.75rem;color:var(--text-secondary)}.result-picker{display:grid;grid-template-columns:1fr auto 1fr;gap:.5rem}.result-btn{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.65rem 1rem;background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s}.result-btn:hover:not(:disabled){border-color:var(--primary);background:var(--bg)}.result-btn.active{border-color:var(--accent);background:#c8102e0f}.result-btn:disabled{opacity:.4;cursor:not-allowed}.result-btn .result-btn-label{font-weight:700;font-size:.85rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.result-btn .result-btn-pts{font-size:.7rem;font-weight:600;color:var(--text-secondary)}.result-btn.active .result-btn-label,.result-btn.active .result-btn-pts{color:var(--accent)}.result-display{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.result-chip{display:inline-block;padding:.35rem .85rem;border-radius:var(--radius-sm);font-weight:700;font-size:.85rem}.result-chip.result-home,.result-chip.result-away{background:#10b9811a;color:#10b981}.result-chip.result-draw{background:#6b72801a;color:#6b7280}.result-points-note{font-size:.78rem;color:var(--text-secondary)}.forfeit-alert{display:flex;align-items:center;gap:.6rem;padding:.65rem .9rem;background:#ef444412;border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-sm);color:#ef4444;font-size:.83rem;margin-bottom:.75rem}.forfeit-alert>svg{flex-shrink:0}.forfeit-alert-body{display:flex;flex-direction:column;gap:.1rem;flex:1}.forfeit-alert-body strong{font-weight:700;color:#ef4444}.forfeit-alert-body span{font-size:.75rem;color:#ef4444;opacity:.8}.forfeit-notice{display:flex;align-items:center;gap:.5rem;padding:.6rem .85rem;background:#ef44440f;border-radius:var(--radius-sm);color:#ef4444;font-size:.8rem;font-style:italic;margin:.4rem 0}.forfeit-badge{display:inline-flex;align-items:center;gap:.25rem;margin-left:.5rem;padding:.12rem .45rem;background:#ef4444;color:#fff;border-radius:4px;font-size:.62rem;font-weight:800;letter-spacing:.4px;text-transform:uppercase;vertical-align:middle}.team-players-section.forfeited{opacity:.6}.player-scoring-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.player-scoring-header h3{margin:0}.forfeit-actions{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.forfeit-label{font-size:.72rem;color:var(--text-secondary);font-weight:600}.btn-forfeit{display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .6rem;background:transparent;border:1px solid rgba(239,68,68,.35);border-radius:var(--radius-sm);color:#ef4444;font-size:.72rem;font-weight:700;cursor:pointer;transition:all .15s}.btn-forfeit:hover{background:#ef444412;border-color:#ef4444}.btn-clear-forfeit{display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .6rem;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.72rem;font-weight:700;cursor:pointer;transition:all .15s}.btn-clear-forfeit:hover{border-color:var(--primary);color:var(--primary)}@media(min-width:1024px){.modal-container.schedule-modal{max-width:1100px}.modal-container.large-modal{max-width:1200px}.modal-container.view-only-modal{max-width:1000px}}.view-game-header{margin-bottom:2rem}.view-matchup{display:flex;align-items:stretch;gap:1.5rem;margin-bottom:1.5rem}.view-team{flex:1;display:flex;align-items:center;gap:1rem;padding:1.25rem;background:#ffffff08;border:1px solid var(--border);border-radius:var(--radius-md);transition:all .2s}.view-team:hover{background:#ffffff0d;border-color:var(--primary)}.view-team-logo{width:60px;height:60px;min-width:60px;border-radius:var(--radius-sm);object-fit:contain;border:1.5px solid var(--border);padding:4px;background:var(--bg-white)}.view-team-info{flex:1;display:flex;flex-direction:column;gap:.3rem}.view-team-name{font-family:var(--font-display);font-size:1.2rem;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.3px}.view-team-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.view-score{font-family:var(--font-display);font-size:2.5rem;font-weight:900;color:var(--text);line-height:1;min-width:70px;text-align:center}.view-score.winner{color:var(--accent)}.view-vs{display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1rem;font-weight:800;color:var(--text-light);text-transform:uppercase;padding:0 .5rem}.view-result{text-align:center}.view-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:2rem}.view-detail-item{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#ffffff08;border:1px solid var(--border);border-radius:var(--radius-sm)}.view-detail-item .detail-icon{color:var(--accent);font-size:1.1rem;margin-top:.2rem;flex-shrink:0}.view-detail-item>div{display:flex;flex-direction:column;gap:.3rem;flex:1}.view-detail-item .detail-label{font-size:.7rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.view-detail-item .detail-value{font-size:.9rem;font-weight:600;color:var(--text)}.status-badge{display:inline-block;padding:.25rem .6rem;border-radius:4px;font-family:var(--font-display);font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;margin-top:.2rem}.status-badge.status-scheduled,.status-badge.status-upcoming{background:#3b82f61a;color:#2563eb}.status-badge.status-in-progress{background:#c8102e1a;color:var(--accent)}.status-badge.status-completed{background:#10b9811a;color:#059669}.status-badge.status-postponed,.status-badge.status-cancelled{background:#f59e0b1a;color:#d97706}.view-forfeit-alert{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:#ef444412;border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-sm);color:#ef4444;font-size:.9rem;margin-bottom:2rem}.view-forfeit-alert svg{font-size:1.2rem;flex-shrink:0}.view-forfeit-alert strong{font-weight:700}.view-stats-section{margin-bottom:2rem}.view-stats-section>h3{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:1.1rem;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.5px;margin-bottom:1rem}.view-stats-section>h3 svg{color:var(--accent);font-size:1rem}.view-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.view-team-stats{background:#ffffff08;border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem}.view-team-stats h4{font-family:var(--font-display);font-size:1rem;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.3px;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.view-team-stats .no-stats{color:var(--text-secondary);font-size:.85rem;font-style:italic;text-align:center;padding:1.5rem}.view-stats-table{width:100%;border-collapse:collapse;font-size:.85rem}.view-stats-table thead tr{border-bottom:1px solid var(--border)}.view-stats-table thead th{padding:.6rem .75rem;text-align:left;font-family:var(--font-display);font-weight:800;font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:#ffffff05}.view-stats-table tbody tr{border-bottom:1px solid var(--border);transition:background .15s}.view-stats-table tbody tr:last-child{border-bottom:none}.view-stats-table tbody tr:hover{background:#ffffff08}.view-stats-table tbody td{padding:.75rem;color:var(--text);font-weight:500}.view-stats-table tbody td.player-name-col{font-weight:700;color:var(--text)}.view-notes{margin-bottom:1.5rem}.view-notes h3{font-family:var(--font-display);font-size:1rem;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem}.view-notes p{color:var(--text-secondary);line-height:1.7;font-size:.9rem;padding:1rem;background:#ffffff08;border:1px solid var(--border);border-radius:var(--radius-sm)}@media(max-width:768px){.view-matchup{flex-direction:column;gap:1rem}.view-score{font-size:2rem;min-width:60px}.view-vs{text-align:center;padding:.5rem 0}.view-details-grid,.view-stats-grid{grid-template-columns:1fr}.view-team-logo{width:50px;height:50px;min-width:50px}.view-team-name{font-size:1rem}}@media(max-width:480px){.view-team{flex-direction:column;text-align:center}.view-team-logo{width:60px;height:60px}.view-score{font-size:1.8rem;width:100%}}.fmt-tab{padding:1.5rem}.fmtw-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.fmtw-title{display:flex;align-items:center;gap:.75rem}.fmtw-title h2{margin:0;font-size:1.75rem;font-weight:700}.fmtw-title-icon{font-size:1.5rem;color:var(--primary, #4f46e5)}.fmtw-count{background:var(--primary, #4f46e5);color:#fff;padding:.25rem .75rem;border-radius:1rem;font-size:.875rem;font-weight:600}.fmtw-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s}.fmtw-btn--save{background:var(--primary, #4f46e5);color:#fff}.fmtw-btn--save:hover{background:var(--primary-dark, #4338ca);transform:translateY(-1px)}.fmtw-btn--cancel{background:var(--gray-200, #e5e7eb);color:var(--gray-700, #374151)}.fmtw-btn--cancel:hover{background:var(--gray-300, #d1d5db)}.fmtw-btn--sm{padding:.5rem 1rem;font-size:.875rem}.fmtw-empty{text-align:center;padding:4rem 2rem;background:#fff;border-radius:1rem;border:2px dashed var(--gray-300, #d1d5db)}.fmtw-empty-icon{font-size:4rem;color:var(--gray-300, #d1d5db);margin-bottom:1rem}.fmtw-empty h3{font-size:1.5rem;margin:0 0 .5rem;color:var(--gray-900, #111827)}.fmtw-empty p{color:var(--gray-600, #4b5563);margin-bottom:1.5rem}.fmtw-list{display:flex;flex-direction:column;gap:1rem}.fmtc-card{background:#fff;border:1px solid var(--gray-200, #e5e7eb);border-radius:.75rem;overflow:hidden;transition:all .2s}.fmtc-card:hover{border-color:var(--primary, #4f46e5);box-shadow:0 4px 6px -1px #0000001a}.fmtc-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.fmtc-header:hover{background:var(--gray-50, #f9fafb)}.fmtc-left{display:flex;align-items:center;gap:1rem;flex:1}.fmtc-icon{font-size:1.5rem;color:var(--primary, #4f46e5);display:flex;align-items:center}.fmtc-info{display:flex;flex-direction:column;gap:.25rem}.fmtc-name{font-size:1.125rem;font-weight:600;color:var(--gray-900, #111827)}.fmtc-type{font-size:.875rem;color:var(--gray-500, #6b7280)}.fmtc-pills{display:flex;gap:.5rem;flex-wrap:wrap}.fmtc-pill{padding:.25rem .75rem;border-radius:.375rem;font-size:.8125rem;font-weight:600;background:var(--gray-100, #f3f4f6);color:var(--gray-700, #374151)}.fmtc-pill.accent{background:var(--purple-100, #ede9fe);color:var(--purple-700, #6d28d9)}.fmtc-pill.gold{background:var(--yellow-100, #fef3c7);color:var(--yellow-700, #a16207)}.fmtc-pill.schedule{background:var(--blue-100, #dbeafe);color:var(--blue-700, #1d4ed8)}.fmtc-pill.teams{background:var(--green-100, #dcfce7);color:var(--green-800, #166534)}.fmtc-right{display:flex;align-items:center;gap:.75rem}.fmtc-actions{display:flex;gap:.5rem}.fmtc-action-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:.375rem;background:var(--gray-100, #f3f4f6);color:var(--gray-600, #4b5563);cursor:pointer;transition:all .2s}.fmtc-action-btn:hover{background:var(--gray-200, #e5e7eb)}.fmtc-action-btn.schedule.active,.fmtc-action-btn.schedule:hover,.fmtc-action-btn.edit:hover{background:var(--blue-100, #dbeafe);color:var(--blue-600, #2563eb)}.fmtc-action-btn.danger:hover{background:var(--red-100, #fee2e2);color:var(--red-600, #dc2626)}.fmtc-expand-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:transparent;color:var(--gray-500, #6b7280);cursor:pointer;transition:transform .2s}.fmtc-expand-btn:hover{color:var(--gray-700, #374151)}.fmtc-card.expanded .fmtc-expand-btn{transform:rotate(180deg)}.fmtc-body{padding:0 1.5rem 1.5rem;border-top:1px solid var(--gray-100, #f3f4f6)}.fmtc-notes{display:flex;align-items:flex-start;gap:.5rem;padding:1rem;background:var(--blue-50, #eff6ff);border-radius:.5rem;margin-top:1rem;color:var(--blue-900, #1e3a8a);font-size:.9375rem;line-height:1.5}.fmtc-notes svg{flex-shrink:0;margin-top:.125rem}.fmtc-desc-note{padding:1rem;color:var(--gray-600, #4b5563);font-size:.9375rem;line-height:1.6;margin:1rem 0 0}.fmtw-form-card{background:#fff;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a}.fmtw-form-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--gray-200, #e5e7eb)}.fmtw-form-header h2{margin:0;font-size:1.5rem;font-weight:700}.fmtf-form{padding:2rem}.fmtf-field{margin-bottom:1.75rem}.fmtf-label{display:block;font-size:.9375rem;font-weight:600;color:var(--gray-700, #374151);margin-bottom:.625rem}.fmtf-sub{font-weight:400;color:var(--gray-500, #6b7280);font-size:.875rem}.fmtf-input{width:100%;padding:.75rem 1rem;border:1px solid var(--gray-300, #d1d5db);border-radius:.5rem;font-size:.9375rem;transition:all .2s}.fmtf-input:focus{outline:none;border-color:var(--primary, #4f46e5);box-shadow:0 0 0 3px #4f46e51a}.fmtf-textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--gray-300, #d1d5db);border-radius:.5rem;font-size:.9375rem;font-family:inherit;resize:vertical;transition:all .2s}.fmtf-textarea:focus{outline:none;border-color:var(--primary, #4f46e5);box-shadow:0 0 0 3px #4f46e51a}.fmtf-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-bottom:.75rem}.fmtf-type-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .75rem;border:2px solid var(--gray-200, #e5e7eb);border-radius:.75rem;background:#fff;cursor:pointer;transition:all .2s}.fmtf-type-card:hover{border-color:var(--primary, #4f46e5);background:var(--primary-50, #eef2ff)}.fmtf-type-card.selected{border-color:var(--primary, #4f46e5);background:var(--primary-50, #eef2ff);box-shadow:0 0 0 3px #4f46e51a}.fmtf-type-icon{font-size:1.75rem;color:var(--primary, #4f46e5)}.fmtf-type-label{font-size:.875rem;font-weight:600;text-align:center;color:var(--gray-900, #111827)}.fmtf-callout{display:flex;align-items:flex-start;gap:.5rem;padding:.875rem 1rem;background:var(--blue-50, #eff6ff);border-radius:.5rem;color:var(--blue-900, #1e3a8a);font-size:.875rem;line-height:1.5;margin:0}.fmtf-callout svg{flex-shrink:0;margin-top:.125rem}.fmtf-options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.fmtf-pills{display:flex;flex-wrap:wrap;gap:.5rem}.fmtf-pill{padding:.625rem 1.25rem;border:2px solid var(--gray-200, #e5e7eb);border-radius:.5rem;background:#fff;color:var(--gray-700, #374151);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.fmtf-pill:hover{border-color:var(--gray-400, #9ca3af)}.fmtf-pill.active{border-color:var(--primary, #4f46e5);background:var(--primary, #4f46e5);color:#fff}.fmtf-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1.5rem;border-top:1px solid var(--gray-200, #e5e7eb);margin-top:1.5rem}.fmtf-schedule-toggle{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;background:var(--blue-50, #eff6ff);border:2px solid var(--blue-200, #bfdbfe);border-radius:.75rem;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.fmtf-schedule-toggle:hover{background:var(--blue-100, #dbeafe);border-color:var(--blue-300, #93c5fd)}.fmtf-schedule-toggle input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer;accent-color:var(--primary, #4f46e5);margin-top:.125rem;flex-shrink:0}.fmtf-schedule-toggle-content{display:flex;flex-direction:column;gap:.375rem;flex:1}.fmtf-schedule-toggle-label{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;color:var(--blue-900, #1e3a8a)}.fmtf-schedule-toggle-label svg{font-size:1.125rem}.fmtf-schedule-toggle-desc{font-size:.875rem;color:var(--blue-700, #1d4ed8);line-height:1.5}.fmtb-section{margin-top:1.5rem}.fmtb-section-label{font-size:1.125rem;font-weight:700;color:var(--gray-900, #111827);margin-bottom:1rem}.fmtb-tree{display:flex;gap:2rem;overflow-x:auto;padding:1.5rem;background:var(--gray-50, #f9fafb);border-radius:.75rem}.fmtb-round{display:flex;flex-direction:column;gap:.75rem;min-width:220px}.fmtb-round-name{font-size:.875rem;font-weight:700;color:var(--gray-600, #4b5563);text-align:center;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.025em}.fmtb-round-matches{display:flex;flex-direction:column;justify-content:space-around;flex:1;gap:1.5rem}.fmtb-match{display:flex;flex-direction:column;gap:.5rem;background:#fff;border:2px solid var(--gray-200, #e5e7eb);border-radius:.5rem;padding:.75rem;transition:all .2s}.fmtb-match.decided{border-color:var(--green-300, #86efac);background:var(--green-50, #f0fdf4)}.fmtb-match:hover{box-shadow:0 2px 4px #0000000d}.fmtb-match-teams{display:flex;flex-direction:column;gap:.5rem}.fmtb-slot{display:flex;align-items:center;gap:.625rem;padding:.625rem .875rem;border-radius:.375rem;background:var(--gray-100, #f3f4f6);min-height:2.5rem;transition:all .2s;position:relative}.fmtb-slot.has-team{background:#fff;border:1px solid var(--gray-300, #d1d5db)}.fmtb-slot.tbd{color:var(--gray-400, #9ca3af);font-style:italic}.fmtb-slot.winner{background:var(--green-100, #dcfce7);border-color:var(--green-500, #22c55e);font-weight:600}.fmtb-slot.loser{opacity:.6}.fmtb-slot.draggable{cursor:grab}.fmtb-slot.draggable:hover{border-color:var(--primary, #4f46e5);transform:translate(-2px)}.fmtb-slot.draggable:active{cursor:grabbing}.fmtb-slot-seed{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:var(--gray-200, #e5e7eb);color:var(--gray-600, #4b5563);border-radius:50%;font-size:.75rem;font-weight:700;flex-shrink:0}.fmtb-slot-name{flex:1;font-size:.9375rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fmtb-slot-wins{display:flex;align-items:center;justify-content:center;min-width:1.75rem;height:1.75rem;background:var(--green-500, #22c55e);color:#fff;border-radius:.25rem;font-size:.875rem;font-weight:700;flex-shrink:0;padding:0 .375rem}.fmtb-slot.loser .fmtb-slot-wins{background:var(--gray-400, #9ca3af)}.fmtb-series-display{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem;background:var(--gray-100, #f3f4f6);border-radius:.375rem;margin-top:.5rem}.fmtb-series-label{font-size:.75rem;font-weight:600;color:var(--gray-600, #4b5563);text-transform:uppercase;letter-spacing:.025em}.fmtb-series-value{font-size:.875rem;font-weight:700;color:var(--gray-900, #111827)}.fmtb-match-footer{padding-top:.5rem;border-top:1px solid var(--gray-200, #e5e7eb)}.fmtb-pick-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.625rem;border:1px solid var(--gray-300, #d1d5db);border-radius:.375rem;background:#fff;color:var(--gray-700, #374151);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.fmtb-pick-btn:hover{background:var(--gray-50, #f9fafb);border-color:var(--primary, #4f46e5)}.fmtb-pick-btn.decided{background:var(--green-50, #f0fdf4);border-color:var(--green-500, #22c55e);color:var(--green-700, #15803d)}.fmtb-pick-btn.decided:hover{background:var(--green-100, #dcfce7)}.fmtb-result-ro{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem;background:var(--green-50, #f0fdf4);border-radius:.375rem;color:var(--green-700, #15803d);font-size:.875rem;font-weight:600}.fmtb-ro-score{color:var(--green-600, #16a34a)}.fmtb-hint{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;background:var(--blue-50, #eff6ff);border-radius:.5rem;color:var(--blue-900, #1e3a8a);font-size:.875rem}.fmtb-hint svg{color:var(--blue-600, #2563eb)}.fmtb-champion-container{display:flex;justify-content:center;margin-top:2rem;padding:1.5rem}.fmtb-champion-card{display:flex;align-items:center;gap:1.5rem;padding:2rem 3rem;background:linear-gradient(135deg,var(--yellow-50, #fefce8) 0%,var(--amber-50, #fffbeb) 100%);border:3px solid var(--yellow-400, #facc15);border-radius:1rem;box-shadow:0 10px 25px -5px #fbbf244d;animation:championPulse 2s ease-in-out infinite}@keyframes championPulse{0%,to{box-shadow:0 10px 25px -5px #fbbf244d}50%{box-shadow:0 10px 35px -5px #fbbf2480}}.fmtb-champion-icon{font-size:3.5rem;color:var(--yellow-500, #eab308);animation:championRotate 3s ease-in-out infinite}.fmtb-champion-icon svg{filter:drop-shadow(0 4px 6px rgba(234,179,8,.4))}@keyframes championRotate{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.fmtb-champion-content{display:flex;flex-direction:column;gap:.5rem}.fmtb-champion-label{font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--yellow-700, #a16207)}.fmtb-champion-name{font-size:2rem;font-weight:800;color:var(--yellow-900, #713f12);line-height:1.2}.fmtb-champion-score{font-size:.9375rem;font-weight:600;color:var(--yellow-700, #a16207)}.fmtb-note{padding:1rem;text-align:center;color:var(--gray-500, #6b7280);font-style:italic}.fmtb-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.fmtb-modal-content{background:#fff;border-radius:1rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.fmtb-picker{padding:1.5rem}.fmtb-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.fmtb-picker-header span{font-size:1.25rem;font-weight:700;color:var(--gray-900, #111827)}.fmtb-picker-header button{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:var(--gray-100, #f3f4f6);border-radius:.375rem;color:var(--gray-600, #4b5563);cursor:pointer;transition:all .2s}.fmtb-picker-header button:hover{background:var(--gray-200, #e5e7eb)}.fmtb-match-options{margin-bottom:1rem;padding:1rem;background:var(--gray-50, #f9fafb);border-radius:.75rem;border:1px solid var(--gray-200, #e5e7eb)}.fmtb-ttb-toggle{display:flex;align-items:flex-start;gap:.875rem;cursor:pointer;-webkit-user-select:none;user-select:none}.fmtb-ttb-toggle input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer;accent-color:var(--purple-600, #9333ea);margin-top:.125rem;flex-shrink:0}.fmtb-ttb-toggle-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.fmtb-ttb-toggle-label{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:600;color:var(--gray-900, #111827)}.fmtb-ttb-toggle-label svg{color:var(--purple-600, #9333ea);font-size:1rem}.fmtb-ttb-toggle-hint{font-size:.8125rem;color:var(--gray-600, #4b5563);line-height:1.4}.fmtb-twice-to-beat-notice{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;margin-bottom:1rem;background:linear-gradient(135deg,var(--purple-50, #faf5ff) 0%,var(--blue-50, #eff6ff) 100%);border:2px solid var(--purple-200, #e9d5ff);border-radius:.75rem}.fmtb-ttb-icon{font-size:1.25rem;color:var(--purple-600, #9333ea);flex-shrink:0;margin-top:.125rem}.fmtb-ttb-content{flex:1;font-size:.875rem;line-height:1.6;color:var(--purple-900, #581c87)}.fmtb-ttb-content strong{font-weight:700;color:var(--purple-800, #6b21a8)}.fmtb-ttb-team{font-weight:600;color:var(--purple-700, #7e22ce);background:var(--purple-100, #ede9fe);padding:.125rem .5rem;border-radius:.25rem}.fmtb-picker-score{width:100%;padding:.875rem 1rem;border:2px solid var(--gray-300, #d1d5db);border-radius:.5rem;font-size:1rem;margin-bottom:1rem;transition:all .2s}.fmtb-picker-score:focus{outline:none;border-color:var(--primary, #4f46e5);box-shadow:0 0 0 3px #4f46e51a}.fmtb-single-game-scores{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.fmtb-score-input-group{display:flex;flex-direction:column;gap:.5rem}.fmtb-score-input-group label{font-size:.875rem;font-weight:600;color:var(--gray-700, #374151);padding-left:.25rem}.fmtb-picker-teams{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.fmtb-picker-team{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border:2px solid var(--gray-300, #d1d5db);border-radius:.75rem;background:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.fmtb-picker-team:hover{border-color:var(--primary, #4f46e5);background:var(--primary-50, #eef2ff)}.fmtb-picker-team.selected{border-color:var(--primary, #4f46e5);background:var(--primary, #4f46e5);color:#fff}.fmtb-picker-crown{font-size:1.25rem;color:var(--yellow-500, #eab308);opacity:0;transition:opacity .2s}.fmtb-picker-team.selected .fmtb-picker-crown{opacity:1}.fmtb-series-tracker{margin-bottom:1rem}.fmtb-series-score{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.5rem;background:var(--gray-50, #f9fafb);border-radius:.75rem;margin-bottom:1rem}.fmtb-team-score{display:flex;flex-direction:column;align-items:center;gap:.5rem}.fmtb-team-score .team-name{font-size:.875rem;font-weight:600;color:var(--gray-600, #4b5563);display:flex;flex-direction:column;align-items:center;gap:.375rem}.fmtb-team-score .score{font-size:2rem;font-weight:700;color:var(--gray-900, #111827)}.fmtb-team-score .score.winner{color:var(--green-600, #16a34a)}.fmtb-team-score .games-needed{font-size:.75rem;font-weight:500;color:var(--gray-500, #6b7280);text-transform:uppercase;letter-spacing:.025em}.fmtb-series-score .separator{font-size:1.5rem;font-weight:300;color:var(--gray-400, #9ca3af)}.fmtb-advantage-badge{display:inline-block;padding:.25rem .625rem;background:var(--green-100, #dcfce7);color:var(--green-700, #15803d);border-radius:.375rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.025em;border:1px solid var(--green-300, #86efac)}.fmtb-challenger-badge{display:inline-block;padding:.25rem .625rem;background:var(--orange-100, #ffedd5);color:var(--orange-700, #c2410c);border-radius:.375rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.025em;border:1px solid var(--orange-300, #fdba74)}.fmtb-advantage-badge-small{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;background:var(--green-100, #dcfce7);color:var(--green-700, #15803d);border-radius:.25rem;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.025em}.fmtb-challenger-badge-small{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;background:var(--orange-100, #ffedd5);color:var(--orange-700, #c2410c);border-radius:.25rem;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.025em}.fmtb-games-list{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto;padding:1rem;background:var(--gray-50, #f9fafb);border-radius:.5rem;margin-bottom:1rem}.fmtb-game-result{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;background:#fff;border-radius:.375rem;font-size:.875rem}.fmtb-game-result .game-num{color:var(--gray-500, #6b7280);font-weight:600}.fmtb-game-result .winner-name{flex:1;font-weight:600;color:var(--gray-900, #111827)}.fmtb-game-result .game-score{color:var(--gray-600, #4b5563)}.fmtb-add-game{display:flex;flex-direction:column;gap:.75rem}.fmtb-game-score-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.fmtb-game-score-input{width:100%;padding:.75rem 1rem;border:2px solid var(--gray-300, #d1d5db);border-radius:.5rem;font-size:.9375rem;transition:all .2s}.fmtb-game-score-input:focus{outline:none;border-color:var(--primary, #4f46e5);box-shadow:0 0 0 3px #4f46e51a}.fmtb-single-game-header{margin-bottom:1rem}.fmtb-single-game-header h3{margin:0 0 .25rem;font-size:1rem;font-weight:700;color:var(--gray-800, #1f2937)}.fmtb-picker-actions-single{margin-top:.75rem}.fmtb-picker-save-single{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem 1rem;border:none;border-radius:.5rem;background:linear-gradient(135deg,var(--primary, #4f46e5),#6366f1);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #4f46e559}.fmtb-picker-save-single:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-dark, #4338ca),#4f46e5);transform:translateY(-1px);box-shadow:0 4px 12px #4f46e573}.fmtb-picker-save-single:active:not(:disabled){transform:translateY(0)}.fmtb-picker-save-single:disabled{background:var(--gray-200, #e5e7eb);color:var(--gray-400, #9ca3af);cursor:not-allowed;box-shadow:none;transform:none}.fmtb-picker-save-single svg{font-size:.9rem}.fmtb-game-submit-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1rem;border:none;border-radius:.5rem;background:linear-gradient(135deg,var(--primary, #4f46e5),#6366f1);color:#fff;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #4f46e559}.fmtb-game-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-dark, #4338ca),#4f46e5);transform:translateY(-1px);box-shadow:0 4px 12px #4f46e573}.fmtb-game-submit-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 4px #4f46e54d}.fmtb-game-submit-btn:disabled{background:var(--gray-200, #e5e7eb);color:var(--gray-400, #9ca3af);cursor:not-allowed;box-shadow:none;transform:none}.fmtb-game-submit-btn svg{font-size:.875rem}.fmtb-hint-text{font-size:.8125rem;color:var(--gray-500, #6b7280);text-align:center;margin:0;line-height:1.4}.fmtb-picker-undo{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border:1.5px solid var(--red-200, #fecaca);border-radius:.5rem;background:#fff;color:var(--red-600, #dc2626);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .18s ease;align-self:flex-start}.fmtb-picker-undo:hover{background:var(--red-50, #fef2f2);border-color:var(--red-400, #f87171);color:var(--red-700, #b91c1c);transform:translate(-2px)}.fmtb-picker-undo:active{transform:translate(0)}.fmtb-game-winner-btns{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.fmtb-game-btn{padding:.875rem 1rem;border:2px solid var(--gray-300, #d1d5db);border-radius:.5rem;background:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.fmtb-game-btn:hover:not(:disabled){border-color:var(--primary, #4f46e5);background:var(--primary-50, #eef2ff)}.fmtb-game-btn:disabled{opacity:.5;cursor:not-allowed}.fmtb-game-btn.team-a:hover:not(:disabled){border-color:var(--blue-500, #3b82f6);background:var(--blue-50, #eff6ff);color:var(--blue-700, #1d4ed8)}.fmtb-game-btn.team-b:hover:not(:disabled){border-color:var(--purple-500, #a855f7);background:var(--purple-50, #faf5ff);color:var(--purple-700, #7e22ce)}.fmtb-picker-actions{display:flex;flex-direction:column;gap:1rem;padding-top:1rem;border-top:1px solid var(--gray-200, #e5e7eb)}.fmtb-auto-sync-check{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;background:var(--blue-50, #eff6ff);border:1px solid var(--blue-200, #bfdbfe);border-radius:.5rem;cursor:pointer;transition:all .2s}.fmtb-auto-sync-check:hover{background:var(--blue-100, #dbeafe)}.fmtb-auto-sync-check input[type=checkbox]{width:1.125rem;height:1.125rem;cursor:pointer;accent-color:var(--primary, #4f46e5)}.fmtb-auto-sync-check span{font-size:.9375rem;font-weight:600;color:var(--blue-900, #1e3a8a);-webkit-user-select:none;user-select:none}.fmtb-picker-buttons{display:flex;gap:.75rem;justify-content:flex-end}.fmtb-picker-clear{padding:.75rem 1.25rem;border:1px solid var(--red-300, #fca5a5);border-radius:.5rem;background:#fff;color:var(--red-700, #b91c1c);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s}.fmtb-picker-clear:hover{background:var(--red-50, #fef2f2);border-color:var(--red-500, #ef4444)}.fmtb-picker-save{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:.5rem;background:var(--primary, #4f46e5);color:#fff;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s}.fmtb-picker-save:hover:not(:disabled){background:var(--primary-dark, #4338ca)}.fmtb-picker-save:disabled{opacity:.5;cursor:not-allowed}.fmtb-picker-close{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:1px solid var(--gray-300, #d1d5db);border-radius:.5rem;background:#fff;color:var(--gray-700, #374151);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s}.fmtb-picker-close:hover{background:var(--gray-50, #f9fafb);border-color:var(--gray-400, #9ca3af)}.fmtb-groups{margin-top:1.5rem}.fmtb-groups-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1rem}.fmtb-group-card{background:#fff;border:1px solid var(--gray-200, #e5e7eb);border-radius:.75rem;overflow:hidden}.fmtb-group-head{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--primary-50, #eef2ff);color:var(--primary-700, #4338ca);font-weight:700;font-size:.875rem}.fmtb-group-team{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-top:1px solid var(--gray-100, #f3f4f6);font-size:.9375rem}.fmtb-group-seed{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:var(--gray-200, #e5e7eb);color:var(--gray-600, #4b5563);border-radius:50%;font-size:.75rem;font-weight:700;flex-shrink:0}.fmtb-ko-note{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:var(--blue-50, #eff6ff);border-radius:.5rem;color:var(--blue-900, #1e3a8a);font-size:.875rem;font-weight:600;text-align:center}.fmtb-de-note{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;margin-top:1rem;background:var(--purple-50, #faf5ff);border-radius:.5rem;color:var(--purple-900, #581c87);font-size:.875rem;font-weight:600;text-align:center}.fmtb-seed-list{margin-top:1.5rem;padding:1rem;background:var(--gray-50, #f9fafb);border-radius:.75rem}.fmtb-seed-row{display:flex;align-items:center;gap:1rem;padding:.875rem 1rem;background:#fff;border:1px solid var(--gray-200, #e5e7eb);border-radius:.5rem;margin-bottom:.5rem;transition:all .2s}.fmtb-seed-row.draggable{cursor:grab}.fmtb-seed-row.draggable:hover{border-color:var(--primary, #4f46e5);transform:translate(-4px)}.fmtb-seed-row.draggable:active{cursor:grabbing}.fmtb-seed-row.ladder-row{border-left:3px solid var(--yellow-400, #facc15)}.fmtb-seed-num{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--gray-200, #e5e7eb);color:var(--gray-700, #374151);border-radius:50%;font-size:.875rem;font-weight:700;flex-shrink:0}.fmtb-seed-name{flex:1;font-size:.9375rem;font-weight:600;color:var(--gray-900, #111827)}.fmtb-drag-icon{color:var(--gray-400, #9ca3af);flex-shrink:0}.fmtc-schedule-section{padding:1.25rem;background:var(--blue-50, #eff6ff);border:1px solid var(--blue-200, #bfdbfe);border-radius:.75rem;margin-top:1rem;margin-bottom:1rem}.fmtc-schedule-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.fmtc-generate-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:2px solid var(--primary, #4f46e5);border-radius:.5rem;background:var(--primary, #4f46e5);color:#fff;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s}.fmtc-generate-btn:hover{background:var(--primary-dark, #4338ca);border-color:var(--primary-dark, #4338ca);transform:translateY(-1px)}.fmtc-generate-btn svg{font-size:1rem}.fmtc-auto-toggle{display:flex;align-items:center;gap:.625rem;padding:.625rem 1rem;background:#fff;border:1px solid var(--blue-200, #bfdbfe);border-radius:.5rem;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.fmtc-auto-toggle:hover{background:var(--blue-50, #eff6ff)}.fmtc-auto-toggle input[type=checkbox]{width:1.125rem;height:1.125rem;cursor:pointer;accent-color:var(--primary, #4f46e5)}.fmtc-auto-toggle span{font-size:.9375rem;font-weight:600;color:var(--blue-900, #1e3a8a)}.fmtc-schedule-hint{margin:0;padding:.625rem 1rem;background:#fff;border-radius:.375rem;font-size:.875rem;color:var(--blue-900, #1e3a8a);line-height:1.5}.fmtb-rr-container{margin-top:1.5rem}.fmtb-rr-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.fmtb-rr-title{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:700;color:var(--gray-700, #374151)}.fmtb-rr-title svg{color:var(--primary, #4f46e5)}.fmtb-rr-hint{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--gray-500, #6b7280)}.fmtb-rr-seeds{display:flex;flex-wrap:wrap;gap:.5rem;padding:.875rem 1rem;background:var(--gray-50, #f9fafb);border:1px solid var(--gray-200, #e5e7eb);border-radius:.625rem;margin-bottom:1.25rem}.fmtb-rr-seed{display:flex;align-items:center;gap:.5rem;padding:.5rem .875rem;background:#fff;border:1px solid var(--gray-200, #e5e7eb);border-radius:.375rem;font-size:.875rem;transition:all .15s}.fmtb-rr-seed.draggable{cursor:grab}.fmtb-rr-seed.draggable:hover{border-color:var(--primary, #4f46e5);background:var(--primary-50, #eef2ff)}.fmtb-rr-seed.draggable:active{cursor:grabbing}.fmtb-rr-seed-num{display:flex;align-items:center;justify-content:center;width:1.375rem;height:1.375rem;background:var(--gray-200, #e5e7eb);color:var(--gray-600, #4b5563);border-radius:50%;font-size:.75rem;font-weight:700;flex-shrink:0}.fmtb-rr-seed-name{font-weight:600;color:var(--gray-800, #1f2937)}.fmtb-rr-rounds{display:flex;flex-direction:column;gap:1rem}.fmtb-rr-round{background:#fff;border:1px solid var(--gray-200, #e5e7eb);border-radius:.625rem;overflow:hidden}.fmtb-rr-round-label{padding:.625rem 1rem;background:var(--gray-50, #f9fafb);border-bottom:1px solid var(--gray-200, #e5e7eb);font-size:.8125rem;font-weight:700;color:var(--gray-600, #4b5563);text-transform:uppercase;letter-spacing:.04em}.fmtb-rr-matches{display:flex;flex-direction:column}.fmtb-rr-match{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--gray-100, #f3f4f6);transition:background .15s}.fmtb-rr-match:last-child{border-bottom:none}.fmtb-rr-match.decided{background:var(--green-50, #f0fdf4)}.fmtb-rr-match:hover{background:var(--gray-50, #f9fafb)}.fmtb-rr-match:hover.decided{background:var(--green-100, #dcfce7)}.fmtb-rr-team{flex:1;font-size:.9375rem;font-weight:600;color:var(--gray-700, #374151);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fmtb-rr-team.right{text-align:right}.fmtb-rr-team.winner{color:var(--green-700, #15803d);font-weight:700}.fmtb-rr-team.loser{color:var(--gray-400, #9ca3af);font-weight:400}.fmtb-rr-vs{font-size:.8125rem;font-weight:700;color:var(--gray-400, #9ca3af);flex-shrink:0;min-width:2.5rem;text-align:center}.fmtb-rr-score{color:var(--green-600, #16a34a);font-size:.875rem}.fmtb-rr-pick{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:1px solid var(--gray-300, #d1d5db);border-radius:.375rem;background:#fff;color:var(--gray-500, #6b7280);cursor:pointer;flex-shrink:0;font-size:.75rem;transition:all .15s}.fmtb-rr-pick:hover{border-color:var(--primary, #4f46e5);color:var(--primary, #4f46e5);background:var(--primary-50, #eef2ff)}.fmtb-rr-pick.decided{border-color:var(--green-400, #4ade80);color:var(--green-600, #16a34a);background:var(--green-50, #f0fdf4)}.fmtb-rr-pick.decided:hover{background:var(--green-100, #dcfce7)}.fmtb-swiss-container{margin-top:1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}@media(max-width:640px){.fmtb-swiss-container{grid-template-columns:1fr}}.fmtb-swiss-section-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:700;color:var(--gray-700, #374151);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.04em}.fmtb-swiss-section-title svg{color:var(--primary, #4f46e5)}.fmtb-swiss-standings{background:#fff;border:1px solid var(--gray-200, #e5e7eb);border-radius:.625rem;padding:1rem}.fmtb-swiss-table{display:flex;flex-direction:column;gap:.25rem}.fmtb-swiss-thead{display:grid;grid-template-columns:2rem 1fr 2rem 2rem 2.5rem;gap:.5rem;padding:.375rem .5rem;font-size:.75rem;font-weight:700;color:var(--gray-500, #6b7280);text-transform:uppercase;letter-spacing:.04em}.fmtb-swiss-row{display:grid;grid-template-columns:2rem 1fr 2rem 2rem 2.5rem;gap:.5rem;align-items:center;padding:.5rem;border-radius:.375rem;transition:background .15s;font-size:.875rem}.fmtb-swiss-row:hover{background:var(--gray-50, #f9fafb)}.fmtb-swiss-row.leader{background:var(--yellow-50, #fefce8);border:1px solid var(--yellow-200, #fef08a)}.fmtb-swiss-rank{font-weight:700;color:var(--gray-500, #6b7280);text-align:center}.fmtb-swiss-name{font-weight:600;color:var(--gray-900, #111827);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fmtb-swiss-stat{font-weight:700;text-align:center}.fmtb-swiss-stat.win{color:var(--green-600, #16a34a)}.fmtb-swiss-stat.loss{color:var(--red-500, #ef4444)}.fmtb-swiss-stat.pts{color:var(--primary, #4f46e5)}.fmtb-swiss-info{display:flex;flex-direction:column;gap:1rem}.fmtb-swiss-rounds-info{display:flex;flex-wrap:wrap;gap:.5rem;background:#fff;border:1px solid var(--gray-200, #e5e7eb);border-radius:.625rem;padding:1rem}.fmtb-swiss-round-pill{display:flex;align-items:center;gap:.375rem;padding:.375rem .875rem;border-radius:2rem;font-size:.8125rem;font-weight:700;background:var(--gray-100, #f3f4f6);color:var(--gray-500, #6b7280);transition:all .15s}.fmtb-swiss-round-pill.done{background:var(--green-100, #dcfce7);color:var(--green-700, #15803d)}.fmtb-swiss-round-pill.current{background:var(--primary, #4f46e5);color:#fff;box-shadow:0 0 0 3px #4f46e533}.fmtb-swiss-desc{display:flex;align-items:flex-start;gap:.5rem;padding:.875rem 1rem;background:var(--blue-50, #eff6ff);border-radius:.5rem;font-size:.875rem;color:var(--blue-900, #1e3a8a);line-height:1.5;margin:0}.fmtb-swiss-desc svg{flex-shrink:0;margin-top:.125rem;color:var(--blue-500, #3b82f6)}.fmtb-ladder-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--yellow-50, #fefce8);border:1px solid var(--yellow-200, #fef08a);border-radius:.5rem;margin-bottom:.75rem;font-size:.875rem;font-weight:600;color:var(--yellow-900, #713f12)}.fmtb-ladder-header svg{color:var(--yellow-600, #ca8a04)}.fmtb-ladder-pos{display:flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;background:var(--yellow-100, #fef9c3);color:var(--yellow-800, #854d0e);border-radius:.375rem;font-size:.875rem;font-weight:800;flex-shrink:0}@media(max-width:768px){.fmtb-tree{flex-direction:column}.fmtb-round{min-width:100%}.fmtf-type-grid{grid-template-columns:repeat(2,1fr)}.fmtf-options-grid{grid-template-columns:1fr}.fmtc-schedule-controls{flex-direction:column;align-items:stretch}.fmtc-generate-btn{width:100%;justify-content:center}.fmtb-single-game-scores,.fmtb-game-score-inputs{grid-template-columns:1fr}}.fmtb-loading-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.fmtb-loading-content{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 3rem;background:#fff;border-radius:1rem;box-shadow:0 20px 25px -5px #0003}.fmtb-loading-content span{font-size:1rem;font-weight:600;color:var(--gray-700, #374151)}.fmtb-loading-spinner{font-size:2rem;color:var(--primary, #4f46e5);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fmtf-team-selector{border:1px solid var(--gray-200, #e5e7eb);border-radius:.75rem;overflow:hidden}.fmtf-ts-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--gray-50, #f9fafb);border-bottom:1px solid var(--gray-200, #e5e7eb)}.fmtf-ts-count{font-size:.875rem;font-weight:600;color:var(--gray-600, #4b5563)}.fmtf-ts-bulk{display:flex;gap:.5rem}.fmtf-ts-bulk-btn{padding:.3rem .75rem;border:1px solid var(--gray-300, #d1d5db);border-radius:.375rem;background:#fff;font-size:.8125rem;font-weight:600;color:var(--gray-700, #374151);cursor:pointer;transition:all .15s}.fmtf-ts-bulk-btn:hover:not(:disabled){border-color:var(--primary, #4f46e5);color:var(--primary, #4f46e5);background:var(--primary-50, #eef2ff)}.fmtf-ts-bulk-btn.danger:hover:not(:disabled){border-color:var(--red-400, #f87171);color:var(--red-600, #dc2626);background:var(--red-50, #fef2f2)}.fmtf-ts-bulk-btn:disabled{opacity:.4;cursor:not-allowed}.fmtf-ts-pool{padding:.875rem 1rem;border-bottom:1px solid var(--gray-100, #f3f4f6)}.fmtf-ts-pool:last-child{border-bottom:none}.fmtf-ts-pool-label{display:block;font-size:.75rem;font-weight:700;color:var(--gray-500, #6b7280);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.625rem}.fmtf-ts-pool-sub{font-weight:400;text-transform:none;letter-spacing:0;color:var(--gray-400, #9ca3af);font-size:.75rem}.fmtf-ts-chips{display:flex;flex-wrap:wrap;gap:.5rem}.fmtf-ts-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.4rem .875rem;border-radius:2rem;font-size:.875rem;font-weight:600;transition:all .15s;cursor:pointer}.fmtf-ts-chip.available{background:#fff;border:1.5px solid var(--gray-300, #d1d5db);color:var(--gray-700, #374151)}.fmtf-ts-chip.available:hover{border-color:var(--green-400, #4ade80);background:var(--green-50, #f0fdf4);color:var(--green-700, #15803d)}.fmtf-ts-chip.selected{background:var(--primary-50, #eef2ff);border:1.5px solid var(--primary-300, #a5b4fc);color:var(--primary-700, #4338ca);cursor:grab}.fmtf-ts-chip.selected:active{cursor:grabbing}.fmtf-ts-chip.selected:hover{border-color:var(--primary, #4f46e5);background:var(--primary-100, #e0e7ff)}.fmtf-ts-chip-icon{font-size:.6875rem;opacity:.7}.fmtf-ts-seed{display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;background:var(--primary-200, #c7d2fe);color:var(--primary-800, #3730a3);border-radius:50%;font-size:.6875rem;font-weight:800;flex-shrink:0}.fmtf-ts-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fmtf-ts-remove{display:flex;align-items:center;justify-content:center;width:1.125rem;height:1.125rem;border:none;background:transparent;color:var(--primary-400, #818cf8);cursor:pointer;border-radius:50%;font-size:.625rem;padding:0;flex-shrink:0;transition:all .15s}.fmtf-ts-remove:hover{background:var(--red-100, #fee2e2);color:var(--red-600, #dc2626)}.fmtf-ts-selected-list{display:flex;flex-direction:column;gap:.375rem}.fmtf-ts-empty{display:flex;align-items:center;gap:.5rem;padding:1rem;color:var(--gray-500, #6b7280);font-size:.875rem;font-style:italic}.fmtf-ts-empty svg{color:var(--gray-400, #9ca3af);flex-shrink:0}.stats-tab{display:flex;flex-direction:column;gap:1rem}.stats-header{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:.75rem 1rem}.view-selector{display:flex;gap:.5rem}.view-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-display);font-weight:700;font-size:.78rem;letter-spacing:.4px;text-transform:uppercase;cursor:pointer;transition:all .15s}.view-btn svg{font-size:.75rem}.view-btn:hover{border-color:var(--primary);color:var(--primary)}.view-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.overall-view{display:flex;flex-direction:column;gap:1rem}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem}.summary-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:.85rem 1rem;display:flex;align-items:center;gap:.75rem;transition:border-color .15s}.summary-card:hover{border-color:var(--accent)}.summary-icon{width:36px;height:36px;min-width:36px;display:flex;align-items:center;justify-content:center;background:var(--accent);border-radius:var(--radius-sm);color:#fff;font-size:1rem;opacity:.85}.summary-content{display:flex;flex-direction:column;gap:.1rem}.summary-value{font-family:var(--font-display);font-size:1.4rem;font-weight:900;color:var(--text);line-height:1}.summary-label{font-size:.7rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px}.leaderboards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem}.leaderboard-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.leaderboard-header{display:flex;align-items:center;gap:.5rem;padding:.65rem 1rem;border-bottom:1px solid var(--border)}.leaderboard-header .header-icon{color:var(--accent-gold);font-size:.85rem}.leaderboard-header h3{font-family:var(--font-display);font-size:.75rem;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.5px;margin:0}.leaderboard-list{display:flex;flex-direction:column}.leaderboard-item{display:flex;align-items:center;gap:.75rem;padding:.55rem 1rem;border-bottom:1px solid var(--border);transition:background .1s}.leaderboard-item:last-child{border-bottom:none}.leaderboard-item:hover{background:var(--bg)}.leaderboard-item .rank{width:22px;height:22px;min-width:22px;display:flex;align-items:center;justify-content:center;background:var(--border-mid);color:var(--text-secondary);border-radius:50%;font-family:var(--font-display);font-size:.65rem;font-weight:800}.leaderboard-item:first-child .rank{background:#f59e0b;color:#fff}.leaderboard-item:nth-child(2) .rank{background:#9ca3af;color:#fff}.leaderboard-item:nth-child(3) .rank{background:#cd7f32;color:#fff}.player-info{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.team-logo-small{width:24px;height:24px;min-width:24px;border-radius:3px;object-fit:cover;border:1px solid var(--border)}.player-details{display:flex;flex-direction:column;min-width:0}.player-name{font-weight:600;color:var(--text);font-size:.83rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-team{font-size:.7rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-value{font-family:var(--font-display);font-size:.9rem;font-weight:800;color:var(--accent);white-space:nowrap}.stat-value.positive{color:#10b981}.stat-value.negative{color:#ef4444}.teams-view,.players-view{display:flex;flex-direction:column;gap:.75rem}.table-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.table-controls h3{font-family:var(--font-display);font-size:.85rem;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.5px;margin:0}.filter-group{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary)}.filter-group svg{font-size:.8rem}.team-filter{padding:.35rem .75rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-body);font-weight:600;font-size:.8rem;cursor:pointer;transition:border-color .15s;min-width:130px}.team-filter:focus{outline:none;border-color:var(--primary)}.stats-table-wrapper{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow-x:auto}.stats-table{width:100%;border-collapse:collapse;font-size:.8rem}.stats-table thead{background:var(--bg);border-bottom:1px solid var(--border)}.stats-table thead th{padding:.55rem .75rem;text-align:left;font-family:var(--font-display);font-weight:700;font-size:.68rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.stats-table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.stats-table thead th.sortable:hover{color:var(--accent)}.stats-table thead th.sortable .sort-inner{display:inline-flex;align-items:center;gap:.3rem}.stats-table thead th.sortable svg{font-size:.6rem}.stats-table thead th.rank-col{width:40px;text-align:center}.stats-table thead th.team-col,.stats-table thead th.player-col{min-width:140px}.stats-table tbody tr{border-bottom:1px solid var(--border);transition:background .1s}.stats-table tbody tr:last-child{border-bottom:none}.stats-table tbody tr:hover{background:var(--bg)}.stats-table tbody tr.leader-row{background:#f7b5000a}.stats-table tbody tr.leader-row:hover{background:#f7b50014}.stats-table tbody td{padding:.6rem .75rem;color:var(--text-secondary);font-weight:500;white-space:nowrap}.stats-table tbody td.rank-col{text-align:center;font-weight:700;color:var(--text);position:relative}.stats-table tbody td.stat-wins{color:#10b981;font-weight:700}.stats-table tbody td.stat-losses{color:#ef4444;font-weight:700}.stats-table tbody td.stat-points{color:var(--accent);font-weight:800}.stats-table tbody td.stat-goals{color:#f59e0b;font-weight:600}.stats-table tbody td.stat-assists{color:#6366f1;font-weight:600}.stats-table tbody td.stat-rebounds{color:#0ea5e9;font-weight:600}.stats-table tbody td.stat-positive{color:#10b981;font-weight:700}.stats-table tbody td.stat-negative{color:#ef4444;font-weight:700}.stats-table tbody td.pos-col{font-weight:700;color:var(--text);text-transform:uppercase;font-size:.72rem}.leader-icon{position:absolute;left:6px;top:50%;transform:translateY(-50%);color:var(--accent-gold);font-size:.7rem}.team-name-cell{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--text);font-size:.82rem}.player-name-cell{display:flex;flex-direction:column;gap:.15rem}.player-name-cell .player-name{font-size:.83rem;font-weight:600}.player-name-cell .jersey-num{display:inline-block;padding:.1rem .35rem;background:var(--border-mid);color:var(--text-secondary);border-radius:3px;font-size:.65rem;font-weight:700;width:fit-content}.table-logo{width:22px;height:22px;min-width:22px;border-radius:3px;object-fit:cover;border:1px solid var(--border)}.form-indicators{display:flex;gap:.2rem;align-items:center}.form-dot{width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:3px;font-family:var(--font-display);font-size:.6rem;font-weight:800}.form-dot.form-w{background:#10b981;color:#fff}.form-dot.form-l{background:#ef4444;color:#fff}.form-dot.form-t{background:#9ca3af;color:#fff}.team-leaders-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem;margin-top:.75rem}.team-leader-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .15s}.team-leader-card:hover{border-color:var(--primary)}.team-leader-header{display:flex;align-items:center;gap:.6rem;padding:.65rem .85rem;border-bottom:1px solid var(--border)}.team-leader-header .team-logo{width:28px;height:28px;min-width:28px;border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--border)}.team-leader-header h4{font-family:var(--font-display);font-size:.82rem;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.3px;margin:0}.team-leader-stats{padding:.65rem .85rem;display:flex;flex-direction:column;gap:.5rem}.leader-stat{display:flex;align-items:center;gap:.6rem}.leader-stat .leader-icon{color:var(--accent-gold);font-size:.8rem;flex-shrink:0}.leader-stat>div{display:flex;align-items:baseline;gap:.4rem;flex:1;flex-wrap:wrap}.leader-stat .leader-label{font-size:.67rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px}.leader-stat .leader-name{font-size:.82rem;font-weight:700;color:var(--text)}.leader-stat .leader-value{font-family:var(--font-display);font-size:.82rem;font-weight:800;color:var(--accent);margin-left:auto}.empty-state{text-align:center;padding:2.5rem 1.5rem;color:var(--text-secondary)}.empty-state .empty-icon{font-size:1.75rem;opacity:.2;margin-bottom:.75rem}.empty-state h3{font-family:var(--font-display);font-size:.95rem;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:.5px;margin:0 0 .25rem}.empty-state p{font-size:.82rem;color:var(--text-secondary);margin:0}@media(max-width:1024px){.summary-grid{grid-template-columns:repeat(2,1fr)}.leaderboards-grid,.team-leaders-grid{grid-template-columns:1fr}}@media(max-width:768px){.summary-grid{grid-template-columns:repeat(2,1fr)}.table-controls{flex-direction:column;align-items:stretch}.filter-group{justify-content:space-between}.stats-table{font-size:.75rem}.stats-table thead th{padding:.45rem .6rem;font-size:.63rem}.stats-table tbody td{padding:.5rem .6rem}}@media(max-width:480px){.summary-grid{grid-template-columns:1fr 1fr}.summary-card{padding:.65rem .75rem;gap:.5rem}.summary-value{font-size:1.2rem}.stats-table thead th{padding:.4rem .45rem}.stats-table tbody td{padding:.45rem}}
