body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.landing{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.landing-nav{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:1.25rem 2rem}.landing-brand{color:#fff;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.landing-nav-actions{display:flex;gap:.75rem}.landing-nav-login{background:#ffffff26;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;padding:.6rem 1.5rem;transition:background .2s}.landing-nav-login:hover{background:#ffffff40}.landing-nav-cta{background:#fff;border:none;border-radius:8px;color:#667eea;cursor:pointer;font-size:.95rem;font-weight:600;padding:.6rem 1.5rem;transition:transform .2s,box-shadow .2s}.landing-nav-cta:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.landing-hero{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4rem 2rem 5rem;text-align:center}.landing-hero-inner{margin:0 auto;max-width:800px}.landing-hero h1{font-size:3.5rem;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-bottom:1.25rem}.landing-hero-subtitle{font-size:1.3rem;line-height:1.6;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;max-width:600px;opacity:.9}.landing-hero-cta{background:#fff;border:none;border-radius:50px;color:#667eea;cursor:pointer;font-size:1.15rem;font-weight:700;padding:1rem 2.5rem;transition:transform .2s,box-shadow .2s}.landing-hero-cta:hover{box-shadow:0 8px 25px #0003;transform:translateY(-2px)}.landing-features{background:#fff;padding:5rem 2rem}.landing-features-inner{margin:0 auto;max-width:1100px}.landing-section-title{color:#333;font-size:2rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.5rem;text-align:center}.landing-section-subtitle{color:#666;font-size:1.1rem;margin-bottom:3rem;text-align:center}.landing-features-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr)}.landing-feature-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:2rem;transition:transform .2s,box-shadow .2s}.landing-feature-card:hover{box-shadow:0 8px 24px #00000014;transform:translateY(-4px)}.landing-feature-icon{font-size:2rem;margin-bottom:1rem}.landing-feature-card h3{color:#333;font-size:1.15rem;font-weight:600;letter-spacing:-.01em;margin-bottom:.5rem}.landing-feature-card p{color:#666;font-size:.95rem;line-height:1.6}.landing-how{background:#f9fafb;padding:5rem 2rem}.landing-how-inner{margin:0 auto;max-width:900px}.landing-steps{grid-gap:2.5rem;display:grid;gap:2.5rem;grid-template-columns:repeat(3,1fr);margin-top:3rem}.landing-step{text-align:center}.landing-step-number{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:1.2rem;font-weight:700;height:48px;justify-content:center;margin:0 auto 1rem;width:48px}.landing-step h3{color:#333;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.landing-step p{color:#666;font-size:.95rem;line-height:1.6}.landing-pricing{background:#fff;padding:5rem 2rem;text-align:center}.landing-pricing-inner{margin:0 auto;max-width:600px}.landing-pricing-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;color:#fff;margin-top:2rem;padding:3rem}.landing-pricing-card h3{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.landing-pricing-card .landing-price{font-size:3rem;font-weight:800;margin-bottom:.25rem}.landing-pricing-card .landing-price-note{font-size:1rem;margin-bottom:1.5rem;opacity:.8}.landing-pricing-features{list-style:none;margin:0 0 2rem;padding:0;text-align:left}.landing-pricing-features li{border-bottom:1px solid #ffffff26;font-size:1rem;padding:.5rem 0}.landing-pricing-features li:last-child{border-bottom:none}.landing-pricing-cta{background:#fff;border:none;border-radius:50px;color:#667eea;cursor:pointer;font-size:1.1rem;font-weight:700;padding:1rem 2.5rem;transition:transform .2s}.landing-pricing-cta:hover{transform:translateY(-2px)}.landing-cta-banner{background:#f9fafb;padding:4rem 2rem;text-align:center}.landing-cta-banner h2{color:#333;font-size:2rem;font-weight:700;letter-spacing:-.02em;margin-bottom:1rem}.landing-cta-banner p{color:#666;font-size:1.1rem;margin-bottom:2rem}.landing-cta-banner-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:1rem 2.5rem;transition:transform .2s,box-shadow .2s}.landing-cta-banner-btn:hover{box-shadow:0 8px 25px #667eea66;transform:translateY(-2px)}.landing-contact{background:#fff;padding:5rem 2rem}.landing-contact-inner{margin:0 auto;max-width:650px}.landing-contact-form{margin-top:2rem}.landing-contact-row{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr 1fr}.landing-contact-field{margin-bottom:1.25rem}.landing-contact-field label{color:#333;display:block;font-size:.95rem;font-weight:500;margin-bottom:.5rem}.landing-contact-field input,.landing-contact-field textarea{border:1px solid #ddd;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:1rem;padding:12px;transition:border-color .2s,box-shadow .2s;width:100%}.landing-contact-field input:focus,.landing-contact-field textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea26;outline:none}.landing-contact-field textarea{min-height:120px;resize:vertical}.landing-contact-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.85rem 2rem;transition:transform .2s;width:100%}.landing-contact-btn:hover:not(:disabled){transform:translateY(-1px)}.landing-contact-btn:disabled{cursor:not-allowed;opacity:.6}.landing-contact-error{color:#d32f2f;font-size:.9rem;margin-bottom:1rem}.landing-contact-success{padding:2rem 0;text-align:center}.landing-contact-success-icon{color:#2e7d32;font-size:3rem;margin-bottom:1rem}.landing-contact-success h3{color:#333;margin-bottom:.5rem}.landing-contact-success p{color:#666;margin-bottom:2rem}.landing-footer{background:#fff;border-top:1px solid #e5e7eb;color:#999;font-size:.9rem;padding:2rem;text-align:center}@media (max-width:768px){.landing-hero{padding:3rem 1.5rem 4rem}.landing-hero h1{font-size:2.2rem}.landing-hero-subtitle{font-size:1.05rem}.landing-features-grid{gap:1.25rem;grid-template-columns:1fr}.landing-steps{gap:2rem;grid-template-columns:1fr}.landing-nav{padding:1rem}.landing-brand{font-size:1.25rem}.landing-contact-row{grid-template-columns:1fr}.landing-contact,.landing-cta-banner,.landing-features,.landing-how,.landing-pricing{padding-left:1.25rem;padding-right:1.25rem}}@media (max-width:480px){.landing-hero{padding:2rem 1rem 3rem}.landing-hero h1{font-size:1.75rem}.landing-hero-subtitle{font-size:.95rem;margin-bottom:1.5rem}.landing-hero-cta{font-size:1rem;padding:.85rem 1.75rem}.landing-nav-cta,.landing-nav-login{font-size:.85rem;padding:.5rem 1rem}.landing-section-title{font-size:1.5rem}.landing-section-subtitle{font-size:.95rem;margin-bottom:2rem}.landing-feature-card{padding:1.25rem}.landing-pricing-card{padding:2rem 1.5rem}.landing-cta-banner h2{font-size:1.5rem}.landing-cta-banner-btn,.landing-pricing-cta{font-size:1rem;padding:.85rem 1.75rem}}.auth-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-box{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:450px;padding:3rem;width:100%}.auth-box h1{color:#667eea;font-size:2.5rem;letter-spacing:-.02em;margin-bottom:.5rem;text-align:center}.auth-box h2{color:#333;font-size:1.5rem;font-weight:500;margin-bottom:2rem;text-align:center}.auth-box .form-group{margin-bottom:1.5rem}.auth-box label{color:#333;display:block;font-weight:500;margin-bottom:.5rem}.auth-box input{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:.75rem;transition:border-color .2s;width:100%}.auth-box input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea26;outline:none}.auth-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:1rem;padding:1rem;transition:transform .2s;width:100%}.auth-button:hover:not(:disabled){transform:translateY(-2px)}.auth-button:disabled{cursor:not-allowed;opacity:.6}.auth-switch{color:#666;margin-top:1.5rem;text-align:center}.link-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:inherit;font-weight:600;padding:0;text-decoration:underline}.link-button:hover{color:#5568d3}.auth-back{margin-top:1rem;text-align:center}@media (max-width:768px){.auth-box{padding:2rem 1.5rem}.auth-box h1{font-size:2rem}}@media (max-width:480px){.auth-container{padding:1rem}.auth-box{padding:1.5rem 1rem}.auth-box h1{font-size:1.75rem}.auth-box h2{font-size:1.25rem}}.dashboard{background:#f5f5f5;margin:0 auto;max-width:1200px;min-height:100vh;padding:2rem;width:100%}.dashboard-loading{color:#666;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:#333;letter-spacing:-.02em;margin-bottom:.5rem}.welcome-text{color:#666;font-size:1.1rem}.header-actions{display:flex;gap:1rem}.create-button{background:linear-gradient(135deg,#667eea,#764ba2);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:#fff;border:2px solid #ddd;border-radius:8px;color:#888;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:#fff;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:#fff;border:2px solid #667eea;border-radius:8px;color:#667eea;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.logout-button:hover{background:#667eea;color:#fff}.empty-state{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:4rem 2rem;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h2{color:#333;margin-bottom:.5rem}.empty-state p{color:#666;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:#fff;border-radius:12px;border-top:3px solid #667eea;box-shadow:0 1px 3px #00000014,0 4px 12px #0000000d;min-width:0;overflow:hidden;padding:1.5rem;transition:transform .2s,box-shadow .2s}.league-card:hover{box-shadow:0 4px 16px #0000001a;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:#333;font-size:1.3rem;margin:0;min-width:0;overflow-wrap:break-word;word-break:break-word}.status-select{background:#fff;border:2px solid #e0e0e0;border-radius:8px;color:#333;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem .75rem;text-transform:capitalize}.status-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea26;outline:none}.status-select option{text-transform:capitalize}.league-card-body{margin-bottom:1rem}.league-info{color:#666;font-size:.95rem;margin:.5rem 0}.league-info strong{color:#333}.public-toggle{border-top:1px solid #e0e0e0;margin:1rem 0;padding-top:1rem}.public-toggle label{align-items:center;cursor:pointer;display:flex;gap:.5rem}.public-toggle input[type=checkbox]{cursor:pointer;height:20px;width:20px}.public-toggle.disabled,.public-url.disabled{opacity:.4;pointer-events:none}.draft-hint{color:#999;font-size:.8rem;font-style:italic;margin-left:.25rem}.public-url{margin-top:.75rem}.url-label{color:#667eea;font-size:.85rem;font-weight:600;margin-bottom:.5rem}.url-box{align-items:center;background:#f5f5f5;border-radius:6px;display:flex;gap:.5rem;min-width:0;padding:.5rem}.url-box code{color:#667eea;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)}.league-card-actions{border-top:1px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;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:#667eea;color:#fff}.action-button.primary:hover{background:#5568d3}.action-button.secondary{background:#fff;border:2px solid #667eea;color:#667eea}.action-button.secondary:hover{background:#667eea;color:#fff}.action-button.danger{background:#fff;border:2px solid #ff5252;color:#ff5252}.action-button.danger:hover{background:#ff5252;color:#fff}.toast{align-items:center;animation:slideIn .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 slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.toast-error{background:#ffebee;border-left:4px solid #c62828;color:#c62828}.toast-success{background:#e8f5e9;border-left:4px solid #2e7d32;color:#2e7d32}.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:#00000080;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.dash-modal{background:#fff;border-radius:12px;box-shadow:0 8px 30px #0003;max-width:420px;padding:2rem;width:100%}.dash-modal h3{color:#333;font-size:1.3rem;margin:0 0 1rem}.dash-modal p{color:#555;font-size:.95rem;line-height:1.5;margin:0 0 .75rem}.dash-modal-warning{background:#ffebee;border-radius:6px;color:#c62828;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:#f5f5f5;color:#666}.dash-modal-cancel:hover{background:#e0e0e0}.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}}@media (max-width:480px){.dashboard{padding:.75rem}.league-card{padding:1rem}.toast{left:1rem;right:1rem}}.schedule-form-container{background:#f5f5f5;margin:0 auto;max-width:1200px;min-height:100vh;padding:2rem}.schedule-form-card{background:#fff;border-radius:12px;border-top:3px solid #667eea;box-shadow:0 1px 3px #00000014,0 4px 12px #0000000d;padding:30px}.progress-bar{border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.progress-step{align-items:center;background:none;border:none;color:#999;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:#667eea}.progress-step.current{font-weight:700}.progress-step.active:after{background:#667eea;bottom:-22px;content:"";height:3px;left:0;position:absolute;right:0}.form-step{min-height:400px}.step-description{color:#666;font-size:14px}.form-group,.step-description{margin-bottom:20px}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:8px}.form-group input{border:1px solid #ddd;border-radius:6px;font-size:16px;padding:12px;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea26;outline:none}.date-mode-selector{display:flex;gap:10px;margin-bottom:25px}.mode-button{background:#fff;border:2px solid #ddd;border-radius:6px;cursor:pointer;flex:1 1;font-weight:500;padding:12px;transition:all .2s}.mode-button.active,.mode-button:hover{border-color:#667eea}.mode-button.active{background:#667eea;color:#fff}.auto-date-generator{background:#f5f5f5;border-radius:6px;margin-bottom:25px;padding:20px}.generate-button{background:#667eea;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;margin-top:10px;padding:12px;width:100%}.generate-button:hover{background:#5568d3}.weeks-list{margin-bottom:20px;max-height:400px;overflow-y:auto}.week-item{align-items:center;background:#fff;border:1px solid #ddd;border-radius:6px;display:flex;gap:10px;margin-bottom:10px;padding:12px;transition:all .2s}.week-item.holiday{background:#fff3cd;border-color:#ffc107}.week-label{font-weight:500;min-width:80px}.week-item input[type=date]{border:1px solid #ddd;border-radius:4px;flex:1 1;padding:8px}.week-item input[type=date]:disabled{background:#f5f5f5;cursor:not-allowed}.holiday-toggle{background:#e0e0e0;border:none;border-radius:4px;cursor:pointer;font-size:13px;padding:8px 16px;transition:all .2s;white-space:nowrap}.holiday-toggle:hover{background:#d0d0d0}.holiday-toggle.active{background:#ffc107;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:#667eea;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:12px;width:100%}.add-week-button:hover{background:#5568d3}.week-summary{background:#f5f5f5;border-radius:6px;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:#666;display:block;font-size:14px;font-weight:500;margin-bottom:5px}.timeslot-input-group input{border:1px solid #ddd;border-radius:6px;font-size:16px;padding:12px;transition:border-color .2s,box-shadow .2s;width:100%}.timeslot-input-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea26;outline:none}.team-input-group label{color:#666;display:block;font-size:14px;font-weight:500;margin-bottom:5px}.team-input-group input{border:1px solid #ddd;border-radius:6px;font-size:16px;padding:12px;transition:border-color .2s,box-shadow .2s;width:100%}.team-input-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea26;outline:none}.review-section{background:#f5f5f5;border-radius:6px;padding:20px}.review-item{border-bottom:1px solid #ddd;margin-bottom:15px;padding-bottom:15px}.review-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.review-item strong{color:#333;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 #e0e0e0;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:#667eea;color:#fff;flex:1 1}.btn-primary:hover:not(:disabled){background:#5568d3}.btn-primary:disabled{background:#ccc;cursor:not-allowed}.btn-secondary{background:#e0e0e0;color:#333;flex:1 1}.btn-secondary:hover{background:#d0d0d0}@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 #667eea;color:#667eea;font-size:1rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem}.toggle-label{align-items:center;cursor:pointer;display:flex;font-weight:500;gap:.625rem}.toggle-label input[type=checkbox]{margin:0;width:auto}.public-page{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.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-header{background:#fffffff2;box-shadow:0 2px 10px #0000001a;padding:2rem;text-align:center}.header-content h1{color:#333;font-size:2.5rem;margin-bottom:.5rem}.season{color:#667eea;font-size:1.3rem;font-weight:600;margin:.5rem 0}.sport{color:#666;font-size:1.1rem;margin:.5rem 0}.tab-navigation{background:#ffffff1a;display:flex;gap:1rem;justify-content:center;padding:1.5rem}.tab-button{background:#ffffffe6;border:none;border-radius:25px;color:#333;cursor:pointer;font-size:1.1rem;font-weight:600;padding:.75rem 2rem;transition:all .3s}.tab-button:hover{background:#fff;transform:translateY(-2px)}.tab-button.active{background:#fff;box-shadow:0 4px 15px #0003;color:#667eea}.content-area{margin:0 auto;max-width:1200px;padding:2rem}.schedule-view{grid-gap:1.5rem;display:grid;gap:1.5rem}.week-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:1.5rem}.week-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.week-header h3{color:#667eea;font-size:1.3rem;margin:0}.week-date{color:#666;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:#f9f9f9}.game-row.played{background:#f0f7ff}.game-time{color:#667eea;font-size:.95rem;font-weight:600}.game-matchup{align-items:center;display:flex;flex:1 1;gap:1rem}.game-matchup .team{color:#333;flex:1 1;font-weight:600;min-width:0}.game-matchup .vs{color:#999;font-weight:500;padding:0 .5rem}.game-matchup .score{background:#fff;border-radius:20px;color:#667eea;font-weight:700;padding:.25rem .75rem;white-space:nowrap}.upcoming-badge{background:#fff3cd;border-radius:15px;color:#856404;font-size:.85rem;font-weight:600;padding:.25rem .75rem}.standings-view{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;overflow-x:auto;padding:1.5rem}.standings-table{border-collapse:collapse;width:100%}.standings-table thead{background:#f5f5f5}.standings-table th{border-bottom:2px solid #e0e0e0;color:#333;font-size:.9rem;font-weight:700;padding:1rem .75rem;text-align:left;text-transform:uppercase}.standings-table td{border-bottom:1px solid #f0f0f0;color:#333;padding:1rem .75rem}.standings-table tbody tr:hover{background:#f9f9f9}.standings-table tbody tr.playoff-position{background:#f0f7ff}.rank-col{color:#667eea;font-weight:700;text-align:center;width:50px}.team-col{font-weight:600;min-width:100px}.points-col{color:#667eea;font-weight:700}.standings-note{color:#666;font-size:.9rem;font-style:italic;margin-top:1rem;text-align:center}.game-matchup .team.team-pending{color:#999;font-style:italic;font-weight:500}.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{flex-direction:column;gap:.75rem;padding:1rem}.tab-button{width:100%}.content-area{padding:1rem}.game-row{gap:.5rem;grid-template-columns:1fr}.game-time{font-size:.85rem}.hide-mobile{display:none}.standings-table td,.standings-table th{font-size:.9rem;padding:.75rem .5rem}}@media (max-width:480px){.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:.95rem;padding:.6rem 1rem}.standings-table td,.standings-table th{font-size:.8rem;padding:.5rem .35rem}.rank-col{width:35px}}.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}@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}}.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:#f5f5f5;margin:0 auto;max-width:700px;min-height:100vh;padding:2rem}.contact-card{background:#fff;border-radius:12px;border-top:3px solid #667eea;box-shadow:0 1px 3px #00000014,0 4px 12px #0000000d;padding:2.5rem}.contact-card h2{color:#333;letter-spacing:-.02em;margin-bottom:.5rem}.contact-subtitle{color:#666;font-size:1rem;margin-bottom:2rem}.contact-field{margin-bottom:1.5rem}.contact-field label{color:#333;display:block;font-size:.95rem;font-weight:500;margin-bottom:.5rem}.contact-field input,.contact-field textarea{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:1rem;padding:12px;transition:border-color .2s,box-shadow .2s;width:100%}.contact-field input:disabled{background:#f5f5f5;color:#888}.contact-field input:focus,.contact-field textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea26;outline:none}.contact-field textarea{min-height:120px;resize:vertical}.contact-btn{background:linear-gradient(135deg,#667eea,#764ba2);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:#2e7d32;font-size:3rem;margin-bottom:1rem}.contact-success h3{color:#333;margin-bottom:.5rem}.contact-success p{color:#666;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:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000a;position:-webkit-sticky;position:sticky;top:0;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:#667eea;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:#555}.navbar-link,.navbar-user{font-size:.95rem;font-weight:500}.navbar-link{background:none;border:none;border-radius:6px;color:#667eea;cursor:pointer;padding:.4rem .75rem;transition:background .15s}.navbar-link:hover{background:#f0f2ff}.navbar-logout{color:#888}.navbar-logout:hover{background:#f5f5f5;color:#333}@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}}*{box-sizing:border-box;margin:0;padding:0}body,html{overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.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;text-align:center}.loading-screen h1{font-size:2.5rem;margin-bottom:.5rem}.loading-screen p{color:#888;font-size:1.1rem}.error-message{background:#ffebee;border-left:4px solid #c62828;border-radius:8px;color:#c62828;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;color:#856404}.status-badge.published{background:#d4edda;color:#155724}.status-badge.completed{background:#d1ecf1;color:#0c5460}
/*# sourceMappingURL=main.c2f7da0d.css.map*/