body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.auth-container{align-items:center;background:var(--color-brand-gradient);display:flex;justify-content:center;min-height:100vh;padding:20px;position:relative}.auth-logo{background:none;border:none;cursor:pointer;left:1.5rem;line-height:1;padding:0;position:absolute;top:1.25rem}.auth-box{background:var(--color-card);border-radius:20px;box-shadow:0 20px 60px var(--color-shadow-hover);max-width:450px;padding:3rem;width:100%}.auth-box h1{color:var(--color-brand);font-size:2rem;letter-spacing:-.02em;margin-bottom:.5rem;text-align:center}.auth-box h2{color:var(--color-text);font-size:1.3rem;font-weight:500;margin-bottom:2rem;text-align:center}.auth-box .form-group{margin-bottom:1.5rem}.auth-box label{color:var(--color-text);display:block;font-weight:500;margin-bottom:.5rem}.auth-box input{background:var(--color-input-bg);border:2px solid var(--color-input-border);border-radius:6px;color:var(--color-text);font-size:1rem;padding:.75rem;transition:border-color .2s;width:100%}.auth-box input:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px #667eea26;outline:none}.auth-box input::placeholder{color:var(--color-text-secondary);opacity:.6}.auth-button{background:var(--color-brand-gradient);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:1rem;padding:.85rem;transition:transform .2s;width:100%}.auth-button:hover:not(:disabled){transform:translateY(-2px)}.auth-button:disabled{cursor:not-allowed;opacity:.6}.auth-switch{color:var(--color-text-secondary);margin-top:1.5rem;text-align:center}.link-button{background:none;border:none;color:var(--color-brand);cursor:pointer;font-size:inherit;font-weight:600;padding:0;text-decoration:underline}.link-button:hover{opacity:.8}.auth-back{margin-top:1rem;text-align:center}@media (max-width:768px){.auth-box{padding:2rem 1.5rem}.auth-box h1{font-size:1.6rem}}@media (max-width:480px){.auth-container{padding:1rem}.auth-box{padding:1.5rem 1rem}.auth-box h1{font-size:1.35rem}.auth-box h2{font-size:1.15rem}}.dashboard{background:var(--color-bg);margin:0 auto;max-width:1200px;min-height:100vh;padding:2rem;transition:background-color .2s;width:100%}.dashboard-loading{color:var(--color-text-secondary);font-size:1.2rem;padding:3rem;text-align:center}.dashboard-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.dashboard-header h1{color:var(--color-text);letter-spacing:-.02em;margin-bottom:.5rem}.welcome-text{color:var(--color-text-secondary);font-size:1.1rem}.header-actions{display:flex;gap:1rem}.create-button{background:var(--color-brand-gradient);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:transform .2s}.create-button:hover{transform:translateY(-2px)}.manage-button{background:var(--color-card);border:2px solid var(--color-border);border-radius:8px;color:var(--color-text-secondary);cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.manage-button:hover{border-color:#ff5252;color:#ff5252}.manage-button.active{background:#ff5252;border-color:#ff5252;color:#fff}.admin-button{background:var(--color-card);border:2px solid #e67e22;border-radius:8px;color:#e67e22;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.admin-button:hover{background:#e67e22;color:#fff}.logout-button{background:var(--color-card);border:2px solid var(--color-brand);border-radius:8px;color:var(--color-brand);cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.logout-button:hover{background:var(--color-brand);color:#fff}.empty-state{background:var(--color-card);border-radius:12px;box-shadow:0 2px 10px var(--color-shadow);padding:4rem 2rem;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h2{color:var(--color-text);margin-bottom:.5rem}.empty-state p{color:var(--color-text-secondary);margin-bottom:2rem}.leagues-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.league-card{background:var(--color-card);border-radius:12px;border-top:3px solid var(--color-brand);box-shadow:0 1px 3px var(--color-shadow),0 4px 12px #0000000d;display:flex;flex-direction:column;min-height:420px;min-width:0;overflow:hidden;padding:1.5rem;transition:transform .2s,box-shadow .2s,background-color .2s}.league-card:hover{box-shadow:0 4px 16px var(--color-shadow-hover);transform:translateY(-3px)}.league-card-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.league-card h3{color:var(--color-text);font-size:1.3rem;margin:0;min-width:0;overflow-wrap:break-word;word-break:break-word}.dash-tab-bar{border-bottom:2px solid var(--color-border);display:flex;gap:0;margin-bottom:16px}.dash-tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--color-text-secondary);cursor:pointer;font-size:.95rem;font-weight:500;margin-bottom:-2px;padding:10px 20px;transition:all .2s}.dash-tab:hover{color:var(--color-text)}.dash-tab.active{border-bottom-color:var(--color-brand);color:var(--color-brand);font-weight:600}.dash-status-badge{border-radius:12px;display:inline-block;font-size:.78rem;font-weight:600;letter-spacing:.3px;padding:4px 12px;white-space:nowrap}.dash-status-draft{background:#e2e8f0;background:var(--color-badge-bg,#e2e8f0);color:var(--color-text-secondary)}.dash-status-published{background:#dcfce7;color:#166534}.dash-status-completed{background:#dbeafe;color:#1e40af}[data-theme=dark] .dash-status-published{background:#14532d;color:#86efac}[data-theme=dark] .dash-status-completed{background:#1e3a5f;color:#93c5fd}[data-theme=dark] .dash-status-draft{background:#334155;color:#94a3b8}.league-card-completed{border-top-color:var(--color-text-secondary)!important;opacity:.85}.league-card-completed:hover{opacity:1}.league-card-body{flex:1 1;margin-bottom:1rem}.league-info{color:var(--color-text-secondary);font-size:.95rem;margin:.5rem 0}.league-info strong{color:var(--color-text)}.dash-toggles-section{border-top:1px solid var(--color-border);margin-top:1rem;padding-top:1rem}.dash-toggle-row{align-items:center;display:flex;gap:.5rem;padding:.35rem 0}.dash-toggle-row.disabled{opacity:.4;pointer-events:none}.dash-toggle-switch{display:inline-block;flex-shrink:0;height:22px;position:relative;width:40px}.dash-toggle-switch input{height:0;opacity:0;position:absolute;width:0}.dash-toggle-slider{background-color:var(--color-input-border);border-radius:22px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:background-color .25s}.dash-toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:16px;left:3px;position:absolute;transition:transform .25s;width:16px}.dash-toggle-switch input:checked+.dash-toggle-slider{background-color:var(--color-brand)}.dash-toggle-switch input:checked+.dash-toggle-slider:before{transform:translateX(18px)}.dash-toggle-switch input:disabled+.dash-toggle-slider{cursor:not-allowed;opacity:.4}.dash-toggle-label{color:var(--color-text);font-size:.9rem;-webkit-user-select:none;user-select:none}.public-url.disabled{opacity:.4;pointer-events:none}.draft-hint{color:var(--color-text-secondary);font-size:.8rem;font-style:italic;margin-left:.25rem}.public-url{margin-top:.75rem}.url-label{color:var(--color-brand);font-size:.85rem;font-weight:600;margin-bottom:.5rem}.url-box{align-items:center;background:var(--color-url-box-bg);border-radius:6px;display:flex;gap:.5rem;min-width:0;padding:.5rem}.url-box code{color:var(--color-brand);flex:1 1;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-button{background:none;border:none;cursor:pointer;font-size:1.2rem;padding:.25rem;transition:transform .2s}.copy-button:hover{transform:scale(1.2)}.open-link-button{border-radius:4px;color:var(--color-brand);font-size:.75rem;font-weight:600;padding:.2rem .5rem;text-decoration:none;transition:background .2s;white-space:nowrap}.open-link-button:hover{background:#667eea1a;background:var(--color-link-hover-bg,#667eea1a);text-decoration:none}.league-card-actions{border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:1rem}.action-button{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;padding:.6rem .9rem;transition:all .2s;white-space:nowrap}.action-button.primary{background:var(--color-brand);color:#fff}.action-button.primary:hover{background:#5568d3}.action-button.secondary{background:var(--color-card);border:2px solid var(--color-brand);color:var(--color-brand)}.action-button.secondary:hover{background:var(--color-brand);color:#fff}.action-button.danger{background:var(--color-card);border:2px solid #ff5252;color:#ff5252}.action-button.danger:hover{background:#ff5252;color:#fff}.dash-game-mgmt-panel{background:var(--color-section-bg);border:1px solid var(--color-border);border-radius:8px;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;padding:.75rem}.action-button.secondary.active-toggle{background:var(--color-brand);border-color:var(--color-brand);color:#fff}.toast{align-items:center;animation:slideIn .3s ease;border-radius:8px;box-shadow:0 4px 12px var(--color-shadow-hover);display:flex;font-size:.95rem;font-weight:500;gap:1rem;padding:1rem 1.5rem;position:fixed;right:1.5rem;top:1.5rem;z-index:1000}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.toast-error{background:var(--color-toast-error-bg);border-left:4px solid var(--color-toast-error-text);color:var(--color-toast-error-text)}.toast-success{background:var(--color-toast-success-bg);border-left:4px solid var(--color-toast-success-text);color:var(--color-toast-success-text)}.toast-close{background:none;border:none;color:inherit;cursor:pointer;font-size:1rem;opacity:.6}.toast-close:hover{opacity:1}.dash-modal-overlay{align-items:center;background:var(--color-modal-overlay);display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.dash-modal{background:var(--color-modal-bg);border-radius:12px;box-shadow:0 8px 30px #0003;max-width:420px;padding:2rem;width:100%}.dash-modal h3{color:var(--color-text);font-size:1.3rem;margin:0 0 1rem}.dash-modal p{color:var(--color-text-secondary);font-size:.95rem;line-height:1.5;margin:0 0 .75rem}.dash-modal-warning{background:var(--color-toast-error-bg);border-radius:6px;color:var(--color-toast-error-text);font-size:.85rem;margin-bottom:1.5rem;padding:.75rem}.dash-modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.dash-modal-btn{border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:600;padding:.6rem 1.25rem;transition:all .2s}.dash-modal-cancel{background:var(--color-cancel-bg);color:var(--color-cancel-text)}.dash-modal-cancel:hover{background:var(--color-cancel-hover-bg)}.dash-modal-confirm{background:#ff5252;color:#fff}.dash-modal-confirm:hover{background:#e04040}@media (max-width:768px){.dashboard{padding:1rem}.dashboard-header{align-items:flex-start;flex-direction:column}.header-actions{flex-direction:column;width:100%}.create-button,.logout-button{width:100%}.leagues-grid{grid-template-columns:1fr}.dash-tab{flex:1 1;padding:10px 12px;text-align:center}}@media (max-width:480px){.dashboard{padding:.75rem}.league-card{padding:1rem}.toast{left:1rem;right:1rem}}.ss-container{position:relative;width:100%}.ss-trigger{align-items:center;background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:8px;color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:.85rem;gap:.5rem;justify-content:space-between;padding:.45rem .6rem;text-align:left;width:100%}.ss-trigger:focus{border-color:var(--color-brand);outline:none}.ss-trigger-placeholder,.ss-trigger-text{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-arrow,.ss-trigger-placeholder{color:var(--color-text-secondary)}.ss-arrow{flex-shrink:0;font-size:.6rem}.ss-dropdown{background:var(--color-card);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 4px 12px #00000026;left:0;margin-top:4px;overflow:hidden;position:absolute;right:0;top:100%;z-index:100}.ss-filter-input{background:var(--color-input-bg);border:none;border-bottom:1px solid var(--color-border);box-sizing:border-box;color:var(--color-text);font-family:inherit;font-size:.85rem;padding:.5rem .6rem;width:100%}.ss-filter-input:focus{outline:none}.ss-options{max-height:200px;overflow-y:auto}.ss-option{color:var(--color-text);cursor:pointer;font-size:.85rem;padding:.4rem .6rem;transition:background .1s}.ss-option-highlight,.ss-option:hover{background:var(--color-section-bg)}.ss-option-selected{color:var(--color-brand);font-weight:600}.ss-option-create{border-top:1px solid var(--color-border);color:var(--color-brand);font-weight:500}.ss-no-results{color:var(--color-text-secondary);font-size:.85rem;padding:.6rem;text-align:center}.schedule-form-container{background:var(--color-bg-secondary);margin:0 auto;max-width:1200px;min-height:100vh;padding:2rem}.schedule-form-card{background:var(--color-card);border-radius:12px;border-top:3px solid var(--color-brand);box-shadow:0 1px 3px var(--color-shadow),0 4px 12px var(--color-shadow);padding:30px}.progress-bar{border-bottom:2px solid var(--color-border);display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.progress-step{align-items:center;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;display:flex;flex:1 1;font-family:inherit;font-size:inherit;font-weight:500;gap:.3rem;justify-content:center;padding:0;position:relative;text-align:center;transition:color .15s}.step-num{font-weight:600}.progress-step.active,.progress-step:hover{color:var(--color-brand)}.progress-step.current{font-weight:700}.progress-step.active:after{background:var(--color-brand);bottom:-22px;content:"";height:3px;left:0;position:absolute;right:0}.form-step{min-height:400px}.step-description{color:var(--color-text-secondary);font-size:14px}.form-group,.step-description{margin-bottom:20px}.form-group label{color:var(--color-text);display:block;font-weight:500;margin-bottom:8px}.form-group input{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:6px;color:var(--color-text);font-size:16px;padding:12px;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px #667eea26;outline:none}.date-mode-selector{display:flex;gap:10px;margin-bottom:25px}.mode-button{background:var(--color-card);border:2px solid var(--color-input-border);border-radius:6px;color:var(--color-text);cursor:pointer;flex:1 1;font-weight:500;padding:12px;transition:all .2s}.mode-button.active,.mode-button:hover{border-color:var(--color-brand)}.mode-button.active{background:var(--color-brand);color:#fff}.auto-date-generator{background:var(--color-section-bg);border-radius:6px;margin-bottom:25px;padding:20px}.generate-button{background:var(--color-brand);border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;margin-top:10px;padding:12px;width:100%}.generate-button:hover{filter:brightness(.9)}.weeks-list{margin-bottom:20px;max-height:400px;overflow-y:auto}.week-item{align-items:center;background:var(--color-card);border:1px solid var(--color-input-border);border-radius:6px;display:flex;gap:10px;margin-bottom:10px;padding:12px;transition:all .2s}.week-item.holiday{background:var(--color-badge-draft-bg);border-color:var(--color-warning)}.week-label{color:var(--color-text);font-weight:500;min-width:80px}.form-group select,.schedule-form-select{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:6px;color:var(--color-text);font-size:16px;padding:12px;transition:border-color .2s,box-shadow .2s;width:100%}.form-group select:focus,.schedule-form-select:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px #667eea26;outline:none}.week-item input[type=date]{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:4px;color:var(--color-text);flex:1 1;padding:8px}.week-item input[type=date]:disabled{background:var(--color-section-bg);color:var(--color-text-secondary);cursor:not-allowed}.holiday-toggle{background:var(--color-cancel-bg);border:none;border-radius:4px;color:var(--color-text);cursor:pointer;font-size:13px;padding:8px 16px;transition:all .2s;white-space:nowrap}.holiday-toggle:hover{background:var(--color-cancel-hover-bg)}.holiday-toggle.active{background:var(--color-warning);color:#000}.remove-button{background:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:20px;height:32px;line-height:1;width:32px}.remove-button:hover{background:#d32f2f}.add-week-button{background:var(--color-brand);border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:12px;width:100%}.add-week-button:hover{filter:brightness(.9)}.week-summary{background:var(--color-section-bg);border-radius:6px;color:var(--color-text);margin-top:20px;padding:15px}.week-summary p{font-weight:500;margin:5px 0}.teams-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.timeslots-list{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.timeslot-input-group label{color:var(--color-text-secondary);display:block;font-size:14px;font-weight:500;margin-bottom:5px}.timeslot-input-group input{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:6px;color:var(--color-text);font-size:16px;padding:12px;transition:border-color .2s,box-shadow .2s;width:100%}.timeslot-input-group input:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px #667eea26;outline:none}.team-input-group label{color:var(--color-text-secondary);display:block;font-size:14px;font-weight:500;margin-bottom:5px}.team-input-group input{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:6px;color:var(--color-text);font-size:16px;padding:12px;transition:border-color .2s,box-shadow .2s;width:100%}.team-input-group input:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px #667eea26;outline:none}.review-section{background:var(--color-section-bg);border-radius:6px;padding:20px}.review-item{border-bottom:1px solid var(--color-border);margin-bottom:15px;padding-bottom:15px}.review-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.review-item strong{color:var(--color-text);display:block;margin-bottom:5px}.review-item ul{display:grid;grid-template-columns:repeat(2,1fr);margin:10px 0 0;padding-left:20px}.review-item li{margin-bottom:5px}.form-navigation{border-top:2px solid var(--color-border);display:flex;gap:15px;justify-content:space-between;margin-top:30px;padding-top:20px}.btn-primary,.btn-secondary{border:none;border-radius:4px;cursor:pointer;font-size:15px;font-weight:500;padding:12px 30px;transition:all .2s}.btn-primary{background:var(--color-brand);color:#fff;flex:1 1}.btn-primary:hover:not(:disabled){filter:brightness(.9)}.btn-primary:disabled{background:var(--color-input-border);color:var(--color-text-secondary);cursor:not-allowed}.btn-secondary{background:var(--color-cancel-bg);color:var(--color-cancel-text);flex:1 1}.btn-secondary:hover{background:var(--color-cancel-hover-bg)}@media (max-width:768px){.schedule-form-container{padding:1rem}.schedule-form-card{padding:1.25rem}.step-label{display:none}.progress-step{font-size:.85rem}.progress-step.active:after{bottom:-22px}.teams-grid{grid-template-columns:1fr}.week-item{flex-wrap:wrap;gap:8px;padding:8px}.week-label{min-width:0;min-width:auto;width:100%}.week-item input[type=date]{min-width:0}.review-item ul{grid-template-columns:1fr}.btn-primary,.btn-secondary{padding:12px 20px}}@media (max-width:480px){.schedule-form-container{padding:.5rem}.schedule-form-card{padding:.75rem}.form-step{min-height:0;min-height:auto}.progress-bar{margin-bottom:20px;padding-bottom:15px}.week-item{gap:6px;padding:6px}.holiday-toggle{font-size:12px;padding:6px 10px}.remove-button{font-size:16px;height:28px;width:28px}.form-navigation{flex-direction:column}}.group-header{border-bottom:2px solid var(--color-brand);color:var(--color-brand);font-size:1rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem}.sf-toggle-row{align-items:center;cursor:pointer;display:flex;gap:.6rem}.sf-toggle-row.sf-toggle-disabled{cursor:default;opacity:.5}.sf-toggle-switch{display:inline-block;flex-shrink:0;height:22px;position:relative;width:40px}.sf-toggle-switch input{height:0;opacity:0;position:absolute;width:0}.sf-toggle-slider{background-color:var(--color-input-border);border-radius:22px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:background-color .25s}.sf-toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:16px;left:3px;position:absolute;transition:transform .25s;width:16px}.sf-toggle-switch input:checked+.sf-toggle-slider{background-color:var(--color-brand)}.sf-toggle-switch input:checked+.sf-toggle-slider:before{transform:translateX(18px)}.sf-toggle-switch input:disabled+.sf-toggle-slider{cursor:not-allowed;opacity:.4}.sf-toggle-label{color:var(--color-text);font-size:.95rem;font-weight:500;-webkit-user-select:none;user-select:none}.public-page{background:var(--color-brand-gradient);min-height:100vh;overflow-x:hidden}.error-container,.loading{color:#fff;padding:4rem 2rem;text-align:center}.error-container h1{font-size:3rem;margin-bottom:1rem}.error-container p{font-size:1.2rem;margin-bottom:.5rem}.error-container .hint{font-size:1rem;opacity:.8}.public-branding-bar{align-items:center;background:#00000026;display:flex;justify-content:space-between;padding:.6rem 1.5rem}.public-branding-logo{align-items:center;display:inline-flex;opacity:.9;text-decoration:none;transition:opacity .2s}.public-branding-logo:hover{opacity:1}.public-branding-cta{align-items:center;background:#fff3;border-radius:20px;color:#fff;display:inline-flex;font-size:.85rem;font-weight:600;padding:.4rem 1rem;text-decoration:none;transition:background .2s;white-space:nowrap}.public-branding-cta:hover{background:#ffffff59}.public-header{background:var(--color-card);box-shadow:0 2px 10px var(--color-shadow);padding:2rem;text-align:center}.header-content h1{color:var(--color-text);font-size:2.5rem;margin-bottom:.5rem}.season{color:var(--color-brand);font-size:1.3rem;font-weight:600;margin:.5rem 0}.sport{color:var(--color-text-secondary);font-size:1.1rem;margin:.5rem 0}.tab-navigation{background:#ffffff1a;display:flex;gap:1rem;justify-content:center;padding:1.5rem}.tab-button{background:var(--color-card);border:none;border-radius:25px;color:var(--color-text);cursor:pointer;font-size:1.1rem;font-weight:600;padding:.75rem 2rem;transition:all .3s}.tab-button:hover{background:var(--color-card);box-shadow:0 4px 10px var(--color-shadow-hover);transform:translateY(-2px)}.tab-button.active{background:var(--color-card);box-shadow:0 4px 15px var(--color-shadow-hover);color:var(--color-brand)}.content-area{margin:0 auto;max-width:1200px;padding:2rem}.schedule-view{grid-gap:1.5rem;display:grid;gap:1.5rem}.week-card{background:var(--color-card);border-radius:12px;box-shadow:0 2px 10px var(--color-shadow);padding:1.5rem}.week-header{align-items:center;border-bottom:2px solid var(--color-border);display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.week-header h3{color:var(--color-brand);font-size:1.3rem;margin:0}.week-date{color:var(--color-text-secondary);font-size:1rem;font-weight:500}.games-list{display:flex;flex-direction:column;gap:.75rem}.game-row{grid-gap:1rem;align-items:center;border-radius:8px;display:grid;gap:1rem;grid-template-columns:80px 1fr auto;padding:.75rem;transition:background .2s}.game-row:hover{background:var(--color-card-hover)}.game-row.played{background:var(--color-section-bg)}.game-time{color:var(--color-brand);font-size:.95rem;font-weight:600}.game-matchup{align-items:center;display:flex;flex:1 1;gap:1rem}.game-matchup .team{color:var(--color-text);flex:1 1;font-weight:600;min-width:0}.game-matchup .vs{color:var(--color-text-secondary);font-weight:500;padding:0 .5rem}.game-matchup .score{background:var(--color-card);border-radius:20px;color:var(--color-brand);font-weight:700;padding:.25rem .75rem;white-space:nowrap}.upcoming-badge{background:var(--color-badge-draft-bg);border-radius:15px;color:var(--color-badge-draft-text);font-size:.85rem;font-weight:600;padding:.25rem .75rem}.standings-view{background:var(--color-card);border-radius:12px;box-shadow:0 2px 10px var(--color-shadow);overflow-x:auto;padding:1.5rem}.standings-table{border-collapse:collapse;width:100%}.standings-table thead{background:var(--color-table-header)}.standings-table th{border-bottom:2px solid var(--color-border);font-size:.9rem;font-weight:700;text-align:left;text-transform:uppercase}.standings-table td,.standings-table th{color:var(--color-text);padding:1rem .75rem}.standings-table td{border-bottom:1px solid var(--color-border)}.standings-table tbody tr:hover{background:var(--color-card-hover)}.standings-table tbody tr.playoff-position{background:var(--color-section-bg)}.rank-col{color:var(--color-brand);font-weight:700;text-align:center;width:50px}.team-col{font-weight:600;min-width:100px}.points-col{color:var(--color-brand);font-weight:700}.standings-note{font-size:.9rem;margin-top:1rem;text-align:center}.game-matchup .team.team-pending,.standings-note{color:var(--color-text-secondary);font-style:italic}.game-matchup .team.team-pending{font-weight:500}.public-calendar-subscribe-btn{align-items:center;background:var(--color-brand-gradient);border-radius:6px;color:#fff;display:inline-flex;font-size:.875rem;font-weight:600;gap:.4rem;padding:.5rem 1rem;text-decoration:none}.public-calendar-view{grid-gap:1.5rem;display:grid;gap:1.5rem}.public-calendar-info-card{background:var(--color-card);border-radius:12px;box-shadow:0 2px 10px var(--color-shadow);padding:1.5rem;text-align:center}.public-calendar-info-title{color:var(--color-brand);font-size:1.3rem;margin:0 0 .5rem}.public-calendar-info-text{color:var(--color-text-secondary);font-size:.95rem;line-height:1.5;margin:0 auto;max-width:600px}.public-calendar-section{background:var(--color-card);border-radius:12px;box-shadow:0 2px 10px var(--color-shadow);padding:1.5rem}.public-calendar-section-title{color:var(--color-text);font-size:1.1rem;margin:0 0 .25rem}.public-calendar-section-desc{color:var(--color-text-secondary);font-size:.9rem;margin:0 0 1rem}.public-calendar-subscribe-btn-lg{font-size:1rem;padding:.75rem 1.5rem}.public-calendar-team-list{display:flex;flex-direction:column;gap:.5rem}.public-calendar-team-row{align-items:center;background:var(--color-bg-secondary);border-radius:8px;display:flex;justify-content:space-between;padding:.75rem 1rem;transition:background .2s}.public-calendar-team-row:hover{background:var(--color-card-hover)}.public-calendar-team-name{color:var(--color-text);font-size:1rem;font-weight:600}.public-footer{color:#fff;opacity:.8;padding:2rem;text-align:center}.public-footer p{font-size:.9rem;margin:0}@media (max-width:768px){.public-header{padding:1.5rem 1rem}.header-content h1{font-size:2rem}.tab-navigation{gap:.5rem;padding:1rem}.tab-button{font-size:1rem;min-height:44px;padding:.75rem 1.25rem}.content-area{padding:1rem}.game-row{gap:.75rem;grid-template-columns:70px 1fr auto;padding:.75rem .5rem}.game-matchup{gap:.5rem}.hide-mobile{display:none}.standings-table td,.standings-table th{font-size:.9rem;padding:.75rem .5rem}}@media (max-width:480px){.public-branding-bar{padding:.5rem .75rem}.public-branding-cta{font-size:.8rem;padding:.35rem .75rem}.public-header{padding:1rem .75rem}.header-content h1{font-size:1.5rem}.season{font-size:1rem}.content-area{padding:.75rem}.week-card{padding:1rem}.week-header h3{font-size:1.1rem}.tab-button{font-size:.875rem;min-height:44px;padding:.6rem .75rem}.game-row{gap:.25rem;grid-template-columns:1fr}.game-time,.upcoming-badge,.week-date{font-size:.875rem}.standings-table td,.standings-table th{font-size:.875rem;padding:.5rem .25rem}.rank-col{width:35px}.public-calendar-subscribe-btn{box-sizing:border-box;justify-content:center;min-height:44px;padding:.75rem 1rem;width:100%}.public-calendar-team-row{align-items:stretch;flex-direction:column;gap:.5rem;text-align:center}.public-calendar-subscribe-btn-lg{box-sizing:border-box;justify-content:center;width:100%}}@media (max-width:320px){.public-header{padding:.75rem .5rem}.header-content h1{font-size:1.25rem}.season{font-size:.875rem}.content-area{padding:.5rem}.week-card{border-radius:8px;padding:.75rem}.week-header{align-items:flex-start;flex-direction:column;gap:.25rem}.week-header h3{font-size:1rem}.tab-navigation{flex-direction:column;gap:.5rem;padding:.75rem}.tab-button{min-height:44px;width:100%}.standings-table td,.standings-table th{font-size:.875rem;padding:.4rem .2rem}.rank-col{width:28px}.team-col{min-width:70px}.public-calendar-info-card,.public-calendar-section{padding:1rem}}.admin-page{background:#f5f5f5;margin:0 auto;max-width:1200px;min-height:100vh;padding:2rem}.admin-loading{color:#666;font-size:1.2rem;padding:3rem;text-align:center}.admin-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.admin-header h1{color:#333;margin-bottom:.25rem}.admin-summary{color:#666;font-size:1.1rem}.admin-toast{align-items:center;animation:adminSlideIn .3s ease;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;font-size:.95rem;font-weight:500;gap:1rem;padding:1rem 1.5rem;position:fixed;right:1.5rem;top:1.5rem;z-index:1000}@keyframes adminSlideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.admin-toast-error{background:#ffebee;border-left:4px solid #c62828;color:#c62828}.admin-toast-success{background:#e8f5e9;border-left:4px solid #2e7d32;color:#2e7d32}.admin-toast-close{background:none;border:none;color:inherit;cursor:pointer;font-size:1rem;opacity:.6}.admin-toast-close:hover{opacity:1}.users-list{display:flex;flex-direction:column;gap:1rem}.user-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.user-card-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:1.25rem 1.5rem;transition:background .2s}.user-card-header:hover{background:#fafafa}.user-info h3{color:#333;font-size:1.15rem;margin:0 0 .25rem}.user-email{color:#888;font-size:.9rem}.user-meta{align-items:center;display:flex;gap:1.5rem}.league-count{background:#667eea;border-radius:20px;color:#fff;font-size:.85rem;font-weight:600;padding:.25rem .75rem}.join-date{color:#888;font-size:.85rem}.expand-icon{color:#888;font-size:.8rem}.user-leagues{border-top:1px solid #e0e0e0;padding:0 1.5rem 1.5rem}.no-leagues{color:#888;font-style:italic;padding:1rem 0}.admin-leagues-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.admin-league-card{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:1rem}.admin-league-header{align-items:center;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.75rem}.admin-league-header h4{color:#333;font-size:1.05rem;margin:0;min-width:0;overflow-wrap:break-word;word-break:break-word}.admin-status-select{background:#fff;border:2px solid #e0e0e0;border-radius:6px;color:#333;cursor:pointer;flex-shrink:0;font-size:.85rem;font-weight:600;padding:.35rem .5rem;text-transform:capitalize}.admin-status-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea26;outline:none}.admin-league-details{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin-bottom:.75rem}.admin-league-detail{color:#666;font-size:.9rem}.admin-league-detail strong{color:#333}.admin-league-toggles{display:flex;gap:1.5rem;margin-bottom:.75rem}.admin-toggle{align-items:center;color:#444;cursor:pointer;display:flex;font-size:.9rem;gap:.4rem}.admin-toggle input[type=checkbox]{cursor:pointer;height:16px;width:16px}.admin-toggle-disabled{opacity:.4;pointer-events:none}.admin-league-actions{display:flex;gap:.5rem}.admin-action-btn{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;padding:.4rem .85rem;transition:all .2s}.admin-action-pdf{background:#667eea;color:#fff}.admin-action-pdf:hover{background:#5568d3}.admin-action-delete{background:#fff;border:2px solid #ff5252;color:#ff5252}.admin-action-delete:hover{background:#ff5252;color:#fff}.admin-action-export{background:#fff;border:2px solid #38a169;color:#38a169}.admin-action-export:hover{background:#38a169;color:#fff}@media (max-width:768px){.admin-page{padding:1rem}.admin-header,.user-card-header{align-items:flex-start;flex-direction:column}.user-card-header{gap:.75rem}.user-meta{flex-wrap:wrap;gap:.75rem}.admin-league-details{flex-direction:column;gap:.25rem}}@media (max-width:480px){.admin-page{padding:.75rem}.user-card-header{padding:1rem}.user-leagues{padding:0 1rem 1rem}.admin-league-card{padding:.75rem}.admin-league-toggles{flex-direction:column;gap:.5rem}.admin-league-actions{flex-direction:column}.admin-action-btn{text-align:center}.admin-toast{left:1rem;right:1rem}}.admin-preview-tier-section{align-items:center;background:#fff;background:var(--color-card,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem}.admin-preview-tier-label{color:#2d3748;color:var(--color-text,#2d3748);font-size:.9rem;font-weight:600;margin-right:.25rem}.admin-preview-tier-btn{background:#f7fafc;background:var(--color-bg-secondary,#f7fafc);border:1px solid #cbd5e0;border:1px solid var(--color-border,#cbd5e0);border-radius:6px;color:#4a5568;color:var(--color-text,#4a5568);cursor:pointer;font-size:.85rem;font-weight:500;padding:.4rem 1rem;transition:all .15s ease}.admin-preview-tier-btn:hover{background:#edf2f7;background:var(--color-card-hover,#edf2f7);border-color:#667eea;color:#667eea}.admin-preview-tier-btn-active{background:#667eea;border-color:#667eea;color:#fff;font-weight:600}.admin-preview-tier-btn-active:hover{background:#5a6fd6;color:#fff}.admin-preview-tier-btn-exit{background:#0000;border-color:#e53e3e;border-color:var(--color-danger,#e53e3e);color:#e53e3e;color:var(--color-danger,#e53e3e);margin-left:.5rem}.admin-preview-tier-btn-exit:hover{background:#e53e3e;background:var(--color-danger,#e53e3e);color:#fff}.score-entry-page{background:#f5f5f5;margin:0 auto;max-width:1200px;padding:2rem;width:100%}.score-loading{color:#666;font-size:1.1rem;padding:2rem;text-align:center}.score-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:1rem}.score-header h1{color:#333;font-size:1.4rem;letter-spacing:-.02em;margin-bottom:.15rem}.score-league-name{color:#666;font-size:.95rem}.score-weeks-list{display:flex;flex-direction:column;gap:.75rem}.score-week-card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #00000014,0 4px 12px #0000000d;overflow:hidden}.score-week-header{align-items:center;background:#667eea;border-radius:8px 8px 0 0;color:#fff;display:flex;justify-content:space-between;padding:.5rem 1rem}.score-week-header h3{font-size:.95rem;margin:0}.score-week-date{font-size:.8rem;opacity:.9}.score-games{padding:.25rem 0}@media (max-width:768px){.score-entry-page{padding:.75rem}.score-header{align-items:flex-start;flex-direction:column}}@media (max-width:480px){.score-entry-page{padding:.5rem}.score-week-header{padding:.4rem .75rem}.score-week-header h3{font-size:.85rem}}.playoff-container{margin:0 auto;max-width:900px;padding:1.5rem}.playoff-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.playoff-header h2{color:#333;margin:0}.playoff-back-btn{background:#f0f0f0;border:none;border-radius:8px;color:#666;cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.playoff-back-btn:hover{background:#e0e0e0}.playoff-standings-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:1.5rem;padding:1.5rem}.playoff-standings-section h3{color:#333;margin:0 0 1rem}.playoff-standings-table{border-collapse:collapse;width:100%}.playoff-standings-table th{border-bottom:2px solid #e0e0e0;color:#666;font-size:.8rem;font-weight:700;padding:.75rem .5rem;text-align:left;text-transform:uppercase}.playoff-standings-table td{border-bottom:1px solid #f0f0f0;font-size:.9rem;padding:.6rem .5rem}.playoff-standings-table tr.playoff-qualifying{background:#f0f7ff}.playoff-qualifying-line td{border-bottom:2px solid #667eea}.playoff-seed-badge{background:#667eea;border-radius:50%;color:#fff;display:inline-block;font-size:.75rem;font-weight:700;height:24px;line-height:24px;text-align:center;width:24px}.playoff-round-config{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:1.5rem;padding:1.5rem}.playoff-round-config h3{color:#333;margin:0 0 1rem}.playoff-round-card{border:1px solid #e0e0e0;border-radius:8px;margin-bottom:1rem;padding:1rem}.playoff-round-card h4{color:#667eea;font-size:1rem;margin:0 0 .75rem}.playoff-round-card .playoff-field-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.5rem}.playoff-round-card .playoff-field-group{display:flex;flex-direction:column;gap:.25rem}.playoff-round-card .playoff-field-group label{color:#666;font-size:.8rem;font-weight:600}.playoff-round-card .playoff-field-group input{border:1px solid #d0d0d0;border-radius:6px;font-size:.9rem;padding:.4rem .5rem}.playoff-generate-btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;width:100%}.playoff-generate-btn:hover{background:#5a6fd6}.playoff-generate-btn:disabled{background:#ccc;cursor:not-allowed}.playoff-bracket{display:flex;flex-direction:column;gap:1.5rem}.playoff-round-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:1.5rem}.playoff-round-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.playoff-round-header h3{color:#667eea;font-size:1.2rem;margin:0}.playoff-round-date{color:#666;font-size:.9rem;font-weight:500}.playoff-games-list{display:flex;flex-direction:column;gap:.75rem}.playoff-champion-banner{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin-bottom:1.5rem;padding:1.5rem;text-align:center}.playoff-champion-banner h3{font-size:1.5rem;margin:0 0 .25rem}.playoff-champion-banner p{font-size:1.1rem;margin:0;opacity:.9}.playoff-actions{display:flex;gap:1rem;margin-bottom:1.5rem}.playoff-reset-btn{background:#dc3545;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1.25rem}.playoff-reset-btn:hover{background:#c82333}.playoff-toast{border-radius:8px;box-shadow:0 4px 12px #00000026;font-weight:500;padding:.75rem 1.25rem;position:fixed;right:1rem;top:1rem;z-index:1000}.playoff-toast-error{background:#f8d7da;color:#721c24}.playoff-toast-success{background:#d4edda;color:#155724}.playoff-error{background:#f8d7da;border-radius:8px;color:#721c24;margin-bottom:1rem;padding:.75rem 1rem}.playoff-loading{color:#666;font-size:1.1rem;padding:3rem;text-align:center}@media (max-width:768px){.playoff-container{padding:1rem}.playoff-header{align-items:flex-start;gap:.75rem}.playoff-header,.playoff-round-card .playoff-field-row{flex-direction:column}.playoff-standings-table td,.playoff-standings-table th{font-size:.8rem;padding:.5rem .35rem}}@media (max-width:480px){.playoff-container{padding:.75rem}.playoff-round-config,.playoff-round-section,.playoff-standings-section{padding:1rem}}.contact-page{background:var(--color-bg-secondary);margin:0 auto;max-width:700px;min-height:100vh;padding:2rem}.contact-card{background:var(--color-card);border-radius:12px;border-top:3px solid var(--color-brand);box-shadow:0 1px 3px var(--color-shadow),0 4px 12px var(--color-shadow);padding:2.5rem}.contact-card h2{color:var(--color-text);letter-spacing:-.02em;margin-bottom:.5rem}.contact-subtitle{color:var(--color-text-secondary);font-size:1rem;margin-bottom:2rem}.contact-field{margin-bottom:1.5rem}.contact-field label{color:var(--color-text);display:block;font-size:.95rem;font-weight:500;margin-bottom:.5rem}.contact-field input,.contact-field textarea{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:6px;color:var(--color-text);font-family:inherit;font-size:1rem;padding:12px;transition:border-color .2s,box-shadow .2s;width:100%}.contact-field input:disabled{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.contact-field input:focus,.contact-field textarea:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px #667eea26;outline:none}.contact-field textarea{min-height:120px;resize:vertical}.contact-btn{background:var(--color-brand-gradient);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.85rem 2rem;transition:transform .2s;width:100%}.contact-btn:hover:not(:disabled){transform:translateY(-1px)}.contact-btn:disabled{cursor:not-allowed;opacity:.6}.contact-success{padding:2rem 0;text-align:center}.contact-success-icon{color:var(--color-toast-success-text);font-size:3rem;margin-bottom:1rem}.contact-success h3{color:var(--color-text);margin-bottom:.5rem}.contact-success p{color:var(--color-text-secondary);margin-bottom:2rem}@media (max-width:768px){.contact-page{padding:1rem}.contact-card{padding:1.5rem}}@media (max-width:480px){.contact-page{padding:.5rem}.contact-card{padding:1rem}}.navbar{background:var(--color-nav-bg);border-bottom:1px solid var(--color-nav-border);box-shadow:0 1px 3px var(--color-shadow);position:sticky;top:0;transition:background-color .2s,border-color .2s;z-index:100}.navbar-inner{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:.75rem 2rem}.navbar-brand{background:none;border:none;color:var(--color-brand);cursor:pointer;font-size:1.4rem;font-weight:700;letter-spacing:-.02em;padding:0}.navbar-brand:hover{color:#5568d3}.navbar-actions{align-items:center;display:flex;gap:1.25rem}.navbar-user{color:var(--color-text-secondary)}.navbar-link,.navbar-user{font-size:.95rem;font-weight:500}.navbar-link{background:none;border:none;border-radius:6px;color:var(--color-brand);cursor:pointer;padding:.4rem .75rem;transition:background .15s}.navbar-link:hover{background:var(--color-link-hover-bg)}.navbar-logout{color:var(--color-text-secondary)}.navbar-logout:hover{background:var(--color-cancel-bg);color:var(--color-text)}.navbar-theme-toggle{background:none;border:1px solid var(--color-border);border-radius:6px;cursor:pointer;font-size:1.15rem;line-height:1;padding:.3rem .5rem;transition:background .15s}.navbar-theme-toggle:hover{background:var(--color-link-hover-bg)}@media (max-width:768px){.navbar-inner{padding:.75rem 1rem}.navbar-user{display:none}}@media (max-width:480px){.navbar-actions{gap:.5rem}.navbar-link{font-size:.85rem;padding:.4rem .5rem}}.league-view-page{margin:0 auto;max-width:1100px;padding:2rem 1.5rem}.league-view-header{background:var(--color-card);border-radius:12px;box-shadow:0 2px 10px var(--color-shadow);margin-bottom:1.5rem;padding:1.5rem 2rem}.league-view-top-row{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.league-view-back-btn{background:none;border:2px solid var(--color-border);border-radius:8px;color:var(--color-text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;padding:.4rem .8rem;transition:all .15s}.league-view-back-btn:hover{border-color:var(--color-brand);color:var(--color-brand)}.league-view-title{color:var(--color-text);flex:1 1;font-size:1.8rem;font-weight:700;margin:0}.league-view-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem}.league-view-badge{border-radius:12px;font-size:.8rem;font-weight:600;padding:.2rem .7rem;text-transform:capitalize}.league-view-badge-draft{background:var(--color-badge-draft-bg);color:var(--color-badge-draft-text)}.league-view-badge-published{background:var(--color-badge-published-bg);color:var(--color-badge-published-text)}.league-view-badge-sport{background:var(--color-section-bg);border:1px solid var(--color-border);color:var(--color-text-secondary)}.league-view-season{color:var(--color-text-secondary);font-size:.9rem}.league-view-stats-row{display:flex;gap:1rem;margin-top:1rem}.league-view-stat-card{background:var(--color-section-bg);border:1px solid var(--color-border);border-radius:8px;flex:1 1;padding:.75rem 1rem;text-align:center}.league-view-stat-value{color:var(--color-brand);font-size:1.4rem;font-weight:700}.league-view-stat-label{color:var(--color-text-secondary);font-size:.75rem;letter-spacing:.5px;margin-top:.15rem;text-transform:uppercase}.league-view-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.5rem}.league-view-tab{background:var(--color-card);border:2px solid var(--color-border);border-radius:8px;color:var(--color-text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;padding:.55rem 1rem;transition:all .15s}.league-view-tab.active,.league-view-tab:hover{border-color:var(--color-brand);color:var(--color-brand)}.league-view-tab.active{background:var(--color-link-hover-bg)}.league-view-section{background:var(--color-card);border-radius:12px;box-shadow:0 2px 10px var(--color-shadow);padding:1.5rem}.league-view-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.25rem}.league-view-section-title{color:var(--color-text);font-size:1.25rem;font-weight:700;margin:0}.league-view-edit-btn{background:none;border:1.5px solid var(--color-brand);border-radius:6px;color:var(--color-brand);cursor:pointer;font-size:.8rem;font-weight:600;padding:.35rem .8rem;transition:all .15s;white-space:nowrap}.league-view-edit-btn:hover{background:var(--color-brand);color:#fff}.league-view-edit-btn+.league-view-edit-btn{margin-left:.5rem}.league-view-week-card{background:var(--color-section-bg);border:1px solid var(--color-border);border-radius:8px;margin-bottom:.75rem;padding:1rem}.league-view-week-header{align-items:center;border-bottom:2px solid var(--color-border);display:flex;justify-content:space-between;margin-bottom:.6rem;padding-bottom:.5rem}.league-view-week-label{color:var(--color-brand);font-size:.95rem;font-weight:700}.league-view-week-date{color:var(--color-text-secondary);font-size:.85rem}.league-view-game-row{grid-gap:.75rem;align-items:center;border-radius:6px;display:grid;gap:.75rem;grid-template-columns:80px 1fr auto;padding:.5rem .4rem;transition:background .1s}.league-view-game-row:hover{background:var(--color-card-hover)}.league-view-game-time-col{text-align:left}.league-view-game-time{color:var(--color-brand);font-size:.85rem;font-weight:600}.league-view-game-detail{color:var(--color-text-secondary);font-size:.7rem;margin-top:2px}.league-view-game-matchup{color:var(--color-text);font-size:.95rem}.league-view-game-matchup .league-view-team-name-text{font-weight:600}.league-view-game-matchup .league-view-vs{color:var(--color-text-secondary);font-weight:400;margin:0 .4rem}.league-view-game-score{color:var(--color-brand);font-weight:700;margin:0 .4rem}.league-view-game-status-badge{border-radius:10px;font-size:.75rem;font-weight:600;padding:.15rem .5rem}.league-view-status-upcoming{background:var(--color-section-bg);border:1px solid var(--color-border);color:var(--color-text-secondary)}.league-view-status-completed{background:var(--color-badge-published-bg);color:var(--color-badge-published-text)}.league-view-status-forfeit{color:#e67e22;font-size:.85rem;font-weight:600}.league-view-status-cancelled{color:var(--color-danger);font-size:.85rem;font-weight:600}.league-view-status-postponed{color:#856404;font-size:.85rem;font-weight:600}.league-view-standings-table{border-collapse:collapse;width:100%}.league-view-standings-table thead{background:var(--color-table-header)}.league-view-standings-table th{border-bottom:2px solid var(--color-border);color:var(--color-text-secondary);font-size:.8rem;font-weight:700;letter-spacing:.3px;padding:.7rem .6rem;text-align:left;text-transform:uppercase}.league-view-standings-table td{border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:.9rem;padding:.65rem .6rem}.league-view-standings-table tbody tr:nth-child(2n){background:var(--color-table-stripe)}.league-view-standings-table .league-view-rank-col{color:var(--color-text-secondary);font-weight:600;text-align:center;width:40px}.league-view-standings-table .league-view-team-col{font-weight:600}.league-view-standings-table .league-view-stat-col{text-align:center;width:50px}.league-view-group-header{border-bottom:2px solid var(--color-border);color:var(--color-brand);font-size:1rem;font-weight:700;margin:1.25rem 0 .6rem;padding-bottom:.4rem}.league-view-group-header:first-child{margin-top:0}.league-view-team-row{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:.6rem .5rem}.league-view-team-row:last-child{border-bottom:none}.league-view-team-info{display:flex;flex-direction:column}.league-view-team-info .league-view-team-name-text{color:var(--color-text);font-size:.95rem;font-weight:600}.league-view-team-captain{color:var(--color-text-secondary);font-size:.8rem;margin-top:2px}.league-view-team-record{color:var(--color-brand);font-size:.9rem;font-weight:600;white-space:nowrap}.league-view-config-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.league-view-config-card{background:var(--color-section-bg);border:1px solid var(--color-border);border-radius:8px;padding:1rem}.league-view-config-label{color:var(--color-text-secondary);font-size:.75rem;letter-spacing:.3px;margin-bottom:.4rem;text-transform:uppercase}.league-view-config-value{color:var(--color-text);font-size:.95rem;font-weight:600}.league-view-config-list{list-style:none;margin:0;padding:0}.league-view-config-list li{border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:.9rem;padding:.3rem 0}.league-view-config-list li:last-child{border-bottom:none}.league-view-champion-banner{background:var(--color-brand-gradient);border-radius:8px;color:#fff;font-size:1.1rem;font-weight:700;margin-bottom:1rem;padding:1rem;text-align:center}.league-view-round-card{background:var(--color-section-bg);border:1px solid var(--color-border);border-radius:8px;margin-bottom:.75rem;padding:1rem}.league-view-round-name{border-bottom:2px solid var(--color-border);color:var(--color-brand);font-size:.95rem;font-weight:700;margin-bottom:.6rem;padding-bottom:.4rem}.league-view-playoff-game{align-items:center;border-radius:6px;display:flex;justify-content:space-between;padding:.5rem .4rem}.league-view-playoff-game:hover{background:var(--color-card-hover)}.league-view-seed{color:var(--color-brand);font-size:.75rem;font-weight:600}.league-view-tbd{color:var(--color-text-secondary);font-style:italic}.league-view-override-badge{background:#fff8f0;border:1px solid #e9a937;border-radius:8px;color:#e67e22;font-size:.7rem;font-weight:600;margin-left:.4rem;padding:.1rem .4rem}.league-view-list-item{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:.7rem .5rem}.league-view-list-item:last-child{border-bottom:none}.league-view-list-name{color:var(--color-text);font-size:.95rem;font-weight:600}.league-view-list-detail{color:var(--color-text-secondary);font-size:.8rem;margin-top:2px}.league-view-list-badge{background:var(--color-section-bg);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-secondary);font-size:.75rem;font-weight:500;padding:.2rem .6rem;white-space:nowrap}.league-view-url-box{align-items:center;background:var(--color-url-box-bg);border-radius:6px;color:var(--color-text);display:flex;font-family:monospace;font-size:.85rem;gap:.5rem;padding:.5rem .75rem;word-break:break-all}.league-view-copy-btn{background:none;border:none;cursor:pointer;flex-shrink:0;font-size:1rem;padding:.2rem}.league-view-color-swatch{border:2px solid var(--color-border);border-radius:6px;display:inline-block;height:28px;margin-right:.5rem;vertical-align:middle;width:28px}.league-view-logo-preview{border-radius:6px;margin-top:.5rem;max-height:60px}.league-view-setting-row{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:.5rem 0}.league-view-setting-row:last-child{border-bottom:none}.league-view-setting-label{color:var(--color-text);font-size:.9rem;font-weight:500}.league-view-setting-value{color:var(--color-text-secondary);font-size:.9rem}.league-view-on{color:var(--color-success);font-weight:600}.league-view-off{color:var(--color-text-secondary)}.league-view-empty{font-size:.95rem;padding:2rem}.league-view-empty,.league-view-loading{color:var(--color-text-secondary);text-align:center}.league-view-loading{font-size:1rem;padding:4rem 2rem}.league-view-error{padding:4rem 2rem;text-align:center}.league-view-error h2{color:var(--color-danger);margin-bottom:.5rem}.league-view-error p{color:var(--color-text-secondary);margin-bottom:1.5rem}@media (max-width:768px){.league-view-page{padding:1rem}.league-view-header{padding:1rem 1.25rem}.league-view-title{font-size:1.4rem}.league-view-tabs{gap:.3rem}.league-view-tab{font-size:.8rem;padding:.45rem .7rem}.league-view-config-grid{grid-template-columns:1fr}.league-view-game-row{grid-template-columns:65px 1fr auto}.league-view-stats-row{flex-wrap:wrap}.league-view-stat-card{min-width:80px}}@media (max-width:480px){.league-view-top-row{align-items:flex-start;flex-direction:column}.league-view-game-row{gap:.25rem;grid-template-columns:1fr}.league-view-game-time-col{align-items:baseline;display:flex;gap:.5rem}.league-view-section-header{align-items:flex-start;flex-direction:column;gap:.5rem}.league-view-playoff-game{align-items:flex-start;flex-direction:column;gap:.25rem}}.captains-container{margin:0 auto;max-width:900px;padding:2rem 1rem}.captains-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.captains-header h2{color:var(--color-text);font-size:1.5rem;margin:0}.captains-count{align-items:center;background:var(--color-brand);border-radius:999px;color:#fff;display:inline-flex;font-size:.75rem;font-weight:600;height:22px;justify-content:center;margin-left:.5rem;min-width:22px;padding:0 6px}.captains-toolbar{flex-direction:column;margin-bottom:1rem}.captains-search,.captains-toolbar{display:flex;gap:.5rem}.captains-search input{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:8px;color:var(--color-text);flex:1 1;font-size:.9rem;padding:.5rem .75rem}.captains-search input:focus{border-color:var(--color-brand);outline:none}.captains-search button{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:8px;color:var(--color-text-secondary);cursor:pointer;font-size:.85rem;padding:.5rem .75rem}.captains-sort{align-items:center;display:flex;gap:.35rem}.captains-sort-label{margin-right:.25rem}.captains-sort-btn,.captains-sort-label{color:var(--color-text-secondary);font-size:.8rem}.captains-sort-btn{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:6px;cursor:pointer;padding:.3rem .6rem;transition:all .15s}.captains-sort-btn:hover{border-color:var(--color-brand);color:var(--color-brand)}.captains-sort-btn.active{background:var(--color-brand);border-color:var(--color-brand);color:#fff}.captains-pagination{align-items:center;border-top:1px solid var(--color-border);display:flex;gap:1rem;justify-content:center;margin-top:1.5rem;padding-top:1rem}.captains-pagination button{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:8px;color:var(--color-text);cursor:pointer;font-size:.85rem;padding:.4rem .8rem}.captains-pagination button:hover:not(:disabled){border-color:var(--color-brand);color:var(--color-brand)}.captains-pagination button:disabled{cursor:not-allowed;opacity:.4}.captains-pagination-info{color:var(--color-text-secondary);font-size:.85rem}.captains-add-form{background:var(--color-section-bg);border:1px solid var(--color-border);border-radius:12px;margin-bottom:1.5rem;padding:1rem}.captains-add-form h3{color:var(--color-text);font-size:.95rem;margin:0 0 .75rem}.captains-form-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr 1fr}.captains-form-grid input,.captains-form-grid textarea{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:8px;color:var(--color-text);font-family:inherit;font-size:.85rem;padding:.5rem .75rem}.captains-form-grid textarea{grid-column:1/-1;min-height:40px;resize:vertical}.captains-form-grid input:focus,.captains-form-grid textarea:focus{border-color:var(--color-brand);outline:none}.captains-form-actions{display:flex;gap:.5rem;margin-top:.5rem}.captains-btn-primary{background:var(--color-brand);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem}.captains-btn-primary:disabled{cursor:not-allowed;opacity:.5}.captains-btn-secondary{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:8px;color:var(--color-text);cursor:pointer;font-size:.85rem;padding:.5rem 1rem}.captains-list{display:flex;flex-direction:column;gap:.75rem}.captains-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:12px;padding:1rem;transition:box-shadow .15s}.captains-card:hover{box-shadow:var(--color-shadow-hover)}.captains-card-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.captains-card-info{flex:1 1;min-width:0}.captains-card-name{color:var(--color-text);font-size:1rem;font-weight:600;margin:0 0 .25rem}.captains-card-detail{color:var(--color-text-secondary);font-size:.85rem;margin:.1rem 0}.captains-card-notes{color:var(--color-text-secondary);font-size:.8rem;font-style:italic;margin-top:.25rem}.captains-card-teams{border-top:1px solid var(--color-border);margin-top:.5rem;padding-top:.5rem}.captains-card-teams-label{color:var(--color-text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.03em;margin-bottom:.25rem;text-transform:uppercase}.captains-team-tag{background:var(--color-badge-bg);border-radius:999px;color:var(--color-badge-text);display:inline-block;font-size:.75rem;margin:2px 4px 2px 0;padding:2px 8px}.captains-card-actions{display:flex;flex-shrink:0;gap:.5rem}.captains-card-actions button{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:6px;color:var(--color-text);cursor:pointer;font-size:.8rem;padding:.35rem .7rem}.captains-card-actions button:hover{border-color:var(--color-brand);color:var(--color-brand)}.captains-card-actions .captains-btn-delete:hover{border-color:var(--color-danger);color:var(--color-danger)}.captains-empty{color:var(--color-text-secondary);padding:3rem 1rem;text-align:center}.captains-empty p{margin:.5rem 0}.captains-toast{animation:captains-toast-in .3s ease;border-radius:10px;bottom:1.5rem;color:#fff;font-size:.9rem;padding:.75rem 1.25rem;position:fixed;right:1.5rem;z-index:1000}.captains-toast.success{background:var(--color-success)}.captains-toast.error{background:var(--color-danger)}@keyframes captains-toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.captains-back{align-items:center;background:none;border:1px solid var(--color-input-border);border-radius:8px;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-size:.85rem;gap:.25rem;margin-bottom:1rem;padding:.4rem .8rem}.captains-back:hover{border-color:var(--color-brand);color:var(--color-brand)}@media (max-width:600px){.captains-form-grid{grid-template-columns:1fr}.captains-card-header{flex-direction:column}.captains-card-actions{align-self:flex-end}}.venues-container{margin:0 auto;max-width:900px;padding:2rem 1rem}.venues-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.venues-header h2{color:var(--color-text);font-size:1.5rem;margin:0}.venues-count{align-items:center;background:var(--color-brand);border-radius:999px;color:#fff;display:inline-flex;font-size:.75rem;font-weight:600;height:22px;justify-content:center;margin-left:.5rem;min-width:22px;padding:0 6px}.venues-search{display:flex;gap:.5rem;margin-bottom:1rem}.venues-search input{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:8px;color:var(--color-text);flex:1 1;font-size:.9rem;padding:.5rem .75rem}.venues-search input:focus{border-color:var(--color-brand);outline:none}.venues-search button{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:8px;color:var(--color-text-secondary);cursor:pointer;font-size:.85rem;padding:.5rem .75rem}.venues-add-form{background:var(--color-section-bg);border:1px solid var(--color-border);border-radius:12px;margin-bottom:1.5rem;padding:1rem}.venues-add-form h3{color:var(--color-text);font-size:.95rem;margin:0 0 .75rem}.venues-form-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr 1fr}.venues-form-grid input,.venues-form-grid textarea{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:8px;color:var(--color-text);font-family:inherit;font-size:.85rem;padding:.5rem .75rem}.venues-form-grid textarea{grid-column:1/-1;min-height:40px;resize:vertical}.venues-form-grid input:focus,.venues-form-grid textarea:focus{border-color:var(--color-brand);outline:none}.venues-field-count-input{align-items:center;display:flex;gap:.5rem}.venues-field-count-input label{color:var(--color-text-secondary);font-size:.85rem;white-space:nowrap}.venues-field-count-input input{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:8px;color:var(--color-text);font-size:.85rem;padding:.5rem .75rem;width:60px}.venues-field-count-input input:focus{border-color:var(--color-brand);outline:none}.venues-form-actions{display:flex;gap:.5rem;margin-top:.5rem}.venues-btn-primary{background:var(--color-brand);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem}.venues-btn-primary:disabled{cursor:not-allowed;opacity:.5}.venues-btn-secondary{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:8px;color:var(--color-text);cursor:pointer;font-size:.85rem;padding:.5rem 1rem}.venues-list{display:flex;flex-direction:column;gap:.75rem}.venues-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:12px;padding:1rem;transition:box-shadow .15s}.venues-card:hover{box-shadow:var(--color-shadow-hover)}.venues-card-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.venues-card-info{flex:1 1;min-width:0}.venues-card-name{align-items:center;color:var(--color-text);display:flex;flex-wrap:wrap;font-size:1rem;font-weight:600;gap:.5rem;margin:0 0 .25rem}.venues-field-badge{background:var(--color-badge-bg);border-radius:999px;color:var(--color-badge-text);display:inline-block;font-size:.7rem;font-weight:600;padding:1px 7px}.venues-card-detail{color:var(--color-text-secondary);font-size:.85rem;margin:.1rem 0}.venues-card-notes{color:var(--color-text-secondary);font-size:.8rem;font-style:italic;margin-top:.25rem}.venues-card-leagues{border-top:1px solid var(--color-border);margin-top:.5rem;padding-top:.5rem}.venues-card-leagues-label{color:var(--color-text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.03em;margin-bottom:.25rem;text-transform:uppercase}.venues-league-tag{background:var(--color-badge-bg);border-radius:999px;color:var(--color-badge-text);display:inline-block;font-size:.75rem;margin:2px 4px 2px 0;padding:2px 8px}.venues-game-count{color:var(--color-text-secondary);display:inline-block;font-size:.75rem;margin-left:.25rem}.venues-card-actions{display:flex;flex-shrink:0;gap:.5rem}.venues-card-actions button{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:6px;color:var(--color-text);cursor:pointer;font-size:.8rem;padding:.35rem .7rem}.venues-card-actions button:hover{border-color:var(--color-brand);color:var(--color-brand)}.venues-card-actions .venues-btn-delete:hover{border-color:var(--color-danger);color:var(--color-danger)}.venues-empty{color:var(--color-text-secondary);padding:3rem 1rem;text-align:center}.venues-empty p{margin:.5rem 0}.venues-toast{animation:venues-toast-in .3s ease;border-radius:10px;bottom:1.5rem;color:#fff;font-size:.9rem;padding:.75rem 1.25rem;position:fixed;right:1.5rem;z-index:1000}.venues-toast.success{background:var(--color-success)}.venues-toast.error{background:var(--color-danger)}@keyframes venues-toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.venues-back{align-items:center;background:none;border:1px solid var(--color-input-border);border-radius:8px;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-size:.85rem;gap:.25rem;margin-bottom:1rem;padding:.4rem .8rem}.venues-back:hover{border-color:var(--color-brand);color:var(--color-brand)}@media (max-width:600px){.venues-form-grid{grid-template-columns:1fr}.venues-card-header{flex-direction:column}.venues-card-actions{align-self:flex-end}}.referees-container{margin:0 auto;max-width:900px;padding:2rem 1rem}.referees-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.referees-header h2{color:var(--color-text);font-size:1.5rem;margin:0}.referees-count{align-items:center;background:var(--color-brand);border-radius:999px;color:#fff;display:inline-flex;font-size:.75rem;font-weight:600;height:22px;justify-content:center;margin-left:.5rem;min-width:22px;padding:0 6px}.referees-search{display:flex;gap:.5rem;margin-bottom:1rem}.referees-search input{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:8px;color:var(--color-text);flex:1 1;font-size:.9rem;padding:.5rem .75rem}.referees-search input:focus{border-color:var(--color-brand);outline:none}.referees-search button{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:8px;color:var(--color-text-secondary);cursor:pointer;font-size:.85rem;padding:.5rem .75rem}.referees-add-form{background:var(--color-section-bg);border:1px solid var(--color-border);border-radius:12px;margin-bottom:1.5rem;padding:1rem}.referees-add-form h3{color:var(--color-text);font-size:.95rem;margin:0 0 .75rem}.referees-form-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr 1fr}.referees-form-grid input,.referees-form-grid textarea{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:8px;color:var(--color-text);font-family:inherit;font-size:.85rem;padding:.5rem .75rem}.referees-form-grid textarea{grid-column:1/-1;min-height:40px;resize:vertical}.referees-form-grid input:focus,.referees-form-grid textarea:focus{border-color:var(--color-brand);outline:none}.referees-sports-section{grid-column:1/-1}.referees-sports-label{color:var(--color-text-secondary);font-size:.85rem;margin-bottom:.35rem}.referees-sport-checkbox-grid{display:flex;flex-wrap:wrap;gap:.35rem}.referees-sport-checkbox-grid label{align-items:center;background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:999px;color:var(--color-text);cursor:pointer;display:inline-flex;font-size:.8rem;gap:.25rem;padding:.25rem .6rem;transition:all .15s;-webkit-user-select:none;user-select:none}.referees-sport-checkbox-grid label:hover{border-color:var(--color-brand)}.referees-sport-checkbox-grid label.referees-sport-active{background:var(--color-brand);border-color:var(--color-brand);color:#fff}.referees-sport-checkbox-grid input[type=checkbox]{display:none}.referees-form-actions{display:flex;gap:.5rem;margin-top:.5rem}.referees-btn-primary{background:var(--color-brand);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:.5rem 1rem}.referees-btn-primary:disabled{cursor:not-allowed;opacity:.5}.referees-btn-secondary{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:8px;color:var(--color-text);cursor:pointer;font-size:.85rem;padding:.5rem 1rem}.referees-list{display:flex;flex-direction:column;gap:.75rem}.referees-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:12px;padding:1rem;transition:box-shadow .15s}.referees-card:hover{box-shadow:var(--color-shadow-hover)}.referees-card-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.referees-card-info{flex:1 1;min-width:0}.referees-card-name{align-items:center;color:var(--color-text);display:flex;flex-wrap:wrap;font-size:1rem;font-weight:600;gap:.5rem;margin:0 0 .25rem}.referees-sport-badges{display:inline-flex;flex-wrap:wrap;gap:.25rem}.referees-sport-badge{background:var(--color-badge-bg);border-radius:999px;color:var(--color-badge-text);display:inline-block;font-size:.7rem;font-weight:600;padding:1px 7px}.referees-card-detail{color:var(--color-text-secondary);font-size:.85rem;margin:.1rem 0}.referees-card-notes{color:var(--color-text-secondary);font-size:.8rem;font-style:italic;margin-top:.25rem}.referees-card-leagues{border-top:1px solid var(--color-border);margin-top:.5rem;padding-top:.5rem}.referees-card-leagues-label{color:var(--color-text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.03em;margin-bottom:.25rem;text-transform:uppercase}.referees-league-tag{background:var(--color-badge-bg);border-radius:999px;color:var(--color-badge-text);display:inline-block;font-size:.75rem;margin:2px 4px 2px 0;padding:2px 8px}.referees-game-count{color:var(--color-text-secondary);display:inline-block;font-size:.75rem;margin-left:.25rem}.referees-card-actions{display:flex;flex-shrink:0;gap:.5rem}.referees-card-actions button{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:6px;color:var(--color-text);cursor:pointer;font-size:.8rem;padding:.35rem .7rem}.referees-card-actions button:hover{border-color:var(--color-brand);color:var(--color-brand)}.referees-card-actions .referees-btn-delete:hover{border-color:var(--color-danger);color:var(--color-danger)}.referees-empty{color:var(--color-text-secondary);padding:3rem 1rem;text-align:center}.referees-empty p{margin:.5rem 0}.referees-toast{animation:referees-toast-in .3s ease;border-radius:10px;bottom:1.5rem;color:#fff;font-size:.9rem;padding:.75rem 1.25rem;position:fixed;right:1.5rem;z-index:1000}.referees-toast.success{background:var(--color-success)}.referees-toast.error{background:var(--color-danger)}@keyframes referees-toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.referees-back{align-items:center;background:none;border:1px solid var(--color-input-border);border-radius:8px;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-size:.85rem;gap:.25rem;margin-bottom:1rem;padding:.4rem .8rem}.referees-back:hover{border-color:var(--color-brand);color:var(--color-brand)}@media (max-width:600px){.referees-form-grid{grid-template-columns:1fr}.referees-card-header{flex-direction:column}.referees-card-actions{align-self:flex-end}}.game-mgmt-page{margin:0 auto;max-width:1100px;padding:2rem 1.5rem}.game-mgmt-header{background:var(--color-card);border-radius:12px;box-shadow:0 2px 10px var(--color-shadow);margin-bottom:1.5rem;padding:1.5rem 2rem}.game-mgmt-top-row{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.game-mgmt-back-btn{background:none;border:2px solid var(--color-border);border-radius:8px;color:var(--color-text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;padding:.4rem .8rem;transition:all .15s}.game-mgmt-back-btn:hover{border-color:var(--color-brand);color:var(--color-brand)}.game-mgmt-title{color:var(--color-text);flex:1 1;font-size:1.8rem;font-weight:700;margin:0}.game-mgmt-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem}.game-mgmt-badge{border-radius:12px;font-size:.8rem;font-weight:600;padding:.2rem .7rem;text-transform:capitalize}.game-mgmt-badge-draft{background:var(--color-badge-draft-bg);color:var(--color-badge-draft-text)}.game-mgmt-badge-published{background:var(--color-badge-published-bg);color:var(--color-badge-published-text)}.game-mgmt-badge-sport{background:var(--color-section-bg);border:1px solid var(--color-border);color:var(--color-text-secondary)}.game-mgmt-stats-row{display:flex;gap:1rem;margin-top:1rem}.game-mgmt-stat-card{background:var(--color-section-bg);border:1px solid var(--color-border);border-radius:8px;flex:1 1;padding:.75rem 1rem;text-align:center}.game-mgmt-stat-value{color:var(--color-brand);font-size:1.4rem;font-weight:700}.game-mgmt-stat-label{color:var(--color-text-secondary);font-size:.75rem;letter-spacing:.5px;margin-top:.15rem;text-transform:uppercase}.game-mgmt-filter-bar{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}.game-mgmt-filter-group{display:flex;flex-direction:column;gap:.25rem}.game-mgmt-filter-group label{color:var(--color-text-secondary);font-size:.7rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.game-mgmt-filter-group select{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:6px;color:var(--color-text);cursor:pointer;font-size:.85rem;padding:.4rem .6rem}.game-mgmt-clear-filters{background:none;border:none;color:var(--color-brand);cursor:pointer;font-size:.8rem;font-weight:600;padding:.4rem 0;text-decoration:underline}.game-mgmt-results-count{color:var(--color-text-secondary);font-size:.8rem;margin-bottom:.75rem}.game-mgmt-action-bar{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.game-mgmt-action-btn{background:none;border:1.5px solid var(--color-brand);border-radius:6px;color:var(--color-brand);cursor:pointer;font-size:.8rem;font-weight:600;padding:.4rem .85rem;transition:all .15s;white-space:nowrap}.game-mgmt-action-btn.game-mgmt-active,.game-mgmt-action-btn:hover{background:var(--color-brand);color:#fff}.game-mgmt-action-btn:disabled{cursor:not-allowed;opacity:.5}.game-mgmt-action-btn:disabled:hover{background:none;color:var(--color-brand)}.game-mgmt-action-separator{background:var(--color-border);height:24px;width:1px}.game-mgmt-bulk-bar{align-items:center;background:var(--color-link-hover-bg);border:1px solid var(--color-brand);border-radius:8px;display:flex;gap:.75rem;margin-bottom:1rem;padding:.6rem 1rem}.game-mgmt-bulk-bar label{color:var(--color-text);font-size:.85rem;font-weight:600;white-space:nowrap}.game-mgmt-bulk-bar select{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:6px;color:var(--color-text);font-size:.85rem;padding:.35rem .5rem}.game-mgmt-bulk-bar button{background:var(--color-brand);border:1.5px solid var(--color-brand);border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;padding:.35rem .7rem}.game-mgmt-bulk-bar button:disabled{cursor:not-allowed;opacity:.5}.game-mgmt-week-card{background:var(--color-section-bg);border:1px solid var(--color-border);border-radius:8px;margin-bottom:.75rem;padding:1rem}.game-mgmt-week-header{align-items:center;border-bottom:2px solid var(--color-border);display:flex;justify-content:space-between;margin-bottom:.6rem;padding-bottom:.5rem}.game-mgmt-week-label{color:var(--color-brand);font-size:.95rem;font-weight:700}.game-mgmt-week-date{color:var(--color-text-secondary);font-size:.85rem}.game-mgmt-game-row{grid-gap:.5rem;align-items:center;border-radius:6px;display:grid;gap:.5rem;grid-template-columns:70px 1fr auto auto auto auto;padding:.5rem .4rem;transition:background .1s}.game-mgmt-game-row:hover{background:var(--color-card-hover)}.game-mgmt-game-row-dimmed{opacity:.5}.game-mgmt-game-row-swap-selected{background:var(--color-link-hover-bg);outline:2px solid var(--color-brand)}.game-mgmt-game-row-swap-target{cursor:pointer}.game-mgmt-game-time{color:var(--color-brand);font-size:.85rem;font-weight:600}.game-mgmt-game-matchup{color:var(--color-text);font-size:.9rem}.game-mgmt-team-name{font-weight:600}.game-mgmt-vs{color:var(--color-text-secondary);font-weight:400;margin:0 .3rem}.game-mgmt-score-display{color:var(--color-brand);cursor:pointer;font-weight:700;margin:0 .3rem}.game-mgmt-status-badge{border-radius:10px;font-size:.7rem;font-weight:600;padding:.15rem .5rem;white-space:nowrap}.game-mgmt-score-inputs{align-items:center;display:flex;gap:.3rem}.game-mgmt-score-input{background:var(--color-input-bg);border:2px solid var(--color-input-border);border-radius:4px;color:var(--color-text);font-size:.9rem;font-weight:600;padding:.25rem;text-align:center;width:44px}.game-mgmt-score-input:focus{border-color:var(--color-brand);outline:none}.game-mgmt-score-input.game-mgmt-tie-error{border-color:var(--color-danger)}.game-mgmt-score-dash{color:var(--color-text-secondary);font-weight:600}.game-mgmt-winner-select{background:var(--color-input-bg);border:2px solid var(--color-input-border);border-radius:4px;color:var(--color-text);cursor:pointer;font-size:.85rem;font-weight:600;min-width:140px;padding:.25rem .4rem}.game-mgmt-winner-select:focus{border-color:var(--color-brand);outline:none}.game-mgmt-score-save-btn{background:var(--color-brand);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;font-weight:600;padding:.2rem .5rem}.game-mgmt-score-save-btn:disabled{cursor:not-allowed;opacity:.5}.game-mgmt-status-select{font-size:.75rem;font-weight:600;padding:.2rem .3rem}.game-mgmt-assign-select,.game-mgmt-status-select{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:4px;color:var(--color-text);cursor:pointer}.game-mgmt-assign-select{font-size:.8rem;max-width:130px;padding:.25rem .35rem}.game-mgmt-assign-select:disabled{cursor:not-allowed;opacity:.5}.game-mgmt-edit-form{align-items:center;background:var(--color-link-hover-bg);border-radius:6px;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem;padding:.6rem .4rem}.game-mgmt-edit-form input,.game-mgmt-edit-form select{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:4px;color:var(--color-text);font-size:.85rem;padding:.3rem .5rem}.game-mgmt-edit-form label{color:var(--color-text-secondary);font-size:.75rem;font-weight:600}.game-mgmt-edit-form-btns{display:flex;gap:.3rem}.game-mgmt-edit-form-btns button{border:none;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:600;padding:.3rem .6rem}.game-mgmt-save-btn{background:var(--color-brand);color:#fff}.game-mgmt-cancel-btn{background:var(--color-section-bg);border:1px solid var(--color-border)!important;color:var(--color-text-secondary)}.game-mgmt-row-edit-btn{background:none;border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-secondary);cursor:pointer;font-size:.7rem;font-weight:500;padding:.15rem .4rem;transition:all .15s}.game-mgmt-row-edit-btn:hover{border-color:var(--color-brand);color:var(--color-brand)}.game-mgmt-forfeit-select{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:4px;color:var(--color-text);font-size:.8rem;padding:.2rem .3rem}.game-mgmt-postpone-fields{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem}.game-mgmt-postpone-fields input{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:4px;color:var(--color-text);font-size:.8rem;padding:.2rem .4rem}.game-mgmt-bulk-footer{align-items:center;background:var(--color-card);border-radius:0 0 12px 12px;border-top:2px solid var(--color-brand);bottom:0;box-shadow:0 -2px 10px var(--color-shadow);display:flex;justify-content:space-between;padding:.75rem 1.5rem;position:sticky;z-index:10}.game-mgmt-bulk-footer button{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;padding:.45rem 1rem}.game-mgmt-bulk-save-btn{background:var(--color-brand);color:#fff}.game-mgmt-bulk-save-btn:disabled{cursor:not-allowed;opacity:.5}.game-mgmt-bulk-cancel-btn{background:var(--color-section-bg);border:1px solid var(--color-border)!important;color:var(--color-text-secondary)}.game-mgmt-fairness-warning{align-items:center;background:var(--color-badge-draft-bg);border-radius:8px;color:var(--color-badge-draft-text);display:flex;font-size:.85rem;font-weight:500;justify-content:space-between;margin-bottom:1rem;padding:.6rem 1rem}.game-mgmt-fairness-dismiss{background:none;border:none;color:var(--color-badge-draft-text);cursor:pointer;font-size:1rem;padding:0 .2rem}.game-mgmt-ref-links-panel{background:var(--color-card);border:1px solid var(--color-brand);border-radius:8px;margin-bottom:1rem;padding:1rem}.game-mgmt-ref-link-row{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:.5rem;justify-content:space-between;padding:.4rem 0}.game-mgmt-ref-link-row:last-child{border-bottom:none}.game-mgmt-ref-link-info{color:var(--color-text);font-size:.85rem;font-weight:600}.game-mgmt-ref-link-url{flex:1 1;font-family:monospace;margin:0 .5rem;word-break:break-all}.game-mgmt-copy-btn,.game-mgmt-ref-link-url{color:var(--color-text-secondary);font-size:.75rem}.game-mgmt-copy-btn{background:none;border:1px solid var(--color-border);border-radius:4px;cursor:pointer;padding:.2rem .5rem;white-space:nowrap}.game-mgmt-copy-btn:hover{border-color:var(--color-brand);color:var(--color-brand)}.game-mgmt-toast{border-radius:8px;bottom:2rem;box-shadow:0 4px 12px #00000026;color:#fff;font-size:.85rem;font-weight:500;left:50%;padding:.6rem 1.2rem;position:fixed;transform:translateX(-50%);z-index:1000}.game-mgmt-loading{color:var(--color-text-secondary);font-size:1rem}.game-mgmt-error,.game-mgmt-loading{padding:4rem 2rem;text-align:center}.game-mgmt-error h2{color:var(--color-danger);margin-bottom:.5rem}.game-mgmt-error p{color:var(--color-text-secondary);margin-bottom:1.5rem}.game-mgmt-empty{color:var(--color-text-secondary);font-size:.95rem;padding:2rem;text-align:center}.game-mgmt-no-tie-label{color:var(--color-danger);font-size:.65rem;font-weight:600}@media (max-width:768px){.game-mgmt-page{padding:1rem}.game-mgmt-header{padding:1rem 1.25rem}.game-mgmt-title{font-size:1.4rem}.game-mgmt-game-row{grid-template-columns:60px 1fr auto}.game-mgmt-assign-select{font-size:.75rem;max-width:100px}.game-mgmt-col-referee,.game-mgmt-col-venue{display:none}.game-mgmt-filter-bar{gap:.5rem}.game-mgmt-stats-row{flex-wrap:wrap}.game-mgmt-stat-card{min-width:80px}.game-mgmt-bulk-bar{align-items:stretch;flex-direction:column;gap:.5rem}}@media (max-width:480px){.game-mgmt-top-row{align-items:flex-start;flex-direction:column}.game-mgmt-game-row{gap:.25rem;grid-template-columns:1fr}.game-mgmt-col-referee,.game-mgmt-col-venue{display:flex}.game-mgmt-filter-bar{flex-direction:column}.game-mgmt-action-bar{gap:.35rem}.game-mgmt-action-btn{font-size:.75rem;padding:.35rem .6rem}}.reg-builder-container{margin:0 auto;max-width:800px;padding:24px 20px 60px}.reg-builder-loading{color:var(--color-text-secondary);padding:60px;text-align:center}.reg-builder-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.reg-builder-back-btn{background:none;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);cursor:pointer;font-size:.9rem;padding:6px 14px;white-space:nowrap}.reg-builder-back-btn:hover{background:var(--color-bg-secondary)}.reg-builder-header-title{flex:1 1}.reg-builder-header-title h2{color:var(--color-text);font-size:1.5rem;margin:0}.reg-builder-league-name{color:var(--color-text-secondary);font-size:.875rem}.reg-builder-empty{background:var(--color-card);border:1px dashed var(--color-border);border-radius:12px;padding:60px 24px;text-align:center}.reg-builder-empty-icon{font-size:3rem;margin-bottom:12px}.reg-builder-empty h3{color:var(--color-text);font-size:1.2rem;margin:0 0 8px}.reg-builder-empty p{color:var(--color-text-secondary);margin:0 auto 24px;max-width:400px}.reg-builder-status-bar{align-items:center;background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px;padding:12px 16px}.reg-builder-status-info{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.reg-builder-status-actions{display:flex;gap:8px}.reg-builder-share-bar{align-items:center;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;display:flex;flex-wrap:wrap;font-size:.85rem;gap:10px;margin-bottom:16px;padding:10px 14px}.reg-builder-share-label{color:var(--color-text-secondary);white-space:nowrap}.reg-builder-share-link{color:var(--color-text);flex:1 1;font-family:monospace;font-size:.8rem;word-break:break-all}.reg-builder-btn-copy{background:none;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);cursor:pointer;font-size:.8rem;padding:4px 12px;white-space:nowrap}.reg-builder-btn-copy:hover{background:var(--color-bg-secondary)}.reg-builder-tabs{border-bottom:2px solid var(--color-border);display:flex;gap:4px;margin-bottom:24px}.reg-builder-tab{background:none;border:none;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;color:var(--color-text-secondary);cursor:pointer;font-size:.9rem;margin-bottom:-2px;padding:10px 18px;transition:color .15s}.reg-builder-tab:hover{background:var(--color-bg-secondary);color:var(--color-text)}.reg-builder-tab.active{border-bottom-color:var(--color-brand);color:var(--color-brand);font-weight:600}.reg-builder-tab-content{min-height:300px}.reg-builder-section{background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;margin-bottom:16px;padding:18px 20px}.reg-builder-section-title{color:var(--color-text);font-size:1rem;font-weight:600;margin:0 0 14px}.reg-builder-section-actions{display:flex;justify-content:flex-end;margin-top:8px}.reg-builder-form-row{align-items:center;display:flex;gap:12px;margin-bottom:12px}.reg-builder-form-row label{color:var(--color-text-secondary);font-size:.875rem;font-weight:500;min-width:160px}.reg-builder-form-row input,.reg-builder-form-row select{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:6px;color:var(--color-text);flex:1 1;font-size:.9rem;padding:8px 10px}.reg-builder-form-row input:focus,.reg-builder-form-row select:focus{border-color:var(--color-brand);outline:none}.reg-builder-mode-toggle{display:flex;gap:8px;margin-bottom:10px}.reg-builder-mode-btn{background:var(--color-card);border:2px solid var(--color-border);border-radius:8px;color:var(--color-text);cursor:pointer;flex:1 1;font-size:.9rem;padding:10px 16px;transition:border-color .15s,background .15s}.reg-builder-mode-btn.active{background:var(--color-bg-secondary);border-color:var(--color-brand);color:var(--color-brand);font-weight:600}.reg-builder-mode-btn:hover:not(.active){border-color:var(--color-text-secondary)}.reg-builder-payment-options{border-top:1px solid var(--color-border);margin-top:14px;padding-top:14px}.reg-builder-radio-group{display:flex;flex-wrap:wrap;gap:16px}.reg-builder-radio-label{font-size:.875rem;gap:6px}.reg-builder-radio-label,.reg-builder-toggle-row{align-items:center;color:var(--color-text);cursor:pointer;display:flex}.reg-builder-toggle-row{font-size:.9rem;justify-content:space-between;padding:6px 0}.reg-builder-toggle-switch{display:inline-block;flex-shrink:0;height:22px;position:relative;width:40px}.reg-builder-toggle-switch input{height:0;opacity:0;width:0}.reg-builder-toggle-slider{background:var(--color-input-border);border-radius:22px;cursor:pointer;inset:0;position:absolute;transition:background .2s}.reg-builder-toggle-slider:before{background:#fff;border-radius:50%;content:"";height:16px;left:3px;position:absolute;top:3px;transition:transform .2s;width:16px}.reg-builder-toggle-switch input:checked+.reg-builder-toggle-slider{background:var(--color-brand)}.reg-builder-toggle-switch input:checked+.reg-builder-toggle-slider:before{transform:translateX(18px)}.reg-builder-hint{color:var(--color-text-secondary);font-size:.8rem;margin:4px 0 0}.reg-builder-default-fields{margin-bottom:16px}.reg-builder-custom-fields{margin-top:8px}.reg-builder-fields-subheader{color:var(--color-text-secondary);font-size:.85rem;font-weight:600;letter-spacing:.05em;margin:0 0 8px;text-transform:uppercase}.reg-builder-field-row{align-items:center;background:var(--color-card);border:1px solid var(--color-border);border-radius:8px;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:6px;padding:10px 14px}.reg-builder-field-row-default{opacity:.6}.reg-builder-field-label{color:var(--color-text);flex:1 1;font-size:.9rem;font-weight:500;min-width:80px}.reg-builder-field-type{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;color:var(--color-text-secondary);font-size:.78rem;padding:2px 8px;white-space:nowrap}.reg-builder-badge-required{background:#fee2e2;color:#dc2626;font-weight:600}.reg-builder-badge-required,.reg-builder-default-tag{border-radius:10px;font-size:.72rem;padding:2px 8px;white-space:nowrap}.reg-builder-default-tag{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.reg-builder-field-actions{display:flex;gap:6px;margin-left:auto}.reg-builder-field-reorder{display:flex;flex-direction:column;gap:2px}.reg-builder-field-editor{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:10px;margin-bottom:8px;padding:16px 18px}.reg-builder-field-editor-actions{display:flex;gap:8px;margin-top:14px}.reg-builder-options-row{align-items:flex-start}.reg-builder-options-list{display:flex;flex:1 1;flex-direction:column;gap:6px}.reg-builder-option-item{align-items:center;background:var(--color-card);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);display:flex;font-size:.875rem;justify-content:space-between;padding:5px 10px}.reg-builder-option-item button{background:none;border:none;color:#dc2626;cursor:pointer;font-size:1rem;line-height:1;padding:0 4px}.reg-builder-option-add{display:flex;gap:6px}.reg-builder-option-add input{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:6px;color:var(--color-text);flex:1 1;font-size:.875rem;padding:6px 10px}.reg-builder-option-add button{background:var(--color-card);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);cursor:pointer;font-size:.875rem;padding:6px 14px}.reg-builder-option-add button:disabled{cursor:default;opacity:.5}.reg-builder-preview-form{background:var(--color-card);border:1px solid var(--color-border);border-radius:12px;max-width:500px;padding:24px}.reg-builder-preview-title{color:var(--color-text);font-size:1.1rem;margin:0 0 20px}.reg-builder-preview-field{margin-bottom:16px}.reg-builder-preview-label{color:var(--color-text);display:block;font-size:.875rem;font-weight:500;margin-bottom:6px}.reg-builder-preview-field input,.reg-builder-preview-field select{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:6px;box-sizing:border-box;color:var(--color-text);cursor:not-allowed;font-size:.9rem;opacity:.7;padding:8px 10px;width:100%}.reg-builder-preview-waiver{color:var(--color-text-secondary);padding:12px}.reg-builder-preview-payment,.reg-builder-preview-waiver{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:6px;font-size:.875rem}.reg-builder-preview-payment{color:var(--color-text);padding:10px 12px}.reg-builder-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:9px 20px;transition:opacity .15s}.reg-builder-btn-primary:hover:not(:disabled){opacity:.9}.reg-builder-btn-primary:disabled{cursor:default;opacity:.5}.reg-builder-btn-secondary{background:var(--color-card);border:1px solid var(--color-border);border-radius:7px;color:var(--color-text);cursor:pointer;font-size:.875rem;padding:8px 18px;transition:background .15s}.reg-builder-btn-secondary:hover:not(:disabled){background:var(--color-bg-secondary)}.reg-builder-btn-secondary:disabled{cursor:default;opacity:.5}.reg-builder-btn-success{background:#16a34a;border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:8px 18px;transition:opacity .15s}.reg-builder-btn-success:hover:not(:disabled){opacity:.9}.reg-builder-btn-success:disabled{cursor:default;opacity:.5}.reg-builder-btn-danger{background:none;border:1px solid #dc2626;border-radius:7px;color:#dc2626;cursor:pointer;font-size:.875rem;padding:8px 18px;transition:background .15s,color .15s}.reg-builder-btn-danger:hover:not(:disabled){background:#dc2626;color:#fff}.reg-builder-btn-danger:disabled{cursor:default;opacity:.5}.reg-builder-btn-icon{align-items:center;background:none;border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:.65rem;height:22px;justify-content:center;line-height:1;padding:0;width:22px}.reg-builder-btn-icon:hover:not(:disabled){background:var(--color-bg-secondary);color:var(--color-text)}.reg-builder-btn-icon:disabled{cursor:default;opacity:.3}@media (max-width:600px){.reg-builder-form-row{align-items:flex-start;flex-direction:column}.reg-builder-form-row label{min-width:0;min-width:auto}.reg-builder-form-row input,.reg-builder-form-row select{width:100%}.reg-builder-mode-toggle{flex-direction:column}.reg-builder-share-bar,.reg-builder-status-bar{align-items:flex-start;flex-direction:column}}.roster-container{margin:0 auto;max-width:900px;padding:24px 16px 48px}.roster-loading{color:var(--color-text-secondary);font-size:1rem;padding:60px 20px;text-align:center}.roster-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.roster-back-btn{background:none;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-secondary);cursor:pointer;font-size:.875rem;padding:6px 12px;transition:background .15s;white-space:nowrap}.roster-back-btn:hover{background:var(--color-bg-secondary)}.roster-header-title{align-items:baseline;display:flex;flex:1 1;gap:10px;min-width:0}.roster-header-title h2{color:var(--color-text);font-size:1.5rem;margin:0;white-space:nowrap}.roster-league-name{color:var(--color-text-secondary);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-stats-bar{background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding:14px 16px}.roster-stat{align-items:center;display:flex;flex:1 1;flex-direction:column;min-width:72px}.roster-stat-value{color:var(--color-text);font-size:1.4rem;font-weight:700;line-height:1.2}.roster-stat-label{color:var(--color-text-secondary);font-size:.72rem;letter-spacing:.04em;margin-top:2px;text-align:center;text-transform:uppercase}.roster-form-status-badge{border-radius:12px;display:inline-block;font-size:.78rem;font-weight:600;padding:3px 10px}.roster-form-status-badge.draft{background:#f3f4f6;color:#6b7280}.roster-form-status-badge.open{background:#dcfce7;color:#16a34a}.roster-form-status-badge.closed{background:#fee2e2;color:#dc2626}.roster-filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.roster-search-input{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:6px;color:var(--color-text);flex:1 1;font-size:.9rem;min-width:180px;padding:8px 12px}.roster-search-input::placeholder{color:var(--color-text-secondary)}.roster-search-input:focus{border-color:var(--color-brand);outline:none}.roster-team-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;margin-bottom:14px;overflow:hidden}.roster-unassigned-card{border-style:dashed;opacity:.9}.roster-team-header{align-items:center;background:var(--color-table-header);border-bottom:1px solid var(--color-border);display:flex;gap:8px;padding:12px 16px}.roster-team-name{color:var(--color-text);flex:1 1;font-size:.95rem;font-weight:600}.roster-unassigned-label{color:var(--color-text-secondary);font-style:italic}.roster-group-badge{background:var(--color-badge-bg);border-radius:10px;color:var(--color-badge-text);font-size:.72rem;font-weight:500;padding:2px 8px}.roster-player-count{color:var(--color-text-secondary);font-size:.78rem;white-space:nowrap}.roster-empty-team{color:var(--color-text-secondary);font-size:.875rem;font-style:italic;padding:16px}.roster-players-list{display:flex;flex-direction:column}.roster-player-row{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:12px;padding:10px 16px;transition:background .1s}.roster-player-row:last-child{border-bottom:none}.roster-player-row:hover{background:var(--color-bg-secondary)}.roster-player-info{flex:1 1;min-width:0}.roster-player-name{align-items:center;color:var(--color-text);display:flex;flex-wrap:wrap;font-size:.9rem;font-weight:500;gap:6px}.roster-player-contact{color:var(--color-text-secondary);display:flex;flex-wrap:wrap;font-size:.8rem;gap:12px;margin-top:2px}.roster-player-phone:before{content:"·";margin-right:4px}.roster-role-badge{border-radius:10px;display:inline-block;font-size:.7rem;font-weight:600;padding:1px 7px}.roster-role-badge.captain{background:#ede9fe;color:#6d28d9}.roster-role-badge.player{background:var(--color-badge-bg);color:var(--color-badge-text)}.roster-payment-badge{border-radius:10px;display:inline-block;font-size:.7rem;font-weight:600;padding:1px 7px}.roster-payment-badge.paid{background:#dcfce7;color:#16a34a}.roster-payment-badge.pending{background:#fef3c7;color:#b45309}.roster-payment-badge.refunded{background:#e0e7ff;color:#3730a3}.roster-player-actions{align-items:center;display:flex;flex-shrink:0;gap:6px}.roster-move-controls{align-items:center;display:flex;gap:5px}.roster-select-sm{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:5px;color:var(--color-text);font-size:.8rem;max-width:140px;padding:4px 6px}.roster-btn-xs-danger,.roster-btn-xs-primary,.roster-btn-xs-secondary{border:1px solid #0000;border-radius:5px;cursor:pointer;font-size:.78rem;font-weight:500;padding:4px 10px;white-space:nowrap}.roster-btn-xs-primary{background:var(--color-brand);border-color:var(--color-brand);color:#fff}.roster-btn-xs-primary:disabled{cursor:not-allowed;opacity:.6}.roster-btn-xs-secondary{background:var(--color-bg-secondary);border-color:var(--color-border);color:var(--color-text)}.roster-btn-xs-secondary:hover{background:var(--color-card-hover)}.roster-btn-xs-danger{background:#0000;border-color:#dc2626;color:#dc2626}.roster-btn-xs-danger:hover{background:#fee2e2}.roster-btn-xs-danger:disabled{cursor:not-allowed;opacity:.5}.roster-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;white-space:nowrap}.roster-btn-primary:hover{opacity:.9}.roster-btn-secondary{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:7px;color:var(--color-text);cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px}.roster-btn-secondary:hover{background:var(--color-card-hover)}.roster-btn-clear{background:none;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-secondary);cursor:pointer;font-size:.875rem;padding:8px 12px}.roster-btn-clear:hover{background:var(--color-bg-secondary)}.roster-select{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:6px;color:var(--color-text);font-size:.9rem;min-width:140px;padding:8px 10px}.roster-empty-state{color:var(--color-text-secondary);padding:60px 20px;text-align:center}.roster-empty-icon{font-size:2.5rem;margin-bottom:12px}.roster-empty-state h3{color:var(--color-text);font-size:1.15rem;margin:0 0 8px}.roster-empty-state p{font-size:.9rem;margin:0 auto 20px;max-width:360px}.roster-no-results{color:var(--color-text-secondary);font-size:.9rem;font-style:italic;padding:30px;text-align:center}.roster-modal-overlay{align-items:center;background:var(--color-modal-overlay);display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.roster-modal{background:var(--color-card);border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:440px;overflow:hidden;width:100%}.roster-modal-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:16px 20px}.roster-modal-header h3{color:var(--color-text);font-size:1.05rem;margin:0}.roster-modal-close{background:none;border:none;border-radius:4px;color:var(--color-text-secondary);cursor:pointer;font-size:1rem;padding:4px 8px}.roster-modal-close:hover{background:var(--color-bg-secondary)}.roster-modal-body{display:flex;flex-direction:column;gap:14px;padding:20px}.roster-modal-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:4px}.roster-label{color:var(--color-text);display:flex;flex-direction:column;font-size:.875rem;font-weight:500;gap:5px}.roster-required{color:#dc2626}.roster-input{background:var(--color-input-bg);border:1px solid var(--color-input-border);border-radius:6px;color:var(--color-text);font-size:.9rem;padding:8px 11px}.roster-input:focus{border-color:var(--color-brand);outline:none}.roster-error-msg{background:#fee2e2;border-radius:6px;color:#dc2626;font-size:.85rem;padding:8px 12px}@media (max-width:600px){.roster-container{padding:16px 12px 40px}.roster-header-title h2{font-size:1.25rem}.roster-stats-bar{gap:6px;padding:10px 12px}.roster-stat-value{font-size:1.15rem}.roster-player-row{align-items:flex-start;flex-direction:column;gap:8px}.roster-player-actions{width:100%}.roster-move-controls{flex-wrap:wrap}.roster-select-sm{max-width:100%;width:100%}.roster-filter-bar{flex-direction:column}.roster-search-input,.roster-select{min-width:0;width:100%}}.lwp-page{margin:0 auto;max-width:860px;padding:24px 16px 80px}.lwp-loading{color:#6b7280;padding:48px;text-align:center}.lwp-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:28px}.lwp-back-btn{background:none;border:none;color:#2563eb;cursor:pointer;font-size:.9rem;padding:0;white-space:nowrap}.lwp-back-btn:hover{text-decoration:underline}.lwp-header-title{display:flex;flex:1 1;flex-direction:column}.lwp-page-title{color:#111827;color:var(--color-text,#111827);font-size:1.5rem;font-weight:700;margin:0}.lwp-league-name{color:#6b7280;font-size:.85rem;margin-top:2px}.lwp-view-btn{background:#16a34a;border-radius:6px;color:#fff;display:inline-block;font-size:.85rem;font-weight:600;padding:8px 16px;text-decoration:none;transition:background .15s;white-space:nowrap}.lwp-view-btn:hover{background:#15803d}.lwp-section{background:#fff;background:var(--color-card,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:10px;margin-bottom:20px;padding:20px 24px}.lwp-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.lwp-section-title{color:#111827;color:var(--color-text,#111827);font-size:1rem;font-weight:700;margin:0 0 16px}.lwp-field,.lwp-field-row{margin-bottom:14px}.lwp-field-row{align-items:flex-start;display:flex;gap:12px}.lwp-label{color:#374151;color:var(--color-text,#374151);display:block;font-size:.8rem;font-weight:600;margin-bottom:5px}.lwp-optional{color:#9ca3af;font-weight:400}.lwp-hint{color:#6b7280;font-size:.75rem;margin-top:4px}.lwp-input{background:#fff;background:var(--color-input-bg,#fff);border:1px solid #d1d5db;border:1px solid var(--color-border,#d1d5db);border-radius:6px;box-sizing:border-box;color:#111827;color:var(--color-text,#111827);font-size:.9rem;padding:8px 10px;width:100%}.lwp-input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26;outline:none}.lwp-textarea{background:#fff;background:var(--color-input-bg,#fff);border:1px solid #d1d5db;border:1px solid var(--color-border,#d1d5db);border-radius:6px;box-sizing:border-box;color:#111827;color:var(--color-text,#111827);font-family:inherit;font-size:.9rem;padding:8px 10px;resize:vertical;width:100%}.lwp-textarea:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26;outline:none}.lwp-select{background:#fff;background:var(--color-input-bg,#fff);border:1px solid #d1d5db;border:1px solid var(--color-border,#d1d5db);border-radius:6px;color:#111827;color:var(--color-text,#111827);font-size:.9rem;padding:8px 10px;width:100%}.lwp-checkbox-field,.lwp-checkbox-label{align-items:center;display:flex}.lwp-checkbox-label{color:#374151;color:var(--color-text,#374151);cursor:pointer;font-size:.85rem;gap:6px;-webkit-user-select:none;user-select:none}.lwp-btn-primary{background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 16px;transition:background .15s}.lwp-btn-primary:hover:not(:disabled){background:#1d4ed8}.lwp-btn-primary:disabled{cursor:not-allowed;opacity:.6}.lwp-btn-secondary{background:#fff;background:var(--color-card,#fff);border:1px solid #d1d5db;border:1px solid var(--color-border,#d1d5db);border-radius:6px;color:#374151;color:var(--color-text,#374151);cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 16px;transition:background .15s}.lwp-btn-secondary:hover:not(:disabled){background:#f3f4f6;background:var(--color-hover,#f3f4f6)}.lwp-btn-secondary:disabled{cursor:not-allowed;opacity:.6}.lwp-btn-ghost{border:1px solid #d1d5db;border:1px solid var(--color-border,#d1d5db);border-radius:5px;color:#374151;color:var(--color-text,#374151);font-size:.8rem;padding:5px 10px}.lwp-btn-ghost:hover{background:#f3f4f6;background:var(--color-hover,#f3f4f6)}.lwp-btn-danger-ghost{background:none;border:1px solid #fca5a5;border-radius:5px;color:#dc2626;cursor:pointer;font-size:.8rem;padding:5px 10px}.lwp-btn-danger-ghost:hover{background:#fef2f2}.lwp-btn-danger{font-weight:600;padding:8px 16px}.lwp-save-btn{margin-top:12px}.lwp-enable-row{align-items:center;background:#f9fafb;background:var(--color-hover,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:8px;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.lwp-toggle{background:#e5e7eb;border:2px solid #d1d5db;border-radius:20px;color:#6b7280;cursor:pointer;font-size:.85rem;font-weight:700;min-width:56px;padding:6px 18px;transition:all .15s}.lwp-toggle.lwp-toggle-on{background:#16a34a;border-color:#16a34a;color:#fff}.lwp-toggle:disabled{cursor:not-allowed;opacity:.6}.lwp-subdomain-current{align-items:center;background:#f9fafb;background:var(--color-surface,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:6px;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px;padding:8px 12px}.lwp-subdomain-live{align-items:center;display:flex;font-size:.9rem;font-weight:500;gap:8px}.lwp-subdomain-dot{background:#16a34a;border-radius:50%;flex-shrink:0;height:8px;width:8px}.lwp-subdomain-live a{color:#2563eb;text-decoration:none}.lwp-subdomain-live a:hover{text-decoration:underline}.lwp-subdomain-release-btn{color:#6b7280;flex-shrink:0;font-size:.8rem}.lwp-subdomain-release-btn:hover{color:#dc2626}.lwp-subdomain-release-confirm{background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;color:#7f1d1d;font-size:.875rem;margin-bottom:10px;padding:10px 14px}.lwp-subdomain-release-actions{display:flex;gap:8px;margin-top:10px}.lwp-subdomain-row{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.lwp-subdomain-input{flex:1 1;min-width:120px}.lwp-subdomain-suffix{color:#6b7280;font-size:.85rem;white-space:nowrap}.lwp-subdomain-avail{font-size:.8rem;white-space:nowrap}.lwp-subdomain-checking{color:#6b7280}.lwp-subdomain-avail-ok{color:#16a34a;font-weight:500}.lwp-subdomain-avail-no{color:#dc2626;font-weight:500}.lwp-subdomain-ok{color:#16a34a;font-size:.8rem;margin-top:4px}.lwp-subdomain-err{color:#dc2626;font-size:.8rem;margin-top:4px}.lwp-btn-ghost{background:none;border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:6px;color:#6b7280;color:var(--color-text-muted,#6b7280);cursor:pointer;font-size:.85rem;padding:6px 12px}.lwp-btn-ghost:hover:not(:disabled){border-color:#9ca3af;color:#111827;color:var(--color-text,#111827)}.lwp-btn-ghost:disabled{cursor:not-allowed;opacity:.5}.lwp-btn-danger{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:6px 14px}.lwp-btn-danger:hover:not(:disabled){background:#b91c1c}.lwp-btn-danger:disabled{cursor:not-allowed;opacity:.6}.lwp-theme-layout{align-items:flex-start;display:flex;flex-wrap:wrap;gap:24px}.lwp-theme-controls,.lwp-theme-preview-col{flex:1 1;min-width:260px}.lwp-color-field{margin-bottom:12px}.lwp-color-row{align-items:center;display:flex;gap:8px}.lwp-color-swatch{border:1px solid #d1d5db;border:1px solid var(--color-border,#d1d5db);border-radius:6px;cursor:pointer;flex-shrink:0;height:34px;padding:2px;width:36px}.lwp-color-hex{flex:1 1}.lwp-preview-wrap{border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:10px;overflow:hidden}.lwp-sections-list{display:flex;flex-direction:column;gap:6px;margin-bottom:4px}.lwp-section-row{align-items:center;background:#f9fafb;background:var(--color-hover,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:7px;display:flex;gap:10px;padding:10px 12px}.lwp-section-reorder{display:flex;flex-direction:column;gap:2px}.lwp-reorder-btn{background:none;border:1px solid #d1d5db;border:1px solid var(--color-border,#d1d5db);border-radius:3px;color:#6b7280;cursor:pointer;font-size:.65rem;line-height:1.4;padding:0 5px}.lwp-reorder-btn:hover:not(:disabled){background:#e5e7eb;background:var(--color-hover,#e5e7eb)}.lwp-reorder-btn:disabled{cursor:not-allowed;opacity:.3}.lwp-section-name{color:#374151;color:var(--color-text,#374151);flex:1 1;font-size:.9rem;font-weight:500}.lwp-toggle-label{align-items:center;cursor:pointer;display:flex}.lwp-toggle-checkbox{display:none}.lwp-toggle-pill{background:#e5e7eb;border-radius:12px;color:#6b7280;font-size:.75rem;font-weight:700;padding:3px 12px;transition:all .15s;-webkit-user-select:none;user-select:none}.lwp-toggle-pill.on{background:#dbeafe;color:#1d4ed8}.lwp-about-layout{align-items:flex-start;display:flex;flex-wrap:wrap;gap:20px}.lwp-about-textarea{min-height:140px}.lwp-about-preview{flex:1 1;min-width:220px}.lwp-about-preview-body{background:#f9fafb;background:var(--color-hover,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:8px;color:#374151;color:var(--color-text,#374151);font-size:.875rem;line-height:1.5;min-height:80px;padding:12px 16px}.lwp-list{display:flex;flex-direction:column;gap:6px}.lwp-list-row{align-items:center;background:#f9fafb;background:var(--color-hover,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:7px;display:flex;gap:12px;padding:10px 12px}.lwp-list-main{flex:1 1;min-width:0}.lwp-list-title{align-items:center;color:#111827;color:var(--color-text,#111827);display:flex;flex-wrap:wrap;font-size:.9rem;font-weight:600;gap:6px}.lwp-list-sub{color:#6b7280;font-size:.78rem;margin-top:2px}.lwp-list-actions{display:flex;flex-shrink:0;gap:6px}.lwp-empty{color:#9ca3af;font-size:.85rem;padding:12px 0}.lwp-pinned-badge{background:#fef3c7;color:#92400e;padding:2px 7px}.lwp-pinned-badge,.lwp-tier-badge{border-radius:4px;display:inline-block;font-size:.7rem;font-weight:700}.lwp-tier-badge{color:#fff;padding:2px 8px}.lwp-sponsor-logo{border-radius:3px;height:22px;margin-right:2px;max-width:48px;object-fit:contain;vertical-align:middle;width:auto}.lwp-logo-preview{border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:4px;display:block;height:40px;margin-top:8px;max-width:120px;object-fit:contain;padding:2px}.lwp-modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.lwp-modal{background:#fff;background:var(--color-card,#fff);border-radius:12px;box-shadow:0 20px 60px #00000040;max-width:480px;padding:24px;width:100%}.lwp-confirm-modal{max-width:380px}.lwp-modal-title{color:#111827;color:var(--color-text,#111827);font-size:1.05rem;font-weight:700;margin:0 0 16px}.lwp-modal-error{background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;color:#dc2626;font-size:.85rem;margin-bottom:12px;padding:8px 12px}.lwp-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.lwp-confirm-text{color:#374151;color:var(--color-text,#374151);font-size:.9rem;margin:0 0 4px}.lwp-custom-domain-setup{background:#fff;background:var(--color-card,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:8px;display:flex;flex-direction:column;gap:16px;padding:16px}.lwp-custom-domain-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.lwp-custom-domain-name{color:#111827;color:var(--color-text,#111827);font-size:.95rem;font-weight:600}.lwp-custom-domain-badge{border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.02em;padding:2px 8px;text-transform:uppercase}.lwp-badge-pending_verification{background:#fef3c7;color:#92400e}.lwp-badge-active{background:#d1fae5;color:#065f46}.lwp-badge-failed{background:#fee2e2;color:#991b1b}.lwp-dns-instructions{display:flex;flex-direction:column;gap:10px}.lwp-dns-intro{color:#374151;color:var(--color-text,#374151);font-size:.875rem;margin:0}.lwp-dns-table{border:1px solid #e5e7eb;border:1px solid var(--color-border,#e5e7eb);border-radius:6px;font-size:.8rem;overflow:hidden}.lwp-dns-header-row{background:#f9fafb;background:var(--color-hover,#f9fafb);color:#6b7280;color:var(--color-text,#6b7280);font-size:.75rem;font-weight:600;letter-spacing:.04em;padding:6px 10px;text-transform:uppercase}.lwp-dns-header-row,.lwp-dns-row{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-border,#e5e7eb);display:grid;grid-template-columns:56px 1fr 1fr}.lwp-dns-row{grid-gap:8px;align-items:start;gap:8px;padding:8px 10px}.lwp-dns-row:last-child{border-bottom:none}.lwp-dns-type-badge{align-self:start;background:#dbeafe;border-radius:4px;color:#1d4ed8;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.03em;padding:2px 6px;width:fit-content}.lwp-mono{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.78rem;word-break:break-all}.lwp-dns-cell{color:#374151;color:var(--color-text,#374151);line-height:1.4}.lwp-dns-note{margin-top:2px}.lwp-custom-domain-actions{display:flex;flex-wrap:wrap;gap:8px}.pub-reg-page{background:#f5f5f5;background:var(--color-bg-secondary,#f5f5f5);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.pub-reg-branding-bar{align-items:center;background:#00000026;display:flex;justify-content:space-between;padding:10px 20px}.pub-reg-brand-logo{align-items:center;display:flex;text-decoration:none}.pub-reg-brand-cta{background:#fff3;border-radius:20px;color:#fff;font-size:.8rem;font-weight:500;padding:6px 14px;text-decoration:none;transition:background .15s;white-space:nowrap}.pub-reg-brand-cta:hover{background:#ffffff59}.pub-reg-league-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:32px 20px 28px;text-align:center}.pub-reg-league-name{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0 0 8px}.pub-reg-league-meta{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:6px}.pub-reg-sport-badge{background:#fff3;border-radius:12px;font-size:.8rem;font-weight:500;padding:2px 10px}.pub-reg-season{font-size:.85rem;opacity:.85}.pub-reg-header-sub{font-size:.9rem;font-weight:400;margin:8px 0 0;opacity:.8}.pub-reg-content{margin:0 auto;max-width:580px;padding:28px 20px 60px}.pub-reg-loading{color:#666;color:var(--color-text-secondary,#666);font-size:1rem;padding:60px 20px;text-align:center}.pub-reg-state-card{background:#fff;background:var(--color-card,#fff);border-radius:12px;box-shadow:0 2px 8px #00000014;margin-top:12px;padding:40px 32px;text-align:center}.pub-reg-state-icon{font-size:2.5rem;margin-bottom:16px}.pub-reg-state-title{color:#1a1a2e;color:var(--color-text,#1a1a2e);font-size:1.35rem;font-weight:700;margin:0 0 12px}.pub-reg-state-msg{color:#666;color:var(--color-text-secondary,#666);font-size:.95rem;line-height:1.6;margin:0 0 20px}.pub-reg-state-link{color:#667eea;display:inline-block;font-size:.95rem;font-weight:600;text-decoration:none}.pub-reg-state-link:hover{text-decoration:underline}.pub-reg-success-card{border-top:4px solid #38c172}.pub-reg-success-icon{align-items:center;background:#38c172;border-radius:50%;color:#fff;display:flex;font-size:1.6rem;font-weight:700;height:56px;justify-content:center;margin:0 auto 16px;width:56px}.pub-reg-success-detail{color:#555;color:var(--color-text-secondary,#555);font-size:.95rem;margin:12px 0}.pub-reg-section{background:#fff;background:var(--color-card,#fff);border-radius:10px;box-shadow:0 1px 4px #00000012;margin-bottom:16px;padding:20px 20px 8px}.pub-reg-section-title{color:#888;color:var(--color-text-secondary,#888);font-size:.85rem;font-weight:700;letter-spacing:.06em;margin:0 0 16px;text-transform:uppercase}.pub-reg-field-row{margin-bottom:16px}.pub-reg-label{color:#1a1a2e;color:var(--color-text,#1a1a2e);display:block;font-size:.9rem;font-weight:600;margin-bottom:6px}.pub-reg-required{color:#e53e3e}.pub-reg-input{appearance:none;-webkit-appearance:none;background:#fff;background:var(--color-input-bg,#fff);border:1px solid #ddd;border:1px solid var(--color-input-border,#ddd);border-radius:6px;box-sizing:border-box;color:#1a1a2e;color:var(--color-text,#1a1a2e);font-size:.95rem;padding:10px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.pub-reg-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea26;outline:none}select.pub-reg-input{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.pub-reg-checkbox-label{align-items:flex-start;color:#1a1a2e;color:var(--color-text,#1a1a2e);cursor:pointer;display:flex;font-size:.9rem;gap:10px;line-height:1.4}.pub-reg-checkbox-label input[type=checkbox]{accent-color:#667eea;flex-shrink:0;height:16px;margin-top:2px;width:16px}.pub-reg-waiver{background:#f9f9f9;background:var(--color-bg-secondary,#f9f9f9);border:1px solid #e0e0e0;border:1px solid var(--color-border,#e0e0e0);border-radius:8px;padding:14px}.pub-reg-waiver-text{color:#555;color:var(--color-text-secondary,#555);font-size:.85rem;line-height:1.6;margin-bottom:12px;white-space:pre-wrap}.pub-reg-field-note{color:#888;color:var(--color-text-secondary,#888);font-size:.85rem;font-style:italic;margin:4px 0 0}.pub-reg-role-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.pub-reg-role-card{align-items:center;background:#f9f9f9;background:var(--color-bg-secondary,#f9f9f9);border:2px solid #e0e0e0;border:2px solid var(--color-border,#e0e0e0);border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:16px 12px;text-align:center;transition:border-color .15s,background .15s}.pub-reg-role-card:hover{background:#667eea0d;border-color:#667eea}.pub-reg-role-card-selected{background:#667eea14;border-color:#667eea}.pub-reg-role-icon{font-size:1.5rem;line-height:1}.pub-reg-role-title{color:#1a1a2e;color:var(--color-text,#1a1a2e);font-size:.9rem;font-weight:700}.pub-reg-role-desc{color:#888;color:var(--color-text-secondary,#888);font-size:.78rem;line-height:1.3}.pub-reg-info-bar{background:#fff;background:var(--color-card,#fff);border-radius:8px;box-shadow:0 1px 4px #00000012;color:#666;color:var(--color-text-secondary,#666);display:flex;flex-wrap:wrap;font-size:.88rem;gap:20px;margin-bottom:16px;padding:10px 14px}.pub-reg-info-bar strong{color:#1a1a2e;color:var(--color-text,#1a1a2e)}.pub-reg-payment-notice{background:#fffbeb;border:1px solid #f6d860;border-radius:8px;color:#7d6608;font-size:.88rem;line-height:1.5;margin-bottom:16px;padding:12px 14px}.pub-reg-payment-paid{background:#f0fdf4;border-color:#86efac;color:#166534}.pub-reg-returning-banner{background:#e6f7ee;border:1px solid #a7f3d0;border-radius:6px;color:#065f46;font-size:.85rem;margin-top:8px;padding:8px 12px}.pub-reg-warning{background:#fff8e6;border:1px solid #f0b429;border-radius:8px;color:#7a4e0a;font-size:.88rem}.pub-reg-error,.pub-reg-warning{margin-bottom:16px;padding:12px 14px}.pub-reg-error{background:#fff5f5;border:1px solid #fed7d7;border-radius:8px;color:#c53030;font-size:.9rem}.pub-reg-submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-bottom:12px;padding:13px 24px;transition:opacity .15s,transform .1s;width:100%}.pub-reg-submit-btn:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.pub-reg-submit-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.pub-reg-footer-note{color:#aaa;color:var(--color-text-secondary,#aaa);font-size:.78rem;line-height:1.5;margin:0;text-align:center}@media (max-width:480px){.pub-reg-league-name{font-size:1.4rem}.pub-reg-league-header{padding:24px 16px 20px}.pub-reg-content{padding:20px 14px 50px}.pub-reg-section{padding:16px 14px 4px}.pub-reg-role-cards{grid-template-columns:1fr}.pub-reg-state-card{padding:28px 20px}.pub-reg-branding-bar{padding:8px 14px}.pub-reg-brand-cta{font-size:.75rem;padding:5px 10px}}.help-page{background:var(--color-bg);color:var(--color-text);min-height:100vh}.help-page-public{display:flex;flex-direction:column;min-height:100vh}.help-nav{box-sizing:border-box;justify-content:space-between;margin:0 auto;max-width:1200px;padding:1rem 2rem;width:100%}.help-nav,.help-nav-logo{align-items:center;display:flex}.help-nav-logo{color:var(--color-text);font-size:1.25rem;font-weight:700;gap:.5rem;text-decoration:none}.help-nav-logo:hover{opacity:.8}.help-nav-actions{align-items:center;display:flex;gap:.75rem}.help-nav-link{border-radius:6px;color:var(--color-brand);font-size:.9rem;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:background .2s}.help-nav-link:hover{background:var(--color-link-hover-bg)}.help-theme-toggle{background:none;border:1px solid var(--color-border);border-radius:6px;cursor:pointer;font-size:1rem;line-height:1;padding:.4rem .6rem}.help-header-bar{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:1rem;margin-bottom:.5rem;margin-left:auto;margin-right:auto;max-width:800px;padding:1rem 0}.help-back-btn{background:none;border:none;border-radius:4px;color:var(--color-brand);cursor:pointer;font-size:1rem;font-weight:500;padding:.25rem .5rem}.help-back-btn:hover{background:var(--color-link-hover-bg)}.help-header-title{color:var(--color-text);font-size:1.5rem;font-weight:700;margin:0}.help-content{flex:1 1;margin:0 auto;max-width:800px;padding:0 1.5rem 3rem}.help-hero{padding:2.5rem 0 2rem;text-align:center}.help-hero-title{color:var(--color-text);font-size:2rem;font-weight:700;margin:0 0 .75rem}.help-hero-subtitle{color:var(--color-text-secondary);font-size:1.1rem;line-height:1.5;margin:0}.help-page:not(.help-page-public) .help-hero{padding-top:1.5rem}.help-sections{display:flex;flex-direction:column;gap:0}.help-accordion{border-bottom:1px solid var(--color-border)}.help-accordion:first-child{border-top:1px solid var(--color-border)}.help-accordion-header{align-items:center;background:none;border:none;color:var(--color-text);cursor:pointer;display:flex;justify-content:space-between;padding:1.1rem .5rem;text-align:left;transition:background .15s;width:100%}.help-accordion-header:hover{background:var(--color-card-hover)}.help-accordion-title{font-size:1.05rem;font-weight:600}.help-accordion-icon{color:var(--color-text-secondary);flex-shrink:0;font-size:1.3rem;font-weight:300;text-align:center;width:1.5rem}.help-accordion-body{color:var(--color-text);font-size:.95rem;line-height:1.7;padding:0 .5rem 1.25rem}.help-accordion-body p{color:var(--color-text);margin:0 0 .75rem}.help-accordion-body p:last-child{margin-bottom:0}.help-accordion-body ol,.help-accordion-body ul{margin:0 0 .75rem;padding-left:1.5rem}.help-accordion-body li{color:var(--color-text);margin-bottom:.4rem}.help-accordion-body strong{font-weight:600}.help-accordion-body h4{color:var(--color-text);font-size:1rem;font-weight:600;margin:1rem 0 .5rem}.help-accordion-body code{background:var(--color-bg-secondary);border-radius:3px;color:var(--color-brand);font-size:.9em;padding:.15rem .4rem}.help-contact{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;margin-top:3rem;padding:2.5rem 1.5rem;text-align:center}.help-contact-title{color:var(--color-text);font-size:1.4rem;font-weight:700;margin:0 0 .5rem}.help-contact-text{color:var(--color-text-secondary);font-size:1rem;line-height:1.5;margin:0 0 1.25rem}.help-faq-link{color:var(--color-brand);font-weight:500;text-decoration:none}.help-faq-link:hover{text-decoration:underline}.help-contact-link{background:var(--color-brand-gradient);border-radius:8px;color:#fff;display:inline-block;font-size:1rem;font-weight:600;padding:.75rem 2rem;text-decoration:none;transition:opacity .2s}.help-contact-link:hover{opacity:.9}.help-footer{background:var(--color-card);border-top:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.9rem;padding:1.5rem;text-align:center}.help-footer p{margin:0}.help-footer-links{margin-bottom:.75rem}.help-footer-link{color:var(--color-brand);font-weight:500;text-decoration:none}.help-footer-link:hover{text-decoration:underline}.help-footer-separator{color:var(--color-border);margin:0 .75rem}@media (max-width:768px){.help-hero-title{font-size:1.6rem}.help-hero-subtitle{font-size:1rem}.help-content{padding:0 1rem 2rem}.help-nav{padding:1rem}}@media (max-width:480px){.help-hero{padding:1.5rem 0 1.25rem}.help-hero-title{font-size:1.35rem}.help-accordion-header{padding:1rem .25rem}.help-accordion-title{font-size:1rem}.help-accordion-body{font-size:.9rem}.help-contact{margin-top:2rem;padding:2rem 1rem}.help-header-bar{padding:.75rem 0}}.faq-page{background:var(--color-bg);color:var(--color-text);display:flex;flex-direction:column;min-height:100vh}.faq-nav{box-sizing:border-box;justify-content:space-between;margin:0 auto;max-width:1200px;padding:1rem 2rem;width:100%}.faq-nav,.faq-nav-logo{align-items:center;display:flex}.faq-nav-logo{color:var(--color-text);font-size:1.25rem;font-weight:700;gap:.5rem;text-decoration:none}.faq-nav-logo:hover{opacity:.8}.faq-nav-actions{align-items:center;display:flex;gap:.75rem}.faq-nav-link{border-radius:6px;color:var(--color-brand);font-size:.9rem;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:background .2s}.faq-nav-link:hover{background:var(--color-link-hover-bg)}.faq-theme-toggle{background:none;border:1px solid var(--color-border);border-radius:6px;cursor:pointer;font-size:1rem;line-height:1;padding:.4rem .6rem}.faq-content{flex:1 1;margin:0 auto;max-width:800px;padding:0 1.5rem 3rem}.faq-hero{padding:2.5rem 0 2rem;text-align:center}.faq-hero-title{color:var(--color-text);font-size:2rem;font-weight:700;margin:0 0 .75rem}.faq-hero-subtitle{color:var(--color-text-secondary);font-size:1.1rem;line-height:1.5;margin:0}.faq-category{margin-bottom:2rem}.faq-category-title{border-bottom:2px solid var(--color-brand);color:var(--color-brand);font-size:1.25rem;font-weight:700;margin:0 0 .75rem;padding-bottom:.5rem}.faq-category-items{display:flex;flex-direction:column}.faq-accordion{border-bottom:1px solid var(--color-border)}.faq-accordion:first-child{border-top:1px solid var(--color-border)}.faq-accordion-header{align-items:center;background:none;border:none;color:var(--color-text);cursor:pointer;display:flex;justify-content:space-between;padding:1.1rem .5rem;text-align:left;transition:background .15s;width:100%}.faq-accordion-header:hover{background:var(--color-card-hover)}.faq-accordion-question{font-size:1.05rem;font-weight:600}.faq-accordion-icon{color:var(--color-text-secondary);flex-shrink:0;font-size:1.3rem;font-weight:300;text-align:center;width:1.5rem}.faq-accordion-body{color:var(--color-text);font-size:.95rem;line-height:1.7;padding:0 .5rem 1.25rem}.faq-accordion-body p{color:var(--color-text);margin:0 0 .75rem}.faq-accordion-body p:last-child{margin-bottom:0}.faq-accordion-body ol,.faq-accordion-body ul{margin:0 0 .75rem;padding-left:1.5rem}.faq-accordion-body li{color:var(--color-text);margin-bottom:.4rem}.faq-accordion-body strong{font-weight:600}.faq-accordion-body a{color:var(--color-brand);font-weight:500;text-decoration:none}.faq-accordion-body a:hover{text-decoration:underline}.faq-bottom{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:12px;margin-top:2rem;padding:2.5rem 1.5rem;text-align:center}.faq-bottom-text{color:var(--color-text-secondary);font-size:1rem;line-height:1.5;margin:0 0 1.25rem}.faq-inline-link{color:var(--color-brand);font-weight:500;text-decoration:none}.faq-inline-link:hover{text-decoration:underline}.faq-contact-link{background:var(--color-brand-gradient);border-radius:8px;color:#fff;display:inline-block;font-size:1rem;font-weight:600;padding:.75rem 2rem;text-decoration:none;transition:opacity .2s}.faq-contact-link:hover{opacity:.9}.faq-footer{background:var(--color-card);border-top:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.9rem;padding:1.5rem;text-align:center}.faq-footer p{margin:0}.faq-footer-links{margin-bottom:.75rem}.faq-footer-link{color:var(--color-brand);font-weight:500;text-decoration:none}.faq-footer-link:hover{text-decoration:underline}.faq-footer-separator{color:var(--color-border);margin:0 .75rem}@media (max-width:768px){.faq-hero-title{font-size:1.6rem}.faq-hero-subtitle{font-size:1rem}.faq-content{padding:0 1rem 2rem}.faq-nav{padding:1rem}}@media (max-width:480px){.faq-hero{padding:1.5rem 0 1.25rem}.faq-hero-title{font-size:1.35rem}.faq-accordion-header{padding:1rem .25rem}.faq-accordion-question{font-size:1rem}.faq-accordion-body{font-size:.9rem}.faq-bottom{margin-top:1.5rem;padding:2rem 1rem}}.terms-page{background:var(--color-bg);color:var(--color-text);display:flex;flex-direction:column;min-height:100vh}.terms-nav{box-sizing:border-box;justify-content:space-between;margin:0 auto;max-width:1200px;padding:1rem 2rem;width:100%}.terms-nav,.terms-nav-logo{align-items:center;display:flex}.terms-nav-logo{color:var(--color-text);font-size:1.25rem;font-weight:700;gap:.5rem;text-decoration:none}.terms-nav-logo:hover{opacity:.8}.terms-nav-actions{align-items:center;display:flex;gap:.75rem}.terms-nav-link{border-radius:6px;color:var(--color-brand);font-size:.9rem;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:background .2s}.terms-nav-link:hover{background:var(--color-link-hover-bg)}.terms-theme-toggle{background:none;border:1px solid var(--color-border);border-radius:6px;cursor:pointer;font-size:1rem;line-height:1;padding:.4rem .6rem}.terms-content{flex:1 1;margin:0 auto;max-width:800px;padding:0 1.5rem 3rem}.terms-hero{padding:2.5rem 0 2rem;text-align:center}.terms-hero-title{color:var(--color-text);font-size:2rem;font-weight:700;margin:0 0 .75rem}.terms-hero-subtitle{font-size:1rem;margin:0}.terms-hero-subtitle,.terms-notice{color:var(--color-text-secondary);font-style:italic}.terms-notice{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-left:4px solid var(--color-brand);border-radius:8px;font-size:.9rem;padding:1rem 1.25rem}.terms-notice,.terms-section{margin-bottom:2rem}.terms-section-title{color:var(--color-text);font-size:1.2rem;font-weight:700;margin:0 0 .75rem}.terms-section-body{color:var(--color-text);font-size:.95rem;line-height:1.7}.terms-section-body p{margin:0 0 .75rem}.terms-section-body p:last-child{margin-bottom:0}.terms-section-body ol,.terms-section-body ul{margin:0 0 .75rem;padding-left:1.5rem}.terms-section-body li{margin-bottom:.4rem}.terms-section-body a{color:var(--color-brand);font-weight:500;text-decoration:none}.terms-section-body a:hover{text-decoration:underline}.terms-footer{background:var(--color-card);border-top:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.9rem;padding:1.5rem;text-align:center}.terms-footer p{margin:0}.terms-footer-links{margin-bottom:.75rem}.terms-footer-link{color:var(--color-brand);font-weight:500;text-decoration:none}.terms-footer-link:hover{text-decoration:underline}.terms-footer-separator{color:var(--color-border);margin:0 .75rem}@media (max-width:768px){.terms-hero-title{font-size:1.6rem}.terms-content{padding:0 1rem 2rem}.terms-nav{padding:1rem}}@media (max-width:480px){.terms-hero{padding:1.5rem 0 1.25rem}.terms-hero-title{font-size:1.35rem}.terms-section-title{font-size:1.1rem}.terms-section-body{font-size:.9rem}}.privacy-page{background:var(--color-bg);color:var(--color-text);display:flex;flex-direction:column;min-height:100vh}.privacy-nav{box-sizing:border-box;justify-content:space-between;margin:0 auto;max-width:1200px;padding:1rem 2rem;width:100%}.privacy-nav,.privacy-nav-logo{align-items:center;display:flex}.privacy-nav-logo{color:var(--color-text);font-size:1.25rem;font-weight:700;gap:.5rem;text-decoration:none}.privacy-nav-logo:hover{opacity:.8}.privacy-nav-actions{align-items:center;display:flex;gap:.75rem}.privacy-nav-link{border-radius:6px;color:var(--color-brand);font-size:.9rem;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:background .2s}.privacy-nav-link:hover{background:var(--color-link-hover-bg)}.privacy-theme-toggle{background:none;border:1px solid var(--color-border);border-radius:6px;cursor:pointer;font-size:1rem;line-height:1;padding:.4rem .6rem}.privacy-content{flex:1 1;margin:0 auto;max-width:800px;padding:0 1.5rem 3rem}.privacy-hero{padding:2.5rem 0 2rem;text-align:center}.privacy-hero-title{color:var(--color-text);font-size:2rem;font-weight:700;margin:0 0 .75rem}.privacy-hero-subtitle{font-size:1rem;margin:0}.privacy-hero-subtitle,.privacy-notice{color:var(--color-text-secondary);font-style:italic}.privacy-notice{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-left:4px solid var(--color-brand);border-radius:8px;font-size:.9rem;padding:1rem 1.25rem}.privacy-notice,.privacy-section{margin-bottom:2rem}.privacy-section-title{color:var(--color-text);font-size:1.2rem;font-weight:700;margin:0 0 .75rem}.privacy-section-body{color:var(--color-text);font-size:.95rem;line-height:1.7}.privacy-section-body p{margin:0 0 .75rem}.privacy-section-body p:last-child{margin-bottom:0}.privacy-section-body ol,.privacy-section-body ul{margin:0 0 .75rem;padding-left:1.5rem}.privacy-section-body li{margin-bottom:.4rem}.privacy-section-body a{color:var(--color-brand);font-weight:500;text-decoration:none}.privacy-section-body a:hover{text-decoration:underline}.privacy-footer{background:var(--color-card);border-top:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.9rem;padding:1.5rem;text-align:center}.privacy-footer p{margin:0}.privacy-footer-links{margin-bottom:.75rem}.privacy-footer-link{color:var(--color-brand);font-weight:500;text-decoration:none}.privacy-footer-link:hover{text-decoration:underline}.privacy-footer-separator{color:var(--color-border);margin:0 .75rem}@media (max-width:768px){.privacy-hero-title{font-size:1.6rem}.privacy-content{padding:0 1rem 2rem}.privacy-nav{padding:1rem}}@media (max-width:480px){.privacy-hero{padding:1.5rem 0 1.25rem}.privacy-hero-title{font-size:1.35rem}.privacy-section-title{font-size:1.1rem}.privacy-section-body{font-size:.9rem}}.blog-list-page{background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;min-height:100vh}.blog-list-nav{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:900px;padding:1.25rem 2rem}.blog-list-logo-link{align-items:center;color:#fff;display:flex;font-size:1.5rem;font-weight:700;gap:.5rem;text-decoration:none}.blog-list-nav-link{border:1px solid #ffffff4d;border-radius:8px;color:#ffffffe6;font-size:.95rem;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease}.blog-list-nav-link:hover{background:#ffffff26}.blog-list-header{color:#fff;padding:2.5rem 2rem 2rem;text-align:center}.blog-list-header h1{font-size:2rem;font-weight:700;margin:0 0 .5rem}.blog-list-header p{font-size:1.1rem;margin:0;opacity:.85}.blog-list-content{margin:0 auto;max-width:900px;padding:0 2rem 4rem}.blog-list-empty,.blog-list-error,.blog-list-loading{color:#ffffffd9;font-size:1.1rem;padding:3rem 0;text-align:center}.blog-list-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr}.blog-list-card{background:#ffffff1f;border:1px solid #fff3;border-radius:12px;color:#fff;display:block;padding:1.75rem;text-decoration:none;transition:background .2s ease,transform .15s ease}.blog-list-card:hover{background:#fff3;transform:translateY(-2px)}.blog-list-card-meta{font-size:.82rem;letter-spacing:.04em;margin-bottom:.5rem;opacity:.7;text-transform:uppercase}.blog-list-card h2{font-size:1.35rem;font-weight:700;line-height:1.3;margin:0 0 .6rem}.blog-list-card-excerpt{font-size:.97rem;line-height:1.55;margin:0 0 1rem;opacity:.85}.blog-list-card-cta{font-size:.9rem;font-weight:600;opacity:.9}.blog-list-footer{color:#ffffffb3;font-size:.85rem;padding:2rem;text-align:center}.blog-list-footer a{color:#ffffffb3;text-decoration:none}.blog-list-footer a:hover{color:#fff}.blog-list-footer-divider{color:#fff6;margin:0 .5rem}.blog-detail-page{background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;min-height:100vh}.blog-detail-nav{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:780px;padding:1.25rem 2rem}.blog-detail-logo-link{align-items:center;color:#fff;display:flex;font-size:1.5rem;font-weight:700;gap:.5rem;text-decoration:none}.blog-detail-nav-link{border:1px solid #ffffff4d;border-radius:8px;color:#ffffffe6;font-size:.95rem;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease}.blog-detail-nav-link:hover{background:#ffffff26}.blog-detail-article{margin:0 auto;max-width:780px;padding:2rem 2rem 5rem}.blog-detail-back{align-items:center;color:#fffc;display:inline-flex;font-size:.9rem;gap:.4rem;margin-bottom:2rem;text-decoration:none;transition:color .15s}.blog-detail-back:hover{color:#fff}.blog-detail-error,.blog-detail-loading,.blog-detail-not-found{color:#ffffffd9;font-size:1.1rem;padding:4rem 0;text-align:center}.blog-detail-meta{color:#ffffffb3;font-size:.85rem;letter-spacing:.04em;margin-bottom:1rem;text-transform:uppercase}.blog-detail-title{color:#fff;font-size:2.2rem;font-weight:800;line-height:1.25;margin:0 0 .75rem}.blog-detail-excerpt{border-left:3px solid #fff6;color:#fffc;font-size:1.1rem;line-height:1.6;margin:0 0 2rem;padding-left:1rem}.blog-detail-divider{border:none;border-top:1px solid #fff3;margin:0 0 2rem}.blog-detail-body{color:#ffffffeb;font-size:1.05rem;line-height:1.75}.blog-detail-body h1,.blog-detail-body h2,.blog-detail-body h3,.blog-detail-body h4{color:#fff;line-height:1.3;margin:2rem 0 .75rem}.blog-detail-body h1{font-size:1.8rem}.blog-detail-body h2{font-size:1.45rem}.blog-detail-body h3{font-size:1.2rem}.blog-detail-body p{margin:0 0 1.25rem}.blog-detail-body a{color:#e0d7ff;text-decoration:underline}.blog-detail-body a:hover{color:#fff}.blog-detail-body ol,.blog-detail-body ul{margin:0 0 1.25rem 1.5rem;padding:0}.blog-detail-body li{margin-bottom:.4rem}.blog-detail-body blockquote{border-left:3px solid #fff6;color:#ffffffbf;font-style:italic;margin:1.25rem 0;padding:.5rem 1rem}.blog-detail-body code{background:#00000040;border-radius:4px;font-family:Fira Code,Consolas,monospace;font-size:.9em;padding:.15em .4em}.blog-detail-body pre{background:#0000004d;border-radius:8px;margin:1.25rem 0;overflow-x:auto;padding:1.25rem}.blog-detail-body pre code{background:none;font-size:.9rem;padding:0}.blog-detail-body img{border-radius:8px;margin:1rem 0;max-width:100%}.blog-detail-body hr{border:none;border-top:1px solid #fff3;margin:2rem 0}.blog-detail-footer{color:#ffffffb3;font-size:.85rem;padding:2rem;text-align:center}.blog-detail-footer a{color:#ffffffb3;text-decoration:none}.blog-detail-footer a:hover{color:#fff}.blog-detail-footer-divider{color:#fff6;margin:0 .5rem}.trp-page{align-items:flex-start;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:24px 16px 48px}.trp-card{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000002e;max-width:480px;overflow:hidden;width:100%}.trp-logo{padding:20px 24px 0}.trp-header{border-bottom:1px solid #f0f0f5;padding:16px 24px 24px}.trp-sport-badge{color:#764ba2;font-size:11px;font-weight:600;letter-spacing:.8px;margin-bottom:6px;text-transform:uppercase}.trp-title{color:#1a1a2e;font-size:22px;font-weight:700;line-height:1.25;margin:0 0 8px}.trp-date{color:#555;font-size:14px;margin:0 0 4px}.trp-venue{color:#777;font-size:13px;margin:0 0 8px}.trp-description{color:#555;font-size:13px;line-height:1.5;margin:10px 0 0}.trp-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.trp-badge{background:#f0f0f5;border-radius:12px;color:#555;font-size:12px;font-weight:500;padding:3px 10px}.trp-badge-fee{background:#e8f5e9;color:#2e7d32}.trp-badge-warning{background:#fff3e0;color:#e65100}.trp-closed{color:#888;font-size:15px;text-align:center}.trp-closed,.trp-form{padding:24px}.trp-form-title{color:#1a1a2e;font-size:16px;font-weight:600;margin:0 0 20px}.trp-field{margin-bottom:16px}.trp-label{color:#333;display:block;font-size:13px;font-weight:600;margin-bottom:6px}.trp-required{color:#e53e3e;margin-left:2px}.trp-input{background:#fafafa;border:1px solid #ddd;border-radius:8px;box-sizing:border-box;color:#1a1a2e;font-size:15px;padding:10px 12px;transition:border-color .15s;width:100%}.trp-input:focus{background:#fff;border-color:#667eea;outline:none}.trp-hint{color:#aaa;display:block;font-size:11px;margin-top:4px}.trp-checkbox-label{align-items:center;color:#333;cursor:pointer;display:flex;font-size:14px;gap:10px;-webkit-user-select:none;user-select:none}.trp-checkbox-label input[type=checkbox]{accent-color:#667eea;flex-shrink:0;height:18px;width:18px}.trp-waiver{background:#f8f9fa;border-radius:8px;color:#555;font-size:13px;line-height:1.5;margin-bottom:10px;padding:12px}.trp-submit{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px;transition:opacity .15s;width:100%}.trp-submit:hover:not(:disabled){opacity:.92}.trp-submit:disabled{cursor:not-allowed;opacity:.6}.trp-error-banner{background:#fff5f5;border:1px solid #fed7d7;border-radius:8px;color:#c53030;font-size:13px;margin-bottom:16px;padding:12px 14px}.trp-loading{color:#fff;font-size:15px;padding:80px 24px;text-align:center}.trp-success{padding:32px 24px;text-align:center}.trp-success-icon{align-items:center;background:linear-gradient(135deg,#48bb78,#38a169);border-radius:50%;color:#fff;display:flex;font-size:26px;height:56px;justify-content:center;margin:0 auto 16px;width:56px}.trp-success-title{color:#1a1a2e;font-size:22px;font-weight:700;margin:0 0 8px}.trp-success-name{color:#555;font-size:15px;margin:0 0 6px}.trp-success-detail{color:#555;font-size:14px;margin:0 0 20px}.trp-success-tournament{background:#f8f9fa;border-radius:10px;color:#333;display:flex;flex-direction:column;font-size:14px;gap:4px;margin-bottom:16px;padding:14px}.trp-success-tournament strong{font-size:15px}.trp-success-email{color:#777;font-size:13px;margin:0}.trp-footer{border-top:1px solid #f0f0f5;color:#bbb;font-size:12px;padding:16px 24px;text-align:center}:root{--ptp-connector:#334155}.ptp-branding-bar{align-items:center;background:#00000026;display:flex;justify-content:space-between;padding:.6rem 1.5rem}.ptp-branding-logo{align-items:center;display:inline-flex;opacity:.9;text-decoration:none;transition:opacity .2s}.ptp-branding-logo:hover{opacity:1}.ptp-branding-cta{align-items:center;background:#fff3;border-radius:20px;color:#fff;display:inline-flex;font-size:.85rem;font-weight:600;padding:.4rem 1rem;text-decoration:none;transition:background .2s;white-space:nowrap}.ptp-branding-cta:hover{background:#ffffff59}.ptp-page{background:#0f172a;background:var(--color-bg,#0f172a);color:#f1f5f9;color:var(--color-text,#f1f5f9);font-family:inherit;min-height:100vh}.ptp-error,.ptp-loading,.ptp-page{display:flex;flex-direction:column}.ptp-error,.ptp-loading{align-items:center;color:#94a3b8;color:var(--color-text-secondary,#94a3b8);gap:12px;justify-content:center;min-height:60vh}.ptp-error h2{color:#f1f5f9;color:var(--color-text,#f1f5f9);margin:0}.ptp-back-link{color:#3b82f6;color:var(--color-primary,#3b82f6);margin-top:8px;text-decoration:none}.ptp-back-link:hover{text-decoration:underline}.ptp-header{background:#1e293b;background:var(--color-surface,#1e293b);border-bottom:1px solid #334155;border-bottom:1px solid var(--color-border,#334155);padding:24px 16px}.ptp-header-inner{display:flex;flex-direction:column;gap:16px;margin:0 auto;max-width:960px}.ptp-header-top{align-items:flex-start;display:flex;gap:16px}.ptp-sport-icon{flex-shrink:0;font-size:2.5rem;line-height:1}.ptp-header-text{flex:1 1;min-width:0}.ptp-title{color:#f1f5f9;color:var(--color-text,#f1f5f9);font-size:1.75rem;font-weight:700;line-height:1.2;margin:0 0 8px;word-break:break-word}.ptp-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.ptp-meta-item{color:#94a3b8;color:var(--color-text-secondary,#94a3b8);font-size:.85rem}.ptp-meta-item:before{content:"·";margin-right:8px}.ptp-status-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:600;gap:6px;letter-spacing:.02em;padding:3px 10px;text-transform:uppercase}.ptp-status-draft{background:#94a3b826;color:#94a3b8}.ptp-status-reg-open{background:#22c55e26;color:#22c55e}.ptp-status-reg-closed{background:#f59e0b26;color:#f59e0b}.ptp-status-live{background:#3b82f626;color:#3b82f6}.ptp-status-completed{background:#8b5cf626;color:#a78bfa}.ptp-live-dot{animation:ptp-pulse 1.4s infinite;background:#3b82f6;border-radius:50%;height:7px;width:7px}@keyframes ptp-pulse{0%,to{opacity:1}50%{opacity:.35}}.ptp-champion-banner{background:linear-gradient(135deg,#fbbf2426,#f59e0b14);border:1px solid #fbbf244d;border-radius:10px;color:#fbbf24;font-size:1rem;padding:12px 18px;text-align:center}.ptp-champion-banner strong{font-weight:700}.ptp-reg-cta{display:flex}.ptp-reg-btn{align-items:center;background:#2563eb;border-radius:8px;color:#fff;display:inline-flex;font-size:.95rem;font-weight:600;gap:4px;padding:10px 22px;text-decoration:none;transition:background .15s}.ptp-reg-btn:hover{background:#1d4ed8}.ptp-spots{font-size:.82rem;font-weight:400;opacity:.85}.ptp-tabs{background:#1e293b;background:var(--color-surface,#1e293b);border-bottom:1px solid #334155;border-bottom:1px solid var(--color-border,#334155);display:flex;max-width:100%;overflow-x:auto}.ptp-tab{align-items:center;background:#0000;border:none;border-bottom:2px solid #0000;color:#94a3b8;color:var(--color-text-secondary,#94a3b8);cursor:pointer;display:flex;flex-shrink:0;font-size:.9rem;font-weight:500;gap:6px;padding:12px 20px;transition:color .15s,border-color .15s}.ptp-tab:hover{color:#f1f5f9;color:var(--color-text,#f1f5f9)}.ptp-tab-active{border-bottom-color:#3b82f6;color:#3b82f6}.ptp-tab-count{background:#334155;background:var(--color-border,#334155);border-radius:999px;color:#94a3b8;color:var(--color-text-secondary,#94a3b8);font-size:.75rem;padding:1px 7px}.ptp-content{flex:1 1;margin:0 auto;max-width:960px;padding:24px 16px;width:100%}.ptp-live-indicator{align-items:center;color:#94a3b8;color:var(--color-text-secondary,#94a3b8);display:flex;font-size:.8rem;gap:8px;margin-bottom:16px}.ptp-live-pulse{animation:ptp-pulse 1.4s infinite;background:#3b82f6;border-radius:50%;height:8px;width:8px}.ptp-empty{color:#94a3b8;color:var(--color-text-secondary,#94a3b8);padding:32px 0;text-align:center}.ptp-empty-bracket{padding:48px 16px;text-align:center}.ptp-empty-bracket p{color:#94a3b8;color:var(--color-text-secondary,#94a3b8);margin:4px 0}.ptp-empty-bracket p:first-child{color:#f1f5f9;color:var(--color-text,#f1f5f9);font-size:1rem}.ptp-empty-sub{font-size:.85rem}.ptp-section-title{color:#f1f5f9;color:var(--color-text,#f1f5f9);font-size:1rem;font-weight:600;margin:0 0 12px}.ptp-mt{margin-top:28px}.ptp-bracket-scroll{overflow-x:auto;overflow-y:visible;padding-bottom:16px}.ptp-round-label{color:#94a3b8;color:var(--color-text-secondary,#94a3b8);font-size:.72rem;font-weight:600;letter-spacing:.06em;pointer-events:none;position:absolute;text-align:center;text-transform:uppercase;top:0}.ptp-match-card{background:#1e293b;background:var(--color-surface,#1e293b);border:1px solid #334155;border:1px solid var(--color-border,#334155);border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.ptp-match-card.ptp-match-completed{border-color:#374151}.ptp-match-divider{background:#334155;background:var(--color-border,#334155);flex-shrink:0;height:1px}.ptp-slot{align-items:center;color:#f1f5f9;color:var(--color-text,#f1f5f9);display:flex;flex:1 1;font-size:.82rem;gap:6px;height:37px;min-width:0;padding:0 10px}.ptp-slot-bye{color:#94a3b8;color:var(--color-text-secondary,#94a3b8);font-size:.75rem;font-style:italic}.ptp-slot-winner{background:#3b82f61a;color:#60a5fa;font-weight:700}.ptp-slot-seed{color:#94a3b8;color:var(--color-text-secondary,#94a3b8);flex-shrink:0;font-size:.7rem;min-width:20px}.ptp-slot-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ptp-slot-score{color:#94a3b8;color:var(--color-text-secondary,#94a3b8);flex-shrink:0;font-size:.85rem;font-weight:600;min-width:18px;text-align:right}.ptp-slot-score-win{color:#60a5fa}.ptp-standings-wrap{border:1px solid #334155;border:1px solid var(--color-border,#334155);border-radius:8px;overflow-x:auto}.ptp-standings-table{border-collapse:collapse;font-size:.85rem;width:100%}.ptp-standings-table th{background:#ffffff0a;color:#94a3b8;color:var(--color-text-secondary,#94a3b8);font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:8px 10px;text-align:center;text-transform:uppercase;white-space:nowrap}.ptp-standings-table td{border-top:1px solid #334155;border-top:1px solid var(--color-border,#334155);color:#f1f5f9;color:var(--color-text,#f1f5f9);padding:8px 10px;text-align:center}.ptp-td-team,.ptp-th-team{text-align:left!important}.ptp-td-pool,.ptp-td-rank{color:#94a3b8;color:var(--color-text-secondary,#94a3b8);font-size:.78rem}.ptp-td-pts{color:#60a5fa;font-weight:700}.ptp-row-alt td{background:#ffffff05}.ptp-rr-view{display:flex;flex-direction:column;gap:0}.ptp-rr-round{margin-top:20px}.ptp-rr-round-label{color:#94a3b8;color:var(--color-text-secondary,#94a3b8);font-size:.75rem;font-weight:600;letter-spacing:.06em;margin-bottom:8px;text-transform:uppercase}.ptp-rr-matches{display:flex;flex-direction:column;gap:4px}.ptp-rr-match{align-items:center;background:#1e293b;background:var(--color-surface,#1e293b);border:1px solid #334155;border:1px solid var(--color-border,#334155);border-radius:8px;display:flex;font-size:.85rem;gap:0;min-height:40px;overflow:hidden;padding:0}.ptp-rr-match.ptp-match-completed{border-color:#374151}.ptp-rr-team{color:#f1f5f9;color:var(--color-text,#f1f5f9);flex:1 1;min-width:0;overflow:hidden;padding:10px 14px;text-overflow:ellipsis;white-space:nowrap}.ptp-rr-right{text-align:right}.ptp-rr-winner{color:#60a5fa;font-weight:700}.ptp-rr-score{border-left:1px solid #334155;border-left:1px solid var(--color-border,#334155);border-right:1px solid #334155;border-right:1px solid var(--color-border,#334155);color:#94a3b8;color:var(--color-text-secondary,#94a3b8);flex-shrink:0;font-size:.82rem;font-weight:600;padding:10px 14px;white-space:nowrap}.ptp-pool-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:20px}.ptp-pool-tab{background:#0000;border:1px solid #334155;border:1px solid var(--color-border,#334155);border-radius:6px;color:#94a3b8;color:var(--color-text-secondary,#94a3b8);cursor:pointer;font-size:.85rem;padding:6px 18px;transition:all .15s}.ptp-pool-tab:hover{border-color:#3b82f6;color:#f1f5f9;color:var(--color-text,#f1f5f9)}.ptp-pool-tab-active{background:#1d4ed8;border-color:#2563eb;color:#fff}.ptp-knockout-section{border-top:1px solid #334155;border-top:1px solid var(--color-border,#334155);margin-top:32px;padding-top:24px}.ptp-teams-grid{display:flex;flex-direction:column;gap:4px}.ptp-team-card{align-items:center;background:#1e293b;background:var(--color-surface,#1e293b);border:1px solid #334155;border:1px solid var(--color-border,#334155);border-radius:8px;display:flex;font-size:.9rem;gap:12px;padding:10px 14px}.ptp-team-number{color:#94a3b8;color:var(--color-text-secondary,#94a3b8);flex-shrink:0;font-size:.8rem;font-weight:600;text-align:right;width:28px}.ptp-team-info{flex:1 1;min-width:0}.ptp-team-name{color:#f1f5f9;color:var(--color-text,#f1f5f9);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ptp-team-pool{color:#94a3b8;color:var(--color-text-secondary,#94a3b8);font-size:.75rem;margin-top:2px}.ptp-team-badge{border-radius:999px;flex-shrink:0;font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:3px 10px;text-transform:uppercase}.ptp-team-confirmed{background:#22c55e1f;color:#22c55e}.ptp-team-waitlisted{background:#f59e0b1f;color:#f59e0b}.ptp-team-eliminated{background:#ef44441f;color:#f87171}.ptp-team-champion{background:#fbbf2426;color:#fbbf24}.ptp-info-tab{display:flex;flex-direction:column;gap:20px}.ptp-info-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.ptp-info-block{background:#1e293b;background:var(--color-surface,#1e293b);border:1px solid #334155;border:1px solid var(--color-border,#334155);border-radius:8px;padding:14px}.ptp-info-label{color:#94a3b8;color:var(--color-text-secondary,#94a3b8);font-size:.72rem;font-weight:600;letter-spacing:.06em;margin-bottom:4px;text-transform:uppercase}.ptp-info-value{color:#f1f5f9;color:var(--color-text,#f1f5f9);font-size:.9rem;line-height:1.5;margin:0}.ptp-footer{border-top:1px solid #334155;border-top:1px solid var(--color-border,#334155);color:#94a3b8;color:var(--color-text-secondary,#94a3b8);font-size:.78rem;margin-top:auto;padding:20px;text-align:center}.ptp-footer-link{color:#3b82f6;text-decoration:none}.ptp-footer-link:hover{text-decoration:underline}@media (max-width:600px){.ptp-branding-bar{padding:.5rem .75rem}.ptp-branding-cta{font-size:.8rem;padding:.35rem .75rem}.ptp-title{font-size:1.35rem}.ptp-sport-icon{font-size:2rem}.ptp-tab{font-size:.82rem;padding:10px 14px}}.tp-page{margin:0 auto;max-width:900px;min-height:100vh;padding:24px 16px 48px;position:relative}.tp-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:28px}.tp-title{flex:1 1;font-size:1.6rem;font-weight:700;margin:0}.tp-back-btn{background:none;border:none;color:#667eea;color:var(--color-primary,#667eea);cursor:pointer;font-size:.95rem;padding:6px 0;white-space:nowrap}.tp-back-btn:hover{text-decoration:underline}.tp-create-btn{background:#667eea;background:var(--color-primary,#667eea);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:9px 18px;white-space:nowrap}.tp-create-btn:hover{opacity:.88}.tp-error,.tp-loading{opacity:.7;padding:48px 0;text-align:center}.tp-error{color:#dc2626}.tp-empty{opacity:.7;padding:64px 0;text-align:center}.tp-empty p{font-size:1rem;margin-bottom:16px}.tp-list{display:flex;flex-direction:column;gap:12px}.tp-card{align-items:center;border:1px solid;border-radius:10px;display:flex;gap:16px;padding:16px 20px;transition:box-shadow .15s}.tp-card:hover{box-shadow:0 2px 8px #00000014}.tp-card-main{flex:1 1;min-width:0}.tp-card-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.tp-card-name{font-size:1.05rem;font-weight:600;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-card-meta{align-items:center;display:flex;flex-wrap:wrap;font-size:.82rem;gap:4px;opacity:.65}.tp-meta-sep{opacity:.5}.tp-format-badge,.tp-sport-badge,.tp-status-badge{border-radius:999px;display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.4px;padding:2px 9px;text-transform:uppercase}.tp-status-draft{background:#e5e7eb;color:#4b5563}.tp-status-open{background:#d1fae5;color:#065f46}.tp-status-closed{background:#fef3c7;color:#92400e}.tp-status-active{background:#dbeafe;color:#1e40af}.tp-status-done{background:#f3f4f6;color:#374151}[data-theme=dark] .tp-status-draft{background:#374151;color:#d1d5db}[data-theme=dark] .tp-status-open{background:#064e3b;color:#6ee7b7}[data-theme=dark] .tp-status-closed{background:#451a03;color:#fcd34d}[data-theme=dark] .tp-status-active{background:#1e3a8a;color:#93c5fd}[data-theme=dark] .tp-status-done{background:#1f2937;color:#9ca3af}.tp-format-badge{background:#ede9fe;color:#5b21b6}[data-theme=dark] .tp-format-badge{background:#2e1065;color:#c4b5fd}.tp-sport-badge{background:#f0f9ff;color:#0369a1}[data-theme=dark] .tp-sport-badge{background:#0c4a6e;color:#7dd3fc}.tp-card-actions{display:flex;flex-direction:column;flex-shrink:0;gap:6px}.tp-manage-btn{background:#667eea;background:var(--color-primary,#667eea);border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:7px 16px}.tp-manage-btn:hover{opacity:.88}.tp-delete-btn{background:none;border:1px solid #dc2626;border-radius:7px;color:#dc2626;cursor:pointer;font-size:.85rem;padding:6px 16px}.tp-delete-btn:hover{background:#fef2f2}[data-theme=dark] .tp-delete-btn:hover{background:#2a0a0a}.tp-modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.tp-modal{border-radius:12px;box-shadow:0 20px 60px #00000040;max-height:90vh;max-width:560px;overflow-y:auto;padding:28px 28px 24px;width:100%}.tp-modal-sm{max-width:380px}.tp-modal-title{font-size:1.2rem;font-weight:700;margin:0 0 20px}.tp-modal-body{font-size:.95rem;line-height:1.5;margin-bottom:20px}.tp-create-form{gap:14px}.tp-create-form,.tp-form-row{display:flex;flex-direction:column}.tp-form-row{gap:4px}.tp-form-row label{font-size:.82rem;font-weight:600;opacity:.8}.tp-form-row input,.tp-form-row select,.tp-form-row textarea{background:#fff;background:var(--color-input-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:7px;color:inherit;font-size:.9rem;padding:8px 10px;width:100%}.tp-form-row-2{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.tp-form-row-2>div{display:flex;flex-direction:column;gap:4px}.tp-form-row-2>div label{font-size:.82rem;font-weight:600;opacity:.8}.tp-form-row-2>div input,.tp-form-row-2>div select{background:#fff;background:var(--color-input-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:7px;color:inherit;font-size:.9rem;padding:8px 10px}.tp-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:6px}.tp-cancel-btn{background:none;border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:7px;color:inherit;cursor:pointer;font-size:.9rem;padding:8px 18px}.tp-cancel-btn:hover{opacity:.7}.tp-submit-btn{background:#667eea;background:var(--color-primary,#667eea);border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 20px}.tp-submit-btn:disabled{cursor:not-allowed;opacity:.6}.tp-danger-btn{background:#dc2626;border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 20px}.tp-danger-btn:disabled{opacity:.6}.tp-toast{border-radius:8px;bottom:24px;box-shadow:0 4px 16px #0000002e;font-size:.9rem;font-weight:500;left:50%;padding:12px 24px;position:fixed;transform:translateX(-50%);white-space:nowrap;z-index:2000}.tp-toast-error{background:#dc2626;color:#fff}.tp-toast-success{background:#16a34a;color:#fff}@media (max-width:480px){.tp-header{gap:10px}.tp-card{align-items:flex-start;flex-direction:column}.tp-card-actions{flex-direction:row}.tp-form-row-2{grid-template-columns:1fr}}.ta-page{margin:0 auto;max-width:960px;min-height:100vh;padding:24px 16px 48px;position:relative}.ta-center{padding:48px 0;text-align:center}.ta-dim{opacity:.55}.ta-pos{color:#16a34a}.ta-error,.ta-neg{color:#dc2626}.ta-hint{font-size:.88rem;margin-top:6px;opacity:.65}.ta-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.ta-back-btn{background:none;border:none;color:#667eea;color:var(--color-primary,#667eea);cursor:pointer;flex-shrink:0;font-size:.92rem;padding:4px 0;white-space:nowrap}.ta-back-btn:hover{text-decoration:underline}.ta-header-info{flex:1 1;min-width:0}.ta-header-top{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:4px}.ta-title{font-size:1.5rem;font-weight:700;margin:0}.ta-header-meta{align-items:center;display:flex;flex-wrap:wrap;font-size:.82rem;gap:4px;opacity:.65}.ta-sep{opacity:.4}.ta-sport{text-transform:capitalize}.ta-status-badge{border-radius:999px;display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.4px;padding:3px 10px;text-transform:uppercase;white-space:nowrap}.ta-status-draft{background:#e5e7eb;color:#4b5563}.ta-status-registration-open{background:#d1fae5;color:#065f46}.ta-status-registration-closed{background:#fef3c7;color:#92400e}.ta-status-in-progress{background:#dbeafe;color:#1e40af}.ta-status-completed{background:#f3f4f6;color:#374151}[data-theme=dark] .ta-status-draft{background:#374151;color:#d1d5db}[data-theme=dark] .ta-status-registration-open{background:#064e3b;color:#6ee7b7}[data-theme=dark] .ta-status-registration-closed{background:#451a03;color:#fcd34d}[data-theme=dark] .ta-status-in-progress{background:#1e3a8a;color:#93c5fd}[data-theme=dark] .ta-status-completed{background:#1f2937;color:#9ca3af}.ta-status-advance-btn{align-self:flex-start;background:#667eea;background:var(--color-primary,#667eea);border:none;border-radius:8px;color:#fff;cursor:pointer;flex-shrink:0;font-size:.88rem;font-weight:600;padding:9px 18px;white-space:nowrap}.ta-status-advance-btn:hover{opacity:.88}.ta-status-advance-btn:disabled{cursor:not-allowed;opacity:.6}.ta-tabs{border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--color-border,#e2e8f0);display:flex;gap:0;margin-bottom:0}.ta-tab{background:none;border:none;border-bottom:3px solid #0000;color:inherit;cursor:pointer;font-size:.9rem;font-weight:500;margin-bottom:-2px;opacity:.6;padding:10px 18px;transition:opacity .15s,border-color .15s;white-space:nowrap}.ta-tab:hover{opacity:.9}.ta-tab-active{border-bottom-color:#667eea;border-bottom-color:var(--color-primary,#667eea);color:#667eea;color:var(--color-primary,#667eea);font-weight:700;opacity:1}.ta-body{border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:0 0 12px 12px;border-top:none;min-height:200px;padding:24px}.ta-form-row{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.ta-form-row label{font-size:.8rem;font-weight:600;opacity:.75}.ta-form-row input,.ta-form-row select,.ta-form-row textarea{background:#f8fafc;background:var(--color-input-bg,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:7px;color:inherit;font-size:.9rem;padding:8px 10px;width:100%}.ta-form-row-2{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:0}.ta-edit-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.ta-cancel-btn{background:none;border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:7px;color:inherit;cursor:pointer;font-size:.88rem;padding:7px 16px}.ta-cancel-btn:hover{opacity:.7}.ta-save-btn{background:#667eea;background:var(--color-primary,#667eea);border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:.88rem;font-weight:600;padding:7px 18px}.ta-save-btn:disabled{cursor:not-allowed;opacity:.6}.ta-danger-btn{background:#dc2626;border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:.88rem;font-weight:600;padding:7px 18px}.ta-danger-btn:disabled{opacity:.6}.ta-info-grid{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr 1fr;margin-bottom:20px}.ta-info-row{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border,#e2e8f0);display:flex;font-size:.9rem;gap:10px;padding:10px 0}.ta-info-row-full{grid-column:1/-1}.ta-info-label{flex-shrink:0;font-size:.82rem;font-weight:600;opacity:.65;width:140px}.ta-overview-join{font-size:.9rem;margin:16px 0 20px}.ta-join-url-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.ta-join-url{background:#f8fafc;background:var(--color-section-bg,#f8fafc);border-radius:6px;flex:1 1;font-family:monospace;font-size:.82rem;padding:6px 10px;word-break:break-all}.ta-copy-btn{background:none;border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:6px;color:inherit;cursor:pointer;font-size:.82rem;padding:6px 12px;white-space:nowrap}.ta-copy-btn:hover{opacity:.7}.ta-edit-btn{background:none;border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:7px;color:inherit;cursor:pointer;font-size:.88rem;padding:8px 18px}.ta-edit-btn:hover{opacity:.7}.ta-team-tools{background:#f8fafc;background:var(--color-section-bg,#f8fafc);border-radius:8px;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px;padding:14px 16px}.ta-tool-group{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.ta-tool-label{font-size:.82rem;font-weight:600;opacity:.75;white-space:nowrap}.ta-tool-num,.ta-tool-select{background:#fff;background:var(--color-input-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:6px;color:inherit;font-size:.85rem;padding:6px 8px}.ta-tool-num{width:60px}.ta-tool-btn{background:#667eea;background:var(--color-primary,#667eea);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.82rem;font-weight:600;padding:6px 14px}.ta-tool-btn:disabled{cursor:not-allowed;opacity:.5}.ta-teams-table-wrap{margin-bottom:24px;overflow-x:auto}.ta-teams-table{border-collapse:collapse;font-size:.88rem;width:100%}.ta-teams-table th{border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--color-border,#e2e8f0);font-size:.75rem;letter-spacing:.5px;opacity:.6;padding:8px 10px;text-align:left;text-transform:uppercase}.ta-teams-table td{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border,#e2e8f0);padding:10px;vertical-align:top}.ta-captain-email{font-size:.75rem;opacity:.6}.ta-pool-badge{background:#ede9fe;border-radius:999px;color:#5b21b6;display:inline-block;font-size:.72rem;font-weight:700;padding:1px 7px}[data-theme=dark] .ta-pool-badge{background:#2e1065;color:#c4b5fd}.ta-team-status{border-radius:999px;display:inline-block;font-size:.72rem;font-weight:600;padding:2px 8px;text-transform:capitalize}.ta-team-status-confirmed{background:#d1fae5;color:#065f46}.ta-team-status-waitlisted{background:#fef3c7;color:#92400e}.ta-team-status-cancelled{background:#fee2e2;color:#991b1b}.ta-team-status-eliminated{background:#f3f4f6;color:#6b7280}[data-theme=dark] .ta-team-status-confirmed{background:#064e3b;color:#6ee7b7}[data-theme=dark] .ta-team-status-waitlisted{background:#451a03;color:#fcd34d}[data-theme=dark] .ta-team-status-cancelled{background:#450a0a;color:#fca5a5}.ta-team-actions{white-space:nowrap}.ta-icon-btn{background:none;border:none;cursor:pointer;font-size:1rem;opacity:.7;padding:2px 6px}.ta-icon-btn:hover{opacity:1}.ta-icon-del:hover{color:#dc2626}.ta-edit-team-row{padding:0!important}.ta-edit-team-form{background:#f8fafc;background:var(--color-section-bg,#f8fafc);padding:12px 16px}.ta-add-team-section{border-top:1px solid #e2e8f0;border-top:1px solid var(--color-border,#e2e8f0);margin-top:4px;padding-top:20px}.ta-section-title{font-size:1rem;font-weight:700;margin:0 0 14px}.ta-add-team-btn{background:#667eea;background:var(--color-primary,#667eea);border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:.88rem;font-weight:600;margin-top:4px;padding:8px 18px}.ta-add-team-btn:disabled{cursor:not-allowed;opacity:.6}.ta-bracket-empty{padding:40px 0;text-align:center}.ta-generate-btn{background:#667eea;background:var(--color-primary,#667eea);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;margin-top:12px;padding:12px 24px}.ta-generate-btn:disabled{cursor:not-allowed;opacity:.6}.ta-bracket-toolbar{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.ta-reset-btn{background:none;border:1px solid #dc2626;border-radius:7px;color:#dc2626;cursor:pointer;font-size:.82rem;padding:6px 14px}.ta-reset-btn:hover{background:#fef2f2}[data-theme=dark] .ta-reset-btn:hover{background:#2a0a0a}.ta-bracket-elim{display:flex;gap:24px;overflow-x:auto;padding-bottom:12px}.ta-bracket-round{display:flex;flex-direction:column;flex-shrink:0;gap:8px;min-width:220px}.ta-round-label{font-size:.75rem;font-weight:700;letter-spacing:.6px;margin-bottom:6px;opacity:.55;text-transform:uppercase}.ta-match-row{background:#f8fafc;background:var(--color-section-bg,#f8fafc);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;font-size:.85rem;padding:10px 12px}.ta-match-bye{opacity:.5}.ta-match-scored{border-color:#16a34a}[data-theme=dark] .ta-match-scored{border-color:#065f46}.ta-match-teams{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.ta-match-team{font-size:.85rem;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ta-match-team-away{text-align:right}.ta-match-winner{color:#16a34a;font-weight:700}[data-theme=dark] .ta-match-winner{color:#4ade80}.ta-seed{font-size:.7rem;margin-right:3px;opacity:.5}.ta-match-score-display{flex:1 1;font-size:.78rem;font-weight:700;opacity:.8;text-align:center;white-space:nowrap}.ta-match-winner-label{color:#16a34a;display:block;font-size:.72rem;margin-top:4px}[data-theme=dark] .ta-match-winner-label{color:#4ade80}.ta-match-score-toggle{margin-top:8px}.ta-score-toggle-btn{background:none;border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:5px;color:inherit;cursor:pointer;font-size:.75rem;padding:4px 10px}.ta-score-toggle-btn:hover{opacity:.7}.ta-score-form{margin-top:8px}.ta-score-err{color:#dc2626;font-size:.75rem;margin-bottom:4px}.ta-score-inputs{align-items:center;display:flex;gap:6px}.ta-score-input{background:#fff;background:var(--color-input-bg,#fff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:5px;color:inherit;font-size:.88rem;padding:5px 6px;text-align:center;width:52px}.ta-score-vs{font-size:.82rem;opacity:.5}.ta-score-save-btn{background:#16a34a;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;padding:5px 12px}.ta-score-save-btn:disabled{opacity:.6}.ta-rr-schedule{gap:20px}.ta-rr-round,.ta-rr-schedule{display:flex;flex-direction:column}.ta-rr-round{gap:8px}.ta-gk-pool{margin-bottom:28px}.ta-pool-title{color:#667eea;color:var(--color-primary,#667eea);font-size:.95rem;font-weight:700;margin:0 0 12px}.ta-pool-standings{margin-top:14px}.ta-pool-standings-title{font-size:.78rem;font-weight:700;letter-spacing:.5px;margin-bottom:8px;opacity:.6;text-transform:uppercase}.ta-advance-section{margin:20px 0}.ta-advance-btn{background:#667eea;background:var(--color-primary,#667eea);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.88rem;font-weight:600;padding:10px 20px}.ta-advance-btn:disabled{cursor:not-allowed;opacity:.6}.ta-gk-knockout{margin-top:12px}.ta-standings-section{margin-top:28px}.ta-standings-table{border-collapse:collapse;font-size:.85rem;width:100%}.ta-standings-table th{border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--color-border,#e2e8f0);font-size:.72rem;letter-spacing:.4px;opacity:.6;padding:6px 10px;text-align:left;text-transform:uppercase}.ta-standings-table td{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border,#e2e8f0);padding:8px 10px}.ta-qr{align-items:center;display:flex;flex-direction:column;gap:20px;padding:8px 0}.ta-qr-join-url{max-width:520px;width:100%}.ta-qr-svg-wrap{height:200px;width:200px}.ta-qr-svg-wrap svg{border-radius:8px;height:100%;width:100%}.ta-qr-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.ta-qr-btn{background:#667eea;background:var(--color-primary,#667eea);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 20px}.ta-qr-btn:hover{opacity:.88}.ta-qr-btn-outline{background:none;border:2px solid #667eea;border:2px solid var(--color-primary,#667eea);color:#667eea;color:var(--color-primary,#667eea)}.ta-qr-hint{font-size:.85rem;max-width:400px;opacity:.6;text-align:center}.ta-modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.ta-modal{border-radius:12px;box-shadow:0 20px 60px #00000040;max-width:400px;padding:28px 28px 24px;width:100%}.ta-modal-title{font-size:1.15rem;font-weight:700;margin:0 0 12px}.ta-modal-body{font-size:.9rem;line-height:1.55;margin-bottom:20px;opacity:.85}.ta-modal-actions{display:flex;gap:10px;justify-content:flex-end}.ta-toast{border-radius:8px;bottom:24px;box-shadow:0 4px 16px #0000002e;font-size:.9rem;font-weight:500;left:50%;padding:12px 24px;position:fixed;transform:translateX(-50%);white-space:nowrap;z-index:2000}.ta-toast-error{background:#dc2626;color:#fff}.ta-toast-success{background:#16a34a;color:#fff}.ta-checkin-bar{align-items:center;background:#f0f4ff;background:var(--color-surface,#f0f4ff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px;padding:10px 16px}.ta-checkin-count{font-size:.9rem;font-weight:600;opacity:.8}.ta-checkin-all-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:6px 14px;white-space:nowrap}.ta-checkin-all-btn:disabled{cursor:not-allowed;opacity:.6}.ta-checkin-all-btn:hover:not(:disabled){background:#5a6fd6}.ta-checkin-btn{background:none;border:1px solid #16a34a;border-radius:5px;color:#16a34a;cursor:pointer;font-size:.78rem;margin-right:4px;padding:3px 10px;white-space:nowrap}.ta-checkin-btn:disabled{cursor:not-allowed;opacity:.5}.ta-checkin-btn:hover:not(:disabled){background:#16a34a;color:#fff}.ta-notify{display:flex;flex-direction:column;gap:24px}.ta-notify-summary{background:#f0f4ff;background:var(--color-surface,#f0f4ff);border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;display:flex;gap:24px;padding:16px 20px}.ta-notify-stat{align-items:center;display:flex;flex-direction:column;gap:2px;min-width:60px}.ta-notify-stat-num{color:#667eea;font-size:1.6rem;font-weight:700;line-height:1}.ta-notify-stat-label{font-size:.75rem;opacity:.65;text-align:center}.ta-notify-section{border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;padding:20px}.ta-notify-desc{font-size:.88rem;line-height:1.5;margin:0 0 14px;opacity:.7}.ta-notify-send-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;margin-top:10px;padding:10px 20px}.ta-notify-send-btn:disabled{cursor:not-allowed;opacity:.5}.ta-notify-send-btn:hover:not(:disabled){background:#5a6fd6}.ta-notify-textarea{background:#fff;background:var(--color-input-bg,#fff);border:1px solid #d1d5db;border:1px solid var(--color-border,#d1d5db);border-radius:6px;box-sizing:border-box;color:inherit;font-family:inherit;font-size:.9rem;padding:10px 12px;resize:vertical;width:100%}.ta-notify-textarea:focus{border-color:#667eea;outline:none}.ta-notify-textarea-meta{display:flex;font-size:.78rem;justify-content:flex-end;margin-top:4px}.ta-notify-result{border-radius:6px;font-size:.88rem;margin-top:8px;padding:10px 14px}.ta-notify-result-success{background:#dcfce7;border:1px solid #bbf7d0;color:#15803d}.ta-notify-result-error{background:#fee2e2;border:1px solid #fecaca;color:#dc2626}.ta-notify-auto{background:#f8faff;background:var(--color-surface,#f8faff)}.ta-notify-auto-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.ta-notify-auto-list li{align-items:flex-start;display:flex;font-size:.9rem;gap:10px}.ta-notify-auto-icon{color:#16a34a;flex-shrink:0;font-weight:700;margin-top:1px}@media (max-width:600px){.ta-header{gap:10px}.ta-title{font-size:1.2rem}.ta-body{padding:16px}.ta-bracket-elim{gap:12px}.ta-bracket-round{min-width:180px}.ta-form-row-2,.ta-info-grid{grid-template-columns:1fr}.ta-tab{font-size:.82rem;padding:8px 12px}.ta-score-input{width:44px}.ta-qr-svg-wrap{height:160px;width:160px}}.pbr-page{font-family:inherit;margin:0 auto;max-width:900px;padding:1.5rem}.pbr-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.pbr-back-btn{background:none;border:1px solid #ddd;border:1px solid var(--color-border,#ddd);border-radius:6px;color:#333;color:var(--color-text,#333);cursor:pointer;font-size:.9rem;padding:.4rem .8rem;white-space:nowrap}.pbr-back-btn:hover{background:#f5f5f5;background:var(--color-bg-hover,#f5f5f5)}.pbr-title{color:#1a1a1a;color:var(--color-text,#1a1a1a);flex:1 1;font-size:1.5rem;font-weight:700;margin:0}.pbr-league-name{color:#666;color:var(--color-text-muted,#666);font-size:.95rem;margin:0}.pbr-actions{display:flex;flex-wrap:wrap;gap:.5rem}.pbr-btn{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem}.pbr-btn-primary{background:#2563eb;color:#fff}.pbr-btn-primary:hover:not(:disabled){background:#1d4ed8}.pbr-btn-secondary{background:#f0f0f0;background:var(--color-bg-secondary,#f0f0f0);border:1px solid #ddd;border:1px solid var(--color-border,#ddd);color:#333;color:var(--color-text,#333)}.pbr-btn-secondary:hover:not(:disabled){background:#e5e5e5;background:var(--color-bg-hover,#e5e5e5)}.pbr-btn-danger{background:none;border:1px solid #dc2626;color:#dc2626;font-size:.8rem;padding:.3rem .6rem}.pbr-btn-danger:hover:not(:disabled){background:#fee2e2}.pbr-btn:disabled{cursor:not-allowed;opacity:.5}.pbr-scale-legend{background:#f8f8f8;background:var(--color-bg-secondary,#f8f8f8);border:1px solid #e5e5e5;border:1px solid var(--color-border,#e5e5e5);border-radius:8px;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;padding:.75rem 1rem}.pbr-scale-badge{font-size:.78rem;font-weight:500;padding:.2rem .5rem}.pbr-badge,.pbr-scale-badge{border-radius:4px;white-space:nowrap}.pbr-badge{display:inline-block;font-size:.75rem;font-weight:600;padding:.15rem .5rem}.pbr-badge-beginner{background:#e5e7eb;color:#374151}.pbr-badge-novice{background:#dbeafe;color:#1e40af}.pbr-badge-intermediate{background:#d1fae5;color:#065f46}.pbr-badge-adv-int{background:#fef3c7;color:#92400e}.pbr-badge-advanced{background:#fed7aa;color:#9a3412}.pbr-badge-expert{background:#ede9fe;color:#5b21b6}.pbr-badge-pro{background:#fce7f3;color:#9d174d}.pbr-error{background:#fff5f5;border:1px solid #fecaca;border-radius:8px;color:#dc2626;margin-bottom:1rem;padding:1rem}.pbr-empty{color:#888;color:var(--color-text-muted,#888);padding:3rem 1rem;text-align:center}.pbr-empty h3{color:#444;color:var(--color-text,#444);font-size:1.1rem;margin-bottom:.5rem}.pbr-table-wrap{border:1px solid #e5e5e5;border:1px solid var(--color-border,#e5e5e5);border-radius:8px;margin-bottom:1.5rem;overflow-x:auto}.pbr-table{border-collapse:collapse;font-size:.9rem;width:100%}.pbr-table th{background:#f5f5f5;background:var(--color-bg-secondary,#f5f5f5);border-bottom:1px solid #e5e5e5;border-bottom:1px solid var(--color-border,#e5e5e5);color:#555;color:var(--color-text-muted,#555);font-size:.8rem;font-weight:600;padding:.6rem .75rem;text-align:left;white-space:nowrap}.pbr-table td{border-bottom:1px solid #eee;border-bottom:1px solid var(--color-border,#eee);color:#333;color:var(--color-text,#333);padding:.7rem .75rem;vertical-align:middle}.pbr-table tr:last-child td{border-bottom:none}.pbr-table tr:hover td{background:#fafafa;background:var(--color-bg-hover,#fafafa)}.pbr-table tr.pbr-row-clickable{cursor:pointer}.pbr-rank-cell{color:#999;color:var(--color-text-muted,#999);font-weight:700;text-align:center;width:2rem}.pbr-rank-1{color:#f59e0b}.pbr-rank-2{color:#9ca3af}.pbr-rank-3{color:#b45309}.pbr-player-name{font-weight:600}.pbr-player-email{color:#888;color:var(--color-text-muted,#888);font-size:.78rem}.pbr-rating-value{color:#2563eb;font-size:1.05rem;font-weight:700;white-space:nowrap}.pbr-stat{color:#555;color:var(--color-text-muted,#555);text-align:center}.pbr-td-actions{text-align:right;white-space:nowrap}.pbr-modal-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.pbr-modal{background:#fff;background:var(--color-bg,#fff);border-radius:10px;box-shadow:0 8px 32px #0000002e;max-width:440px;padding:1.5rem;width:100%}.pbr-modal h3{font-size:1.15rem;margin:0 0 1rem}.pbr-form-group{margin-bottom:.85rem}.pbr-form-group label{color:#333;color:var(--color-text,#333);display:block;font-size:.85rem;font-weight:600;margin-bottom:.3rem}.pbr-form-group input{background:#fff;background:var(--color-bg,#fff);border:1px solid #ccc;border:1px solid var(--color-border,#ccc);border-radius:6px;box-sizing:border-box;color:#333;color:var(--color-text,#333);font-size:.9rem;padding:.5rem .75rem;width:100%}.pbr-form-group input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26;outline:none}.pbr-modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1.25rem}.pbr-detail{border:1px solid #e5e5e5;border:1px solid var(--color-border,#e5e5e5);border-radius:10px;margin-bottom:1.5rem;padding:1.25rem}.pbr-detail-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.pbr-detail-name{font-size:1.2rem;font-weight:700;margin:0 0 .2rem}.pbr-detail-email{color:#888;color:var(--color-text-muted,#888);font-size:.85rem}.pbr-detail-stats{display:flex;flex-wrap:wrap;gap:1.25rem;margin-bottom:1rem}.pbr-detail-stat{text-align:center}.pbr-detail-stat-value{color:#222;color:var(--color-text,#222);font-size:1.4rem;font-weight:700;line-height:1}.pbr-detail-stat-value.pbr-rating-big{color:#2563eb;font-size:2rem}.pbr-detail-stat-label{color:#888;color:var(--color-text-muted,#888);font-size:.75rem;margin-top:.2rem}.pbr-history-title{color:#333;color:var(--color-text,#333);font-size:1rem;font-weight:600;margin-bottom:.75rem}.pbr-history-empty{color:#888;color:var(--color-text-muted,#888);font-size:.9rem;font-style:italic;padding:.5rem 0}.pbr-change-pos{color:#16a34a;font-weight:600}.pbr-change-neg{color:#dc2626;font-weight:600}.pbr-change-zero,.pbr-loading{color:#888;color:var(--color-text-muted,#888)}.pbr-loading{padding:3rem;text-align:center}@keyframes pbr-spin{to{transform:rotate(1turn)}}.pbr-spinning{animation:pbr-spin 1s linear infinite;display:inline-block}@media (max-width:600px){.pbr-detail-stats{gap:.75rem}.pbr-table td,.pbr-table th{padding:.5rem .4rem}}:root{--color-bg:#fff;--color-bg-secondary:#f5f7fa;--color-text:#333;--color-text-secondary:#666;--color-border:#e0e0e0;--color-card:#fff;--color-card-hover:#f9f9f9;--color-brand:#667eea;--color-brand-gradient:linear-gradient(135deg,#667eea,#764ba2);--color-success:#28a745;--color-warning:#ffc107;--color-danger:#dc3545;--color-input-bg:#fff;--color-input-border:#ddd;--color-shadow:#00000014;--color-shadow-hover:#00000026;--color-table-stripe:#f9fafb;--color-table-header:#f5f7fa;--color-nav-bg:#fff;--color-nav-border:#e5e7eb;--color-modal-overlay:#00000080;--color-modal-bg:#fff;--color-section-bg:#f9fafb;--color-url-box-bg:#f5f5f5;--color-toast-error-bg:#ffebee;--color-toast-error-text:#c62828;--color-toast-success-bg:#e8f5e9;--color-toast-success-text:#2e7d32;--color-badge-draft-bg:#fff3cd;--color-badge-draft-text:#856404;--color-badge-published-bg:#d4edda;--color-badge-published-text:#155724;--color-badge-completed-bg:#d1ecf1;--color-badge-completed-text:#0c5460;--color-badge-bg:#eef0fb;--color-badge-text:#4a5568;--color-link-hover-bg:#f0f2ff;--color-cancel-bg:#f5f5f5;--color-cancel-text:#666;--color-cancel-hover-bg:#e0e0e0}[data-theme=dark]{--color-bg:#1a1a2e;--color-bg-secondary:#16213e;--color-text:#e0e0e0;--color-text-secondary:#a0a0a0;--color-border:#2a2a4a;--color-card:#1e1e3a;--color-card-hover:#252550;--color-brand:#667eea;--color-brand-gradient:linear-gradient(135deg,#667eea,#764ba2);--color-success:#28a745;--color-warning:#ffc107;--color-danger:#dc3545;--color-input-bg:#252550;--color-input-border:#3a3a5a;--color-shadow:#0000004d;--color-shadow-hover:#00000080;--color-table-stripe:#232348;--color-table-header:#252550;--color-nav-bg:#16213e;--color-nav-border:#2a2a4a;--color-modal-overlay:#000000b3;--color-modal-bg:#1e1e3a;--color-section-bg:#16213e;--color-url-box-bg:#252550;--color-toast-error-bg:#3a1a1a;--color-toast-error-text:#ff8a80;--color-toast-success-bg:#1a3a1a;--color-toast-success-text:#69f0ae;--color-badge-draft-bg:#3a3520;--color-badge-draft-text:#ffd54f;--color-badge-published-bg:#1a3a20;--color-badge-published-text:#69f0ae;--color-badge-completed-bg:#1a2e3a;--color-badge-completed-text:#80deea;--color-badge-bg:#667eea33;--color-badge-text:#b0b8d0;--color-link-hover-bg:#667eea26;--color-cancel-bg:#252550;--color-cancel-text:#a0a0a0;--color-cancel-hover-bg:#2a2a4a}*{box-sizing:border-box;margin:0;padding:0}body,html{overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;background-color:var(--color-bg);color:#333;color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:background-color .2s,color .2s}.App,body{min-height:100vh}.App{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:20px;width:100%}.loading-screen{color:#667eea;color:var(--color-brand);text-align:center}.loading-screen h1{font-size:2.5rem;margin-bottom:.5rem}.loading-screen p{color:#666;color:var(--color-text-secondary);font-size:1.1rem}.error-message{background:#ffebee;background:var(--color-toast-error-bg);border-left:4px solid #c62828;border-left:4px solid var(--color-toast-error-text);border-radius:8px;color:#c62828;color:var(--color-toast-error-text);font-size:.95rem;margin-bottom:1.5rem;padding:1rem}.status-badge{border-radius:12px;font-size:.8rem;font-weight:600;padding:.2rem .6rem;text-transform:capitalize}.status-badge.draft{background:#fff3cd;background:var(--color-badge-draft-bg);color:#856404;color:var(--color-badge-draft-text)}.status-badge.published{background:#d4edda;background:var(--color-badge-published-bg);color:#155724;color:var(--color-badge-published-text)}.status-badge.completed{background:#d1ecf1;background:var(--color-badge-completed-bg);color:#0c5460;color:var(--color-badge-completed-text)}.admin-preview-banner{align-items:center;background:linear-gradient(90deg,#f59e0b,#d97706);color:#1a1a1a;display:flex;font-size:.9rem;font-weight:500;gap:1rem;justify-content:center;padding:.5rem 1rem;position:sticky;top:0;z-index:1100}.admin-preview-banner-exit{background:#00000026;border:1px solid #0003;border-radius:4px;color:#1a1a1a;cursor:pointer;font-size:.8rem;font-weight:600;padding:.25rem .75rem;transition:background .2s}.admin-preview-banner-exit:hover{background:#00000040}
/*# sourceMappingURL=main.a6b85086.css.map*/