body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#06c;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#049}*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#333;font-family:Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;padding-top:70px;padding-top:var(--navbar-height,70px)}.App{display:flex;flex-direction:column;min-height:100vh}main{flex:1 1;padding-top:0}.container{padding:0 20px}.btn{background:linear-gradient(135deg,#1e3a8a,#1e40af);border-radius:5px;color:#fff}.btn:hover{box-shadow:0 5px 15px #1e3a8a4d;transform:translateY(-2px)}.section{padding:80px 0}.section-title{margin-bottom:20px}.section-subtitle{color:#666;font-size:1.2rem;margin-bottom:50px;text-align:center}@media (max-width:768px){.section{padding:40px 0}main{padding-top:0}.section-title{font-size:2rem}.container{padding:0 15px}}:root{--navbar-height:70px}.navbar{background:linear-gradient(135deg,#1e3a8a,#1e40af);box-shadow:0 2px 10px #0000001a;height:70px;height:var(--navbar-height);padding:1rem 0;position:fixed;top:0;width:100%;z-index:1000}.navbar-container{justify-content:space-between;margin:0 auto;max-width:1400px;min-height:50px;padding:0 20px}.navbar-container,.navbar-logo{align-items:center;display:flex}.navbar-logo{gap:12px;text-decoration:none}.navbar-icon{background:#0000;height:40px;object-fit:contain;width:40px}.logo-icon{align-items:center;display:flex;justify-content:center}.logo-text-container{align-items:flex-start;display:flex;flex-direction:column}.logo-text{font-size:1.2rem}.logo-sport,.logo-text{color:#fff;font-weight:700;line-height:1}.logo-sport{background:#0f295933;border-radius:4px;font-size:1rem;padding:2px 6px}.navbar-menu{align-items:center;display:flex;gap:2rem}.navbar-link{border-radius:5px;color:#fff;font-weight:500;padding:.5rem 1rem;position:relative;text-decoration:none;transition:all .3s ease}.navbar-link:hover{background:#ffffff1a;color:#fff}.navbar-link.active{background:#fff3;color:#fff}.navbar-toggle{cursor:pointer;display:none;flex-direction:column}.bar{background:#fff;border-radius:2px;height:3px;margin:3px 0;transition:.3s;width:25px}.bar.active:first-child{transform:rotate(-45deg) translate(-5px,6px)}.bar.active:nth-child(2){opacity:0}.bar.active:nth-child(3){transform:rotate(45deg) translate(-5px,-6px)}@media (max-width:768px){.navbar{top:0}.navbar-menu{-webkit-overflow-scrolling:touch!important;background:linear-gradient(135deg,#1e3a8a,#1e40af)!important;box-shadow:0 10px 27px #0000000d!important;flex-direction:column!important;gap:1rem!important;height:calc(100vh - 138px)!important;left:-100%!important;overflow-y:auto!important;padding:2rem 0!important;position:fixed!important;text-align:center!important;top:60px!important;transition:.3s!important;width:100%!important}.navbar-menu.active{left:0!important}.navbar-toggle{display:flex}.navbar-link{border-radius:0;flex-shrink:0;padding:1rem 2rem;width:100%}.navbar-link:hover{background:#ffffff1a}.profile-dropdown{flex-shrink:0;justify-content:center;margin-bottom:1rem;order:-1}.profile-picture-nav{border:3px solid #fff6;height:60px;width:60px}}.profile-dropdown{align-items:center;display:flex;position:relative}.profile-picture-nav{align-items:center;border:2px solid #ffffff4d;border-radius:50%;cursor:pointer;display:flex;height:40px;justify-content:center;overflow:hidden;transition:all .3s ease;width:40px}.profile-picture-nav:hover{border-color:#fff9;transform:scale(1.05)}.profile-picture-nav img{height:100%;object-fit:cover;width:100%}.profile-picture-placeholder-nav{align-items:center;background:linear-gradient(135deg,#4169e1,#1e3a8a);color:#fff;display:flex;font-size:18px;font-weight:600;height:100%;justify-content:center;width:100%}.profile-menu{animation:slideDown .2s ease-out;background:linear-gradient(135deg,#1e3a8a,#1e40af);border-radius:8px;box-shadow:0 4px 20px #00000026;margin-top:.5rem;min-width:180px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1001}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.profile-menu-item{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;justify-content:center;padding:.75rem 1rem;text-align:center;text-decoration:none;transition:background-color .2s ease;width:100%}.profile-menu-item.logout-btn:hover,.profile-menu-item:hover{background-color:#fff3}.more-dropdown{position:relative}.navbar-link.as-button{appearance:none;-webkit-appearance:none;background:none;border:none;border-radius:5px;color:#fff;cursor:pointer;font-family:inherit;font-size:inherit;font-weight:500;padding:.5rem 1rem}.navbar-link.as-button:hover{background:#ffffff1a}.more-menu{animation:slideDown .2s ease-out;background:linear-gradient(135deg,#1e3a8a,#1e40af);border-radius:8px;box-shadow:0 4px 20px #00000026;left:0;margin-top:.5rem;min-width:180px;overflow:hidden;pointer-events:auto;position:absolute;top:calc(100% + 10px);z-index:1002}.more-item{color:#fff;display:block;font-size:14px;font-weight:500;padding:.75rem 1rem;text-decoration:none;transition:background-color .2s ease}.more-item:hover{background-color:#fff3}@media (max-width:768px){.more-dropdown{width:100%}.more-menu{animation:none;background:#0000;box-shadow:none;margin-top:0;position:static}.more-item{padding:1rem 2rem}}.home{margin-top:0}.split-hero{display:flex;height:100vh;overflow:hidden}.hero-image-section{overflow:hidden;position:relative;width:60%}.hero-text-section{align-items:center;background:#af2626;display:flex;justify-content:center;padding:2rem;width:40%}.hero-content{color:#fff;max-width:500px;text-align:center}.slideshow,.slideshow-container{height:100%;position:relative;width:100%}.slide{height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .8s ease-in-out;width:100%}.slide.active{opacity:1}.slide img{height:100%;left:0;object-fit:cover;position:absolute;top:0;width:100%}.hero-title{font-size:3.3rem;font-weight:700}.highlight{color:#fff;text-shadow:2px 2px 4px #000000b3}.hero-subtitle{font-size:1.8rem;font-weight:600;margin-bottom:1rem}.hero-description{color:#fff;font-size:1.2rem;margin-bottom:2rem}.hero-buttons{justify-content:center}.btn-secondary:hover{color:#1e3a8a}.slideshow-controls{align-items:center;bottom:2rem;display:flex;gap:2rem;left:50%;position:absolute;transform:translateX(-50%);z-index:3}.control-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:2rem;height:50px;transition:all .3s ease;width:50px}.control-btn:hover{background:#ffffff4d;transform:scale(1.1)}.slide-indicators{display:flex;gap:.5rem}.indicator{background:#fff6;border-radius:50%;cursor:pointer;height:12px;transition:all .3s ease;width:12px}.indicator.active{background:#fff;transform:scale(1.2)}.indicator:hover{background:#ffffffb3}.hero{align-items:center;background:linear-gradient(#00000080,#00000080),url(https://images.unsplash.com/photo-1571019613454-1cb2f99b2d8b?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=2070&q=80);background-attachment:fixed;background-position:50%;background-size:cover;display:flex;height:100vh;position:relative}.hero-content{position:relative;width:100%;z-index:2}.hero-title{color:#fff;font-size:4rem;margin-bottom:1rem;text-shadow:2px 2px 4px #00000080}.hero-subtitle{color:#fff;font-size:1.5rem;margin-bottom:2rem;max-width:600px;text-shadow:1px 1px 2px #00000080}.hero-buttons{display:flex;flex-wrap:wrap;gap:1rem}.btn-secondary{border:2px solid #fff}.btn-secondary:hover{background:#fff;color:#333}.features-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:3rem}.feature-card{background:#fff;border-radius:10px;box-shadow:0 5px 15px #0000001a;padding:2rem;text-align:center;transition:transform .3s ease}.feature-card:hover{transform:translateY(-5px)}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{color:#1e3a8a;font-size:1.5rem;margin-bottom:1rem}.feature-card p{color:#666;line-height:1.6}.about{background:#f8f9fa}.about-content{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1fr}.about-text p{color:#555;font-size:1.1rem;margin-bottom:1.5rem}.about-image{display:flex;justify-content:center}.team-icon{border-radius:10px;height:280px;object-fit:contain;width:280px}.stats{background:linear-gradient(135deg,#1e3a8a,#1e40af)}.stats,.stats .section-title{color:#fff}.stats-grid{grid-gap:2rem;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:3rem}.stat-item{text-align:center}.stat-number{color:#fff;font-size:3rem;margin-bottom:.5rem}.stat-label{font-size:1.1rem;opacity:.9}@media (max-width:768px){.split-hero{flex-direction:column}.hero-image-section,.hero-text-section{height:50vh;width:100%}.hero-text-section{align-items:center;display:flex;justify-content:center;padding:2rem 1.5rem}.hero-content{max-width:100%;width:100%}.hero-title{font-size:2.2rem;line-height:1.2;margin-bottom:1rem}.hero-subtitle{font-size:1.1rem;margin-bottom:.75rem}.hero-description{font-size:1rem;margin-bottom:1.5rem}.hero-buttons{align-items:center;flex-direction:column;gap:.75rem}.about-content{gap:2rem;grid-template-columns:1fr}.about-text{text-align:center}.team-icon{max-width:280px;width:100%}.features-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}.admin-setup{background:#f8fafc;padding:3rem 0}.admin-setup-content{margin:0 auto;max-width:600px;text-align:center}.role-badge{display:inline-block;font-size:.875rem}.admin-note{color:#6b7280;font-size:.9rem;font-style:italic;margin-top:1rem}@media (max-width:480px){.hero-title{font-size:1.8rem;line-height:1.1}.hero-subtitle{font-size:1rem}.hero-description{font-size:.9rem}.hero-text-section{height:55vh;padding:1.5rem 1rem}.hero-image-section{height:45vh}.stats-grid{grid-template-columns:1fr}}.forum-container{background:#f8f9fa;margin-top:0;min-height:calc(100vh - 70px);padding:2rem 0}.create-post{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-bottom:2rem;padding:2rem}.create-post textarea{border:2px solid #e9ecef;border-radius:8px;font-family:inherit;font-size:16px;padding:1rem;resize:vertical;transition:border-color .3s ease;width:100%}.create-post textarea:focus{border-color:#4169e1;box-shadow:0 0 0 3px #4169e11a;outline:none}.post-actions{align-items:center;justify-content:space-between}.char-count{color:#666;font-size:14px}.posts-list{display:flex;flex-direction:column;gap:1.5rem}.post-card{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;cursor:pointer;padding:1.5rem;transition:all .3s ease}.post-card:hover{animation:pulse .6s ease-in-out;border:2px solid #4169e1;box-shadow:0 8px 25px #00000026;transform:translateY(-4px) scale(1.02)}.post-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.event-title,.workout-title{flex:1 1}.event-title h3,.workout-title h2{color:#333;font-size:1.5rem;font-weight:600;margin:0}.event-title-link,.workout-title-link{color:#4169e1;text-decoration:none;transition:color .3s ease}.event-title-link:hover,.workout-title-link:hover{color:#1e3a8a;text-decoration:underline}.post-author{gap:1rem}.author-avatar,.post-author{align-items:center;display:flex}.author-avatar{background:linear-gradient(135deg,#4169e1,#1e3a8a);color:#fff;font-size:18px;font-weight:600;height:40px;justify-content:center;width:40px}.author-info{flex-direction:column}.author-name{color:#333;font-weight:600}.post-time{color:#666;font-size:14px}.forum-tabs{border-bottom:2px solid #e9ecef;display:flex;gap:1rem;margin-bottom:2rem;padding-bottom:1rem}.tab-button{background:none;border-radius:8px;color:#666;font-size:16px;padding:.75rem 1.5rem;transition:all .3s ease}.tab-button:hover{background:#f8f9fa;color:#4169e1}.tab-button.active{background:#4169e1}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.workout-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.filter-btn{background:#fff;border:2px solid #e9ecef;border-radius:25px;color:#666;font-size:14px;padding:.75rem 1.5rem;transition:all .3s ease;white-space:nowrap}.filter-btn:hover{border-color:#4169e1;color:#4169e1;transform:translateY(-1px)}.filter-btn.active{background:#4169e1;border-color:#4169e1}.filter-btn.active:hover{background:#1e3a8a;border-color:#1e3a8a}.new-post-btn{background:#4169e1;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:background-color .3s ease}.new-post-btn:hover{background:#1e3a8a}.post-type{background:#e0e7ff;border-radius:9999px;color:#3730a3;font-size:.75rem;font-weight:500;padding:.25rem .75rem;text-transform:uppercase}.workout-post .post-type{background:#dbeafe;color:#1e40af}.event-post .post-type{background:#fef3c7;color:#92400e}.workout-title h2{font-size:1.5rem;font-weight:700;line-height:1.2;margin:.5rem 0}.workout-title-link{color:#1e40af;display:inline-block;text-decoration:none;transition:all .3s ease}.workout-title-link:hover{color:#1e3a8a;text-decoration:underline;transform:translateX(2px)}.workout-author{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin:.5rem 0;padding:.5rem 0}.workout-meta{margin:.5rem 0}.workout-signup-section{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-top:1rem;padding-top:1rem}.workout-signup-section .signup-btn{background:#1e40af;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1rem;transition:all .2s ease}.workout-signup-section .signup-btn:hover{background:#1e3a8a;transform:translateY(-1px)}.workout-signup-section .signup-btn.signed-up{background:#059669}.workout-signup-section .signup-btn.signed-up:hover{background:#047857}.signup-count{display:flex;flex-direction:column;font-size:.9rem;font-weight:500;gap:.25rem}.signup-main{font-weight:600}.signup-details{display:flex;flex-direction:column;font-size:.8rem;gap:.25rem}@media (max-width:768px){.waitlist-position{clear:both;color:#d97706;display:block;font-size:.9rem;font-weight:500;margin-top:.75rem;order:999;text-align:left;width:100%}.workout-signup-section{align-items:flex-start;display:flex;flex-direction:row;gap:1rem}.signup-count{flex:1 1;margin-bottom:0}}.workout-signup-section .signup-btn.full{background:#6b7280;cursor:not-allowed}.workout-signup-section .signup-btn.full:hover{background:#6b7280;transform:none}.workout-signup-section .signup-btn:disabled{cursor:not-allowed;opacity:.6}.capacity-status{font-size:.8rem;font-weight:600}.capacity-status.full{color:#dc2626}.capacity-status.available{color:#059669}.workout-signup-section .waitlist-btn{background:#f59e0b;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1rem;transition:all .2s ease}.workout-signup-section .waitlist-btn:hover{background:#d97706;transform:translateY(-1px)}.workout-signup-section .waitlist-btn.on-waitlist{background:#dc2626}.workout-signup-section .waitlist-btn.on-waitlist:hover{background:#b91c1c}.waitlist-count{color:#f59e0b;font-size:.8rem;font-weight:600}.workout-signup-section .cancel-btn{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1rem;transition:all .2s ease}.workout-signup-section .cancel-btn:hover{background:#b91c1c;transform:translateY(-1px)}.cancel-modal{max-width:500px}.cancel-warning{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;margin:1rem 0;padding:1rem}.cancel-warning p{color:#92400e;line-height:1.5;margin:.5rem 0}.cancel-warning strong{color:#78350f}.btn-danger,.btn-secondary{border:none;border-radius:6px;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.promotion-message{animation:slideInRight .5s ease-out;position:fixed;right:20px;top:20px;z-index:1000}.promotion-content{background:linear-gradient(135deg,#10b981,#059669);border-radius:12px;box-shadow:0 10px 25px #10b9814d;color:#fff;max-width:400px;padding:1.5rem;position:relative}.promotion-content h3{font-size:1.5rem;font-weight:700;margin:0 0 1rem}.promotion-content p{font-size:1rem;line-height:1.5;margin:.5rem 0}.promotion-content strong{color:#fef3c7}.promotion-close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:14px;height:24px;justify-content:center;position:absolute;right:.5rem;top:.5rem;transition:background .2s ease;width:24px}.promotion-close-btn:hover{background:#ffffff4d}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.button-group .waitlist-position{font-size:.9rem;margin-left:.5rem}.event-title h3{font-size:1.25rem;font-weight:600;line-height:1.2;margin:.5rem 0}.event-title-link{color:#92400e;text-decoration:none;transition:color .3s ease}.event-title-link:hover{color:#78350f;text-decoration:underline}.event-author{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:.5rem 0}.event-author,.event-meta{margin:.5rem 0}.post-footer{border-top:1px solid #e9ecef;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:1rem;padding-top:1rem}.comment-btn,.signup-btn{background:#fff;border:1px solid #4169e1;border-radius:6px;color:#4169e1;cursor:pointer;font-size:14px;padding:.5rem 1rem;transition:all .3s ease}.comment-btn:hover,.signup-btn:hover{background:#4169e1;color:#fff}.rsvp-buttons{gap:.5rem;justify-content:center;width:100%}.rsvp-btn{border-radius:6px;font-size:14px;padding:.5rem 1rem}.rsvp-btn:hover{opacity:.8;transform:translateY(-1px)}.rsvp-btn.active{box-shadow:0 4px 8px #0003;transform:scale(1.05)}@media (max-width:768px){.rsvp-buttons{align-items:center;flex-direction:column}.rsvp-btn{max-width:200px;width:100%}}.form-group textarea{border:2px solid #e9ecef;border-radius:8px;font-family:inherit;font-size:16px;padding:1rem;transition:border-color .3s ease;width:100%}.form-group textarea:focus{border-color:#4169e1;box-shadow:0 0 0 3px #4169e11a;outline:none}.form-group input[type=date],.form-group input[type=text],.form-group select{border:2px solid #e9ecef;border-radius:8px;font-family:inherit;font-size:16px;padding:.75rem;transition:border-color .3s ease;width:100%}.form-group input[type=date]:focus,.form-group input[type=text]:focus,.form-group select:focus{border-color:#4169e1;box-shadow:0 0 0 3px #4169e11a;outline:none}.form-group select{background:#fff;cursor:pointer}.btn-primary:hover{background:#1e3a8a}.btn-secondary:hover{background:#545b62}.post-content{color:#333;font-size:16px;line-height:1.6;margin-bottom:1rem}.post-preview{background:#f8f9fa;border-left:3px solid #4169e1;border-radius:6px;margin:1rem 0;padding:.75rem}.preview-text{align-items:center;color:#6b7280;display:flex;font-size:14px;font-style:italic;gap:.5rem}.preview-text:before{content:"ℹ️";font-size:16px}.post-footer{display:flex;justify-content:flex-end}.like-btn{background:none;border:1px solid #e9ecef;border-radius:20px;cursor:pointer;font-size:14px;padding:.5rem 1rem;transition:all .3s ease}.like-btn:hover{background:#4169e1;border-color:#4169e1;color:#fff}.no-posts{color:#666;padding:3rem;text-align:center}.loading{align-items:center;color:#4169e1;display:flex;font-size:1.2rem;height:calc(100vh - 70px);justify-content:center}.delete-btn{font-size:14px;transition:all .3s ease}.delete-btn:hover{background:#c82333}.post-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}@media (max-width:768px){.forum-container{padding:1rem 0}.create-post{padding:1.5rem}.post-card{padding:1rem}.post-actions{align-items:stretch;flex-direction:column;gap:1rem}.btn{width:100%}}.delete-btn{background:#dc3545}.delete-btn:hover:not(:disabled){background:#c82333}.form-textarea{min-height:90px}.workout-content{margin:1rem 0}.schedule-container{background:#f8f9fa;margin-top:0;min-height:calc(100vh - 70px);padding:2rem 0}.season-tabs{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.season-tab{background:#fff;border:2px solid #1e3a8a;border-radius:8px;color:#1e3a8a;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.season-tab:hover{background:#f0f4ff;transform:translateY(-2px)}.season-tab.active{background:#1e3a8a;box-shadow:0 4px 12px #1e3a8a4d;color:#fff}.date-selector{align-items:center;background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;display:flex;gap:1rem;margin-bottom:2rem;padding:1.5rem}.date-selector label{color:#333;font-size:1.1rem;font-weight:600}.date-selector input{border:2px solid #e9ecef;border-radius:8px;font-size:16px;padding:.75rem 1rem;transition:border-color .3s ease}.date-selector input:focus{border-color:#4169e1;box-shadow:0 0 0 3px #4169e11a;outline:none}.workouts-list{display:flex;flex-direction:column;gap:1.5rem}.workout-card{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:1.5rem;transition:transform .2s ease}.workout-card:hover{transform:translateY(-2px)}.workout-card.demo{background:#f8f9ff;border:2px dashed #1e3a8a}.workout-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.workout-time{display:flex;flex-direction:column;gap:.25rem}.time{color:#1e3a8a;font-size:1.5rem;font-weight:700}.duration{color:#666;font-size:.9rem}.type-badge{border-radius:20px;font-size:.9rem;font-weight:600;padding:.5rem 1rem;text-transform:uppercase}.type-badge.swim{background:#e3f2fd;color:#1976d2}.type-badge.bike{background:#e8f5e8;color:#388e3c}.type-badge.run{background:#fff3e0;color:#f57c00}.type-badge.brick{background:#fce4ec;color:#c2185b}.workout-details h3{color:#333;font-size:1.3rem;margin-bottom:.5rem}.workout-details p{color:#666;line-height:1.6;margin-bottom:1rem}.workout-info{color:#666;display:flex;font-size:.9rem;gap:1.5rem}.workout-actions{display:flex;justify-content:flex-end;margin-top:1.5rem}.signup-btn{font-size:1rem;padding:.75rem 1.5rem}.signup-btn:not(.disabled):not(.signed-up){background:linear-gradient(135deg,#1e3a8a,#1e40af);color:#fff}.signup-btn:hover:not(.disabled){box-shadow:0 5px 15px #1e3a8a4d;transform:translateY(-2px)}.signup-btn.signed-up{background:#28a745;color:#fff}.signup-btn.disabled{background:#e9ecef;color:#666;cursor:not-allowed}.no-workouts{color:#666;padding:3rem;text-align:center}.demo-workouts{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-top:2rem;padding:2rem}.demo-workouts h3{color:#1e3a8a;margin-bottom:1rem}.demo-workouts p{color:#666;margin-bottom:1.5rem}.season-schedule{margin-top:1.5rem}.season-schedule h4{color:#1e3a8a;font-size:1.3rem;margin-bottom:1.5rem;text-align:center}.schedule-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(7,1fr);margin-bottom:1.5rem}.schedule-day{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1rem;text-align:center}.schedule-day h5{color:#1e3a8a;font-size:1rem;font-weight:600;margin-bottom:1rem}.workout-item{border-radius:6px;color:#fff;font-size:.85rem;font-weight:500;margin-bottom:.5rem;padding:.5rem}.workout-item.swim{background:#1976d2}.workout-item.bike{background:#388e3c}.workout-item.run{background:#f57c00}.workout-item.brick{background:#c2185b}.workout-item.long{background:#7b1fa2}.workout-item.recovery{background:#757575}.workout-note{background:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;color:#856404;font-size:.75rem;font-style:italic;margin-top:.25rem;padding:.25rem .5rem}@media (max-width:768px){.schedule-container{padding:1rem 0}.season-tabs{flex-wrap:wrap;gap:.5rem}.season-tab{flex:1 1;min-width:100px}.schedule-grid{gap:.5rem;grid-template-columns:repeat(2,1fr)}.date-selector{align-items:stretch;flex-direction:column;gap:.5rem}.workout-header{align-items:flex-start;flex-direction:column;gap:1rem}.workout-info{flex-direction:column;gap:.5rem}.workout-actions{justify-content:center}.signup-btn{width:100%}}@media (max-width:480px){.schedule-grid{grid-template-columns:1fr}.season-tabs{flex-direction:column}.season-tab{width:100%}}.welcome-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-top:2rem;padding:2.5rem}.welcome-section .section-subtitle{color:#1e3a8a;font-size:2rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.welcome-intro{color:#374151;font-size:1.1rem;line-height:1.6;margin-left:auto;margin-right:auto;max-width:800px}.welcome-intro,.workout-overview h3{margin-bottom:2rem;text-align:center}.workout-overview h3{color:#1e3a8a;font-size:1.3rem;font-weight:600}.workout-type{background:#f8fafc;border-left:4px solid #1e40af;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.workout-type h4{color:#1e3a8a;font-size:1.4rem;font-weight:600;margin-bottom:1rem}.workout-type p{color:#374151;line-height:1.6;margin-bottom:.75rem}.workout-type p:last-child{margin-bottom:0}.run-details{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:1rem}@media (max-width:768px){.run-details{gap:1rem;grid-template-columns:1fr}.run-type{word-wrap:break-word;box-sizing:border-box;overflow-wrap:break-word;width:100%}.workout-type{word-wrap:break-word;overflow:hidden}}.run-type{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:1rem}.run-type h5{color:#1e3a8a;font-size:1.1rem;font-weight:600;margin-bottom:.75rem}.run-type p{color:#374151;font-size:.95rem;line-height:1.5;margin-bottom:.5rem}.run-type p:last-child{margin-bottom:0}.join-us-container{background:#f8fafc;margin-top:0;min-height:calc(100vh - 70px);padding:2rem 0 1.5rem}.section-title{margin-bottom:1.5rem}.section-navigation{background:#fff;border-radius:12px;box-shadow:0 2px 6px #0000001a;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-bottom:2rem;padding:1rem}.nav-link{border:2px solid #0000;border-radius:8px;color:#1e3a8a;font-size:1rem;font-weight:600;padding:.5rem 1rem;text-decoration:none;transition:all .3s ease}.nav-link:hover{background:#f8fafc;border-color:#1e3a8a;transform:translateY(-2px)}.nav-link:active{background:#1e3a8a;color:#fff}.section-subtitle{font-size:1.6rem;margin-bottom:1rem}.goal-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:1.5rem;padding:2rem;scroll-margin-top:80px;text-align:center}.goal-title{color:#1e3a8a;font-size:1.8rem;font-weight:600;margin-bottom:1rem}.goal-text{color:#374151;font-size:1.1rem;line-height:1.6;margin:0 auto;max-width:800px}.who-can-join-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:1.5rem;padding:2rem;scroll-margin-top:80px}.membership-info p{color:#374151;font-size:1.1rem;line-height:1.7;margin-bottom:2rem}.athlete-types h3{color:#1e3a8a;font-size:1.6rem;font-weight:600;margin-bottom:1rem}.athlete-types>p{color:#6b7280;font-size:1rem;margin-bottom:2rem}.athlete-category{background:#f8fafc;border-left:4px solid #1e40af;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.athlete-category h4{color:#1e3a8a;font-size:1.3rem;font-weight:600;margin-bottom:.75rem}.athlete-category p{color:#374151;line-height:1.6;margin:0}.beginner-note{background:#fef3c7;border-left:4px solid #f59e0b;border-radius:8px;padding:1.5rem}.beginner-note h4{color:#92400e;font-size:1.3rem;font-weight:600;margin-bottom:.75rem}.beginner-note p{color:#78350f;line-height:1.6;margin:0}.charter-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:2rem;padding:2rem;scroll-margin-top:80px}.charter-notice{background:#fef3c7;border-left:4px solid #f59e0b;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.charter-notice p{color:#78350f;font-size:1.1rem;font-weight:600;margin:0}.charter-content h3{color:#1e3a8a;font-size:1.8rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.charter-content h4{border-bottom:2px solid #e5e7eb;color:#1e3a8a;font-size:1.4rem;font-weight:600;margin:2rem 0 1rem;padding-bottom:.5rem}.charter-content h5{color:#1e3a8a;font-size:1.2rem;font-weight:600;margin:1.5rem 0 .75rem}.charter-content p{color:#374151;font-size:1rem;line-height:1.7;margin-bottom:1rem}.charter-content ul{margin:1rem 0 1.5rem 1.5rem}.charter-content li{color:#374151;font-size:1rem;line-height:1.6;margin-bottom:.75rem}.charter-content a{color:#1e40af;font-weight:500;text-decoration:none}.charter-content a:hover{text-decoration:underline}.joining-instructions-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:2rem;padding:2rem;scroll-margin-top:80px}.step-container{display:flex;flex-direction:column;gap:2rem}.step{align-items:flex-start;display:flex;gap:1.5rem}.step-number{align-items:center;background:#1e3a8a;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.2rem;font-weight:700;height:40px;justify-content:center;width:40px}.step-content h3{color:#1e3a8a;font-size:1.4rem;font-weight:600;margin-bottom:.75rem}.step-content p{color:#374151;line-height:1.6;margin-bottom:1rem}.step-content a{color:#1e40af;font-weight:500;text-decoration:none}.step-content a:hover{text-decoration:underline}.packages-info{background:#f8fafc;border-radius:8px;margin-top:1rem;padding:1.5rem}.packages-info h4{color:#1e3a8a;font-size:1.2rem;font-weight:600;margin-bottom:1rem}.packages-info ul{list-style:none;margin-bottom:1.5rem;padding:0}.packages-info li{border-bottom:1px solid #e5e7eb;color:#374151;padding:.5rem 0}.packages-info li:last-child{border-bottom:none}.fees-section{margin-bottom:1.5rem}.fees-section h4{color:#1e3a8a;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.fees-section p{color:#6b7280;font-size:.9rem;font-style:italic;margin-bottom:1rem}.fee-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.fee-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:flex;justify-content:space-between;padding:.75rem}.fee-name{color:#374151;font-weight:600}.fee-amount{color:#1e3a8a;font-weight:600}.registration-info{background:#dbeafe;border-left:4px solid #1e40af;border-radius:8px;padding:1.5rem}.registration-info h4{color:#1e3a8a;font-size:1.1rem;font-weight:600;margin-bottom:.75rem}.registration-info p{margin-bottom:1rem}.discount-info{background:#fff;border-radius:6px;margin-top:1rem;padding:1rem}.discount-info p{margin-bottom:.5rem}.discount-info ul{list-style:none;margin-bottom:1rem;padding:0}.discount-info li{color:#374151;padding:.25rem 0}.discount-info code{background:#f3f4f6;border-radius:4px;color:#1e3a8a;font-family:monospace;font-weight:600;padding:.25rem .5rem}.cta-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:3rem;text-align:center}.cta-section h2{color:#1e3a8a;font-size:2.5rem;font-weight:600;margin-bottom:1rem}.cta-section p{color:#6b7280;font-size:1.2rem;margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:600px}.cta-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.btn-primary{background:linear-gradient(135deg,#1e3a8a,#1e40af)}.btn-primary:hover{background:linear-gradient(135deg,#1e40af,#1e3a8a);box-shadow:0 4px 12px #1e3a8a66}.btn-secondary{background:#0000;border:2px solid #1e3a8a;color:#1e3a8a}.btn-secondary:hover{background:#1e3a8a;color:#fff;transform:translateY(-2px)}@media (max-width:768px){.container{padding:0 1rem}.section-title{font-size:2.5rem}.cta-section,.goal-section,.joining-instructions-section,.who-can-join-section{padding:1.5rem}.step{flex-direction:column;gap:1rem}.step-number{align-self:center}.fee-grid{grid-template-columns:1fr}.cta-buttons{align-items:center;flex-direction:column}.btn{max-width:300px;text-align:center;width:100%}}.races-container{background:#f8fafc;margin:0 auto;margin:0;max-width:1200px;max-width:none;min-height:100vh;padding:2rem;padding:0;width:100%}.races-content{margin:0 auto;max-width:1200px;padding:2rem}.races-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem;margin-top:1rem;position:relative;z-index:10}.races-header h1{color:#1f2937;font-size:2.5rem;font-weight:700;line-height:1.2;margin:0;position:relative;z-index:11}.view-toggle{background:#fff;border-radius:8px;box-shadow:0 1px 3px 0 #0000001a;display:flex;min-width:320px;overflow:hidden;position:relative;z-index:11}.toggle-btn{background:#0000;color:#6b7280;flex:1 1;font-weight:500;padding:.75rem 1.5rem;text-align:center;transition:all .2s ease}.toggle-btn:hover{background:#f3f4f6;color:#374151}.toggle-btn.active{background:#60a5fa;color:#fff}.add-race-btn{background:#10b981;border:none;border-radius:8px;box-shadow:0 1px 3px 0 #0000001a;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.add-race-btn:hover{background:#059669;box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-1px)}.filter-section{display:flex;justify-content:flex-start;margin-bottom:1.5rem}.filter-toggle{background:#fff;border-radius:8px;box-shadow:0 1px 3px 0 #0000001a;display:flex;gap:.5rem;padding:.5rem;position:relative;z-index:11}.filter-btn{background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.filter-btn:hover{background:#f3f4f6;color:#374151}.filter-btn.active{background:#10b981;color:#fff}.races-list{display:flex;flex-direction:column;gap:1.5rem}.race-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px 0 #0000001a;cursor:pointer;margin-bottom:1rem;padding:1rem;transition:all .3s ease}.race-card:hover{animation:pulse .6s ease-in-out;border:2px solid #4169e1;box-shadow:0 8px 25px #00000026;transform:translateY(-4px) scale(1.02)}@keyframes pulse{0%{box-shadow:0 8px 25px #00000026}50%{box-shadow:0 8px 25px #4169e14d}to{box-shadow:0 8px 25px #00000026}}.race-header{background:none!important;border:none!important;box-shadow:none!important;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:.75rem;padding:0!important}.race-header,.race-main{align-items:flex-start;display:flex}.race-main{flex:1 1;flex-direction:column;text-align:left}.race-name{color:#1f2937;font-size:1.75rem;font-weight:700;margin:0;text-align:left}.race-meta{color:#6b7280;font-size:.95rem;margin-top:.25rem;text-align:left}.race-location{color:#6b7280;font-size:.9rem;font-weight:500;margin:.5rem 0 0}.race-card:hover .race-title h3{background:none!important;border:none!important;box-shadow:none!important;color:#4169e1;padding:0!important;text-decoration:underline;transform:translateX(2px)}.race-card .race-title h3,.race-card .race-title h3:active,.race-card .race-title h3:focus,.race-card .race-title h3:hover{background:none!important;border:none!important;box-shadow:none!important;margin:0!important;outline:none!important;padding:0!important}.race-card .race-header,.race-card .race-header:active,.race-card .race-header:focus,.race-card .race-header:hover{background:none!important;border:none!important;box-shadow:none!important;outline:none!important;padding:0!important}.race-date-info{display:none}.race-date{border-radius:15px;font-size:.8rem;font-weight:500;padding:.375rem .75rem;white-space:nowrap}.race-countdown{background:#10b981;border-radius:12px;color:#fff;font-size:.7rem;font-weight:600;letter-spacing:.5px;padding:.2rem .6rem;text-transform:uppercase;white-space:nowrap}.race-countdown.inline{display:inline-block;margin-top:.25rem}.race-details{margin-bottom:1rem}.race-details p{color:#4b5563;font-size:.9rem;line-height:1.4;margin:.25rem 0}.race-details a{color:#3b82f6;text-decoration:none}.race-details a:hover{text-decoration:underline}.race-footer{align-items:center;border-top:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;padding-top:.75rem}.signup-info{display:flex;flex-direction:column;gap:.25rem}.signup-count{color:#6b7280;font-size:.875rem}.signup-status{font-size:.875rem;font-weight:500}.race-actions{display:flex;gap:.5rem}.cancel-btn,.signup-btn{border-radius:6px;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.signup-btn:hover{background:#059669}.cancel-btn:hover{background:#dc2626}.race-actions-top{display:flex;gap:.5rem}.delete-btn{background:#dc2626;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.delete-btn:hover{background:#b91c1c;transform:translateY(-1px)}.races-calendar{background:#fff;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;padding:2rem}.month-section{margin-bottom:2rem}.month-header{border-bottom:2px solid #e5e7eb;color:#1f2937;font-size:1.5rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem}.month-races{display:flex;flex-direction:column;gap:1rem}.calendar-race{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:1rem;padding:1rem}.calendar-race-date{align-items:center;background:#3b82f6;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.125rem;font-weight:600;height:50px;justify-content:center;width:50px}.calendar-race-info{flex:1 1}.calendar-race-info h4{color:#1f2937;font-size:1.125rem;margin:0 0 .25rem}.calendar-race-info p{color:#6b7280;font-size:.875rem;margin:0 0 .25rem}.calendar-countdown{background:#10b981;border-radius:10px;color:#fff;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin:.25rem 0;padding:.25rem .5rem;text-transform:uppercase}.calendar-race-actions{flex-shrink:0}.cancel-btn.small,.signup-btn.small{border-radius:6px;font-size:.875rem;min-width:80px;padding:.5rem 1rem}.modal{max-width:600px}.form-group label{color:#374151}.form-group input,.form-group textarea{border:1px solid #d1d5db;border-radius:6px;font-size:1rem;transition:border-color .2s ease}.form-group input:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{min-height:80px}.btn{font-size:1rem}.btn-primary:hover{background:#1d4ed8}.loading{font-size:1.125rem}.loading,.no-races{color:#6b7280;padding:3rem;text-align:center}.no-races p{font-size:1.125rem;margin:.5rem 0}.races-container{margin-top:0}@media (max-width:768px){.races-header{align-items:stretch;flex-direction:column;text-align:center}.view-toggle{justify-content:center}.race-header{align-items:flex-start;flex-direction:column}.race-footer{align-items:stretch;flex-direction:column}.race-actions{justify-content:center}.calendar-race{flex-direction:column;text-align:center}.calendar-race-actions{align-self:center}.modal{margin:1rem;padding:1.5rem}}.coaches-exec-container{background:#f8fafc;margin-top:0;min-height:calc(100vh - 70px);min-height:calc(100vh - var(--navbar-height, 70px));padding:2rem 0}.section-title{color:#1e3a8a;font-size:2.5rem;font-weight:700;margin-bottom:2rem;text-align:center}.section-subtitle{color:#1e3a8a;font-size:1.8rem;font-weight:600;margin-bottom:1.5rem}.coaches-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:2rem;padding:2rem}.coaches-grid{align-items:stretch;display:flex;flex-wrap:wrap;gap:2rem}.coach-card-link{color:inherit;display:block;flex:1 1;min-width:250px;text-decoration:none}.coach-card{background:#f8fafc;border-left:4px solid #1e40af;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;height:100%;justify-content:space-between;min-height:350px;padding:1.5rem;text-align:center;transition:all .3s ease}.coach-card:hover{border-left-color:#3b82f6;box-shadow:0 10px 25px -3px #0003;transform:scale(1.05)}.coach-avatar{flex-direction:column;gap:.5rem;margin-bottom:1rem}.coach-avatar,.coach-photo{align-items:center;display:flex}.coach-photo{background:#e5e7eb;border:3px solid #1e40af;border-radius:50%;height:70px;justify-content:center;overflow:hidden;width:70px}.coach-photo img{border-radius:50%;height:100%;object-fit:cover;width:100%}.photo-placeholder{color:#6b7280;font-size:.8rem;font-weight:500}.coach-emoji{font-size:1.5rem}.coach-card h3{color:#1e3a8a;font-size:1.2rem;font-weight:600;margin-bottom:.5rem}.coach-name{color:#6b7280;font-style:italic;margin-bottom:1rem}.profile-link{color:#1e40af;font-weight:500;text-decoration:none;transition:color .2s ease}.profile-link:hover{color:#1e3a8a;text-decoration:underline}.coach-bio{color:#374151;font-size:.95rem;height:80px;line-height:1.6;margin-bottom:1rem;overflow:hidden;text-align:left}.coach-contact{border-top:1px solid #e5e7eb;margin-top:auto;padding-top:1rem}.coach-contact p{color:#374151;font-size:.9rem;margin-bottom:.25rem}.exec-team-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:2rem;padding:2rem}.exec-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}.exec-card-link{color:inherit;display:block;text-decoration:none}.exec-card{background:#f8fafc;border-left:4px solid #1e40af;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;height:100%;justify-content:space-between;min-height:350px;padding:1.5rem;text-align:center;transition:all .3s ease}.exec-card:hover{border-left-color:#3b82f6;box-shadow:0 10px 25px -3px #0003;transform:scale(1.05)}.exec-avatar{flex-direction:column;gap:.5rem;margin-bottom:1rem}.exec-avatar,.exec-photo{align-items:center;display:flex}.exec-photo{background:#e5e7eb;border:3px solid #1e40af;border-radius:50%;height:70px;justify-content:center;overflow:hidden;width:70px}.exec-photo img{border-radius:50%;height:100%;object-fit:cover;width:100%}.exec-emoji{font-size:1.5rem}.exec-card h3{color:#1e3a8a;font-size:1.2rem;font-weight:600;margin-bottom:.5rem}.exec-name{color:#6b7280;font-style:italic;margin-bottom:1rem}.exec-bio{color:#374151;font-size:.9rem;height:60px;line-height:1.5;overflow:hidden;text-align:left}.contact-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:2rem;text-align:center}.contact-info{color:#374151;font-size:1rem;line-height:1.6;margin-bottom:1rem}.contact-info a{color:#1e40af;font-weight:500;text-decoration:none}.contact-info a:hover{text-decoration:underline}@media (max-width:1024px) and (min-width:769px){.exec-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.container{padding:0 1rem}.coaches-grid{flex-direction:column;gap:1rem}.exec-grid{gap:1rem;grid-template-columns:1fr}.coach-card-link{min-width:0;min-width:auto;width:100%}.exec-card-link{width:100%}.coaches-section,.contact-section,.exec-team-section{margin-bottom:1.5rem;padding:1.5rem}.section-title{font-size:2rem;margin-bottom:1.5rem}.section-subtitle{font-size:1.5rem;margin-bottom:1rem}.coach-card,.exec-card{margin-bottom:0;padding:1rem}.coach-photo,.exec-photo{height:60px;margin-bottom:.5rem;width:60px}.coach-emoji,.exec-emoji{font-size:1.5rem}.coach-card h3,.exec-card h3{font-size:1.2rem;margin-bottom:.25rem}.coach-name,.exec-name{font-size:.9rem;margin-bottom:.75rem}.coach-bio,.exec-bio{font-size:.85rem;line-height:1.4}.coach-contact{margin-top:.5rem;padding-top:.5rem}.coach-contact p{font-size:.8rem}}@media (max-width:480px){.container{padding:0 .5rem}.coaches-section,.contact-section,.exec-team-section{padding:1rem}.section-title{font-size:1.75rem}.section-subtitle{font-size:1.25rem}.coach-card,.exec-card{padding:.75rem}.coach-photo,.exec-photo{height:50px;width:50px}.coach-emoji,.exec-emoji{font-size:1.25rem}.coach-card h3,.exec-card h3{font-size:1.1rem}.coach-name,.exec-name{font-size:.85rem}.coach-bio,.exec-bio{font-size:.8rem}.coach-contact{margin-top:.5rem;padding-top:.5rem}.coach-contact p{font-size:.75rem}}.error-state,.loading-state{padding:4rem 2rem;text-align:center}.error-state h2{color:#dc2626;font-size:1.5rem;margin-bottom:1rem}.error-state p{color:#6b7280;margin-bottom:2rem}.error-state button{background:#1e40af;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:background-color .2s ease}.error-state button:hover{background:#1e3a8a}.edit-button{align-items:center;background:#6c757d;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:14px;height:30px;justify-content:center;opacity:.8;position:absolute;right:10px;top:10px;transition:all .2s ease;width:30px;z-index:10}.edit-button:hover{background:#5a6268;opacity:1;transform:scale(1.1)}.coach-card-container,.exec-card-container{position:relative}.edit-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.edit-modal{background:#fff;border-radius:10px;box-shadow:0 10px 30px #0000004d;max-height:80vh;max-width:500px;overflow-y:auto;width:90%}.edit-modal-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:1.5rem}.edit-modal-header h3{color:#333;margin:0}.close-button{color:#6c757d}.close-button:hover{color:#333}.edit-modal-body{padding:1.5rem}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:5px;font-family:inherit;font-size:14px;padding:.75rem;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea33;outline:none}.form-group textarea{min-height:100px;resize:vertical}.edit-modal-footer{border-top:1px solid #e9ecef;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem}.cancel-button,.save-button{border:none;border-radius:5px;cursor:pointer;font-size:14px;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.cancel-button{background:#6c757d;color:#fff}.cancel-button:hover{background:#5a6268}.save-button{background:#667eea;color:#fff}.save-button:hover:not(:disabled){background:#5a6fd8}.save-button:disabled{background:#ccc;cursor:not-allowed}.admin-container{background:#f8fafc;margin:0 auto;max-width:1200px;min-height:100vh;padding:2rem}.admin-header{background:linear-gradient(135deg,#1e40af,#3b82f6);border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;color:#fff;margin-bottom:2rem;padding:2rem;text-align:center}.admin-header h1{font-size:2.5rem;font-weight:700;margin:0 0 .5rem}.admin-header p{font-size:1.1rem;margin:0;opacity:.9}.admin-tabs{background:#fff;border-radius:8px;box-shadow:0 1px 3px 0 #0000001a;display:flex;gap:.5rem;margin-bottom:2rem;padding:.5rem}.tab-button{background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;flex:1 1;font-weight:500;padding:.75rem 1rem;transition:all .2s ease}.tab-button:hover{background:#f3f4f6;color:#374151}.tab-button.active{background:#1e40af;color:#fff}.admin-content{background:#fff;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;overflow:hidden}.overview-section{padding:2rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.stat-card{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;text-align:center}.stat-card h3{color:#374151;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin:0 0 .5rem;text-transform:uppercase}.stat-number{color:#1e40af;font-size:2.5rem;font-weight:700;margin:0 0 .25rem}.stat-label{color:#6b7280;font-size:.875rem;margin:0}.quick-actions{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem}.quick-actions h3{color:#374151;margin:0 0 1rem}.action-buttons{display:flex;flex-wrap:wrap;gap:1rem}.action-btn{border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.action-btn.primary{background:#1e40af;color:#fff}.action-btn.primary:hover{background:#1e3a8a}.action-btn.secondary{background:#6b7280;color:#fff}.action-btn.secondary:hover{background:#4b5563}.action-btn.small{font-size:.75rem;padding:.5rem 1rem}.action-btn.danger{background:#dc2626;color:#fff}.action-btn.danger:hover{background:#b91c1c}.admin-warning{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.admin-warning p{color:#92400e;font-size:.9rem;margin:0}.members-section{padding:2rem}.members-section h2{color:#374151;margin:0 0 1.5rem}.members-table{overflow-x:auto}.members-table table{background:#fff;border-collapse:collapse;width:100%}.members-table td,.members-table th{border-bottom:1px solid #e5e7eb;padding:.75rem;text-align:left}.members-table td:nth-child(4),.members-table th:nth-child(4){max-width:180px;min-width:140px}.members-table th{background:#f9fafb;color:#374151;font-size:.875rem;font-weight:600}.members-table td{color:#6b7280}.status-badge{border-radius:9999px;font-size:.75rem;font-weight:500;padding:.25rem .75rem;text-transform:capitalize}.status-approved{background:#d1fae5;color:#065f46}.status-pending{background:#fef3c7;color:#92400e}.status-rejected{background:#fee2e2;color:#991b1b}.role-badge{background:#e0e7ff;border-radius:9999px;color:#3730a3;font-size:.75rem;font-weight:500;padding:.25rem .75rem;text-transform:capitalize}.role-badge.pending{background:#fef3c7;color:#92400e}.role-badge.member{background:#dbeafe;color:#1e40af}.role-badge.exec{background:#e0e7ff;color:#3730a3}.role-badge.administrator{background:#fce7f3;color:#be185d}.absence-count{border-radius:4px;display:inline-block;font-size:.875rem;font-weight:600;min-width:2rem;padding:.25rem .5rem;text-align:center}.absence-count.no-absences{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.absence-count.has-absences{background:#fef3c7;border:1px solid #fde68a;color:#92400e}.charter-status{border-radius:4px;display:inline-block;font-size:.875rem;font-weight:600;min-width:3rem;padding:.25rem .5rem;text-align:center}.charter-status.accepted{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.charter-status.not-accepted{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.modal{max-height:90vh}.modal h2{color:#1e40af;margin-bottom:1.5rem}.modal .form-group{margin-bottom:1rem}.modal label{color:#374151;display:block;font-weight:500;margin-bottom:.5rem}.modal input,.modal select{border:1px solid #d1d5db;border-radius:6px;font-size:1rem;padding:.75rem;width:100%}.modal-actions .btn{border:none;border-radius:6px;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background-color .2s}.modal-actions .btn-primary{background:#1e40af;color:#fff}.modal-actions .btn-primary:hover{background:#1e3a8a}.modal-actions .btn-secondary{background:#6b7280;color:#fff}.modal-actions .btn-secondary:hover{background:#4b5563}.pending-section{padding:2rem}.pending-section h2{color:#374151;margin:0 0 1.5rem}.no-pending{color:#6b7280;font-style:italic;padding:2rem;text-align:center}.pending-grid{grid-gap:1.5rem;display:grid;gap:1.5rem}.pending-card{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:1.5rem}.member-info h3{color:#374151;margin:0 0 .5rem}.member-info p{color:#6b7280;font-size:.875rem;margin:.25rem 0}.approval-actions{display:flex;gap:.75rem}.approve-btn{background:#059669;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:background .2s ease}.approve-btn:hover{background:#047857}.reject-btn{background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:background .2s ease}.reject-btn:hover{background:#b91c1c}.activity-section{padding:2rem}.activity-section h2{color:#374151;margin:0 0 1.5rem}.activity-table{overflow-x:auto}.activity-table table{background:#fff;border-collapse:collapse;width:100%}.activity-table td,.activity-table th{border-bottom:1px solid #e5e7eb;padding:.75rem;text-align:left}.activity-table th{background:#f9fafb;color:#374151;font-size:.875rem;font-weight:600}.activity-table td{color:#6b7280}.admin-access-denied{background:#fff;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;padding:4rem 2rem;text-align:center}.admin-access-denied h2{color:#dc2626;margin-bottom:1rem}.admin-access-denied p{color:#6b7280;margin-bottom:.5rem}@media (max-width:768px){.admin-container{padding:1rem}.admin-tabs{flex-direction:column}.stats-grid{grid-template-columns:1fr}.pending-card{flex-direction:column;gap:1rem;text-align:center}.action-buttons,.approval-actions{justify-content:center}.checkbox-group{gap:.5rem}.checkbox-label{padding:.25rem}}.login-container{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);display:flex;justify-content:center;margin-top:0;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0000001a;max-width:400px;padding:2.5rem;width:100%}.login-card h2{color:#4169e1;font-size:2rem;margin-bottom:2rem;text-align:center}.form-group label{font-weight:600;margin-bottom:.5rem}.form-group input{border:2px solid #e9ecef}.form-group input:focus{border-color:#4169e1;box-shadow:0 0 0 3px #4169e11a}.form-help{color:#6b7280;display:block;font-size:.875rem;margin-top:.25rem}.error-links{align-items:center;background:#fecaca1a;border:1px solid #fecaca;border-radius:4px;display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;padding:.5rem}.error-link-separator{color:#6b7280;font-size:.875rem}.forgot-password-link{margin-top:1rem;text-align:center}.link-btn{color:#3b82f6;font-size:.875rem}.link-btn:hover{color:#1d4ed8}.modal{border-radius:8px;box-shadow:0 10px 25px #0003}.modal h2{color:#1f2937;text-align:center}.modal-actions{justify-content:center;margin-top:1.5rem}.btn-primary{background:#3b82f6}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-primary:disabled{background:#9ca3af}.success-message{color:#059669;text-align:center}.success-message p{margin:.5rem 0}.submit-btn{background:linear-gradient(135deg,#4169e1,#1e3a8a);margin-top:1rem;padding:14px}.submit-btn:hover:not(:disabled){box-shadow:0 5px 15px #4169e14d}.submit-btn:disabled{opacity:.7}.error-message{padding:16px;text-align:center}.error-text{margin-bottom:1rem}.error-link{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:.95rem;font-weight:600;margin:0;padding:0;text-decoration:underline;transition:color .2s ease}.error-link:hover{color:#1d4ed8}.password-validation{font-size:.85rem;margin-top:5px}.password-validation.valid{color:#059669}.password-validation.invalid{color:#dc2626}.toggle-mode{border-top:1px solid #e9ecef;margin-top:2rem;padding-top:1.5rem;text-align:center}.toggle-mode p{color:#666;margin:0}.toggle-btn{background:none;border:none;color:#4169e1;cursor:pointer;font-weight:600;margin:0;padding:0;text-decoration:underline}.toggle-btn:hover{color:#1e3a8a}.approval-notice{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;margin:1rem 0;padding:1rem;text-align:center}.approval-notice p{color:#92400e;font-size:.9rem;line-height:1.4;margin:.5rem 0}.approval-notice strong{color:#78350f}@media (max-width:480px){.login-card{padding:2rem}.login-card h2{font-size:1.75rem}}.workout-detail-container{background:#f8f9fa;margin-top:0;min-height:calc(100vh - 70px);padding:2rem 0}.workout-detail-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:2rem;padding:2rem}.workout-header{margin-bottom:1.5rem}.workout-title{color:#1e40af;font-size:2rem;font-weight:700;line-height:1.2;margin:0 0 .5rem}.workout-author{color:#6b7280;font-size:1rem}.workout-meta{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0}.workout-type-badge{background:#dbeafe;border-radius:9999px;color:#1e40af;font-size:.75rem;font-weight:500;padding:.25rem .75rem;text-transform:capitalize}.workout-date{align-items:center;color:#6b7280;display:flex;font-size:.875rem;gap:.25rem}.workout-time{color:#059669;font-weight:500}.workout-content{color:#374151;font-size:1.1rem;line-height:1.6;margin:1.5rem 0}.workout-actions{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:1.5rem}.button-group{align-items:center;display:flex;gap:.5rem}.signup-btn{background:#4169e1;border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;padding:.75rem 2rem;transition:all .3s ease}.signup-btn:hover{background:#1e3a8a;transform:translateY(-1px)}.signup-btn.signed-up{background:#10b981}.signup-btn.signed-up:hover{background:#059669}.signup-btn:disabled{background:#6b7280;cursor:not-allowed;opacity:.6}.signup-btn:disabled:hover{background:#6b7280;transform:none}.waitlist-btn{background:#f59e0b;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:.75rem 2rem;transition:all .3s ease}.waitlist-btn:hover{background:#d97706;transform:translateY(-1px)}.waitlist-btn.on-waitlist{background:#dc2626}.waitlist-btn.on-waitlist:hover{background:#b91c1c}.button-group .waitlist-position{color:#92400e;display:inline-block;font-size:.95rem;font-weight:600;margin-left:.75rem}.signups-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:2rem;padding:2rem}.signups-section h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0 0 1rem}.signups-list{gap:.75rem}.signup-item{background:#f9fafb;border-left:4px solid #4169e1;justify-content:space-between}.attendance-checkbox{align-items:center;display:flex;min-width:24px}.attendance-checkbox input[type=checkbox]{accent-color:#10b981;cursor:pointer;height:18px;width:18px}.attendance-checkbox input[type=checkbox]:checked{background-color:#10b981;border-color:#10b981}.attendance-checkbox input[type=checkbox]:disabled{background-color:#f3f4f6;border-color:#d1d5db;cursor:not-allowed;opacity:.5}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.attendance-submit{margin-top:1.5rem;text-align:center}.submit-attendance-btn{background:#10b981;border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.submit-attendance-btn:hover{background:#059669;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.submit-attendance-btn:active{transform:translateY(0)}.submit-attendance-btn.saved{background:#3b82f6}.submit-attendance-btn.saved:hover{background:#2563eb}.attendance-locked{align-items:center;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#6b7280;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1.5rem}.locked-icon{font-size:1.25rem}.locked-text{color:#374151}.attendance-debug{color:#6b7280;font-size:.875rem;margin-bottom:.75rem;text-align:center}.signup-user{color:#374151;font-weight:600}.waitlist-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:2rem;padding:2rem}.waitlist-section h2{color:#f59e0b;font-size:1.5rem;font-weight:600;margin:0 0 1.5rem}.waitlist-list{display:flex;flex-direction:column;gap:.75rem}.waitlist-item{align-items:center;background:#fef3c7;border-left:4px solid #f59e0b;border-radius:8px;display:flex;justify-content:space-between;padding:1rem}.waitlist-user{color:#92400e;font-weight:600}.waitlist-date{color:#a16207;font-size:.875rem}.waitlist-time{color:#059669;font-weight:500}.comment-author-info,.signup-user-info{align-items:center;display:flex;gap:.5rem}.signup-date{color:#6b7280;font-size:.875rem}.signup-time{color:#059669}.cancel-btn{background:#dc2626;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1rem;transition:all .2s ease}.cancel-btn:hover{background:#b91c1c;transform:translateY(-1px)}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:80vh;max-width:500px;overflow-y:auto;padding:2rem;width:90%}.modal h2{color:#333;font-size:1.5rem;margin:0 0 1.5rem}.modal p{color:#666;line-height:1.5;margin:0 0 1rem}.warning-text{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;color:#92400e;line-height:1.5;margin:1rem 0;padding:1rem}.warning-text strong{color:#78350f}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.btn{transition:all .2s ease}.btn-secondary:hover{background:#4b5563}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover{background:#b91c1c}.comment-form textarea:focus{border-color:#4169e1;box-shadow:0 0 0 3px #4169e11a}.comment-submit-btn{background:#4169e1}.comment-submit-btn:hover{background:#1e3a8a}.comment-time{color:#059669;font-weight:500}.workout-title-section{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.workout-actions-admin{display:flex;flex-shrink:0;gap:.5rem}.delete-btn,.edit-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:.25rem;padding:.5rem 1rem;transition:all .3s ease}.edit-btn{background:#10b981;color:#fff}.edit-btn:hover:not(:disabled){background:#059669}.delete-btn{background:#ef4444;color:#fff}.delete-btn:hover:not(:disabled){background:#dc2626}.delete-btn:disabled,.edit-btn:disabled{cursor:not-allowed;opacity:.5}.workout-edit-form{background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;margin:1rem 0;padding:1.5rem}.form-group{margin-bottom:1rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-input,.form-textarea{border:2px solid #e2e8f0;border-radius:6px;font-family:inherit;font-size:16px;padding:.75rem;transition:border-color .3s ease;width:100%}.form-input:focus,.form-textarea:focus{border-color:#4169e1;box-shadow:0 0 0 3px #4169e11a;outline:none}.form-textarea{min-height:120px;resize:vertical}.edit-actions{border-top:1px solid #e2e8f0;gap:1rem;margin-top:1.5rem;padding-top:1rem}.btn{transition:background-color .3s ease}.btn-primary{background:#4169e1}.btn-secondary{background:#6b7280}.btn-secondary:hover:not(:disabled){background:#4b5563}.btn:disabled{cursor:not-allowed;opacity:.5}.event-detail-container{background:#f8f9fa;margin-top:0;min-height:calc(100vh - 70px);padding:2rem 0}.back-btn{background:#6c757d;font-size:16px;margin-bottom:2rem;transition:background-color .3s ease}.back-btn:hover{background:#545b62}.event-detail-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:2rem;padding:2rem}.event-header{margin-bottom:1.5rem}.event-title{color:#92400e;font-size:2rem;font-weight:700;line-height:1.2;margin:0 0 .5rem}.event-author{color:#6b7280;font-size:1rem}.author-info{align-items:center;display:flex;flex-direction:row-reverse;gap:.75rem}.author-avatar{object-fit:cover}.author-avatar,.author-avatar-placeholder{border:2px solid #e9ecef;border-radius:50%;height:32px;width:32px}.author-avatar-placeholder{align-items:center;background:linear-gradient(135deg,#4169e1,#1e3a8a);color:#fff;display:flex;font-size:14px;font-weight:600;justify-content:center}.event-meta{flex-wrap:wrap;gap:1rem;margin:1rem 0}.event-date,.event-meta{align-items:center;display:flex}.event-date{color:#6b7280;font-size:.875rem;gap:.25rem}.event-content{color:#374151;font-size:1.1rem;line-height:1.6;margin:1.5rem 0}.event-actions{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:1.5rem}.rsvp-buttons{display:flex;flex-wrap:wrap;gap:1rem}.rsvp-btn{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;padding:.75rem 2rem;transition:all .3s ease}.rsvp-btn.going{background:#10b981;color:#fff}.rsvp-btn.going:hover{background:#059669}.rsvp-btn.going.active{background:#047857;transform:scale(1.05)}.rsvp-btn.maybe{background:#f59e0b;color:#fff}.rsvp-btn.maybe:hover{background:#d97706}.rsvp-btn.maybe.active{background:#b45309;transform:scale(1.05)}.rsvp-btn.not-going{background:#ef4444;color:#fff}.rsvp-btn.not-going:hover{background:#dc2626}.rsvp-btn.not-going.active{background:#b91c1c;transform:scale(1.05)}.rsvps-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:2rem;padding:2rem}.rsvps-section h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0 0 1.5rem}.rsvp-categories{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.rsvp-category h3{border-bottom:2px solid #e5e7eb;color:#374151;font-size:1.25rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem}.rsvp-category h3:first-child{border-bottom-color:#10b981}.rsvp-category h3:nth-child(2){border-bottom-color:#f59e0b}.rsvp-category h3:nth-child(3){border-bottom-color:#ef4444}.no-rsvps{color:#6b7280;font-style:italic}.rsvp-list{display:flex;flex-direction:column;gap:.75rem}.rsvp-item{align-items:center;background:#f9fafb;border-left:4px solid;border-radius:8px;display:flex;justify-content:space-between;padding:1rem}.rsvp-item.going{border-left-color:#10b981}.rsvp-item.maybe{border-left-color:#f59e0b}.rsvp-item.not-going{border-left-color:#ef4444}.rsvp-user{color:#374151;font-weight:600}.user-avatar{object-fit:cover}.user-avatar,.user-avatar-placeholder{background:linear-gradient(135deg,#4169e1,#1e3a8a);border:2px solid #e9ecef;border-radius:50%;height:28px;width:28px}.user-avatar-placeholder{align-items:center;color:#fff;display:flex;font-size:12px;font-weight:600;justify-content:center}.comment-author-info,.rsvp-user-info{align-items:center;display:flex;gap:.5rem}.rsvp-date{color:#6b7280;font-size:.875rem}.comments-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:2rem}.comments-section h2{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0 0 1.5rem}.comment-form{border-bottom:1px solid #e5e7eb;margin-bottom:2rem;padding-bottom:2rem}.comment-form textarea{border:2px solid #e9ecef;border-radius:8px;font-family:inherit;font-size:16px;margin-bottom:1rem;padding:1rem;resize:vertical;transition:border-color .3s ease;width:100%}.comment-form textarea:focus{border-color:#92400e;box-shadow:0 0 0 3px #92400e1a;outline:none}.comment-submit-btn{background:#92400e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:.75rem 1.5rem;transition:background-color .3s ease}.comment-submit-btn:hover{background:#78350f}.no-comments{color:#6b7280;font-style:italic}.comments-list{display:flex;flex-direction:column;gap:1.5rem}.comment-item{background:#f9fafb;border-left:4px solid #e5e7eb;border-radius:8px;padding:1.5rem}.comment-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.comment-author{color:#374151;font-weight:600}.comment-date{color:#6b7280;font-size:.875rem}.comment-content{color:#374151;line-height:1.6}.error,.loading{font-size:1.2rem;padding:4rem 2rem}@media (max-width:768px){.rsvp-categories{grid-template-columns:1fr}.rsvp-buttons{flex-direction:column}.rsvp-btn{width:100%}}.race-detail-container{background:#f8fafc;margin-top:0;min-height:calc(100vh - 70px);padding:2rem 0}.race-detail-content{margin:0 auto;max-width:800px;padding:0 2rem}.race-header{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:2rem;padding:2rem;text-align:center}.back-btn{background:#6b7280;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;margin-bottom:1rem;padding:.75rem 1.5rem;transition:all .3s ease}.back-btn:hover{background:#4b5563;transform:translateY(-1px)}.race-title-section{text-align:center}.race-header h1{color:#1f2937;font-size:2.5rem;font-weight:700;margin:0 0 1rem}.race-location{display:block;margin-top:1rem;text-align:center}.race-location h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.race-location p{color:#4b5563;font-size:1rem;margin:0}.race-date{background:#3b82f6;border-radius:25px;color:#fff;display:inline-block;font-size:1.125rem;font-weight:600;padding:.75rem 1.5rem}.race-info{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:2rem}.info-section,.race-info{margin-bottom:2rem}.info-section:last-child{margin-bottom:0}.info-section h3{align-items:center;color:#1f2937;display:flex;font-size:1.25rem;font-weight:600;gap:.5rem;margin:0 0 1rem}.info-section p{color:#4b5563;font-size:1rem;line-height:1.6;margin:0}.no-signups{background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;color:#6b7280;font-style:italic;padding:2rem;text-align:center}.signups-list{display:flex;flex-direction:column;gap:1rem}.signup-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;margin-bottom:.75rem;padding:1rem;transition:all .3s ease}.signup-item:hover{background:#f8fafc;box-shadow:0 4px 12px #00000026;transform:translateX(4px)}.signup-avatar{border-radius:50%;flex-shrink:0;height:50px;overflow:hidden;width:50px}.avatar-img{height:100%;object-fit:cover;width:100%}.avatar-placeholder{align-items:center;background:linear-gradient(135deg,#4169e1,#1e3a8a);color:#fff;display:flex;font-size:1.25rem;font-weight:600;height:100%;justify-content:center;width:100%}.signup-info{flex:1 1}.signup-name{color:#1f2937;font-size:1rem;font-weight:600;line-height:1.2;margin-bottom:.25rem}.signup-time{align-items:center;color:#6b7280;display:flex;font-size:.875rem;font-weight:500;gap:.25rem}.race-actions{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:2rem;text-align:center}.cancel-btn,.signup-btn{border:none;border-radius:8px;cursor:pointer;font-size:1.125rem;font-weight:600;min-width:200px;padding:1rem 2rem;transition:all .3s ease}.signup-btn{background:#10b981;color:#fff}.signup-btn:hover:not(:disabled){background:#059669;box-shadow:0 4px 12px #10b98166;transform:translateY(-2px)}.cancel-btn{background:#ef4444;color:#fff}.cancel-btn:hover:not(:disabled){background:#dc2626;box-shadow:0 4px 12px #ef444466;transform:translateY(-2px)}.cancel-btn:disabled,.signup-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.error,.loading{color:#6b7280;font-size:1.25rem;padding:3rem;text-align:center}.error{color:#ef4444}@media (max-width:768px){.race-detail-content{padding:0 1rem}.race-actions,.race-header,.race-info{padding:1.5rem}.race-header h1{font-size:2rem}.signup-item{padding:.75rem}.signup-avatar{height:40px;width:40px}.cancel-btn,.signup-btn{min-width:auto;width:100%}}.profile-container{background:#f8fafc;margin-top:0;min-height:calc(100vh - 70px);padding:1rem 0}.container{margin:0 auto;max-width:1200px;padding:0 2rem}.back-link{color:#fbfcfc;display:inline-block;font-weight:500;margin-bottom:2rem;padding:.5rem 0;text-decoration:none;transition:color .2s ease}.back-link:hover{color:#1e3a8a;text-decoration:underline}.profile-content{grid-gap:3rem;align-items:start;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;display:grid;gap:3rem;grid-template-columns:1fr 2fr;padding:1.5rem}.profile-image-section{background-color:#1976d3;border-radius:12px;box-shadow:0 2px 4px #0000001a;padding:1rem;text-align:center}.profile-image{background-color:#1976d3;height:auto;max-width:400px;object-fit:cover;width:100%}.preview-image{background-color:#f8fafc;border-radius:8px;height:auto}.profile-info-section{padding-left:1rem}.profile-header{margin-bottom:2rem}.profile-actions{margin-top:1rem}.btn{margin-right:.5rem;padding:.75rem 1.5rem}.btn-primary{background:#1e40af}.btn-primary:hover:not(:disabled){background:#1e3a8a;transform:translateY(-1px)}.btn-primary:disabled{background:#ccc;cursor:not-allowed;transform:none}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#545b62;transform:translateY(-1px)}.btn-edit{background:#10b981;color:#fff}.btn-edit:hover{background:#059669;transform:translateY(-1px)}.form-group{margin-bottom:1.5rem}.form-input{border:2px solid #e5e7eb;border-radius:8px;font-size:16px;padding:.75rem;transition:border-color .2s ease;width:100%}.form-input:focus{border-color:#1e40af;box-shadow:0 0 0 3px #1e40af1a;outline:none}.profile-edit-section{margin-top:2rem}.info-item{background:#f9fafb;border-left:4px solid #1e40af;border-radius:8px;margin-bottom:1rem;padding:.75rem}.profile-info{margin-top:2rem}.edit-actions{display:flex;gap:.5rem}.edit-form{margin-top:1rem}.image-upload-section{margin-bottom:2rem;text-align:center}.image-upload-label{cursor:pointer;display:inline-block}.image-preview{border-radius:12px;box-shadow:0 4px 12px #00000026;height:200px;margin:0 auto 1rem;overflow:hidden;position:relative;width:200px}.preview-image{height:100%;object-fit:cover;transition:filter .3s ease;width:100%}.image-overlay{align-items:center;background:#000000b3;bottom:0;color:#fff;display:flex;font-weight:500;justify-content:center;left:0;opacity:0;padding:1rem;position:absolute;right:0;text-align:center;top:0;transition:opacity .3s ease}.image-preview:hover .image-overlay{opacity:1}.image-preview:hover .preview-image{filter:brightness(.7)}.image-upload-help{color:#6b7280;font-size:.9rem;margin:0}.bio-edit-section{margin-top:1rem}.form-label{color:#374151;display:block;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.bio-textarea{border:2px solid #e5e7eb;border-radius:8px;font-family:inherit;font-size:16px;line-height:1.6;min-height:200px;padding:1rem;resize:vertical;transition:border-color .3s ease;width:100%}.bio-textarea:focus{border-color:#1e40af;box-shadow:0 0 0 3px #1e40af1a;outline:none}.profile-name{color:#1e3a8a;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.profile-role{color:#1e40af;font-size:1.5rem;font-style:italic;font-weight:600;margin-bottom:2rem}.profile-bio{color:#374151;font-size:1.1rem;line-height:1.8}.profile-bio p{margin-bottom:1.5rem}.profile-bio p:last-child{margin-bottom:0}@media (max-width:768px){.profile-container{padding:.25rem 0}.profile-content{gap:1rem;grid-template-columns:1fr;padding:.75rem}.profile-info-section{padding-left:0;text-align:center}.profile-name{font-size:2rem}.profile-role{font-size:1.3rem}.profile-bio{font-size:1rem}.container{padding:0 1rem}.edit-actions{align-items:center;flex-direction:column}.btn{margin-bottom:.5rem;margin-right:0;width:100%}.image-preview{height:150px;width:150px}}@media (max-width:480px){.profile-container{padding:0}.profile-content{padding:.5rem}.profile-name{font-size:1.8rem}.profile-role{font-size:1.2rem}}.loading-state{padding:4rem 2rem;text-align:center}.loading-state h2{color:#1e3a8a;font-size:1.5rem;margin-bottom:1rem}.error-message{align-items:center;display:flex;font-size:.95rem;gap:.5rem;margin-bottom:1.5rem;padding:1rem}.error-message:before{content:"⚠️";font-size:1.2rem}.faq-page h1{margin-bottom:1rem}.faq-page p{color:#374151}.resources-page h1{margin-bottom:1rem}.resources-page p{color:#374151}.page-container{margin:0 auto;max-width:1000px;padding:2rem 1rem}@media (max-width:768px){.page-container{padding-top:2rem}}.teamgear-page h1{margin-bottom:1rem}.teamgear-page p{color:#374151}.footer{background:linear-gradient(135deg,#4169e1,#1e3a8a);color:#fff;margin-top:auto;padding:3rem 0 1rem}.footer-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.footer-section h3,.footer-section h4{color:#fff;margin-bottom:1rem}.footer-section h3{color:#fcfafa;font-size:1.5rem}.footer-section h4{color:#fcf9f9;font-size:1.2rem}.footer-section p{line-height:1.6;margin-bottom:.5rem;opacity:.9}.social-links{display:flex;gap:1rem;margin-top:1rem}.social-link{align-items:center;background:#ffffff1a;border-radius:50%;color:#fff;display:inline-block;display:flex;font-size:1.2rem;height:40px;justify-content:center;text-decoration:none;transition:all .3s ease;width:40px}.social-link:hover{background:#fff3;transform:translateY(-2px)}.social-icon{height:20px;transition:all .3s ease;width:20px}.social-link.instagram:hover .social-icon{color:#e4405f}.social-link.facebook:hover .social-icon{color:#1877f2}.footer-links{list-style:none;margin:0;padding:0}.footer-links li{margin-bottom:.5rem}.footer-links a{color:#fff;opacity:.9;text-decoration:none;transition:opacity .3s ease}.footer-links a:hover{color:gold;opacity:1}.user-info{background:#ffffff1a;border-radius:8px;margin-top:1rem;padding:1rem}.logout-btn{background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;margin-top:.5rem;padding:.5rem 1rem;transition:all .3s ease}.logout-btn:hover{background:#ffffff4d;border-color:#ffffff80}.footer-bottom{border-top:1px solid #fff3;opacity:.8;padding-top:2rem;text-align:center}.footer-bottom p{margin-bottom:.5rem}.footer-bottom p:last-child{font-size:.9rem;margin-bottom:0}@media (max-width:768px){.footer{padding:2rem 0 1rem}.footer-content{gap:1.5rem;grid-template-columns:1fr;text-align:center}.social-links{justify-content:center}.user-info{text-align:center}}.reset-password-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.reset-password-card{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001a;max-width:450px;padding:40px;text-align:center;width:100%}.reset-password-card h2{color:#333;font-size:28px;font-weight:600;margin-bottom:20px}.reset-instructions{color:#666;line-height:1.5;margin-bottom:30px}.form-group{margin-bottom:20px;text-align:left}.form-group label{color:#333;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input{border:2px solid #e1e5e9;border-radius:8px;box-sizing:border-box;font-size:16px;padding:12px 16px;transition:border-color .3s ease;width:100%}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input::placeholder{color:#999}.password-validation{font-size:14px;font-weight:500;margin-top:8px}.password-validation.valid{color:#10b981}.password-validation.invalid{color:#ef4444}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:10px;padding:14px 20px;transition:all .3s ease;width:100%}.submit-btn:hover:not(:disabled){box-shadow:0 8px 25px #667eea4d;transform:translateY(-2px)}.submit-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.back-to-login{border-top:1px solid #e1e5e9;margin-top:30px;padding-top:20px}.back-to-login p{color:#666;margin:0}.link-btn{background:none;border:none;color:#667eea;cursor:pointer;font-size:14px;margin:0;padding:0;text-decoration:underline}.link-btn:hover{color:#5a67d8}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px;line-height:1.5;margin-bottom:20px;padding:12px 16px}.success-message{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#166534;margin-bottom:20px;padding:20px}.success-message p{font-size:14px;line-height:1.5;margin:8px 0}.btn{border-radius:8px;display:inline-block;font-size:16px;font-weight:600;padding:12px 24px;text-decoration:none;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2)}.btn-primary:hover{box-shadow:0 8px 25px #667eea4d;transform:translateY(-2px)}@media (max-width:480px){.reset-password-container{padding:10px}.reset-password-card{padding:30px 20px}.reset-password-card h2{font-size:24px}}.charter-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.charter-modal{background:#fff;border-radius:10px;color:#000;max-width:800px;padding:1rem;width:90%}.charter-content{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;height:50vh;margin:1rem 0;overflow-y:auto;padding:1rem}.charter-modal h2{font-size:1.6rem;margin:.5rem 0;text-align:left!important}.charter-title{color:#000!important;font-size:1rem;margin:1rem 0 .5rem;text-align:left!important;text-decoration:underline}.charter-paragraph{color:#000;line-height:1.6;margin:.25rem 0}.charter-list{margin:.25rem 0 .5rem 1.25rem}.charter-item.sub{font-weight:700;list-style:none;margin-left:0}.charter-list .charter-item:not(.sub){margin-left:2rem}.charter-actions{align-items:center;display:flex;gap:1rem}.charter-actions .btn[disabled]{cursor:not-allowed;opacity:.6}.role-change-notification{animation:slideIn .3s ease-out;max-width:400px;position:fixed;right:20px;top:80px;z-index:1000}.notification-content{background:#fff;border:2px solid #007bff;border-radius:12px;box-shadow:0 8px 32px #007bff33;overflow:hidden}.notification-header{align-items:center;background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.notification-header h3{font-size:18px;font-weight:600;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;transition:background-color .2s;width:30px}.close-button:hover{background-color:#fff3}.notification-body{padding:20px}.notification-body p{color:#333;line-height:1.5;margin:0 0 12px}.notification-body p:last-of-type{margin-bottom:0}.welcome-message{background:#e8f5e8;border-left:4px solid #28a745;border-radius:4px;color:#155724;font-weight:500;margin:16px 0;padding:12px 16px}.timestamp{color:#666;font-size:14px;font-style:italic}.notification-actions{padding:0 20px 20px;text-align:center}.btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:all .2s}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover{background:#0056b3;transform:translateY(-1px)}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.role-change-notification{left:10px;max-width:none;right:10px;top:70px}.notification-content{border-radius:8px}.notification-header{padding:14px 16px}.notification-header h3{font-size:16px}.notification-body{padding:16px}.notification-actions{padding:0 16px 16px}}
/*# sourceMappingURL=main.92985246.css.map*/