@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;1,9..40,300&display=swap");:root{--black:#0d0d0d;--white:#fff;--off-white:#f7f7f5;--light-grey:#ebebeb;--mid-grey:#b0b0b0;--dark-grey:#555;--border:#e0e0e0;--danger:#c33;--success:#2a7a2a;--admin-accent:#0d0d0d}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--white);color:var(--black);font-family:DM Sans,sans-serif;min-height:100vh;overflow-x:hidden}.hidden{display:none!important}.form-group{margin-bottom:15px}.form-label{display:block;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--dark-grey);margin-bottom:6px}.form-input{width:100%;background:var(--off-white);border:1px solid var(--border);color:var(--black);font-family:DM Sans,sans-serif;font-size:.88rem;padding:12px 15px;outline:none;transition:border-color .2s;border-radius:0;-webkit-appearance:none}.form-input:focus{border-color:var(--black);background:var(--white)}.form-input::placeholder{color:var(--mid-grey)}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.form-select{width:100%;background:var(--off-white);border:1px solid var(--border);color:var(--black);font-family:DM Sans,sans-serif;font-size:.88rem;padding:12px 15px;outline:none;cursor:pointer;border-radius:0;-webkit-appearance:none}.form-select:focus{border-color:var(--black)}.btn-primary{width:100%;padding:15px;background:var(--black);color:var(--white);border:none;font-family:Bebas Neue,sans-serif;font-size:1rem;letter-spacing:.2em;cursor:pointer;transition:opacity .2s}.btn-primary:hover{opacity:.84}.btn-primary:disabled{opacity:.3;cursor:not-allowed}.btn-secondary{background:var(--white);color:var(--black);border:1px solid var(--black);padding:11px 22px;font-family:DM Sans,sans-serif;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--black);color:var(--white)}.btn-sm{padding:7px 14px;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;border:none;cursor:pointer;transition:all .2s;font-family:DM Sans,sans-serif}.btn-sm.black{background:var(--black);color:var(--white)}.btn-sm.black:hover{opacity:.8}.btn-sm.danger{background:transparent;color:var(--danger);border:1px solid rgba(204,51,51,.3)}.btn-sm.danger:hover{background:var(--danger);color:var(--white);border-color:var(--danger)}.btn-sm.ghost{background:transparent;color:var(--black);border:1px solid var(--border)}.btn-sm.ghost:hover{border-color:var(--black)}.section-label{font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--dark-grey);margin-bottom:16px;display:flex;align-items:center;gap:12px}.section-label:after{content:"";flex:1 1;height:1px;background:var(--border)}.tag{display:inline-block;font-size:.56rem;letter-spacing:.15em;text-transform:uppercase;padding:3px 9px}.tag.black{background:var(--black);color:var(--white)}.tag.grey{background:var(--light-grey);color:var(--black)}.auth-screen{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-brand{background:var(--black);color:var(--white);display:flex;flex-direction:column;justify-content:space-between;padding:52px;position:relative;overflow:hidden}.auth-brand:before{content:"DRIFT";position:absolute;font-size:28vw;color:hsla(0,0%,100%,.03);bottom:-4vw;left:-2vw;line-height:1;pointer-events:none}.auth-brand:before,.auth-logo{font-family:Bebas Neue,sans-serif}.auth-logo{font-size:2.4rem;letter-spacing:.12em}.auth-brand-copy{position:relative;z-index:1}.auth-brand-headline{font-family:Bebas Neue,sans-serif;font-size:clamp(2.8rem,5vw,4.5rem);line-height:.94;letter-spacing:.04em;margin-bottom:18px}.auth-brand-sub{font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mid-grey);line-height:2}.auth-pillars{display:flex;gap:10px;margin-top:20px}.auth-pillar{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;border:1px solid hsla(0,0%,100%,.2);color:hsla(0,0%,100%,.45);padding:4px 11px}.auth-form-side{background:var(--white);display:flex;flex-direction:column;justify-content:center;padding:60px 64px}.auth-tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:32px}.auth-tab{padding:11px 0;margin-right:28px;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;color:var(--mid-grey);margin-bottom:-1px;transition:all .2s;background:none;border:none;border-bottom:2px solid transparent;font-family:DM Sans,sans-serif}.auth-tab.active{color:var(--black);border-bottom-color:var(--black)}.auth-form-title{font-family:Bebas Neue,sans-serif;font-size:2rem;letter-spacing:.06em;margin-bottom:7px}.auth-form-sub{font-size:.78rem;color:var(--dark-grey);margin-bottom:26px;line-height:1.6}.auth-toggle{text-align:center;margin-top:18px;font-size:.76rem;color:var(--dark-grey)}.auth-toggle a{color:var(--black);font-weight:500;cursor:pointer;text-decoration:underline}.admin-link{text-align:center;margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.admin-link a{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mid-grey);cursor:pointer;transition:color .2s;text-decoration:none}.admin-link a:hover{color:var(--black)}header{display:flex;justify-content:space-between;align-items:center;padding:18px 48px;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;background:hsla(0,0%,100%,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100}.logo{font-family:Bebas Neue,sans-serif;font-size:1.9rem;letter-spacing:.12em}.header-nav{display:flex}.page-tab{padding:8px 18px;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;color:var(--mid-grey);transition:all .2s;background:none;border:1px solid transparent;font-family:DM Sans,sans-serif;text-decoration:none;display:inline-flex;align-items:center}.page-tab.active,.page-tab:hover{color:var(--black)}.page-tab.active{border-color:var(--border);background:var(--off-white)}.header-right{gap:12px}.header-right,.user-chip{display:flex;align-items:center}.user-chip{gap:8px;cursor:pointer;padding:4px 11px 4px 4px;border:1px solid var(--border);transition:all .2s}.user-chip:hover{border-color:var(--black)}.user-avatar{width:27px;height:27px;background:var(--black);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:.66rem;font-weight:500}.user-name-chip{font-size:.72rem;letter-spacing:.06em;font-weight:500}.membership-badge{font-size:.54rem;letter-spacing:.13em;text-transform:uppercase;padding:2px 6px;background:var(--black);color:var(--white)}.membership-badge.dropin{background:var(--light-grey);color:var(--black)}.nav-signout{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mid-grey);cursor:pointer;transition:color .2s;background:none;border:none;font-family:DM Sans,sans-serif}.nav-signout:hover{color:var(--black)}.booking-page{display:grid;grid-template-columns:1fr 340px;min-height:calc(100vh - 68px)}.sessions-panel{padding:38px 48px;border-right:1px solid var(--border)}.class-tabs{display:flex;border:1px solid var(--border);margin-bottom:26px}.class-tab{flex:1 1;padding:13px 16px;background:transparent;border:none;color:var(--mid-grey);font-family:DM Sans,sans-serif;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all .22s;display:flex;align-items:center;justify-content:center;gap:7px;border-right:1px solid var(--border)}.class-tab:last-child{border-right:none}.class-tab.active{background:var(--black);color:var(--white);font-weight:500}.class-tab:not(.active):hover{color:var(--black);background:var(--off-white)}.week-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.week-label{font-family:Bebas Neue,sans-serif;font-size:1.25rem;letter-spacing:.08em}.nav-btn{background:none;border:1px solid var(--border);color:var(--black);width:32px;height:32px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;font-size:.9rem}.nav-btn:hover:not(:disabled){background:var(--black);color:var(--white);border-color:var(--black)}.nav-btn:disabled{opacity:.25;cursor:not-allowed}.day-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:5px;gap:5px;margin-bottom:26px}.day-cell{text-align:center;cursor:pointer;padding:9px 3px;border:1px solid transparent;transition:all .18s}.day-cell:hover{border-color:var(--border)}.day-cell.selected{border-color:var(--black);background:var(--black)}.day-cell.selected .day-num{color:var(--white)}.day-cell.selected .day-name{color:hsla(0,0%,100%,.4)}.day-cell.selected .day-dot{background:var(--white)}.day-name{font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mid-grey);margin-bottom:4px}.day-num{font-family:Bebas Neue,sans-serif;font-size:1.35rem;color:var(--black);line-height:1}.day-dot{width:3px;height:3px;border-radius:50%;background:var(--black);margin:4px auto 0;opacity:0}.day-cell.has-class .day-dot{opacity:.35}.slots-list{display:flex;flex-direction:column;gap:7px}.slot{display:grid;grid-template-columns:72px 1fr auto;align-items:center;grid-gap:15px;gap:15px;padding:14px 18px;border:1px solid var(--border);cursor:pointer;transition:all .22s;position:relative;overflow:hidden}.slot:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--black);transform:scaleY(0);transition:transform .2s}.slot:hover{border-color:var(--black);background:var(--off-white)}.slot:hover:before{transform:scaleY(1)}.slot.selected{border-color:var(--black);background:var(--black);color:var(--white)}.slot.selected:before{transform:scaleY(1);background:var(--white)}.slot.selected .ampm,.slot.selected .slot-meta,.slot.selected .spots-label{color:hsla(0,0%,100%,.45)}.slot.selected .slot-time,.slot.selected .spots-num{color:var(--white)}.slot-time{font-family:Bebas Neue,sans-serif;font-size:1.15rem;color:var(--black);line-height:1}.slot-time .ampm{font-size:.56rem;letter-spacing:.1em;color:var(--dark-grey);font-family:DM Sans,sans-serif;display:block;margin-top:2px}.slot-name{font-size:.84rem;font-weight:500;margin-bottom:2px}.slot-meta{font-size:.67rem;color:var(--dark-grey)}.slot-spots{text-align:right}.spots-num{font-family:Bebas Neue,sans-serif;font-size:1.2rem;color:var(--black);line-height:1}.spots-num.low{color:var(--danger)}.spots-label{font-size:.57rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dark-grey)}.booking-panel{background:var(--off-white);border-left:1px solid var(--border);padding:34px 26px;position:-webkit-sticky;position:sticky;top:68px;height:calc(100vh - 68px);overflow-y:auto;gap:16px}.booking-panel,.selection-summary{display:flex;flex-direction:column}.selection-summary{border:1px solid var(--border);background:var(--white);padding:16px;min-height:80px;justify-content:center}.summary-empty{color:var(--mid-grey);font-size:.75rem;font-style:italic}.summary-class{font-family:Bebas Neue,sans-serif;font-size:1.35rem;letter-spacing:.05em;line-height:1;margin-bottom:5px}.summary-detail{font-size:.72rem;color:var(--dark-grey);line-height:1.6}.membership-info{background:var(--white);border:1px solid var(--border);padding:13px 17px}.mi-label{font-size:.56rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dark-grey);margin-bottom:3px}.mi-value{font-weight:500;font-size:.85rem;margin-bottom:2px}.mi-detail{color:var(--dark-grey);font-size:.7rem}.price-block{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:13px 0}.price-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.price-row:last-child{margin-bottom:0}.price-label{font-size:.72rem;color:var(--dark-grey)}.price-value{font-family:Bebas Neue,sans-serif;font-size:.95rem}.price-total{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.price-total .price-label{color:var(--black);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500}.price-total .price-value{font-size:1.55rem}.book-btn{width:100%;padding:16px;background:var(--black);color:var(--white);border:none;font-family:Bebas Neue,sans-serif;font-size:.98rem;letter-spacing:.2em;cursor:pointer;transition:opacity .2s;margin-top:auto;min-height:52px}.book-btn:hover{opacity:.82}.book-btn:disabled{opacity:.28;cursor:not-allowed}.secure-note{text-align:center;font-size:.57rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mid-grey)}.membership-page{padding:42px 48px}.membership-hero{max-width:500px;margin-bottom:40px}.membership-hero h2{font-family:Bebas Neue,sans-serif;font-size:clamp(2.5rem,5vw,3.8rem);letter-spacing:.04em;line-height:.95;margin-bottom:11px}.membership-hero p{font-size:.82rem;color:var(--dark-grey);line-height:1.7}.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;background:var(--border);max-width:840px}.plan-card{background:var(--white);padding:30px 24px;position:relative}.plan-card.featured{background:var(--black);color:var(--white)}.plan-card.featured .plan-name,.plan-card.featured .plan-price{color:hsla(0,0%,100%,.9)}.plan-card.featured .plan-name{color:hsla(0,0%,100%,.5)}.plan-card.featured .plan-desc,.plan-card.featured .plan-feature,.plan-card.featured .plan-period{color:hsla(0,0%,100%,.45)}.plan-card.featured .plan-feature{border-color:hsla(0,0%,100%,.08)}.plan-card.featured .plan-feature:before{color:var(--white)}.plan-tag{font-size:.54rem;letter-spacing:.18em;background:var(--white);color:var(--black);padding:2px 9px;display:inline-block;margin-bottom:16px}.plan-name,.plan-tag{text-transform:uppercase}.plan-name{font-size:.6rem;letter-spacing:.24em;color:var(--dark-grey);margin-bottom:6px}.plan-price{font-family:Bebas Neue,sans-serif;font-size:2.9rem;letter-spacing:.02em;line-height:.95;color:var(--black);margin-bottom:3px}.plan-period{font-size:.68rem;color:var(--dark-grey);margin-bottom:12px}.plan-desc{font-size:.74rem;color:var(--dark-grey);line-height:1.6;margin-bottom:16px}.plan-features{list-style:none;margin-bottom:24px}.plan-feature{font-size:.72rem;padding:6px 0;border-bottom:1px solid var(--border);color:var(--dark-grey);display:flex;gap:7px;align-items:flex-start}.plan-feature:before{content:"✓";font-weight:600;color:var(--black);flex-shrink:0}.plan-btn{width:100%;padding:12px;background:var(--black);color:var(--white);border:none;font-family:Bebas Neue,sans-serif;font-size:.88rem;letter-spacing:.2em;cursor:pointer;transition:opacity .2s}.plan-card.featured .plan-btn{background:var(--white);color:var(--black)}.plan-btn:hover{opacity:.8}.plan-btn.current-plan{opacity:.28;cursor:default;pointer-events:none}.profile-page{padding:42px 48px}.profile-grid{display:grid;grid-template-columns:270px 1fr;grid-gap:26px;gap:26px;max-width:940px}.profile-card{background:var(--black);color:var(--white);padding:30px 22px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px}.profile-avatar-large{width:66px;height:66px;background:var(--white);color:var(--black);display:flex;align-items:center;justify-content:center;font-family:Bebas Neue,sans-serif;font-size:1.65rem;margin-bottom:2px}.profile-name{font-family:Bebas Neue,sans-serif;font-size:1.45rem;letter-spacing:.08em;line-height:1}.profile-email-text{font-size:.72rem;color:var(--mid-grey)}.profile-membership-tag{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;padding:3px 11px;border:1px solid hsla(0,0%,100%,.2);color:hsla(0,0%,100%,.55);margin-top:2px}.profile-stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:1px;gap:1px;background:hsla(0,0%,100%,.1);width:100%;margin-top:8px}.stat-cell{background:var(--black);padding:13px;text-align:center}.stat-num{font-family:Bebas Neue,sans-serif;font-size:1.85rem;line-height:1;color:var(--white)}.stat-label{font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mid-grey);margin-top:3px}.profile-right{display:flex;flex-direction:column;gap:26px}.profile-section-title{font-family:Bebas Neue,sans-serif;font-size:1.02rem;letter-spacing:.1em;margin-bottom:13px;padding-bottom:9px;border-bottom:1px solid var(--border)}.profile-edit-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:11px;gap:11px}.plan-mini-cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:9px;gap:9px;margin-bottom:7px}.plan-mini{border:1px solid var(--border);padding:14px 13px;position:relative}.plan-mini.current{border-color:var(--black);background:var(--black);color:var(--white)}.plan-mini.current .pmc-detail,.plan-mini.current .pmc-name,.plan-mini.current .pmc-price{color:hsla(0,0%,100%,.8)}.plan-mini.current .pmc-detail,.plan-mini.current .pmc-name{color:hsla(0,0%,100%,.45)}.pmc-badge{position:absolute;top:-1px;right:-1px;font-size:.5rem;letter-spacing:.13em;background:var(--white);color:var(--black);padding:2px 7px}.pmc-badge,.pmc-name{text-transform:uppercase}.pmc-name{font-size:.58rem;letter-spacing:.18em;color:var(--dark-grey);margin-bottom:4px}.pmc-price{font-family:Bebas Neue,sans-serif;font-size:1.5rem;line-height:1;margin-bottom:2px;color:var(--black)}.pmc-detail{font-size:.65rem;color:var(--dark-grey);line-height:1.5}.booking-row{display:grid;grid-template-columns:65px 1fr auto;grid-gap:13px;gap:13px;align-items:center;padding:13px 0;border-bottom:1px solid var(--border)}.booking-row:last-child{border-bottom:none}.booking-date-block{text-align:center;background:var(--off-white);padding:8px 5px;border:1px solid var(--border)}.booking-day-num{font-family:Bebas Neue,sans-serif;font-size:1.65rem;line-height:1}.booking-month{font-size:.56rem;letter-spacing:.13em;text-transform:uppercase;color:var(--dark-grey)}.booking-class{font-size:.84rem;font-weight:500;margin-bottom:2px}.booking-meta{font-size:.68rem;color:var(--dark-grey)}.cancel-btn{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--danger);cursor:pointer;background:none;border:1px solid rgba(204,51,51,.3);padding:4px 8px;transition:all .2s;font-family:DM Sans,sans-serif}.cancel-btn:hover{background:var(--danger);color:var(--white);border-color:var(--danger)}.admin-header{display:flex;justify-content:space-between;align-items:center;padding:16px 40px;background:var(--black);color:var(--white);position:-webkit-sticky;position:sticky;top:0;z-index:200}.admin-logo{font-family:Bebas Neue,sans-serif;font-size:1.6rem;letter-spacing:.12em}.admin-logo span{font-size:.7rem;letter-spacing:.2em;opacity:.45;margin-left:10px;text-transform:uppercase;font-family:DM Sans,sans-serif;font-weight:300;vertical-align:middle}.admin-header-right{display:flex;align-items:center;gap:16px}.admin-nav{display:flex}.admin-tab{padding:7px 16px;font-size:.66rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;color:hsla(0,0%,100%,.45);transition:all .2s;background:none;border:1px solid transparent;font-family:DM Sans,sans-serif;text-decoration:none;display:inline-flex;align-items:center}.admin-tab.active,.admin-tab:hover{color:var(--white)}.admin-tab.active{border-color:hsla(0,0%,100%,.2);background:hsla(0,0%,100%,.06)}.admin-exit{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:hsla(0,0%,100%,.45);cursor:pointer;background:none;border:1px solid hsla(0,0%,100%,.15);padding:6px 14px;transition:all .2s;font-family:DM Sans,sans-serif}.admin-exit:hover{color:var(--white);border-color:hsla(0,0%,100%,.4)}.admin-body{padding:36px 40px;max-width:1100px}.schedule-layout{display:grid;grid-template-columns:220px 1fr;grid-gap:24px;gap:24px}.schedule-days{border:1px solid var(--border);overflow:hidden}.schedule-day-btn{display:flex;width:100%;text-align:left;padding:13px 18px;background:none;border:none;border-bottom:1px solid var(--border);font-family:DM Sans,sans-serif;font-size:.78rem;cursor:pointer;transition:background .15s;justify-content:space-between;align-items:center}.schedule-day-btn:last-child{border-bottom:none}.schedule-day-btn:hover{background:var(--off-white)}.schedule-day-btn.active{background:var(--black);color:var(--white)}.schedule-day-btn.active .day-slot-count{color:hsla(0,0%,100%,.45)}.day-slot-count{font-size:.65rem;color:var(--mid-grey)}.schedule-class-tabs{display:flex;gap:0;border:1px solid var(--border);margin-bottom:22px;width:-moz-fit-content;width:fit-content}.sch-tab{padding:9px 20px;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;background:none;border:none;border-right:1px solid var(--border);color:var(--mid-grey);font-family:DM Sans,sans-serif;transition:all .2s}.sch-tab:last-child{border-right:none}.sch-tab.active{background:var(--black);color:var(--white)}.slot-editor-header{display:grid;grid-template-columns:100px 1fr 1fr 80px 60px;grid-gap:10px;gap:10px;align-items:center;padding:8px 14px;background:var(--off-white);border:1px solid var(--border);border-bottom:none}.slot-editor-header span{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dark-grey)}.slot-editor-row{display:grid;grid-template-columns:100px 1fr 1fr 80px 60px;grid-gap:10px;gap:10px;align-items:center;padding:10px 14px;border:1px solid var(--border);border-bottom:none;transition:background .15s}.slot-editor-row:last-of-type{border-bottom:1px solid var(--border)}.slot-editor-row:hover{background:var(--off-white)}.slot-editor-row .form-input{padding:8px 10px;font-size:.8rem;background:var(--white)}.slot-editor-row .form-input:focus{border-color:var(--black)}.add-slot-row{display:flex;gap:10px;align-items:flex-end;margin-top:14px;flex-wrap:wrap}.add-slot-row .form-group{margin-bottom:0;flex:1 1;min-width:120px}.add-slot-row .form-input{padding:10px 12px}.no-slots-msg{padding:20px 14px;border:1px solid var(--border);font-size:.78rem;color:var(--mid-grey);font-style:italic}.coaches-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:12px;gap:12px;margin-bottom:22px}.coach-card{border:1px solid var(--border);padding:18px;display:flex;justify-content:space-between;align-items:flex-start}.coach-name{font-weight:500;font-size:.88rem;margin-bottom:3px}.coach-type{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dark-grey)}.add-coach-form{border:1px solid var(--border);padding:20px;background:var(--off-white);max-width:480px}.add-coach-form .section-label{margin-bottom:14px}.bookings-table{width:100%;border-collapse:collapse}.bookings-table th{font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dark-grey);padding:9px 14px;border-bottom:2px solid var(--border);text-align:left;background:var(--off-white)}.bookings-table td{font-size:.8rem;padding:11px 14px;border-bottom:1px solid var(--border)}.bookings-table tr:hover td{background:var(--off-white)}.bookings-filter{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}.filter-btn{padding:6px 14px;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--border);background:none;cursor:pointer;font-family:DM Sans,sans-serif;transition:all .2s}.filter-btn.active{background:var(--black);color:var(--white)}.filter-btn.active,.filter-btn:hover:not(.active){border-color:var(--black)}.members-search{max-width:320px;margin-bottom:18px}.members-table{width:100%;border-collapse:collapse}.members-table th{font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dark-grey);padding:9px 14px;border-bottom:2px solid var(--border);text-align:left;background:var(--off-white)}.members-table td{font-size:.8rem;padding:11px 14px;border-bottom:1px solid var(--border)}.members-table tr:hover td{background:var(--off-white)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-bottom:32px}.stat-card{border:1px solid var(--border);padding:22px 20px}.stat-card-num{font-family:Bebas Neue,sans-serif;font-size:2.6rem;line-height:1;margin-bottom:4px}.stat-card-label{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dark-grey)}.stat-card.highlight{background:var(--black);color:var(--white)}.stat-card.highlight .stat-card-label{color:hsla(0,0%,100%,.45)}.admin-login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--black)}.admin-login-box{background:var(--white);padding:52px 48px;width:100%;max-width:400px}.admin-login-logo{font-family:Bebas Neue,sans-serif;font-size:2rem;letter-spacing:.12em;margin-bottom:4px}.admin-login-sub{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--dark-grey);margin-bottom:28px}.success-overlay{position:fixed;inset:0;background:var(--white);z-index:500;flex-direction:column;align-items:center;justify-content:center;text-align:center;animation:fadeIn .35s ease;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.success-icon{font-size:2.4rem;margin-bottom:9px}.success-title{font-family:Bebas Neue,sans-serif;font-size:2.9rem;letter-spacing:.08em;margin-bottom:9px}.success-msg{font-size:.81rem;color:var(--dark-grey);line-height:1.7;max-width:290px}.success-back{margin-top:20px;background:var(--black);color:var(--white);border:none;padding:12px 32px;font-family:Bebas Neue,sans-serif;font-size:.9rem;letter-spacing:.2em;cursor:pointer;transition:opacity .2s}.success-back:hover{opacity:.8}.toast{position:fixed;bottom:28px;right:28px;background:var(--black);color:var(--white);padding:12px 22px;font-size:.76rem;letter-spacing:.08em;z-index:999;transform:translateY(20px);opacity:0;transition:all .3s;pointer-events:none}.toast.show{transform:translateY(0);opacity:1}.today-classes-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;max-width:800px}@media(max-width:900px){.auth-screen{grid-template-columns:1fr}.auth-brand{display:none}.auth-form-side{padding:44px 26px}header{padding:14px 18px;flex-wrap:wrap;gap:10px}.header-nav{order:3;width:100%;overflow-x:auto}.booking-page{grid-template-columns:1fr;min-height:unset}.sessions-panel{border-right:none;border-bottom:1px solid var(--border)}.booking-panel{position:static;height:auto;overflow:visible;padding:24px 18px;border-left:none;border-top:1px solid var(--border)}.membership-page,.profile-page,.sessions-panel{padding:26px 18px}.plans-grid,.profile-grid{grid-template-columns:1fr}.plan-mini-cards{grid-template-columns:repeat(3,1fr)}.admin-body{padding:24px 18px}.schedule-layout{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.slot-editor-header,.slot-editor-row{grid-template-columns:80px 1fr 1fr 70px 50px}.today-classes-grid{grid-template-columns:1fr}}@media(max-width:600px){header{padding:12px 14px}.logo{font-size:1.5rem}.booking-panel,.membership-page,.profile-page,.sessions-panel{padding:20px 14px}.day-grid{gap:3px}.day-num{font-size:1.1rem}.slot{grid-template-columns:60px 1fr auto;gap:10px;padding:12px 14px}.slot-time{font-size:.95rem}.plans-grid{gap:0}.plan-mini-cards,.profile-edit-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.form-row{grid-template-columns:1fr}.week-label{font-size:1rem}.add-slot-row{flex-direction:column}.bookings-table,.members-table{font-size:.72rem}.bookings-table th,.members-table th{font-size:.52rem;padding:7px 8px}.bookings-table td,.members-table td{padding:8px}}