@import "https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Outfit:wght@300;400;500;600;700&display=swap";.app-nav{z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0a0a0ae6;border-bottom:1px solid #1f1f1f;justify-content:space-between;align-items:center;padding:16px 40px;display:flex;position:sticky;top:0}.app-logo{letter-spacing:2px;color:#fff;align-items:center;gap:8px;font-family:Bebas Neue,sans-serif;font-size:22px;display:flex}.app-logo span{color:var(--accent,#e8611a)}.app-logo-img{border-radius:6px;width:32px;height:32px}.app-tabs{gap:4px;display:flex}.app-tab{color:#888;letter-spacing:1px;text-transform:uppercase;background:0 0;border-radius:4px;padding:10px 20px;font-size:12px;font-weight:600;text-decoration:none;transition:all .2s}.app-tab:hover{color:#fff}.app-tab.active{color:#fff;background:#1a1a1a}.app-user{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;display:flex;position:relative}.user-info{text-align:right;flex-direction:column;display:flex}.user-name{color:#fff;font-size:13px;font-weight:600}.user-status{letter-spacing:1px;text-transform:uppercase;color:#4ade80;font-size:10px}.user-status.warning{color:#f59e0b}.user-status.blocked{color:#ef4444}.user-avatar{background:linear-gradient(135deg, var(--accent,#e8611a), var(--accent-dark,#c44f0e));letter-spacing:1px;color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-family:Bebas Neue,sans-serif;font-size:16px;display:flex}.user-menu{z-index:200;background:#181818;border:1px solid #2a2a2a;border-radius:8px;min-width:160px;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 8px 32px #00000080}.user-menu-item{text-align:left;color:#ccc;cursor:pointer;background:0 0;border:none;width:100%;padding:12px 16px;font-family:Outfit,sans-serif;font-size:13px;font-weight:500;transition:background .15s,color .15s;display:block}.user-menu-item:hover{color:#fff;background:#222}.user-menu-item.logout{color:#ef4444}.user-menu-item.logout:hover{color:#ef4444;background:#ef444414}.user-menu-divider{background:#222;height:1px;margin:0}.mobile-bottom-nav{display:none}@media (width<=768px){.app-nav{padding:12px 20px}.app-tabs{display:none}.mobile-bottom-nav{z-index:200;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:8px 0 max(8px, env(safe-area-inset-bottom));background:#0c0c0cf7;border-top:1px solid #1f1f1f;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav-item{color:#555;flex-direction:column;flex:1;align-items:center;gap:4px;padding:4px 0;text-decoration:none;transition:color .15s;display:flex}.mobile-nav-item.active{color:var(--accent,#e8611a)}.mobile-nav-icon{justify-content:center;align-items:center;width:24px;height:24px;display:flex}.mobile-nav-icon svg{width:22px;height:22px}.mobile-nav-label{letter-spacing:.4px;text-transform:uppercase;font-size:10px;font-weight:600}}.app-footer{color:#444;letter-spacing:.5px;border-top:1px solid #1a1a1a;justify-content:center;align-items:center;gap:10px;margin-top:auto;padding:20px 24px;font-size:11px;display:flex}.footer-brand{letter-spacing:2px;color:#333;font-family:Bebas Neue,sans-serif;font-size:13px}.footer-brand strong{color:var(--accent,#e8611a)}.footer-sep{color:#2a2a2a}.footer-link{color:#555;cursor:pointer;letter-spacing:.3px;background:0 0;border:none;padding:0;font-family:Outfit,sans-serif;font-size:11px;transition:color .2s}.footer-link:hover{color:var(--accent,#e8611a)}.footer-copy{color:#333}.footer-modal-overlay{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.footer-modal-box{background:#181818;border:1px solid #2a2a2a;border-radius:10px;flex-direction:column;width:min(640px,92vw);max-height:80vh;display:flex}.footer-modal-header{letter-spacing:.5px;color:#ccc;border-bottom:1px solid #222;justify-content:space-between;align-items:center;padding:18px 24px;font-size:13px;font-weight:600;display:flex}.footer-modal-header button{color:#555;cursor:pointer;background:0 0;border:none;font-size:16px;line-height:1}.footer-modal-header button:hover{color:#fff}.footer-modal-body{flex:1;padding:24px;overflow-y:auto}.footer-modal-pre{white-space:pre-wrap;color:#bbb;margin:0;font-family:Outfit,sans-serif;font-size:13px;line-height:1.9}.login-view{align-items:stretch;min-height:100vh;display:flex}.login-visual{background:url(/fondo_member.jpg) 50%/cover no-repeat;flex:1;min-height:100vh;position:relative}.login-visual:before{content:"";background:linear-gradient(135deg,#0a0a0a33 0%,#0a0a0a99 100%);position:absolute;inset:0}.login-visual-content{z-index:2;position:absolute;bottom:60px;left:60px;right:60px}.login-visual-tag{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:2px;text-transform:uppercase;color:#fff;background:#ffffff1a;border:1px solid #fff3;border-radius:3px;align-items:center;gap:8px;margin-bottom:16px;padding:6px 14px;font-size:11px;font-weight:600;display:inline-flex}.login-visual h2{letter-spacing:2px;color:#fff;text-transform:uppercase;text-shadow:0 4px 20px #0006;font-family:Bebas Neue,sans-serif;font-size:clamp(48px,5vw,72px);line-height:.9}.login-form-wrap{background:#0a0a0a;flex-direction:column;flex:0 0 480px;justify-content:center;padding:60px 56px;display:flex}.login-logo{letter-spacing:3px;color:#fff;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:48px;font-family:Bebas Neue,sans-serif;font-size:28px;display:flex}.login-logo span{color:var(--accent,#e8611a)}.login-logo-img{border-radius:6px;width:36px;height:36px}.login-logo-sub{letter-spacing:2px;color:#888;text-transform:uppercase;width:100%;margin-top:-4px;font-family:Outfit,sans-serif;font-size:11px;font-weight:500}.login-form h1{letter-spacing:1px;text-transform:uppercase;color:#fff;margin-bottom:8px;font-family:Bebas Neue,sans-serif;font-size:56px;line-height:.95}.login-form h1 span{color:var(--accent,#e8611a)}.login-form>p{color:#888;margin-bottom:36px;font-size:14px}.login-error{color:#ef4444;background:#ef44441a;border:1px solid #ef44444d;border-radius:4px;margin-bottom:20px;padding:12px 16px;font-size:13px}.form-group{margin-bottom:20px}.form-group label{letter-spacing:1.5px;text-transform:uppercase;color:#888;margin-bottom:8px;font-size:11px;font-weight:600;display:block}.form-group input{color:#fff;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:4px;width:100%;padding:14px 16px;font-family:Outfit,sans-serif;font-size:14px;transition:all .2s}.form-group input:focus{border-color:var(--accent,#e8611a);background:#141414;outline:none}.form-group input::placeholder{color:#666}.btn-primary{background:var(--accent,#e8611a);color:#fff;letter-spacing:2px;text-transform:uppercase;cursor:pointer;border:none;border-radius:4px;width:100%;margin-top:12px;padding:16px;font-family:Outfit,sans-serif;font-size:13px;font-weight:700;transition:all .3s}.btn-primary:hover{background:var(--accent-light,#ff7a33);box-shadow:0 8px 24px color-mix(in srgb, var(--accent,#e8611a) 30%, transparent);transform:translateY(-1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-footer{text-align:center;color:#888;margin-top:32px;font-size:13px}.login-footer a{color:var(--accent,#e8611a);margin-left:4px;font-weight:600;text-decoration:none}@media (width<=900px){.login-view{flex-direction:column}.login-visual{flex:none;min-height:280px}.login-form-wrap{flex:1;padding:40px 28px}.login-visual-content{bottom:28px;left:28px;right:28px}}.login-success{color:#4ade80;background:#4ade801a;border:1px solid #4ade804d;border-radius:4px;margin-bottom:20px;padding:12px 16px;font-size:13px}.login-forgot{text-align:center;margin-top:16px}.login-forgot a{color:#888;font-size:13px;text-decoration:none}.login-forgot a:hover{color:var(--accent,#e8611a)}.login-instructor-access{text-align:center;border-top:1px solid #1e1e1e;margin-top:20px;padding-top:16px}.login-instructor-access a{color:#111;letter-spacing:.3px;background:#fff;border-radius:8px;padding:9px 20px;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:inline-block}.login-instructor-access a:hover{color:#000;background:#e8e8e8}.terms-check-row{align-items:flex-start;gap:10px;margin-bottom:4px;flex-direction:row!important;display:flex!important}.terms-check-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent,#e8611a);cursor:pointer;flex-shrink:0;margin-top:3px}.terms-check-label{color:#888;cursor:pointer;font-size:12px;line-height:1.5}.terms-check-label a{color:var(--accent,#e8611a);font-weight:600;text-decoration:none}.terms-check-label a:hover{text-decoration:underline}.terms-inline-link{color:var(--accent,#e8611a);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:12px;font-weight:600;text-decoration:none}.terms-inline-link:hover{text-decoration:underline}.modal-overlay{z-index:1000;background:#000000d9;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-box{background:#181818;border:1px solid #2a2a2a;border-radius:8px;flex-direction:column;width:100%;max-width:580px;max-height:78vh;padding:32px;display:flex}.modal-header{border-bottom:1px solid #222;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;display:flex}.modal-header h3{letter-spacing:1px;text-transform:uppercase;color:#fff;font-family:Bebas Neue,sans-serif;font-size:20px}.modal-close{color:#888;cursor:pointer;background:0 0;border:none;padding:0;font-size:20px;line-height:1}.modal-close:hover{color:#fff}.modal-body{color:#ccc;white-space:pre-wrap;flex:1;font-size:13px;line-height:1.8;overflow-y:auto}.modal-body-empty{color:#555;text-align:center;padding:20px 0;font-style:italic}.modal-pre{white-space:pre-wrap;color:#ccc;margin:0;font-family:Outfit,sans-serif;font-size:13px;line-height:1.8}.verify-info{text-align:center;padding:8px 0 4px}.verify-icon{margin-bottom:16px;font-size:40px;display:block}.verify-icon.success-icon{color:#4ade80}.verify-icon.error-icon{color:#ef4444}.verify-info p{color:#ccc;margin:0 0 6px;font-size:14px;line-height:1.7}.verify-info p strong{color:#fff}.verify-note{color:#555!important;margin-bottom:20px!important;font-size:12px!important}.oauth-divider{color:#444;letter-spacing:.5px;align-items:center;gap:12px;margin:8px 0;font-size:12px;display:flex}.oauth-divider:before,.oauth-divider:after{content:"";background:#222;flex:1;height:1px}.google-btn-container{position:relative}.google-btn-wrap{justify-content:center;width:100%;display:flex}.google-btn-wrap>div{width:100%!important}.google-btn-loading{color:#aaa;pointer-events:none;background:#121212e0;border-radius:4px;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex;position:absolute;inset:0}.google-spinner{border:2px solid #333;border-top-color:var(--accent,#e8611a);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin-google}@keyframes spin-google{to{transform:rotate(360deg)}}.pw-strength{align-items:center;gap:10px;margin-top:8px;display:flex}.pw-strength-bar{background:#1f1f1f;border-radius:2px;flex:1;height:3px;overflow:hidden}.pw-strength-fill{border-radius:2px;height:100%;transition:width .3s,background .3s}.pw-strength-fill.s1{background:#ef4444}.pw-strength-fill.s2{background:#f59e0b}.pw-strength-fill.s3{background:#4ade80}.pw-strength-label{color:#888;white-space:nowrap;min-width:90px;font-size:11px}.app-content{max-width:1400px;margin:0 auto;padding:40px}.page-header{border-bottom:1px solid #252525;justify-content:space-between;align-items:flex-end;margin-bottom:32px;padding-bottom:24px;display:flex}.page-title{letter-spacing:1px;text-transform:uppercase;color:#fff;font-family:Bebas Neue,sans-serif;font-size:56px;line-height:.9}.page-title span{color:var(--accent,#e8611a)}.page-sub{color:#888;margin-top:6px;font-size:13px}.alert{border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:24px;padding:14px 20px;font-size:14px;display:flex}.alert.success{color:#4ade80;background:#4ade801a;border:1px solid #4ade804d}.alert.error{color:#ef4444;background:#ef44441a;border:1px solid #ef44444d}.alert button{color:inherit;cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:16px}.alert-content{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.day-selector{gap:8px;margin-bottom:32px;padding-bottom:8px;display:flex;overflow-x:auto}.filter-bar{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.filter-chip{color:#aaa;cursor:pointer;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:20px;padding:8px 16px;font-family:Outfit,sans-serif;font-size:12px;font-weight:500;transition:all .2s}.filter-chip:hover{border-color:var(--accent,#e8611a);color:#fff}.filter-chip.active{background:var(--accent,#e8611a);border-color:var(--accent,#e8611a);color:#fff}.class-badge{letter-spacing:1px;text-transform:uppercase;color:#4ade80;background:#4ade8026;border:1px solid #4ade804d;border-radius:3px;padding:4px 10px;font-size:10px;font-weight:700}.class-badge.full{color:#ef4444;background:#ef444426;border-color:#ef44444d}.class-badge.few{color:#f59e0b;background:#f59e0b26;border-color:#f59e0b4d}.class-meta{border-top:1px solid #1f1f1f;gap:16px;margin-bottom:20px;padding-top:16px;display:flex}.meta-item{flex:1}.meta-label{letter-spacing:1px;text-transform:uppercase;color:#888;margin-bottom:4px;font-size:10px;font-weight:600}.meta-value{color:#fff;font-size:14px;font-weight:600}.meta-value span{color:var(--accent,#e8611a)}.btn-reserve:hover{background:var(--accent-light,#ff7a33)}.empty-state{text-align:center;color:#888;padding:80px 20px}.empty-icon{margin-bottom:16px;font-size:48px}.empty-state h3{color:#fff;text-transform:uppercase;margin-bottom:8px;font-family:Bebas Neue,sans-serif;font-size:28px}.empty-state p{font-size:14px}@media (width<=768px){.app-content{padding:20px 16px}.page-title{font-size:36px}.classes-grid{grid-template-columns:1fr}.view-btn:not(:first-child),.view-toggle{display:none}.day-selector{gap:6px;padding:0 16px 12px}.day-btn{min-width:44px;padding:8px 6px;font-size:11px}.day-btn-label{font-size:10px}.day-btn-num{font-size:16px}.class-card{gap:12px;padding:14px 16px}.class-name{font-size:15px}.schedule-header{padding:16px 16px 0}}.class-card.past{opacity:.45}.class-card.past:hover{border-color:#1f1f1f;transform:none}.class-badge.past{color:#888;background:#88888826;border-color:#8888884d}.public-header{z-index:100;background:#0a0a0a;border-bottom:1px solid #252525;justify-content:space-between;align-items:center;padding:16px 40px;display:flex;position:sticky;top:0}.public-header-logo{letter-spacing:3px;color:#fff;align-items:center;gap:8px;font-family:Bebas Neue,sans-serif;font-size:20px;display:flex}.public-header-logo span{color:var(--accent,#e8611a)}.public-header-logo img{border-radius:4px;width:26px;height:26px}.public-header-cta{gap:8px;display:flex}.btn-public-register{background:var(--accent,#e8611a);color:#fff;letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:none;border-radius:4px;padding:10px 20px;font-family:Outfit,sans-serif;font-size:11px;font-weight:700;transition:background .2s}.btn-public-register:hover{background:var(--accent-light,#ff7a33)}.btn-public-login{color:#ccc;letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #2a2a2a;border-radius:4px;padding:10px 20px;font-family:Outfit,sans-serif;font-size:11px;font-weight:600;transition:all .2s}.btn-public-login:hover{border-color:var(--accent,#e8611a);color:#fff}.public-cta-banner{background:color-mix(in srgb, var(--accent,#e8611a) 7%, transparent);border:1px solid color-mix(in srgb, var(--accent,#e8611a) 25%, transparent);border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:14px 20px;display:flex}.public-cta-banner p{color:#aaa;margin:0;font-size:13px}.public-cta-banner strong{color:#fff}.public-cta-banner-actions{flex-shrink:0}.share-bar{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex}.share-label{letter-spacing:1.5px;text-transform:uppercase;color:#555;white-space:nowrap;margin-right:2px;font-size:10px;font-weight:600}.share-icon-btn{color:#666;cursor:pointer;background:#1a1a1a;border:1px solid #282828;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:all .2s;display:flex}.share-icon-btn svg{width:15px;height:15px}.share-icon-btn:hover{color:#fff;background:#222;border-color:#444}.share-icon-btn.whatsapp:hover{color:#25d366;background:#25d3661a;border-color:#25d36666}.share-icon-btn.facebook:hover{color:#1877f2;background:#1877f21a;border-color:#1877f266}.share-icon-btn.twitter:hover{color:#e0e0e0;background:#ffffff0f;border-color:#3a3a3a}.share-icon-btn.instagram:hover{color:#e1306c;background:#e1306c1a;border-color:#e1306c66}.share-icon-btn.copy:hover{color:#4ade80;background:#4ade8014;border-color:#4ade804d}.share-icon-btn.copy.copied{color:#4ade80;background:#4ade801a;border-color:#4ade8059}.schedule-controls{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:32px;display:flex}.week-selector{flex-direction:column;flex:1;gap:10px;display:flex}.cal-error{color:#ef4444;text-align:center;opacity:.8;margin-top:8px;font-size:11px}.cal-session-card:hover{border-color:var(--accent,#e8611a)}.cal-session-card.past{opacity:.4}.cal-session-spots{color:#4ade80;margin-top:1px;font-size:10px;font-weight:600}.cal-session-spots.full{color:#ef4444}.cal-session-spots.few{color:#f59e0b}.cal-btn-reserve{background:var(--accent,#e8611a);color:#fff;letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:none;border-radius:3px;margin-top:4px;padding:5px 8px;font-family:Outfit,sans-serif;font-size:9px;font-weight:700;transition:background .15s}.cal-btn-reserve:hover{background:var(--accent-light,#ff7a33)}.cal-btn-reserve:disabled{color:#444;cursor:not-allowed;background:#222}.cal-btn-reserve.waitlist{background:#5b3f9e}.cal-btn-reserve.waitlist:hover{background:#6d4dc7}.class-badge.waitlist{color:#8b5cf6;background:#8b5cf626;border-color:#8b5cf659}.btn-reserve.waitlist{background:#5b3f9e}.btn-reserve.waitlist:hover{background:#6d4dc7}.btn-gcal{color:#4ade80;letter-spacing:.3px;white-space:nowrap;background:#4ade8026;border:1px solid #4ade8059;border-radius:4px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;text-decoration:none;transition:background .2s;display:inline-flex}.btn-gcal:hover{background:#4ade8040}@media (width<=520px){.public-header{padding:14px 20px}.public-header-logo{font-size:17px}}.seat-modal-overlay{z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.seat-modal{background:#181818;border:1px solid #2a2a2a;border-radius:10px;width:100%;max-width:480px;overflow:hidden}.seat-modal-header{border-bottom:1px solid #222;justify-content:space-between;align-items:flex-start;padding:20px 24px 16px;display:flex}.seat-modal-class{letter-spacing:1px;color:#fff;font-family:Bebas Neue,sans-serif;font-size:24px}.seat-modal-time{color:#888;margin-top:2px;font-size:12px}.seat-modal-close{color:#666;cursor:pointer;background:0 0;border:none;padding:4px;font-size:16px;line-height:1}.seat-modal-close:hover{color:#fff}.seat-modal-body{padding:20px 24px}.seat-modal-hint{color:#888;text-transform:uppercase;letter-spacing:1px;margin:0 0 16px;font-size:12px;font-weight:600}.seat-grid{gap:10px;margin-bottom:20px;display:grid}.seat-btn{color:#ccc;cursor:pointer;background:#111;border:2px solid #2a2a2a;border-radius:6px;width:52px;height:52px;font-family:Outfit,sans-serif;font-size:13px;font-weight:700;transition:all .15s}.seat-btn:hover:not(:disabled){border-color:var(--accent,#e8611a);color:#fff;background:color-mix(in srgb, var(--accent,#e8611a) 10%, transparent)}.seat-btn.selected{background:var(--accent,#e8611a);border-color:var(--accent,#e8611a);color:#fff}.seat-btn.taken{color:#333;cursor:not-allowed;background:#111;border-color:#1f1f1f}.seat-zigzag{flex-direction:column;align-items:center;gap:8px;width:100%;margin-bottom:20px;display:flex;overflow-x:auto}.zigzag-row{flex-wrap:nowrap;justify-content:center;gap:8px;display:flex}.zigzag-row.zigzag-top{padding-left:24px}.seat-modal .seat-btn{width:40px;height:40px;font-size:12px}.seat-legend{flex-wrap:wrap;gap:16px;display:flex}.seat-legend-item{color:#666;align-items:center;gap:6px;font-size:11px;display:flex}.seat-dot{border-radius:3px;width:12px;height:12px;display:inline-block}.seat-dot.available{background:#111;border:2px solid #2a2a2a}.seat-dot.selected-dot{background:var(--accent,#e8611a)}.seat-dot.taken-dot{background:#1f1f1f;border:2px solid #1a1a1a}.seat-modal-footer{border-top:1px solid #222;gap:10px;padding:16px 24px;display:flex}.btn-secondary{color:#888;letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #2a2a2a;border-radius:4px;flex:1;padding:12px;font-family:Outfit,sans-serif;font-size:12px;font-weight:600;transition:all .2s}.btn-secondary:hover{color:#ccc;border-color:#555}.btn-primary-orange{background:var(--accent,#e8611a);color:#fff;letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:none;border-radius:4px;flex:2;padding:12px;font-family:Outfit,sans-serif;font-size:12px;font-weight:700;transition:background .2s}.btn-primary-orange:hover{background:var(--accent-light,#ff7a33)}.btn-primary-orange:disabled{color:#555;cursor:not-allowed;background:#2a2a2a}.timeline-view{flex-direction:column;gap:16px;display:flex}.timeline-date-label{color:#888;text-transform:capitalize;align-items:center;gap:12px;font-size:13px;font-weight:500;display:flex}.timeline-now-badge{color:#ef4444;letter-spacing:.5px;background:#ef44441f;border:1px solid #ef44444d;border-radius:12px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.timeline-now-dot-sm{background:#ef4444;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse-now}@keyframes pulse-now{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}.timeline-outer{background:#0e0e0e;border:1px solid #1e1e1e;border-radius:8px;max-height:75vh;overflow-y:auto}.timeline-inner{width:100%;min-width:500px;position:relative}.timeline-sessions-area{position:absolute;inset:0 0 0 72px}.timeline-hour-row{align-items:flex-start;display:flex;position:absolute;left:0;right:0}.timeline-hour-label{text-align:right;letter-spacing:.5px;color:#3a3a3a;-webkit-user-select:none;user-select:none;flex-shrink:0;width:68px;padding-right:12px;font-family:Outfit,monospace;font-size:10px;font-weight:600;transform:translateY(-7px)}.timeline-hour-line{background:#1c1c1c;flex:1;height:1px;margin-top:0}.timeline-half-line{background:#161616;height:1px;position:absolute;left:68px;right:0}.timeline-now-line{pointer-events:none;z-index:20;background:#ef4444;height:2px;position:absolute;left:60px;right:0}.timeline-now-circle{background:#ef4444;border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-5px;box-shadow:0 0 0 3px #ef444433}.timeline-session{cursor:default;z-index:5;background:#161616;border:1px solid #252525;border-radius:6px;min-height:32px;transition:border-color .15s,box-shadow .15s;position:absolute;overflow:hidden}.timeline-session:hover{z-index:10;border-color:#444;box-shadow:0 2px 12px #0006}.timeline-session.past{opacity:.38}.timeline-session.in-progress{border-color:#333;box-shadow:0 0 0 1px #ffffff0a}.timeline-session-progress{pointer-events:none;transition:width 60s linear;position:absolute;top:0;bottom:0;left:0}.timeline-session-content{flex-direction:column;gap:2px;height:100%;padding:6px 10px;display:flex;position:relative;overflow:hidden}.timeline-session.compact .timeline-session-content,.timeline-session-content--compact{flex-direction:row;align-items:center;gap:6px;padding:0 8px}.timeline-session.compact .timeline-session-time{color:#888;flex-shrink:0;font-size:11px}.timeline-session.compact .timeline-session-name{flex:1;min-width:0;font-size:12px}.timeline-session-btn-sm{cursor:pointer;color:#fff;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;transition:opacity .15s;display:flex}.timeline-session-btn-sm:hover{opacity:.8}.timeline-session-btn-sm.waitlist{background:#5b3f9e}.timeline-session-time{color:#aaa;flex-shrink:0;font-family:Bebas Neue,sans-serif;font-size:15px;line-height:1}.timeline-session-dur{letter-spacing:.5px;color:#555;text-transform:uppercase;font-family:Outfit,sans-serif;font-size:9px;font-weight:600}.timeline-session-name{color:#fff;letter-spacing:.5px;white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;font-family:Bebas Neue,sans-serif;font-size:17px;line-height:1;overflow:hidden}.timeline-session-instructor{color:#666;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.timeline-session-spots{letter-spacing:.3px;flex-shrink:0;font-size:10px;font-weight:700}.timeline-session-btn{background:var(--accent,#e8611a);color:var(--accent-text,#fff);letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:none;border-radius:3px;flex-shrink:0;width:fit-content;margin-top:4px;padding:4px 8px;font-family:Outfit,sans-serif;font-size:9px;font-weight:700;transition:opacity .15s}.timeline-session-btn:hover{opacity:.85}.timeline-session-btn:disabled{color:#444;cursor:not-allowed;background:#222}.timeline-session-btn.waitlist{color:#fff;background:#5b3f9e}.timeline-empty{color:#333;font-size:14px;position:absolute;top:40%;left:80px}.day-btn.today,.day-btn.today .day-btn-num{position:relative}.day-btn.today .day-btn-num:after{content:"";background:var(--accent,#e8611a);border-radius:50%;width:4px;height:4px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}.day-btn.today:not(.active) .day-btn-label{color:var(--accent,#e8611a)}.alert.warning{color:#f59e0b;background:#f59e0b1a;border:1px solid #f59e0b4d}.class-subtitle{color:#888;margin-top:-2px;margin-bottom:4px;font-size:12px;font-style:italic}.class-description{color:#666;margin-bottom:6px;font-size:12px;line-height:1.4}.filter-bar-instructors{margin-top:-16px}.filter-chip-instructor{border-radius:12px;padding:4px 10px;font-size:11px}.seat-modal-door-wrapper{flex-direction:column;align-items:center;gap:8px;display:flex}.seat-modal-door-wrapper.door-left,.seat-modal-door-wrapper.door-right{flex-direction:row;align-items:flex-start}.seat-modal-door{letter-spacing:1px;color:#888;white-space:nowrap;border:1px dashed #444;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:600}.seat-empty-cell{width:40px;height:40px}.seat-instructor-cell{cursor:default;justify-content:center;align-items:center;font-size:16px;display:flex;color:#a78bfa!important;background:#8b5cf61a!important;border-color:#8b5cf64d!important}.unlinked-banner{background:linear-gradient(135deg,#fbbf2414,#fbbf240a);border:1px solid #fbbf2459;border-left:4px solid #fbbf24;border-radius:8px;align-items:flex-start;gap:14px;margin-bottom:16px;padding:16px 18px;display:flex}.unlinked-banner-icon{flex-shrink:0;margin-top:2px;font-size:22px;line-height:1}.unlinked-banner-body{flex:1}.unlinked-banner-title{letter-spacing:.5px;color:#fbbf24;text-transform:uppercase;margin-bottom:4px;font-size:13px;font-weight:700}.unlinked-banner-text{color:#ccc;font-size:13px;line-height:1.5}.unlinked-banner-close{color:#666;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:16px;line-height:1}.unlinked-banner-close:hover{color:#aaa}.booking-section-title{letter-spacing:2px;text-transform:uppercase;color:#888;border-bottom:1px solid #1f1f1f;margin:24px 0 12px;padding-bottom:8px;font-family:Bebas Neue,sans-serif;font-size:18px}.booking-section-title:first-child{margin-top:0}.booking-list{flex-direction:column;gap:12px;display:flex}.booking-item{border:1px solid #1f1f1f;border-left:3px solid var(--accent,#e8611a);background:#181818;border-radius:6px;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:20px 24px;transition:all .2s;display:grid}.booking-item:hover{border-color:#444;border-left-color:var(--accent,#e8611a)}.booking-item.history{opacity:.6}.booking-date{text-align:center;border-right:1px solid #1f1f1f;padding-right:24px}.booking-date-day{color:var(--accent,#e8611a);font-family:Bebas Neue,sans-serif;font-size:36px;line-height:1}.booking-date-month{letter-spacing:1.5px;text-transform:uppercase;color:#888;margin-top:4px;font-size:11px}.booking-info h3{letter-spacing:1px;text-transform:uppercase;color:#fff;margin-bottom:4px;font-family:Bebas Neue,sans-serif;font-size:22px}.booking-info-meta{color:#888;gap:16px;font-size:13px;display:flex}.btn-cancel{color:#888;letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #2a2a2a;border-radius:4px;padding:10px 20px;font-family:Outfit,sans-serif;font-size:11px;font-weight:600;transition:all .2s}.btn-cancel:hover{color:#ef4444;border-color:#ef4444}.booking-status{letter-spacing:1px;text-transform:uppercase;border-radius:3px;padding:4px 10px;font-size:10px;font-weight:700}.booking-status.attended{color:#4ade80;background:#4ade8026}.booking-status.noshow{color:#ef4444;background:#ef444426}.booking-status.cancelled{color:#888;background:#88888826}.booking-status.confirmed{background:color-mix(in srgb, var(--accent,#e8611a) 15%, transparent);color:var(--accent,#e8611a)}.booking-status.waitlisted{color:#8b5cf6;background:#8b5cf626}.waitlist-pos{color:#8b5cf6;letter-spacing:.3px;background:#8b5cf61f;border:1px solid #8b5cf640;border-radius:3px;padding:2px 7px;font-size:11px;font-weight:700}.booking-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.btn-cancel-blocked{color:#444;letter-spacing:.3px;cursor:default;white-space:nowrap;border:1px solid #2a2a2a;border-radius:4px;padding:8px 14px;font-size:12px;font-weight:600;display:inline-block}.btn-gcal-booking{color:#666;letter-spacing:.3px;white-space:nowrap;background:0 0;border:1px solid #2a2a2a;border-radius:4px;padding:8px 12px;font-size:12px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.btn-gcal-booking:hover{color:#4ade80;background:#4ade800f;border-color:#4ade80}@media (width<=768px){.booking-item{grid-template-columns:1fr;gap:12px}.booking-date{border-bottom:1px solid #1f1f1f;border-right:none;align-items:baseline;gap:12px;padding-bottom:12px;padding-right:0;display:flex}}.qr-modal-overlay{z-index:999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.qr-modal-box{background:#181818;border:1px solid #2a2a2a;border-radius:10px;width:320px;overflow:hidden}.qr-modal-header{border-bottom:1px solid #222;justify-content:space-between;align-items:flex-start;padding:20px 20px 16px;display:flex}.qr-modal-class{letter-spacing:1px;color:#fff;font-family:Bebas Neue,sans-serif;font-size:20px}.qr-modal-meta{color:#888;margin-top:2px;font-size:12px}.qr-modal-close{color:#555;cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:16px;line-height:1}.qr-modal-close:hover{color:#fff}.qr-modal-body{background:#fff;justify-content:center;padding:28px 20px;display:flex}.qr-modal-footer{color:#666;text-align:center;border-top:1px solid #222;padding:14px 20px;font-size:12px;line-height:1.5}.btn-qr{color:#888;letter-spacing:1px;cursor:pointer;background:0 0;border:1px solid #2a2a2a;border-radius:4px;padding:8px 14px;font-family:Outfit,sans-serif;font-size:11px;font-weight:700;transition:all .2s}.btn-qr:hover{border-color:var(--accent,#e8611a);color:var(--accent,#e8611a)}.qr-token-text{letter-spacing:2px;color:#333;text-align:center;word-break:break-all;margin-top:12px;font-family:JetBrains Mono,monospace;font-size:13px}.cancel-modal-overlay{z-index:999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cancel-modal-box{background:#181818;border:1px solid #2a2a2a;border-radius:10px;width:340px;padding:28px}.cancel-modal-title{letter-spacing:1px;color:#fff;margin:0 0 16px;font-family:Bebas Neue,sans-serif;font-size:22px}.cancel-modal-class{color:#fff;margin:0 0 4px;font-size:15px;font-weight:700}.cancel-modal-meta{color:#888;margin:0 0 16px;font-size:12px}.cancel-modal-warn{color:#f59e0b;background:#f59e0b14;border:1px solid #f59e0b33;border-radius:5px;margin:0 0 20px;padding:10px 14px;font-size:12px}.cancel-modal-actions{gap:10px;display:flex}.btn-cancel-keep{color:#888;letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #333;border-radius:5px;flex:1;padding:12px;font-family:Outfit,sans-serif;font-size:12px;font-weight:600;transition:all .2s}.btn-cancel-keep:hover{color:#ccc;border-color:#555}.btn-cancel-confirm{color:#ef4444;letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:#ef44441f;border:1px solid #ef44444d;border-radius:5px;flex:1;padding:12px;font-family:Outfit,sans-serif;font-size:12px;font-weight:600;transition:all .2s}.btn-cancel-confirm:hover{background:#ef444433;border-color:#ef4444}.late-cancel-warn{color:#ef4444;background:#ef444414;border:1px solid #ef44444d;border-radius:4px;padding:10px 14px;font-size:13px;line-height:1.5}.late-cancel-warn strong{color:#ff6b6b}.empty-state .btn-primary{background:var(--accent,#e8611a);color:#fff;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;border:none;border-radius:4px;padding:12px 28px;font-family:Outfit,sans-serif;font-size:12px;font-weight:700;transition:opacity .2s;display:inline-block}.empty-state .btn-primary:hover{opacity:.85}.booking-seat-label{color:var(--accent,#e8611a);background:#e8611a1f;border-radius:4px;padding:1px 7px;font-size:12px;font-weight:600}.daypass-qr-inline{border-top:1px solid #1f1f1f;flex-direction:column;align-items:flex-start;gap:8px;margin-top:12px;padding-top:12px;display:flex}.daypass-qr-code{color:#fff;letter-spacing:2px;font-family:Courier New,monospace;font-size:18px;font-weight:700}.profile-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.profile-card{background:#181818;border:1px solid #1f1f1f;border-radius:8px;padding:32px}.profile-card-header{border-bottom:1px solid #1f1f1f;margin-bottom:24px;padding-bottom:20px}.profile-card h3{letter-spacing:1px;text-transform:uppercase;color:#fff;font-family:Bebas Neue,sans-serif;font-size:22px}.profile-data{flex-direction:column;gap:0;display:flex}.profile-row{border-bottom:1px solid #1f1f1f;justify-content:space-between;padding:12px 0;display:flex}.profile-row:last-child{border-bottom:none}.profile-row-label{letter-spacing:1px;text-transform:uppercase;color:#666;font-size:12px}.profile-row-value{color:#fff;font-size:14px;font-weight:500}.strikes-display{text-align:center;padding:20px 0}.strikes-number{color:var(--accent,#e8611a);margin-bottom:8px;font-family:Bebas Neue,sans-serif;font-size:96px;line-height:1}.strikes-label{letter-spacing:2px;text-transform:uppercase;color:#888;font-size:12px}.strikes-bar{justify-content:center;gap:8px;margin:24px 0;display:flex}.strike-dot{background:#1f1f1f;border-radius:3px;width:50px;height:6px}.strike-dot.active{background:var(--accent,#e8611a)}.strikes-info{color:#888;font-size:12px;line-height:1.6}.strikes-info strong{color:#fff}.btn-logout{color:#ef4444;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #ef44444d;border-radius:4px;width:100%;margin-top:24px;padding:14px;font-family:Outfit,sans-serif;font-size:12px;font-weight:600;transition:all .2s}.btn-logout:hover{background:#ef44441a;border-color:#ef4444}.packages-section{grid-column:1/-1}.packages-list{flex-direction:column;gap:10px;display:flex}.package-card{background:#111;border:1px solid #1f1f1f;border-radius:6px;align-items:center;gap:16px;padding:14px 18px;transition:border-color .2s;display:flex}.package-card:hover{border-color:#2a2a2a}.pkg-info{flex:1}.pkg-name{color:#fff;margin-bottom:3px;font-size:14px;font-weight:600}.pkg-desc{color:#888;margin-bottom:5px;font-size:12px}.pkg-meta{color:#666;font-size:12px}.pkg-price{color:#4ade80;letter-spacing:1px;white-space:nowrap;font-family:Bebas Neue,sans-serif;font-size:18px}.profile-row-editable{align-items:center;gap:8px;display:flex}.btn-inline-edit{color:#555;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px;line-height:0;transition:color .2s}.btn-inline-edit:hover{color:var(--accent,#e8611a)}.profile-edit-form{flex-direction:column;gap:6px;padding:4px 0 12px;display:flex}.profile-edit-label{letter-spacing:1px;text-transform:uppercase;color:#666;font-size:11px}.profile-edit-input{color:#fff;background:#111;border:1px solid #2a2a2a;border-radius:5px;outline:none;padding:10px 12px;font-family:Outfit,sans-serif;font-size:14px;transition:border-color .2s}.profile-edit-input:focus{border-color:var(--accent,#e8611a)}.profile-edit-actions{gap:8px;margin-top:6px;display:flex}.btn-edit-cancel{color:#666;letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #333;border-radius:4px;flex:1;padding:10px;font-family:Outfit,sans-serif;font-size:11px;font-weight:600;transition:all .2s}.btn-edit-cancel:hover{color:#aaa;border-color:#555}.btn-edit-save{background:var(--accent,#e8611a);color:#fff;letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:none;border-radius:4px;flex:1;padding:10px;font-family:Outfit,sans-serif;font-size:11px;font-weight:700;transition:opacity .2s}.btn-edit-save:disabled{opacity:.5;cursor:not-allowed}.profile-edit-msg{border-radius:4px;margin-top:4px;padding:8px 12px;font-size:12px}.profile-edit-msg.success{color:#4ade80;background:#4ade8014;border:1px solid #4ade8033}.profile-edit-msg.error{color:#ef4444;background:#ef444414;border:1px solid #ef444433}@media (width<=768px){.profile-grid{grid-template-columns:1fr}.packages-section{grid-column:auto}}.strike-near-limit-warn{color:#ef4444;letter-spacing:.5px;background:#ef444414;border:1px solid #ef44444d;border-radius:4px;margin:16px 0 8px;padding:10px 14px;font-size:12px;font-weight:600}.penalty-row{border-bottom:1px solid #222;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.penalty-row:last-child{border-bottom:none}.penalty-row.forgiven{opacity:.5}.penalty-row-info{flex:1;min-width:0}.penalty-row-class{color:#fff;margin-bottom:2px;font-size:13px;font-weight:600}.penalty-row-meta{color:#666;gap:8px;font-size:11px;display:flex}.penalty-row-forgiven{color:#4ade80;margin-top:2px;font-size:11px}.penalty-badge-small{letter-spacing:1px;text-transform:uppercase;white-space:nowrap;border-radius:4px;padding:3px 8px;font-size:10px;font-weight:700}.penalty-badge-small.active{color:#ef4444;background:#ef444426}.penalty-badge-small.ok{color:#4ade80;background:#4ade8026}.instructor-subtitle{color:#888;margin-bottom:24px;font-size:14px}.date-picker{align-items:center;display:flex}.date-input{color:#fff;cursor:pointer;background:#181818;border:1px solid #1f1f1f;border-radius:4px;padding:10px 16px;font-family:Outfit,sans-serif;font-size:14px}.date-input:focus{border-color:var(--accent,#e8611a);outline:none}.date-input::-webkit-calendar-picker-indicator{filter:invert()}.instructor-classes{flex-direction:column;gap:12px;display:flex}.instructor-class-card{cursor:pointer;background:#181818;border:1px solid #1f1f1f;border-radius:8px;grid-template-columns:80px 1fr 100px 40px;align-items:center;gap:20px;padding:24px;transition:all .2s;display:grid}.instructor-class-card:hover{border-color:var(--accent,#e8611a);transform:translate(4px)}.icc-left{text-align:center}.icc-time{color:var(--accent,#e8611a);font-family:Bebas Neue,sans-serif;font-size:28px;line-height:1}.icc-label{letter-spacing:1px;text-transform:uppercase;color:#666;margin-top:4px;font-size:10px}.icc-name{letter-spacing:1px;text-transform:uppercase;color:#fff;font-family:Bebas Neue,sans-serif;font-size:24px}.icc-instructor{color:#888;font-size:13px}.icc-right{text-align:center}.icc-count{color:#fff;font-family:Bebas Neue,sans-serif;font-size:28px}.icc-count span{color:#666;font-size:18px}.icc-arrow{color:#444;font-family:Bebas Neue,sans-serif;font-size:24px}.btn-back{color:#888;background:0 0;margin-bottom:20px;padding:8px 0;font-size:13px;font-weight:500;transition:color .2s}.btn-back:hover{color:var(--accent,#e8611a)}.session-header{border:1px solid #1f1f1f;border-left:3px solid var(--accent,#e8611a);background:#181818;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:28px;display:flex}.session-name{letter-spacing:1px;text-transform:uppercase;color:#fff;margin-bottom:6px;font-family:Bebas Neue,sans-serif;font-size:32px}.session-meta{color:#888;gap:16px;font-size:13px;display:flex}.session-stats{gap:24px;display:flex}.session-stat{text-align:center}.session-stat-num{color:#fff;font-family:Bebas Neue,sans-serif;font-size:36px;line-height:1}.session-stat-num.green{color:#4ade80}.session-stat-num.orange{color:var(--accent,#e8611a)}.session-stat-label{letter-spacing:1px;text-transform:uppercase;color:#666;margin-top:4px;font-size:10px}.attendance-actions{gap:12px;margin-bottom:20px;display:flex}.btn-walkin{border:1px solid var(--accent,#e8611a);color:var(--accent,#e8611a);letter-spacing:1px;text-transform:uppercase;background:#181818;border-radius:4px;padding:12px 24px;font-family:Outfit,sans-serif;font-size:12px;font-weight:700;transition:all .2s}.btn-walkin:hover{background:color-mix(in srgb, var(--accent,#e8611a) 10%, transparent)}.btn-finalize{color:#ef4444;letter-spacing:1px;text-transform:uppercase;background:0 0;border:1px solid #ef4444;border-radius:4px;margin-left:auto;padding:12px 24px;font-family:Outfit,sans-serif;font-size:12px;font-weight:700;transition:all .2s}.btn-finalize:hover{background:#ef44441a}.walkin-form{border:1px solid var(--accent,#e8611a);background:#181818;border-radius:6px;gap:12px;margin-bottom:20px;padding:20px;display:flex}.walkin-input{color:#fff;background:#0a0a0a;border:1px solid #2a2a2a;border-radius:4px;flex:1;padding:12px 16px;font-size:14px}.walkin-input::placeholder{color:#666}.btn-walkin-confirm{background:var(--accent,#e8611a);color:#fff;letter-spacing:1px;text-transform:uppercase;border-radius:4px;padding:12px 24px;font-family:Outfit,sans-serif;font-size:12px;font-weight:700}.btn-walkin-confirm:hover{background:var(--accent-light,#ff7a33)}.attendance-list{flex-direction:column;gap:8px;display:flex}.attendance-item{background:#181818;border:1px solid #1f1f1f;border-radius:6px;grid-template-columns:36px 1fr auto auto;align-items:center;gap:16px;padding:16px 24px;transition:all .2s;display:grid}.attendance-item:hover{border-color:#444}.attendance-item.attended{border-left:3px solid #4ade80}.attendance-item.no_show{opacity:.6;border-left:3px solid #ef4444}.ai-status-icon{text-align:center;font-size:20px}.ai-name{color:#fff;font-size:14px;font-weight:600}.ai-email{color:#666;font-size:12px}.ai-card-code{color:#666;letter-spacing:1px;font-family:JetBrains Mono,monospace;font-size:11px}.btn-checkin{color:#0a0a0a;letter-spacing:1.5px;text-transform:uppercase;background:#4ade80;border-radius:4px;padding:10px 20px;font-family:Outfit,sans-serif;font-size:11px;font-weight:700;transition:all .2s}.btn-checkin:hover{background:#6ee7a0;transform:translateY(-1px)}.attendance-badge{letter-spacing:1px;text-transform:uppercase;border-radius:3px;padding:6px 12px;font-size:10px;font-weight:700}.attendance-badge.attended{color:#4ade80;background:#4ade8026}.attendance-badge.no_show{color:#ef4444;background:#ef444426}.icc-qr-badge{letter-spacing:1px;color:var(--accent,#e8611a);border:1px solid var(--accent,#e8611a);border-radius:3px;padding:4px 8px;font-size:10px;font-weight:700}.qr-badge-inline{letter-spacing:1px;color:var(--accent,#e8611a);border:1px solid var(--accent,#e8611a);vertical-align:middle;border-radius:3px;margin-left:12px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.attendance-badge.qr-only{background:color-mix(in srgb, var(--accent,#e8611a) 12%, transparent);color:var(--accent,#e8611a);border:1px solid color-mix(in srgb, var(--accent,#e8611a) 30%, transparent)}.qr-scan-panel{border:1px solid var(--accent,#e8611a);background:#181818;border-radius:8px;flex-direction:column;gap:16px;margin-bottom:20px;padding:20px;display:flex}.btn-camera{background:var(--accent,#e8611a);color:#fff;letter-spacing:1px;text-transform:uppercase;border-radius:6px;align-self:flex-start;align-items:center;gap:10px;padding:14px 24px;font-family:Outfit,sans-serif;font-size:13px;font-weight:700;transition:background .2s;display:flex}.btn-camera:hover{background:var(--accent-light,#ff7a33)}.camera-container{background:#000;border:2px solid #0000;border-radius:8px;width:240px;height:160px;transition:border-color .2s;position:relative;overflow:hidden}.camera-container.scan-border-ok{border-color:#4ade80}.camera-container.scan-border-error{border-color:#ef4444}.camera-feed{object-fit:cover;border-radius:6px;width:100%;height:160px;display:block}.camera-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.scan-frame{border:2px solid var(--accent,#e8611a);border-radius:8px;width:100px;height:100px;transition:border-color .2s,box-shadow .2s;position:relative}.scan-frame.scan-frame-ok{border-color:#4ade80;box-shadow:0 0 14px #4ade808c}.scan-frame.scan-frame-error{border-color:#ef4444;box-shadow:0 0 10px #ef444466}.scan-line{background:var(--accent,#e8611a);opacity:.8;width:80px;height:2px;animation:1.5s ease-in-out infinite scan-sweep;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes scan-sweep{0%{top:20%}50%{top:80%}to{top:20%}}.btn-stop-camera{color:#fff;letter-spacing:1px;text-transform:uppercase;background:#000000b3;border:1px solid #444;border-radius:4px;padding:8px 16px;font-family:Outfit,sans-serif;font-size:11px;font-weight:700;position:absolute;bottom:12px;right:12px}.btn-stop-camera:hover{background:#000000e6}.btn-flip-camera{color:#fff;cursor:pointer;background:#000000b3;border:1px solid #444;border-radius:4px;justify-content:center;align-items:center;padding:8px 10px;display:flex;position:absolute;bottom:12px;left:12px}.btn-flip-camera:hover{background:#000000e6}.scan-result-overlay{z-index:10;pointer-events:none;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;inset:0}.scan-result-overlay.processing{background:#0000008c}.scan-result-overlay.ok{background:#4ade8038;animation:.18s scan-flash-in}.scan-result-overlay.error{background:#ef44442e;animation:.18s scan-flash-in}@keyframes scan-flash-in{0%{opacity:0}to{opacity:1}}.scan-result-icon{color:#4ade80;font-size:32px;font-weight:700;line-height:1}.scan-result-icon-error{color:#ef4444}.scan-result-name{color:#fff;text-align:center;text-shadow:0 1px 4px #000c;text-overflow:ellipsis;white-space:nowrap;max-width:220px;padding:0 8px;font-size:14px;font-weight:700;overflow:hidden}.scan-result-sub{letter-spacing:1px;text-transform:uppercase;color:#fb923c;background:#fb923c26;border:1px solid #fb923c4d;border-radius:3px;margin-top:2px;padding:1px 6px;font-size:9px;font-weight:700}.scan-result-msg{color:#ddd;text-align:center;text-shadow:0 1px 3px #000000e6;padding:0 10px;font-size:11px;line-height:1.4}.qr-manual-row{gap:12px;display:flex}.date-nav{align-items:center;gap:12px;display:flex}.date-nav-btn{color:#aaa;cursor:pointer;background:#181818;border:1px solid #2a2a2a;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;font-family:inherit;font-size:18px;transition:border-color .15s,color .15s;display:flex}.date-nav-btn:hover{border-color:var(--accent,#e8611a);color:var(--accent,#e8611a)}.date-nav-label{color:#ccc;text-align:center;min-width:70px;font-size:14px;font-weight:500}.ai-status-dot{background:#444;border-radius:50%;flex-shrink:0;width:10px;height:10px}.ai-status-dot.waitlisted{background:#888}.ai-seat{color:var(--accent,#e8611a);letter-spacing:.5px;background:#e8611a26;border:1px solid #e8611a4d;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:700}.btn-noshow{color:#ef4444;letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #ef4444;border-radius:4px;padding:8px 14px;font-family:Outfit,sans-serif;font-size:10px;font-weight:700;transition:background .15s}.btn-noshow:hover{background:#ef44441a}.btn-noshow:disabled{opacity:.5;cursor:not-allowed}.waitlist-section{margin-top:24px}.waitlist-title{letter-spacing:2px;text-transform:uppercase;color:#555;border-bottom:1px solid #1f1f1f;margin-bottom:10px;padding-bottom:8px;font-size:11px;font-weight:700}.attendance-item.waitlisted{opacity:.6}.finalize-section{margin-top:24px}.btn-finalize-bottom{width:100%;margin-left:0}.qr-layout-split{grid-template-columns:340px 1fr;align-items:start;gap:20px;display:grid}.qr-main-col{min-width:0}.recent-checkins-col{background:#111;border:1px solid #2a2a2a;border-radius:10px;padding:16px;position:sticky;top:72px}.recent-checkins-title{letter-spacing:2px;text-transform:uppercase;color:#555;margin-bottom:12px;font-size:11px;font-weight:700}.recent-checkin-item{border-bottom:1px solid #1a1a1a;justify-content:space-between;align-items:center;padding:8px 0;font-size:13px;display:flex}.rc-name{color:#ccc;font-weight:500}.rc-time{color:#555;flex-shrink:0;margin-left:8px;font-size:12px}.rc-walkin-badge{letter-spacing:.5px;color:#fb923c;text-transform:uppercase;vertical-align:middle;background:#fb923c26;border:1px solid #fb923c4d;border-radius:3px;margin-left:6px;padding:1px 5px;font-size:9px;font-weight:700;display:inline-block}.session-sticky-bar{z-index:50;color:#aaa;background:#0d0d0d;border-bottom:1px solid #2a2a2a;gap:20px;padding:10px 16px;font-size:13px;font-weight:500;display:none;position:sticky;top:0}.hist-controls{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;display:flex}.hist-presets{gap:8px;display:flex}.hist-preset-btn{color:#888;cursor:pointer;background:#181818;border:1px solid #2a2a2a;border-radius:6px;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:600;transition:border-color .15s,color .15s}.hist-preset-btn:hover{border-color:var(--accent,#e8611a);color:var(--accent,#e8611a)}.hist-date-range{align-items:center;gap:8px;display:flex}.hist-date-sep{color:#555}.hist-list{flex-direction:column;gap:8px;display:flex}.hist-item{background:#181818;border:1px solid #1f1f1f;border-radius:8px;overflow:hidden}.hist-item-header{cursor:pointer;align-items:center;gap:16px;padding:16px 20px;transition:background .15s;display:flex}.hist-item-header:hover{background:#1e1e1e}.hist-item-left{flex:1}.hist-class-name{color:#fff;font-size:15px;font-weight:600}.hist-meta{color:#666;margin-top:2px;font-size:12px}.hist-badges{gap:8px;display:flex}.hist-badge{border-radius:4px;padding:3px 10px;font-size:11px;font-weight:700}.hist-badge.attended{color:#4ade80;background:#4ade801f}.hist-badge.noshow{color:#ef4444;background:#ef44441f}.hist-expand{color:#555;flex-shrink:0;font-size:12px}@media (width<=768px){.instructor-class-card{grid-template-columns:1fr;gap:12px}.icc-left,.icc-right{text-align:left}.icc-arrow{display:none}.session-header{flex-direction:row;gap:12px;padding:16px}.session-name{font-size:22px}.session-stats{gap:12px}.session-stat-num{font-size:28px}.attendance-actions{flex-direction:column}.btn-finalize{margin-left:0}.attendance-item{grid-template-columns:24px 1fr auto;gap:10px;padding:12px 14px}.ai-hide-mobile{display:none}.ai-action{gap:6px;display:flex}.btn-checkin,.btn-noshow{min-height:44px;padding:10px 12px}.qr-layout-split{grid-template-columns:1fr}.recent-checkins-col{position:static}.session-sticky-bar{display:flex}.hist-controls{flex-direction:column;align-items:flex-start}.attendance-item.attended{background:#4ade800d}.attendance-item.no_show{opacity:1;background:#ef44440d}}.admin-layout{min-height:85vh;display:flex}.admin-sidebar{scrollbar-width:thin;scrollbar-color:#222 transparent;background:#0c0c0c;border-right:1px solid #1a1a1a;flex-shrink:0;width:230px;height:calc(100vh - 56px);position:sticky;top:56px;overflow-y:auto}.admin-sidebar::-webkit-scrollbar{width:4px}.admin-sidebar::-webkit-scrollbar-thumb{background:#222;border-radius:2px}.admin-sidebar-header{border-bottom:1px solid #1a1a1a;padding:24px 20px 20px}.admin-sidebar-title{letter-spacing:2px;color:#fff;text-transform:uppercase;font-family:Bebas Neue,sans-serif;font-size:19px}.admin-sidebar-nav{padding:8px 0 24px}.admin-nav-group{margin-bottom:4px}.admin-nav-group-label{letter-spacing:2px;text-transform:uppercase;color:#2e2e2e;white-space:nowrap;padding:14px 20px 4px;font-size:9px;font-weight:700}.admin-nav-item{cursor:pointer;text-align:left;background:0 0;border:none;border-left:3px solid #0000;align-items:center;gap:11px;width:100%;padding:10px 20px;font-family:Outfit,sans-serif;transition:background .15s,border-color .15s;display:flex}.admin-nav-item:hover{background:#181818}.admin-nav-item.active{background:color-mix(in srgb, var(--accent,#e8611a) 10%, transparent);border-left-color:var(--accent,#e8611a)}.admin-nav-label{color:#777;font-size:14px;font-weight:500;line-height:1.2}.admin-nav-item:hover .admin-nav-label{color:#ddd}.admin-nav-item.active .admin-nav-label{color:var(--accent,#e8611a);font-weight:600}.admin-main{flex:1;min-width:0}.admin-content{max-width:1100px;padding:36px 40px}.admin-topbar,.admin-overlay,.admin-hamburger{display:none}@media (width<=800px){.admin-layout{display:block}.admin-sidebar{z-index:300;width:250px;height:100vh;padding-top:56px;transition:left .25s;position:fixed;top:0;left:-250px}.admin-sidebar.open{left:0}.admin-overlay{z-index:299;background:#000000a6;display:block;position:fixed;inset:0}.admin-topbar{z-index:10;background:#111;border-bottom:1px solid #1a1a1a;align-items:center;gap:12px;padding:13px 20px;display:flex;position:sticky;top:0}.admin-hamburger{color:#aaa;cursor:pointer;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;display:flex}.admin-topbar-title{color:#fff;font-family:Outfit,sans-serif;font-size:15px;font-weight:600}.admin-content{padding:20px 16px}}.admin-section{animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.admin-section-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.admin-section-desc{color:#555;margin-top:2px;font-size:12px;font-weight:400}.admin-section-header h2{letter-spacing:1px;text-transform:uppercase;color:#fff;font-family:Bebas Neue,sans-serif;font-size:28px}.admin-header-actions{gap:8px;display:flex}.btn-admin-action{background:var(--accent,#e8611a);color:#fff;letter-spacing:1px;text-transform:uppercase;border-radius:4px;padding:10px 20px;font-family:Outfit,sans-serif;font-size:12px;font-weight:700;transition:all .2s}.btn-admin-action:hover{background:var(--accent-light,#ff7a33)}.btn-admin-secondary{color:var(--accent,#e8611a);border:1px solid var(--accent,#e8611a);letter-spacing:1px;text-transform:uppercase;background:0 0;border-radius:4px;padding:10px 20px;font-family:Outfit,sans-serif;font-size:12px;font-weight:700;transition:all .2s}.btn-admin-secondary:hover{background:color-mix(in srgb, var(--accent,#e8611a) 10%, transparent)}.admin-form{border:1px solid var(--accent,#e8611a);background:#181818;border-radius:8px;margin-bottom:24px;padding:28px}.admin-form-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:20px;display:grid}.admin-form .form-group label{letter-spacing:1.5px;text-transform:uppercase;color:#f7f7f7;margin-bottom:8px;font-size:11px;font-weight:600;display:block}.admin-form .form-group input,.admin-form .form-group select{color:#fff;background:#0a0a0a;border:1px solid #2a2a2a;border-radius:4px;width:100%;padding:12px 14px;font-family:Outfit,sans-serif;font-size:14px}.admin-form .form-group input:focus,.admin-form .form-group select:focus{border-color:var(--accent,#e8611a);outline:none}.admin-form .form-group select{cursor:pointer}.btn-admin-submit{background:var(--accent,#e8611a);color:#fff;letter-spacing:1.5px;text-transform:uppercase;border-radius:4px;padding:12px 32px;font-family:Outfit,sans-serif;font-size:12px;font-weight:700}.btn-admin-submit:hover{background:var(--accent-light,#ff7a33)}.color-picker{gap:8px;padding-top:4px;display:flex}.color-dot{cursor:pointer;border:2px solid #0000;border-radius:50%;width:32px;height:32px;transition:all .2s}.color-dot.active{border-color:#fff;transform:scale(1.1)}.color-preview{border-radius:4px;width:20px;height:20px}.admin-empty{text-align:center;color:#666;padding:60px 20px;font-size:14px}.admin-table{background:#181818;border:1px solid #1f1f1f;border-radius:8px;overflow:hidden}.admin-table-header{letter-spacing:1.5px;text-transform:uppercase;color:#666;background:#111;grid-template-columns:1fr 1fr 100px 60px;padding:12px 20px;font-size:10px;font-weight:600;display:grid}.admin-table-row{color:#ccc;border-top:1px solid #1f1f1f;grid-template-columns:1fr 1fr 100px 60px;align-items:center;padding:14px 20px;font-size:13px;display:grid}.admin-table-name{color:#fff;font-weight:600}.admin-table-badge{color:#eee7e7;text-transform:capitalize;font-size:11px}.schedule-week{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.schedule-day{background:#181818;border:1px solid #1f1f1f;border-radius:6px;overflow:hidden}.schedule-day-name{letter-spacing:1px;color:var(--accent,#e8611a);text-transform:uppercase;background:#111;padding:12px 16px;font-family:Bebas Neue,sans-serif;font-size:16px}.schedule-day-empty{text-align:center;color:#444;padding:20px 16px;font-size:12px}.schedule-slot{border-top:1px solid #1f1f1f;border-left:3px solid var(--accent,#e8611a);padding:12px 16px;transition:opacity .2s}.schedule-slot.slot-expired{opacity:.5}.slot-time{color:#fff;align-items:baseline;gap:6px;font-family:Bebas Neue,sans-serif;font-size:20px;line-height:1;display:flex}.slot-duration{letter-spacing:.5px;color:#555;text-transform:uppercase;font-family:Outfit,sans-serif;font-size:10px;font-weight:600}.slot-name{color:#ccc;margin-top:2px;font-size:13px;font-weight:600}.slot-meta{color:#666;margin-top:4px;font-size:11px}.slot-recurrence{color:#4ade80;letter-spacing:.3px;margin-top:4px;font-size:10px}.slot-recurrence.expired{color:#ef4444}.form-hint{color:#555;margin-top:5px;font-size:11px;line-height:1.4}.form-optional{color:#555;letter-spacing:0;text-transform:none;font-size:10px;font-weight:400}.days-checkbox-grid{flex-wrap:wrap;gap:8px;display:flex}.day-check-btn{color:#666;letter-spacing:1px;text-transform:uppercase;cursor:pointer;text-align:center;background:#111;border:1px solid #2a2a2a;border-radius:5px;min-width:52px;padding:8px 14px;font-family:Outfit,sans-serif;font-size:12px;font-weight:600;transition:all .2s}.day-check-btn:hover{color:#ccc;border-color:#555}.day-check-btn.active{background:var(--accent,#e8611a);border-color:var(--accent,#e8611a);color:#fff}.users-list{flex-direction:column;gap:10px;display:flex}.user-card{background:#181818;border:1px solid #1f1f1f;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;transition:border-color .2s;display:flex}.user-card:hover{border-color:#333}.uc-main{align-items:center;gap:14px;min-width:200px;display:flex}.uc-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-family:Bebas Neue,sans-serif;font-size:16px;display:flex}.uc-name{color:#fff;font-size:14px;font-weight:600}.uc-email{color:#666;font-size:12px}.uc-right{align-items:center;gap:16px;margin-left:auto;display:flex}.uc-details{align-items:center;gap:24px;display:flex}.uc-detail{flex-direction:column;gap:2px;display:flex}.uc-label{letter-spacing:1px;text-transform:uppercase;color:#444;font-size:10px}.uc-value{color:#ccc;font-size:13px}.uc-value.clickable{cursor:pointer;border-bottom:1px dashed #444}.uc-value.clickable:hover{border-color:var(--accent,#e8611a)}.uc-inline-form{align-items:center;gap:6px;display:flex}.uc-inline-form input,.uc-inline-form select{color:#fff;background:#0a0a0a;border:1px solid #2a2a2a;border-radius:3px;padding:6px 10px;font-family:Outfit,sans-serif;font-size:12px}.btn-mini{background:var(--accent,#e8611a);color:#fff;border-radius:3px;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.btn-mini.cancel{background:#333}.penalties-list{flex-direction:column;gap:10px;display:flex}.penalty-card{background:#181818;border:1px solid #1f1f1f;border-left:3px solid #ef4444;border-radius:6px;overflow:hidden}.pc-main{cursor:pointer;align-items:center;gap:20px;padding:16px 20px;transition:background .15s;display:flex}.pc-main:hover{background:#1e1e1e}.pc-name{color:#fff;font-size:14px;font-weight:600}.pc-email{color:#666;font-size:12px}.pc-info{flex:1}.pc-strikes{text-align:center;min-width:48px}.pc-strikes-num{font-family:Bebas Neue,sans-serif;font-size:36px;line-height:1}.pc-strikes-label{letter-spacing:1px;text-transform:uppercase;color:#666;font-size:10px}.pc-status{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pc-chevron{color:#555;flex-shrink:0;font-size:10px}.penalty-badge{letter-spacing:1px;text-transform:uppercase;border-radius:3px;padding:4px 12px;font-size:10px;font-weight:700}.penalty-badge.blocked{color:#ef4444;background:#ef444426}.penalty-badge.warning{color:#f59e0b;background:#f59e0b26}.pc-penalties-detail{background:#111;border-top:1px solid #1f1f1f;flex-direction:column;gap:8px;padding:12px 20px;display:flex}.pc-no-penalties{color:#555;padding:4px 0;font-size:12px}.pc-penalty-row{background:#181818;border:1px solid #252525;border-radius:4px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.pc-penalty-row.forgiven{opacity:.45}.pp-info{flex-wrap:wrap;flex:1;align-items:center;gap:10px;display:flex}.pp-date{color:#888;white-space:nowrap;font-size:11px}.pp-class{color:#ccc;font-size:12px;font-weight:600}.pp-forgiven-label{color:#4ade80;font-size:11px;font-style:italic}.btn-sm-action{color:#ccc;letter-spacing:.5px;cursor:pointer;white-space:nowrap;background:#1f1f1f;border:1px solid #333;border-radius:4px;padding:5px 12px;font-family:Outfit,sans-serif;font-size:11px;font-weight:600;transition:all .15s}.btn-sm-action:hover{border-color:var(--accent,#e8611a);color:var(--accent,#e8611a)}.btn-sm-action:disabled{opacity:.4;cursor:not-allowed}.btn-sm-action.danger:hover{color:#ef4444;border-color:#ef4444}.config-section-tabs{gap:8px;margin-bottom:24px;display:flex}.config-section-tab{color:#888;cursor:pointer;background:0 0;border:1px solid #2a2a2a;border-radius:20px;padding:7px 20px;font-size:13px;font-weight:500;transition:all .15s}.config-section-tab:hover{color:#ccc;border-color:#444}.config-section-tab.active{background:var(--primary,#6366f1);border-color:var(--primary,#6366f1);color:#fff}.config-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.config-card{background:#181818;border:1px solid #1f1f1f;border-radius:8px;padding:24px}.config-label{color:#fff;letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;font-family:Bebas Neue,sans-serif;font-size:18px}.config-desc{color:#666;margin-bottom:16px;font-size:12px}.config-control{align-items:center;gap:16px;display:flex}.config-control input[type=range]{accent-color:var(--accent,#e8611a);flex:1;height:4px}.config-value{color:var(--accent,#e8611a);text-align:right;min-width:50px;font-family:Bebas Neue,sans-serif;font-size:28px}.instructors-list{flex-direction:column;gap:10px;display:flex}.instructor-card{background:#181818;border:1px solid #1f1f1f;border-radius:8px;flex-wrap:wrap;align-items:center;gap:14px;padding:16px 20px;transition:border-color .2s;display:flex}.instructor-card:hover{border-color:#333}.ic-avatar{background:var(--accent,#e8611a);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-family:Bebas Neue,sans-serif;font-size:18px;display:flex;overflow:hidden}.ic-photo{object-fit:cover;width:100%;height:100%}.ic-info{flex:1;min-width:160px}.ic-name{color:#fff;font-size:14px;font-weight:600}.ic-email{color:#666;margin-top:2px;font-size:12px}.ic-classes{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.ic-class-badge{background:color-mix(in srgb, var(--accent,#e8611a) 12%, transparent);border:1px solid color-mix(in srgb, var(--accent,#e8611a) 25%, transparent);color:var(--accent,#e8611a);letter-spacing:.5px;border-radius:3px;padding:2px 8px;font-size:10px;font-weight:600}.ic-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ic-access{letter-spacing:1px;text-transform:uppercase;color:#444;border:1px solid #222;border-radius:3px;padding:3px 8px;font-size:10px}.ic-access.active{color:#4ade80;background:#4ade8012;border-color:#4ade8040}.class-type-chips{flex-wrap:wrap;gap:8px;display:flex}.checkbox-label{cursor:pointer;align-items:center;gap:8px;color:#ccc!important;text-transform:none!important;letter-spacing:0!important;flex-direction:row!important;font-size:13px!important;display:flex!important}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent,#e8611a);cursor:pointer}.clients-list{flex-direction:column;gap:8px;display:flex}.client-card{background:#181818;border:1px solid #1f1f1f;border-radius:8px;transition:border-color .2s;overflow:hidden}.client-card:hover{border-color:#2a2a2a}.client-card.expanded{border-color:var(--accent,#e8611a)}.cc-main{cursor:pointer;align-items:center;gap:12px;padding:14px 20px;display:flex}.cc-stats{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.cc-stat{color:#666;white-space:nowrap;font-size:12px}.cc-stat span{color:#fff;font-weight:600}.cc-toggle{color:#888;background:#222;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:16px;display:flex}.cc-detail{border-top:1px solid #1f1f1f;padding:0 20px 20px}.cc-detail-topbar{justify-content:space-between;align-items:center;gap:12px;padding:14px 0 0;display:flex}.cc-subtabs{gap:4px;display:flex}.cc-subtab{letter-spacing:1px;text-transform:uppercase;color:#666;cursor:pointer;background:0 0;border:1px solid #2a2a2a;border-radius:4px;padding:6px 16px;font-family:Outfit,sans-serif;font-size:11px;font-weight:700;transition:color .15s,border-color .15s,background .15s}.cc-subtab:hover{color:#aaa;border-color:#444}.cc-subtab.active{color:#fff;background:#1f1f1f;border-color:#555}.cc-history{padding-top:16px;overflow-x:auto}.cc-hist-empty{color:#555;padding:8px 0;font-size:13px}.cc-hist-table{flex-direction:column;gap:0;min-width:520px;display:flex}.cc-hist-head{letter-spacing:1px;text-transform:uppercase;color:#444;border-bottom:1px solid #1f1f1f;grid-template-columns:160px 1fr 120px 110px 90px;gap:8px;padding:6px 10px;font-size:10px;font-weight:700;display:grid}.cc-hist-row{border-bottom:1px solid #111;grid-template-columns:160px 1fr 120px 110px 90px;align-items:center;gap:8px;padding:8px 10px;transition:background .1s;display:grid}.cc-hist-row:hover{background:#0f0f0f}.cc-hist-row.no_show{opacity:.75}.cc-hist-row.cancelled{opacity:.45}.cc-hist-date{color:#777;white-space:nowrap;font-size:11px}.cc-hist-class{color:#ccc;font-size:12px;font-weight:600}.cc-hist-instr{color:#666;font-size:11px}.cc-hist-badge{letter-spacing:.5px;white-space:nowrap;border-radius:3px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.cc-hist-badge.attended{color:#4ade80;background:#4ade801f}.cc-hist-badge.noshow{color:#ef4444;background:#ef44441f}.cc-hist-badge.pending{color:#888;background:#ffffff0d}.cc-hist-badge.cancelled{color:#555;background:0 0;text-decoration:line-through}.cc-hist-badge.strike{color:#f59e0b;background:#f59e0b26}.cc-hist-badge.forgiven{color:#555;background:#ffffff0d}.cc-notes{padding-top:16px}.cc-notes-title{letter-spacing:1.5px;text-transform:uppercase;color:#555;margin-bottom:12px;font-size:11px;font-weight:600}.cc-note{background:#111;border-radius:4px;margin-bottom:8px;padding:10px 14px}.cc-note-text{color:#ccc;margin-bottom:4px;font-size:13px}.cc-note-meta{color:#444;font-size:11px}.cc-add-note{gap:8px;margin-top:12px;display:flex}.cc-add-note input{color:#fff;background:#0a0a0a;border:1px solid #2a2a2a;border-radius:4px;flex:1;padding:10px 14px;font-family:Outfit,sans-serif;font-size:13px}.cc-add-note input:focus{border-color:var(--accent,#e8611a);outline:none}.packages-admin-list{flex-direction:column;gap:10px;display:flex}.package-admin-card{background:#181818;border:1px solid #1f1f1f;border-radius:8px;align-items:center;gap:16px;padding:16px 20px;display:flex}.pac-info{flex:1}.pac-name{color:#fff;margin-bottom:4px;font-size:14px;font-weight:600}.pac-desc{color:#888;margin-bottom:8px;font-size:12px}.pac-meta{color:#666;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.pac-price{text-align:right;min-width:72px;font-size:15px}.terms-textarea{color:#fff;resize:vertical;background:#0a0a0a;border:1px solid #2a2a2a;border-radius:4px;width:100%;padding:16px;font-family:Outfit,sans-serif;font-size:13px;line-height:1.7;transition:border-color .2s}.terms-textarea:focus{border-color:var(--accent,#e8611a);outline:none}.terms-textarea::placeholder{color:#444}.admin-row-actions{align-items:center;gap:6px;display:flex}.btn-admin-danger{color:#ef4444;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #ef44444d;border-radius:4px;padding:5px 12px;font-family:Outfit,sans-serif;font-size:11px;font-weight:600;transition:all .2s}.btn-admin-danger:hover{background:#ef44441a;border-color:#ef4444}.slot-actions{gap:6px;margin-top:8px;display:flex}.btn-slot-edit,.btn-slot-delete{letter-spacing:.5px;text-transform:uppercase;cursor:pointer;border-radius:3px;padding:4px 10px;font-family:Outfit,sans-serif;font-size:10px;font-weight:600;transition:all .2s}.btn-slot-edit{color:#888;background:0 0;border:1px solid #333}.btn-slot-edit:hover{border-color:var(--accent,#e8611a);color:var(--accent,#e8611a)}.btn-slot-delete{color:#ef4444;background:0 0;border:1px solid #ef444440}.btn-slot-delete:hover{background:#ef44441a;border-color:#ef4444}.seat-editor-wrapper{background:#0f0f0f;border:1px solid #252525;border-top:none;border-radius:0 0 6px 6px;margin-bottom:4px;padding:20px 24px}.seat-editor-title{letter-spacing:1.5px;text-transform:uppercase;color:var(--accent,#e8611a);margin-bottom:16px;font-size:12px;font-weight:600}.seat-editor{flex-direction:column;gap:12px;display:flex}.seat-type-selector{gap:8px;display:flex}.seat-type-btn{color:#666;cursor:pointer;background:#1a1a1a;border:1px solid #333;border-radius:4px;padding:6px 16px;font-family:Outfit,sans-serif;font-size:12px;transition:all .15s}.seat-type-btn.active{background:color-mix(in srgb, var(--accent,#e8611a) 15%, transparent);border-color:color-mix(in srgb, var(--accent,#e8611a) 50%, transparent);color:var(--accent,#e8611a)}.seat-zigzag-editor{flex-direction:column;gap:8px;max-width:700px;display:flex}.seat-editor-row-label{letter-spacing:1px;text-transform:uppercase;color:#555;font-size:10px}.zigzag-editor-row{flex-wrap:wrap;gap:6px;display:flex}.zigzag-editor-row.top{padding-left:21px}.seat-editor-controls{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.seat-grid{gap:6px;max-width:600px;display:grid}.seat-cell{cursor:pointer;flex-direction:column;align-items:center;gap:3px;display:flex}.seat-toggle{cursor:pointer;border-radius:6px;width:36px;height:36px;font-family:monospace;font-size:16px;line-height:1;transition:all .15s}.seat-cell--empty .seat-toggle{color:#444;background:#1a1a1a;border:1px solid #282828}.seat-cell--empty .seat-toggle:hover{color:#888;border-color:#444}.seat-cell--active .seat-toggle{background:color-mix(in srgb, var(--accent,#e8611a) 15%, transparent);border:1px solid color-mix(in srgb, var(--accent,#e8611a) 40%, transparent);color:var(--accent,#e8611a)}.seat-cell--active .seat-toggle:hover{background:color-mix(in srgb, var(--accent,#e8611a) 25%, transparent)}.seat-cell--instructor .seat-toggle{color:#a78bfa;background:#8b5cf626;border:1px solid #8b5cf666;font-size:14px}.seat-cell--instructor .seat-toggle:hover{background:#8b5cf640}.seat-label-display{color:#888;text-align:center;min-height:14px;font-family:Outfit,sans-serif;font-size:10px}.seat-label-input{text-align:center;color:#ccc;background:0 0;border:none;border-bottom:1px solid #444;outline:none;width:36px;min-height:14px;padding:0 2px;font-family:Outfit,sans-serif;font-size:10px}.seat-label-input:focus{border-bottom-color:var(--accent,#e8611a);color:#fff}.seat-editor-hint{color:#555;margin-top:4px;font-size:11px}.fb-admin-list{flex-direction:column;gap:10px;display:flex}.fb-admin-card{background:#1a1a1a;border:1px solid #252525;border-radius:8px;padding:16px 20px}.fb-admin-stars{color:var(--accent,#e8611a);letter-spacing:2px;margin-bottom:8px;font-size:18px}.fb-admin-meta{color:#aaa;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;font-size:12px;display:flex}.fb-admin-class{color:#fff;font-weight:600}.fb-admin-sep{color:#444}.fb-admin-comment{color:#888;border-top:1px solid #252525;margin-top:6px;padding-top:8px;font-size:13px;font-style:italic}.ai-status-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.ai-status-dot.attended{background:#4ade80}.ai-status-dot.no_show{background:#ef4444}.ai-status-dot.confirmed{background:#f59e0b}.config-card-toggle{min-height:unset}.toggle-switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;display:flex}.toggle-switch input{display:none}.toggle-slider{background:#333;border-radius:13px;flex-shrink:0;width:46px;height:26px;transition:background .2s;position:relative}.toggle-slider:after{content:"";background:#666;border-radius:50%;width:20px;height:20px;transition:left .2s,background .2s;position:absolute;top:3px;left:3px}.toggle-switch input:checked+.toggle-slider{background:var(--accent,#e8611a)33}.toggle-switch input:checked+.toggle-slider:after{background:var(--accent,#e8611a);left:23px}.toggle-label{color:#aaa;font-size:13px}.toggle-switch input:checked~.toggle-label{color:var(--accent,#e8611a)}.audit-list{flex-direction:column;gap:6px;display:flex}.audit-row{background:#141414;border:1px solid #222;border-radius:6px;align-items:center;gap:14px;padding:12px 16px;display:flex}.audit-badge{letter-spacing:.5px;white-space:nowrap;border-radius:4px;flex-shrink:0;padding:4px 10px;font-size:11px;font-weight:700}.audit-info{flex-wrap:wrap;flex:1;align-items:center;gap:8px;display:flex}.audit-detail{color:#ddd;font-size:13px}.audit-who{color:#666;font-size:12px}.audit-time{color:#555;white-space:nowrap;flex-shrink:0;font-size:12px}@media (width<=768px){.admin-section-header{flex-direction:column;align-items:flex-start;gap:12px}.schedule-week{grid-template-columns:1fr}.user-card{flex-direction:column;align-items:flex-start}.uc-right{flex-direction:column;align-items:flex-start;gap:12px;width:100%;margin-left:0}.uc-details{flex-direction:column;gap:12px}.config-grid,.admin-form-grid{grid-template-columns:1fr}.instructor-card{flex-direction:column;align-items:flex-start}.cc-stats{gap:8px}.audit-row{flex-direction:column;align-items:flex-start;gap:8px}}.qr-badge{background:color-mix(in srgb, var(--accent,#e8611a) 15%, transparent);border:1px solid color-mix(in srgb, var(--accent,#e8611a) 30%, transparent);letter-spacing:.5px;color:var(--accent,#e8611a);vertical-align:middle;border-radius:3px;margin-left:8px;padding:1px 6px;font-size:9px;font-weight:700;display:inline-block}.branding-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.branding-card{background:#181818;border:1px solid #252525;border-radius:8px;flex-direction:column;gap:16px;padding:24px;display:flex}.branding-card-title{letter-spacing:1.5px;text-transform:uppercase;color:#666;font-size:11px;font-weight:700}.branding-color-row{align-items:center;gap:12px;display:flex}.branding-color-input{cursor:pointer;background:#111;border:none;border-radius:6px;flex-shrink:0;width:48px;height:48px;padding:2px}.branding-hex-input{letter-spacing:2px;text-transform:uppercase;width:110px!important;font-family:JetBrains Mono,monospace!important}.branding-presets{flex-wrap:wrap;gap:8px;display:flex}.branding-preset-dot{cursor:pointer;border-radius:50%;outline:none;width:28px;height:28px;transition:transform .15s}.branding-preset-dot:hover{transform:scale(1.15)}.branding-preset-dot.active{outline-offset:2px;outline:3px solid #fff}.branding-preview-bar{border-radius:3px;height:6px;transition:background .2s}.branding-name-preview{letter-spacing:2px;color:#fff;font-family:Bebas Neue,sans-serif;font-size:28px}.branding-upload-area{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.branding-logo-preview{object-fit:contain;background:#111;border:1px solid #333;border-radius:8px;width:72px;height:72px}.branding-bg-preview{object-fit:cover;border:1px solid #333;border-radius:6px;width:100%;max-height:140px}.branding-upload-btn{color:#ccc;cursor:pointer;background:#222;border:1px solid #333;border-radius:4px;padding:10px 20px;font-family:Outfit,sans-serif;font-size:13px;font-weight:600;transition:all .15s;display:inline-block}.branding-upload-btn:hover{border-color:var(--accent,#e8611a);color:#fff}.branding-upload-hint{color:#555;font-size:11px}@media (width<=768px){.branding-grid{grid-template-columns:1fr}}.system-health-grid{flex-direction:column;gap:8px;margin-top:16px;display:flex}.sys-health-item{background:#141414;border:1px solid #222;border-radius:6px;align-items:center;gap:12px;padding:12px 16px;display:flex}.sys-health-item.ok{border-color:#4ade8033}.sys-health-item.fail{border-color:#ef444440}.sys-health-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.sys-health-item.ok .sys-health-dot{background:#4ade80}.sys-health-item.fail .sys-health-dot{background:#ef4444}.sys-health-label{color:#ddd;font-size:13px;font-weight:600}.sys-health-info{color:#666;margin-top:2px;font-size:11px}.sys-health-status{letter-spacing:1px;text-transform:uppercase;margin-left:auto;font-size:10px;font-weight:700}.sys-health-item.ok .sys-health-status{color:#4ade80}.sys-health-item.fail .sys-health-status{color:#ef4444}.admin-search{color:#fff;box-sizing:border-box;background:#111;border:1px solid #2a2a2a;border-radius:6px;width:100%;margin-bottom:16px;padding:10px 14px;font-family:Outfit,sans-serif;font-size:13px;transition:border-color .2s}.admin-search:focus{border-color:var(--accent,#e8611a);outline:none}.admin-search::placeholder{color:#444}.dash-stats{flex-wrap:wrap;gap:12px;margin-bottom:32px;display:flex}.dash-stat-card{text-align:center;background:#161616;border:1px solid #1f1f1f;border-radius:8px;flex:1;min-width:100px;padding:16px}.dash-stat-value{color:var(--accent,#e8611a);font-family:Bebas Neue,sans-serif;font-size:36px;line-height:1}.dash-stat-label{letter-spacing:1px;text-transform:uppercase;color:#555;margin-top:6px;font-size:11px}.dash-section-title{letter-spacing:2px;text-transform:uppercase;color:#555;margin:0 0 14px;font-size:11px;font-weight:600}.dash-sessions{flex-direction:column;gap:8px;display:flex}.dash-session-row{background:#161616;border:1px solid #1f1f1f;border-radius:8px;align-items:center;gap:14px;padding:12px 16px;transition:opacity .2s;display:flex}.dash-session-row.past{opacity:.5}.dash-session-time{color:#fff;min-width:52px;font-family:Bebas Neue,sans-serif;font-size:20px}.dash-session-bar{border-left:3px solid #444;flex:1;padding-left:12px}.dash-session-name{color:#fff;font-size:14px;font-weight:600}.dash-session-meta{color:#555;margin-top:2px;font-size:11px}.dash-session-fill{min-width:140px}.dash-fill-track{background:#222;border-radius:3px;height:6px;margin-bottom:4px;overflow:hidden}.dash-fill-bar{border-radius:3px;height:100%;transition:width .3s}.dash-fill-label{color:#666;font-size:11px}.dash-waitlist{color:#f59e0b;margin-left:6px}.dash-upcoming{flex-direction:column;gap:4px;display:flex}.dash-upcoming-row{background:#111;border-radius:6px;grid-template-columns:90px 52px 1fr 48px;align-items:center;gap:12px;padding:8px 12px;font-size:12px;display:grid}.dash-upcoming-date{color:#666}.dash-upcoming-time{color:#ccc;font-family:Bebas Neue,sans-serif;font-size:16px}.dash-upcoming-name{color:#fff;border-left:2px solid #444;padding-left:8px}.dash-upcoming-fill{text-align:right;font-weight:600}.report-bar-chart{border-bottom:1px solid #1f1f1f;align-items:flex-end;gap:8px;height:120px;padding:0 4px 8px;display:flex}.rbc-col{flex-direction:column;flex:1;align-items:center;gap:4px;height:100%;display:flex}.rbc-bars{justify-content:center;align-items:flex-end;gap:3px;width:100%;height:100%;display:flex}.rbc-bar{border-radius:2px 2px 0 0;width:10px;min-height:2px}.rbc-bar.booked{background:#444}.rbc-bar.attended{background:var(--accent,#e8611a)}.rbc-label{color:#555;font-size:10px}.rbc-legend{color:#666;gap:16px;margin-top:10px;font-size:12px;display:flex}.rbc-dot{vertical-align:middle;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.rbc-dot.booked{background:#444}.rbc-dot.attended{background:var(--accent,#e8611a)}.report-table{background:#111;border:1px solid #1f1f1f;border-radius:8px;overflow:hidden}.report-table-head{letter-spacing:1px;text-transform:uppercase;color:#555;border-bottom:1px solid #1f1f1f;grid-template-columns:2fr 1fr 1fr 1fr 1fr;padding:10px 16px;font-size:10px;display:grid}.report-table-row{color:#ccc;border-bottom:1px solid #161616;grid-template-columns:2fr 1fr 1fr 1fr 1fr;align-items:center;padding:10px 16px;font-size:13px;display:grid}.report-table-row:last-child{border-bottom:none}.report-class-name{color:#fff;align-items:center;gap:8px;display:flex}.report-color-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.report-inline-bar{background:#1f1f1f;border-radius:2px;height:4px;margin-bottom:3px;overflow:hidden}.report-inline-bar div{border-radius:2px;height:100%}.report-two-col{grid-template-columns:1fr 1fr;gap:24px;display:grid}.peak-hours-chart{flex-direction:column;gap:6px;display:flex}.phc-row{align-items:center;gap:10px;font-size:12px;display:flex}.phc-label{color:#555;min-width:38px}.phc-track{background:#1f1f1f;border-radius:4px;flex:1;height:8px;overflow:hidden}.phc-bar{background:var(--accent,#e8611a);border-radius:4px;height:100%}.phc-val{color:#666;text-align:right;min-width:28px}@media (width<=700px){.report-two-col{grid-template-columns:1fr}.dash-stats{gap:8px}.dash-stat-card{min-width:80px;padding:12px 8px}.dash-stat-value{font-size:28px}.dash-session-fill{min-width:90px}.dash-upcoming-row{grid-template-columns:72px 44px 1fr 36px;gap:6px}.report-table-head,.report-table-row{grid-template-columns:2fr 1fr 1fr}.report-table-head span:nth-child(3),.report-table-head span:nth-child(4),.report-table-row>:nth-child(3),.report-table-row>:nth-child(4){display:none}}.pagination{justify-content:center;align-items:center;gap:16px;padding:20px 0 4px;display:flex}.pg-btn{color:#aaa;letter-spacing:.5px;cursor:pointer;background:0 0;border:1px solid #2a2a2a;border-radius:4px;padding:8px 16px;font-family:Outfit,sans-serif;font-size:12px;font-weight:600;transition:all .2s}.pg-btn:hover:not(:disabled){border-color:var(--accent,#e8611a);color:var(--accent,#e8611a)}.pg-btn:disabled{opacity:.3;cursor:default}.pg-info{color:#666;font-size:12px}.dash-session-row{position:relative}.dash-cancel-btn{color:#444;cursor:pointer;background:0 0;border:1px solid #2a2a2a;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;transition:all .2s;display:flex}.dash-cancel-btn:hover:not(:disabled){color:#ef4444;background:#ef44441a;border-color:#ef4444}.dash-cancel-btn:disabled{opacity:.4;cursor:default}.admin-subsection-title{letter-spacing:1.5px;text-transform:uppercase;color:#a78bfa;margin:0 0 12px;font-size:11px;font-weight:700}.admin-form-card{background:#141414;border:1px solid #222;border-radius:8px;padding:20px 24px}.admin-form-title{letter-spacing:1px;text-transform:uppercase;color:#666;margin-bottom:16px;font-size:11px;font-weight:600}.citas-admin-table{flex-direction:column;gap:6px;display:flex}.cita-admin-row{background:#181818;border:1px solid #1f1f1f;border-radius:6px;flex-wrap:wrap;align-items:center;gap:16px;padding:12px 16px;display:flex}.cita-admin-row.booked{background:#191920;border-color:#2a2a3a}.car-date{color:#ccc;min-width:90px;font-size:13px}.car-time{color:#a78bfa;min-width:50px;font-family:Bebas Neue,sans-serif;font-size:18px}.car-nutri{color:#888;min-width:120px;font-size:12px}.car-cliente{color:#ccc;flex:1;align-items:center;gap:8px;font-size:13px;display:flex}.car-email{color:#666;font-size:11px}.car-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.car-dot.booked{background:#a78bfa}.car-dot.libre{background:#333}.car-actions{margin-left:auto}.seat-door-selector{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.seat-door-label{color:#888;white-space:nowrap;font-size:12px}.seat-door-btns{flex-wrap:wrap;gap:6px;display:flex}.seat-preview-wrapper{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.seat-preview-wrapper.door-left,.seat-preview-wrapper.door-right{flex-direction:row;align-items:flex-start}.door-indicator{letter-spacing:1px;color:#888;white-space:nowrap;border:1px dashed #444;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:600}.door-indicator.door-left,.door-indicator.door-right{writing-mode:vertical-rl;padding:10px 4px}.asis-weeknav{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.asis-nav-btn{color:#aaa;cursor:pointer;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;padding:7px 14px;font-family:Outfit,sans-serif;font-size:13px;transition:background .15s,color .15s}.asis-nav-btn:hover{color:#fff;background:#252525}.asis-nav-today{background:color-mix(in srgb, var(--accent,#e8611a) 15%, transparent);border:1px solid var(--accent,#e8611a);color:var(--accent,#e8611a);cursor:pointer;border-radius:8px;padding:7px 14px;font-family:Outfit,sans-serif;font-size:13px;font-weight:600}.asis-nav-today:hover{background:color-mix(in srgb, var(--accent,#e8611a) 25%, transparent)}.asis-nav-today.active{background:var(--accent,#e8611a);color:#fff;border-color:var(--accent,#e8611a);cursor:default}.asis-nav-today.active:hover{background:var(--accent,#e8611a)}.asis-week-label{color:#888;margin:0 4px;font-size:14px}.asis-week-grid{grid-template-columns:repeat(7,1fr);gap:8px;min-width:0;display:grid}.asis-day-col{background:#111;border:1px solid #1e1e1e;border-radius:10px;min-height:120px;overflow:hidden}.asis-day-col.asis-today{border-color:var(--accent,#e8611a)}.asis-day-header{background:#0c0c0c;border-bottom:1px solid #1e1e1e;flex-direction:column;align-items:center;gap:2px;padding:10px 4px 8px;display:flex}.asis-day-name{letter-spacing:1.5px;text-transform:uppercase;color:#555;font-size:10px;font-weight:700}.asis-today .asis-day-name{color:var(--accent,#e8611a)}.asis-day-num{color:#d1d1d1;font-size:18px;font-weight:700;line-height:1}.asis-day-num-today{color:#000;background:var(--accent,#e8611a);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.asis-day-sessions{flex-direction:column;gap:5px;padding:6px;display:flex}.asis-empty{text-align:center;color:#333;padding:16px 0;font-size:13px}.asis-session-card{cursor:pointer;text-align:left;background:#181818;border:1px solid #222;border-left:3px solid #555;border-radius:7px;width:100%;padding:0;font-family:Outfit,sans-serif;transition:background .15s,transform .1s;display:flex;overflow:hidden}.asis-session-card:hover{background:#202020;transform:translateY(-1px)}.asis-card-color-bar{border-radius:0;flex-shrink:0;width:3px}.asis-card-body{flex:1;min-width:0;padding:7px 8px}.asis-card-name{color:#ddd;white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:12px;font-weight:600;overflow:hidden}.asis-card-time{color:#e0e0e0;margin-bottom:2px;font-size:11px}.asis-card-instructor{color:#d6d6d6;white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:10px;overflow:hidden}.asis-card-count{font-size:11px;font-weight:700}.asis-loading{text-align:center;color:#e2e2e2;padding:60px 0;font-size:14px}.asis-modal-overlay{z-index:500;background:#000000bf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.asis-modal{scrollbar-width:thin;scrollbar-color:#222 transparent;background:#111;border:1px solid #252525;border-radius:14px;width:100%;max-width:520px;max-height:85vh;padding:28px;position:relative;overflow-y:auto}.asis-modal::-webkit-scrollbar{width:4px}.asis-modal::-webkit-scrollbar-thumb{background:#222;border-radius:2px}.asis-modal-close{color:#aaa;cursor:pointer;background:#1e1e1e;border:1px solid #2a2a2a;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;line-height:1;transition:background .15s;display:flex;position:absolute;top:16px;right:16px}.asis-modal-close:hover{color:#fff;background:#2a2a2a}.asis-modal-loading{text-align:center;color:#555;padding:40px 0;font-size:14px}.asis-modal-header{border-bottom:1px solid #1e1e1e;border-left:4px solid #555;align-items:flex-start;gap:14px;margin-bottom:16px;padding-bottom:16px;padding-left:14px;display:flex}.asis-modal-color-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px;margin-top:4px}.asis-modal-class-name{color:#fff;margin-bottom:4px;font-size:18px;font-weight:700}.asis-modal-meta{color:#e6e5e5;text-transform:capitalize;font-size:13px}.asis-modal-instructor{color:#e0e0e0;margin-top:4px;font-size:12px}.asis-modal-stats{background:#0c0c0c;border:1px solid #1e1e1e;border-radius:10px;gap:0;margin-bottom:20px;display:flex;overflow:hidden}.asis-stat{border-right:1px solid #1e1e1e;flex-direction:column;flex:1;align-items:center;padding:12px 8px;display:flex}.asis-stat:last-child{border-right:none}.asis-stat-num{color:#fff;font-size:22px;font-weight:700;line-height:1}.asis-stat-label{color:#a1a1a1;text-align:center;text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-size:10px}.asis-modal-list{flex-direction:column;gap:6px;display:flex}.asis-modal-empty{text-align:center;color:#b9b9b9;padding:32px 0;font-size:14px}.asis-attendee-row{background:#181818;border:1px solid #1e1e1e;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.asis-attendee-info{flex-direction:column;gap:2px;min-width:0;display:flex}.asis-attendee-name{color:#ddd;font-size:14px;font-weight:600}.asis-attendee-email{color:#a3a3a3;font-size:12px}.asis-attendee-card{color:#a1a1a1;font-size:11px}.asis-attendee-seat{color:var(--accent,#e8611a);font-size:11px;font-weight:600}.asis-status-badge{letter-spacing:.3px;text-transform:uppercase;border-radius:20px;flex-shrink:0;padding:3px 9px;font-size:11px;font-weight:700}.asis-status-confirmed{color:#eab308;background:#eab30826;border:1px solid #eab3084d}.asis-status-attended{color:#22c55e;background:#22c55e26;border:1px solid #22c55e4d}.asis-status-no_show{color:#ef4444;background:#ef444426;border:1px solid #ef44444d}.asis-card-wrapper{position:relative}.asis-card-delete-btn{color:#ef4444;cursor:pointer;opacity:0;background:#ef444426;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:9px;font-weight:700;line-height:1;transition:opacity .15s,background .15s;display:flex;position:absolute;top:4px;right:4px}.asis-card-wrapper:hover .asis-card-delete-btn{opacity:1}.asis-card-delete-btn:hover{background:#ef444459}.asis-delete-zone{border-top:1px solid #1e1e1e;margin-top:24px;padding-top:18px}.asis-delete-trigger{color:#ef4444;cursor:pointer;background:0 0;border:1px solid #3a1a1a;border-radius:6px;width:100%;padding:7px 16px;font-size:12px;font-weight:600;transition:background .15s}.asis-delete-trigger:hover{background:#ef444414}.asis-delete-confirm{background:#ef44440f;border:1px solid #ef444433;border-radius:8px;padding:16px}.asis-delete-warning{color:#ddd;margin:0 0 6px;font-size:14px;font-weight:600}.asis-delete-subtext{color:#888;margin:0 0 14px;font-size:12px;line-height:1.5}.asis-delete-actions{gap:8px;display:flex}.asis-btn-danger{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:6px;flex:1;padding:9px 16px;font-size:13px;font-weight:700;transition:background .15s}.asis-btn-danger:hover:not(:disabled){background:#b91c1c}.asis-btn-danger:disabled{opacity:.6;cursor:not-allowed}.asis-btn-secondary{color:#aaa;cursor:pointer;background:#1e1e1e;border:1px solid #2a2a2a;border-radius:6px;padding:9px 16px;font-size:13px;font-weight:600;transition:background .15s}.asis-btn-secondary:hover:not(:disabled){color:#ddd;background:#2a2a2a}.asis-btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media (width<=900px){.asis-week-grid{grid-template-columns:repeat(4,1fr)}}@media (width<=600px){.asis-week-grid{grid-template-columns:repeat(2,1fr)}.asis-modal{padding:20px 16px}}.report-subtab-bar{gap:6px;margin-bottom:20px;display:flex}.report-subtab-btn{color:#666;cursor:pointer;background:0 0;border:1px solid #2a2a2a;border-radius:6px;padding:6px 16px;font-size:12px;transition:background .15s,color .15s,border-color .15s}.report-subtab-btn:hover{color:#aaa;background:#161616}.report-subtab-btn.active{color:#fff;background:#1f1f1f;border-color:#555}.rt-9col .report-table-head,.rt-9col .report-table-row{grid-template-columns:2fr repeat(8,1fr)}.rt-10col .report-table-head,.rt-10col .report-table-row{grid-template-columns:2fr repeat(9,1fr)}.rt-8col .report-table-head,.rt-8col .report-table-row{grid-template-columns:2fr repeat(7,1fr)}.rt-11col .report-table-head,.rt-11col .report-table-row{grid-template-columns:2fr repeat(10,1fr)}@media (width<=900px){.rt-9col .report-table-head,.rt-9col .report-table-row{grid-template-columns:2fr repeat(5,1fr)}.rt-9col .report-table-head span:nth-child(n+7),.rt-9col .report-table-row>:nth-child(n+7){display:none}.rt-10col .report-table-head,.rt-10col .report-table-row{grid-template-columns:2fr repeat(5,1fr)}.rt-10col .report-table-head span:nth-child(n+7),.rt-10col .report-table-row>:nth-child(n+7){display:none}.rt-11col .report-table-head,.rt-11col .report-table-row{grid-template-columns:2fr repeat(5,1fr)}.rt-11col .report-table-head span:nth-child(n+7),.rt-11col .report-table-row>:nth-child(n+7){display:none}.rt-8col .report-table-head,.rt-8col .report-table-row{grid-template-columns:2fr repeat(4,1fr)}.rt-8col .report-table-head span:nth-child(n+6),.rt-8col .report-table-row>:nth-child(n+6){display:none}}.fin-table-head,.fin-table-row{color:#ccc;border-bottom:1px solid #161616;grid-template-columns:90px 50px 1.5fr 1.3fr 60px 60px 70px 60px;align-items:center;gap:4px;padding:10px 16px;font-size:12px;display:grid}.fin-table-head{letter-spacing:1px;text-transform:uppercase;color:#555;border-bottom:1px solid #1f1f1f;font-size:10px}.fin-table-row:last-child{border-bottom:none}.fin-table-row:hover{cursor:pointer;background:#141414}.fin-expand-row{background:#0d0d0d;border-bottom:1px solid #1a1a1a;padding:8px 16px 12px 32px}.fin-attendee-list{flex-direction:column;gap:4px;display:flex}.fin-attendee{color:#aaa;align-items:center;gap:10px;padding:3px 0;font-size:12px;display:flex}.fin-status-badge{letter-spacing:.5px;text-transform:uppercase;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:600}.fin-status-badge.attended{color:#4ade80;background:#4ade8026}.fin-status-badge.no_show{color:#ef4444;background:#ef444426}.fin-status-badge.confirmed{color:#888;background:#64646426}.fin-nutri-head,.fin-nutri-row{color:#ccc;border-bottom:1px solid #161616;grid-template-columns:90px 50px 1.5fr 1.5fr 60px 70px;align-items:center;gap:4px;padding:10px 16px;font-size:12px;display:grid}.fin-nutri-head{letter-spacing:1px;text-transform:uppercase;color:#555;border-bottom:1px solid #1f1f1f;font-size:10px}.fin-nutri-row:last-child{border-bottom:none}@media (width<=700px){.fin-table-head,.fin-table-row{grid-template-columns:80px 44px 1.3fr 50px 50px}.fin-table-head span:nth-child(n+4),.fin-table-row>:nth-child(n+4){display:none}.fin-table-head span:nth-child(4),.fin-table-row>:nth-child(4),.fin-table-head span:nth-child(5),.fin-table-row>:nth-child(5){display:block}.fin-nutri-head,.fin-nutri-row{grid-template-columns:80px 44px 1.3fr 1.2fr}.fin-nutri-head span:nth-child(n+5),.fin-nutri-row>:nth-child(n+5){display:none}}.top-subtabs{gap:4px;margin-bottom:20px;display:flex}.top-subtab{letter-spacing:1px;text-transform:uppercase;color:#555;cursor:pointer;background:0 0;border:1px solid #2a2a2a;border-radius:4px;padding:8px 24px;font-family:Outfit,sans-serif;font-size:12px;font-weight:700;transition:color .15s,border-color .15s,background .15s}.top-subtab:hover{color:#aaa;border-color:#444}.top-subtab.active{color:#fff;background:#1f1f1f;border-color:#555}.top-date-bar{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:28px;display:flex}.top-presets{gap:6px;display:flex}.top-grid{gap:16px;display:grid}.top-grid-3{grid-template-columns:repeat(3,1fr)}.top-grid-2{grid-template-columns:repeat(2,1fr)}.top-card{background:#141414;border:1px solid #222;border-radius:12px;padding:24px 20px 20px}.top-card-title{letter-spacing:1px;color:#fff;margin-bottom:2px;font-family:Bebas Neue,sans-serif;font-size:18px}.top-card-subtitle{color:#555;margin-bottom:20px;font-size:11px}.top-card-empty{color:#444;padding:16px 0;font-size:13px}.top-podium{flex-direction:column;gap:0;display:flex}.top-entry{border-bottom:1px solid #1a1a1a;align-items:center;gap:12px;padding:12px 0;display:flex}.top-entry:last-child{border-bottom:none}.top-entry-1{padding-top:4px}.top-medal{text-align:center;flex-shrink:0;width:28px;font-size:22px;line-height:1}.top-entry-1 .top-medal{font-size:28px}.top-entry-info{flex:1;min-width:0}.top-entry-name{color:#e0e0e0;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.top-entry-1 .top-entry-name{color:#fff;font-size:16px}.top-entry-metric{letter-spacing:.5px;margin-top:1px;font-family:Bebas Neue,sans-serif;font-size:18px;line-height:1.2}.top-entry-1 .top-entry-metric{font-size:22px}.top-entry-label{letter-spacing:.5px;text-transform:uppercase;opacity:.7;font-family:Outfit,sans-serif;font-size:10px;font-weight:600}.top-card-wide{grid-column:1/-1}.top-socios-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px;display:grid}.top-socios-col{text-align:center;background:#0d0d0d;border:1px solid #1e1e1e;border-radius:10px;flex-direction:column;align-items:center;padding:20px 16px 16px;display:flex}.top-socios-rank-1{background:#0f0e0a;border-color:#f59e0b33}.top-socios-medal{margin-bottom:10px;font-size:28px;line-height:1}.top-socios-rank-1 .top-socios-medal{font-size:36px}.top-socios-name{color:#ccc;white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-bottom:14px;font-size:13px;font-weight:700;overflow:hidden}.top-socios-rank-1 .top-socios-name{color:#fff;font-size:15px}.top-socios-count{margin-bottom:2px;font-family:Bebas Neue,sans-serif;font-size:52px;line-height:1}.top-socios-rank-1 .top-socios-count{font-size:64px}.top-socios-unit{letter-spacing:1.5px;text-transform:uppercase;color:#444;margin-bottom:4px;font-size:10px;font-weight:700}.top-socios-sessions{color:#3a3a3a;margin-bottom:16px;font-size:11px}.top-socios-bar-track{background:#1a1a1a;border-radius:2px;width:100%;height:3px;overflow:hidden}.top-socios-bar-fill{opacity:.7;border-radius:2px;height:100%;transition:width .6s}@media (width<=900px){.top-grid-3,.top-grid-2,.top-socios-grid{grid-template-columns:1fr}}@media (width<=600px){.top-date-bar{flex-direction:column;align-items:flex-start}}.sales-layout{flex-direction:column;gap:24px;display:flex}.sales-step{background:#181818;border:1px solid #1f1f1f;border-radius:8px;padding:24px}.sales-step-header{align-items:center;gap:14px;margin-bottom:20px;display:flex}.sales-step-num{background:var(--accent,#e8611a);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-family:Bebas Neue,sans-serif;font-size:18px;display:flex}.sales-step-title{letter-spacing:1px;text-transform:uppercase;color:#fff;font-family:Bebas Neue,sans-serif;font-size:22px}.sales-step-title .optional{color:#666;text-transform:none;letter-spacing:0;font-family:Outfit,sans-serif;font-size:12px}.sales-empty{text-align:center;color:#666;padding:20px;font-size:13px}.sales-classes{flex-direction:column;gap:8px;display:flex}.sales-class-card{cursor:pointer;background:#111;border:1px solid #2a2a2a;border-radius:6px;align-items:center;gap:16px;padding:14px 18px;transition:all .2s;display:flex}.sales-class-card:hover{border-color:var(--accent,#e8611a)}.sales-class-card.selected{border-color:var(--accent,#e8611a);background:color-mix(in srgb, var(--accent,#e8611a) 8%, transparent)}.sales-class-card.full{opacity:.4;cursor:not-allowed}.scc-time{color:var(--accent,#e8611a);flex-direction:column;align-items:center;gap:2px;min-width:60px;font-family:Bebas Neue,sans-serif;font-size:24px;display:flex}.scc-date{letter-spacing:.5px;color:#888;text-transform:uppercase;white-space:nowrap;font-family:Outfit,sans-serif;font-size:10px;font-weight:600}.scc-name{color:#fff;font-size:14px;font-weight:600}.scc-meta{color:#666;font-size:12px}.scc-check{background:var(--accent,#e8611a);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;margin-left:auto;font-size:14px;font-weight:700;display:flex}.daypass-grid{flex-wrap:wrap;gap:12px;display:flex}.daypass-btn{cursor:pointer;background:#111;border:2px solid #2a2a2a;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:80px;height:80px;font-family:Outfit,sans-serif;transition:all .2s;display:flex}.daypass-btn:hover{border-color:var(--accent,#e8611a)}.daypass-btn.selected{border-color:var(--accent,#e8611a);background:color-mix(in srgb, var(--accent,#e8611a) 10%, transparent)}.dp-num{color:#fff;font-family:Bebas Neue,sans-serif;font-size:32px;line-height:1}.dp-label{color:#666;letter-spacing:1px;text-transform:uppercase;margin-top:2px;font-size:10px}.daypass-btn.selected .dp-num{color:var(--accent,#e8611a)}.visitor-form{grid-template-columns:1fr 1fr;gap:16px;display:grid}.visitor-form .form-group label{letter-spacing:1.5px;text-transform:uppercase;color:#888;margin-bottom:8px;font-size:11px;font-weight:600;display:block}.visitor-form .form-group input{color:#fff;background:#0a0a0a;border:1px solid #2a2a2a;border-radius:4px;width:100%;padding:12px 14px;font-family:Outfit,sans-serif;font-size:14px}.visitor-form .form-group input:focus{border-color:var(--accent,#e8611a);outline:none}.sales-submit{background:#181818;border:1px solid #1f1f1f;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.sales-summary{color:#888;font-size:14px}.btn-sales-submit{background:var(--accent,#e8611a);color:#fff;letter-spacing:1.5px;text-transform:uppercase;white-space:nowrap;border-radius:4px;padding:14px 32px;font-family:Outfit,sans-serif;font-size:13px;font-weight:700;transition:all .2s}.btn-sales-submit:hover{background:var(--accent-light,#ff7a33)}.btn-sales-submit:disabled{color:#666;cursor:not-allowed;background:#333}.sales-qr-panel{border:1px solid var(--accent,#e8611a);background:#181818;border-radius:8px;flex-direction:column;align-items:center;gap:12px;padding:20px 24px;display:flex}.sales-qr-label{letter-spacing:1px;text-transform:uppercase;color:#888;font-size:11px}.sales-qr-token{color:#fff;letter-spacing:1px;word-break:break-all;text-align:center;background:#111;border:1px solid #333;border-radius:4px;padding:10px 16px;font-family:Courier New,monospace;font-size:15px}.sales-qr-close{color:#aaa;cursor:pointer;background:#333;border:none;border-radius:4px;padding:6px 18px;font-size:12px}.sales-qr-close:hover{color:#fff;background:#444}.daypass-history{background:#181818;border:1px solid #1f1f1f;border-radius:8px;margin-top:32px;padding:24px}.daypass-history-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.daypass-history-header h3{letter-spacing:1px;color:#fff;flex:1;font-family:Bebas Neue,sans-serif;font-size:20px}.daypass-history-list{flex-direction:column;gap:10px;display:flex}.dp-history-card{background:#111;border:1px solid #2a2a2a;border-radius:6px;flex-wrap:wrap;align-items:center;gap:16px;padding:14px 18px;display:flex}.dp-history-info{flex:1;min-width:0}.dp-history-name{color:#fff;font-size:14px;font-weight:600}.dp-history-class{color:#666;margin-top:2px;font-size:12px}.dp-history-status{align-items:center;gap:10px;margin-top:6px;display:flex}.dp-status-chip{letter-spacing:1px;text-transform:uppercase;border-radius:20px;padding:2px 8px;font-size:10px;font-weight:700}.dp-status-chip.confirmed{color:#4ade80;background:#1a3a1a}.dp-status-chip.attended{color:#60a5fa;background:#1a2a3a}.dp-status-chip.cancelled{color:#f87171;background:#2a1a1a}.dp-history-code{color:#888;font-family:Courier New,monospace;font-size:12px}.dp-history-qr-btn{color:#aaa;cursor:pointer;white-space:nowrap;background:#222;border:1px solid #333;border-radius:4px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .2s}.dp-history-qr-btn:hover{border-color:var(--accent,#e8611a);color:#fff}.dp-history-qr{border-top:1px solid #1f1f1f;flex-direction:column;align-items:center;gap:10px;width:100%;margin-top:4px;padding-top:14px;display:flex}.scc-full-label{color:#f87171;font-size:12px;font-weight:600}.scc-full-badge{letter-spacing:1px;color:#f87171;background:#2a1a1a;border-radius:4px;margin-left:auto;padding:3px 8px;font-size:10px;font-weight:700}.sales-empty-error{color:#f87171}.sales-retry-btn{color:var(--accent,#e8611a);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.sales-refresh-btn{color:#666;cursor:pointer;background:0 0;border:1px solid #333;border-radius:4px;justify-content:center;align-items:center;width:30px;height:30px;margin-left:auto;font-size:16px;transition:all .2s;display:flex}.sales-refresh-btn:hover{color:#aaa;border-color:#555}.sales-qr-hint{color:#888;text-align:center;font-size:11px}@media (width<=768px){.visitor-form{grid-template-columns:1fr}.sales-submit{flex-direction:column}.btn-sales-submit{width:100%}}.support-layout{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;display:grid}.support-panel{background:#181818;border:1px solid #1f1f1f;border-radius:8px;max-height:600px;padding:24px;overflow-y:auto}.support-panel-header{margin-bottom:20px}.support-panel-header h3{letter-spacing:1px;text-transform:uppercase;color:#fff;margin-bottom:12px;font-family:Bebas Neue,sans-serif;font-size:22px}.support-search{gap:8px;display:flex}.support-search input{color:#fff;background:#0a0a0a;border:1px solid #2a2a2a;border-radius:4px;flex:1;padding:10px 14px;font-family:Outfit,sans-serif;font-size:13px}.support-search input:focus{border-color:var(--accent,#e8611a);outline:none}.support-search input::placeholder{color:#555}.btn-search{background:var(--accent,#e8611a);color:#fff;letter-spacing:1px;text-transform:uppercase;white-space:nowrap;border-radius:4px;padding:10px 18px;font-family:Outfit,sans-serif;font-size:12px;font-weight:700}.btn-search:hover{background:var(--accent-light,#ff7a33)}.support-section-label{letter-spacing:1.5px;text-transform:uppercase;color:#666;border-bottom:1px solid #1f1f1f;margin-bottom:8px;padding:12px 0 8px;font-size:10px;font-weight:600}.support-users{flex-direction:column;gap:6px;display:flex}.support-empty{text-align:center;color:#555;padding:40px 20px;font-size:13px}.support-user-card{cursor:pointer;background:#111;border:1px solid #222;border-radius:6px;align-items:center;gap:12px;padding:12px 14px;transition:all .2s;display:flex}.support-user-card:hover{border-color:var(--accent,#e8611a)}.support-user-card.selected{border-color:var(--accent,#e8611a);background:color-mix(in srgb, var(--accent,#e8611a) 8%, transparent)}.suc-dot{background:#4ade80;border-radius:50%;flex-shrink:0;width:8px;height:8px}.suc-dot.unlinked{background:#f59e0b}.suc-name{color:#fff;font-size:13px;font-weight:600}.suc-email{color:#666;font-size:11px}.suc-code{color:#666;letter-spacing:1px;margin-left:auto;font-family:JetBrains Mono,monospace;font-size:11px}.suc-check{background:var(--accent,#e8611a);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-left:auto;font-size:12px;font-weight:700;display:flex}.support-sap-card{cursor:pointer;background:#111;border:1px solid #222;border-radius:6px;align-items:center;gap:12px;padding:12px 14px;transition:all .2s;display:flex}.support-sap-card:hover{border-color:var(--accent,#e8611a)}.support-sap-card.selected{border-color:var(--accent,#e8611a);background:color-mix(in srgb, var(--accent,#e8611a) 8%, transparent)}.sap-code{color:var(--accent,#e8611a);min-width:80px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700}.sap-name{color:#fff;font-size:13px;font-weight:600}.sap-phone{color:#666;font-size:11px}.sap-status{letter-spacing:1px;text-transform:uppercase;border-radius:3px;margin-left:auto;padding:3px 8px;font-size:10px;font-weight:700}.sap-status.active{color:#4ade80;background:#4ade8026}.sap-status.inactive{color:#ef4444;background:#ef444426}.support-action-bar{background:#181818;border:1px solid #1f1f1f;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.support-action-summary{color:#888;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.link-item{color:#fff;font-weight:600}.link-item.sap{color:var(--accent,#e8611a)}.link-arrow{color:#4ade80;font-size:18px}.btn-link-account{color:#0a0a0a;letter-spacing:1.5px;text-transform:uppercase;white-space:nowrap;background:#4ade80;border-radius:4px;padding:14px 32px;font-family:Outfit,sans-serif;font-size:13px;font-weight:700;transition:all .2s}.btn-link-account:hover{background:#6ee7a0}.btn-link-account:disabled{color:#666;cursor:not-allowed;background:#333}.support-stats-bar{background:#181818;border:1px solid #1f1f1f;border-radius:8px;align-items:center;gap:0;margin-bottom:20px;padding:16px 28px;display:flex}.support-stat-item{flex-direction:column;flex:1;align-items:center;gap:3px;display:flex}.support-stat-divider{background:#222;width:1px;height:32px}.support-stat-num{color:#fff;font-size:26px;font-weight:700;line-height:1}.support-stat-num.linked{color:#4ade80}.support-stat-num.unlinked{color:#f59e0b}.support-stat-label{letter-spacing:1.5px;text-transform:uppercase;color:#555;font-size:10px;font-weight:600}.support-filter-chips{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.support-chip{color:#666;cursor:pointer;white-space:nowrap;background:#111;border:1px solid #2a2a2a;border-radius:20px;padding:5px 12px;font-family:Outfit,sans-serif;font-size:11px;font-weight:600;transition:all .15s}.support-chip:hover{color:#aaa;border-color:#444}.support-chip.active{background:color-mix(in srgb, var(--accent,#e8611a) 12%, transparent);border-color:var(--accent,#e8611a);color:var(--accent,#e8611a)}.support-skeleton{flex-direction:column;gap:8px;padding-top:4px;display:flex}.support-skeleton-row{background:#111;border:1px solid #1a1a1a;border-radius:6px;align-items:center;gap:12px;padding:12px 14px;display:flex}@media (width<=900px){.support-layout{grid-template-columns:1fr}.support-action-bar{flex-direction:column}.btn-link-account{width:100%}.support-stats-bar{padding:14px 16px}.support-stat-num{font-size:20px}}.suc-unlink-btn{color:#ef4444;cursor:pointer;background:0 0;border:1px solid #ef444466;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-left:6px;font-size:11px;transition:background .15s;display:flex}.suc-unlink-btn:hover{background:#ef44441f}.fb-page{background:#0a0a0a;justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.fb-card{background:#111;border:1px solid #1f1f1f;border-radius:12px;flex-direction:column;align-items:center;width:100%;max-width:440px;padding:40px 32px;display:flex}.fb-logo{letter-spacing:3px;color:#fff;margin-bottom:24px;font-family:Bebas Neue,sans-serif;font-size:28px}.fb-logo span{color:var(--accent,#e8611a)}.fb-logo-img{object-fit:cover;border-radius:10px;width:56px;height:56px;margin-bottom:20px}.fb-instructor-photo{object-fit:cover;border:2px solid var(--accent,#e8611a);border-radius:50%;width:80px;height:80px;margin-bottom:16px}.fb-title{letter-spacing:2px;text-align:center;color:#fff;margin-bottom:20px;font-family:Bebas Neue,sans-serif;font-size:24px;line-height:1.2}.fb-title span{color:var(--accent,#e8611a)}.fb-info-row{justify-content:center;gap:16px;width:100%;margin-bottom:28px;display:flex}.fb-info-item{flex-direction:column;align-items:center;gap:4px;display:flex}.fb-info-label{letter-spacing:1.5px;text-transform:uppercase;color:#666;font-size:10px}.fb-info-value{color:#fff;font-size:13px;font-weight:600}.fb-stars-section{text-align:center;width:100%;margin-bottom:24px}.fb-stars-label{color:#888;letter-spacing:.5px;margin-bottom:14px;font-size:13px}.fb-stars-row{justify-content:center;gap:8px;margin-bottom:10px;display:flex}.fb-star{color:#333;cursor:pointer;background:0 0;border:none;padding:4px;font-size:40px;line-height:1;transition:color .15s,transform .1s}.fb-star.lit{color:var(--accent,#e8611a)}.fb-star:hover{transform:scale(1.1)}.fb-stars-text{color:#888;letter-spacing:.5px;min-height:18px;font-size:13px}.fb-comment-section{width:100%;margin-bottom:24px}.fb-comment-label{letter-spacing:1px;text-transform:uppercase;color:#666;margin-bottom:8px;font-size:12px;display:block}.fb-textarea{color:#fff;resize:vertical;box-sizing:border-box;background:#0a0a0a;border:1px solid #2a2a2a;border-radius:6px;width:100%;padding:12px;font-family:Outfit,sans-serif;font-size:14px;transition:border-color .2s}.fb-textarea:focus{border-color:var(--accent,#e8611a);outline:none}.fb-textarea::placeholder{color:#444}.fb-btn{background:var(--accent,#e8611a);color:#fff;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;border:none;border-radius:4px;width:100%;padding:14px;font-family:Outfit,sans-serif;font-size:13px;font-weight:700;transition:background .2s}.fb-btn:hover:not(:disabled){background:#d45515}.fb-btn:disabled{opacity:.5;cursor:not-allowed}.fb-skip{color:#555;margin-top:16px;font-size:12px}.fb-skip a{color:#666;cursor:pointer;text-decoration:underline}.fb-skip a:hover{color:#888}.fb-success-star{color:var(--accent,#e8611a);margin-bottom:8px;font-size:64px;line-height:1}@media (width<=480px){.fb-card{padding:32px 20px}.fb-star{font-size:34px}.fb-info-row{gap:10px}}.day-btn.has-slots:after{content:"";background:#a78bfa;border-radius:50%;width:5px;height:5px;margin:2px auto 0;display:block}.day-btn.active.has-slots:after{background:#fff}.cita-activa{background:linear-gradient(135deg,#1a2a1a,#182818);border:1px solid #4ade80;border-radius:10px;flex-direction:column;gap:6px;margin-bottom:28px;padding:28px 32px;display:flex}.cita-activa-badge{letter-spacing:1.5px;text-transform:uppercase;color:#4ade80;font-size:10px;font-weight:700}.cita-activa-fecha{letter-spacing:1px;color:#fff;margin-top:4px;font-family:Bebas Neue,sans-serif;font-size:28px}.cita-activa-hora{color:#4ade80;font-size:20px;font-weight:700}.cita-activa-nutri{color:#888;margin-top:2px;font-size:13px}.btn-cita-cancel{color:#999;cursor:pointer;background:0 0;border:1px solid #444;border-radius:4px;align-self:flex-start;margin-top:16px;padding:8px 20px;font-family:Outfit,sans-serif;font-size:12px;transition:all .2s}.btn-cita-cancel:hover:not(:disabled){color:#ef4444;border-color:#ef4444}.btn-cita-cancel:disabled{opacity:.5;cursor:not-allowed}.citas-empty{text-align:center;color:#555;padding:60px 20px;font-size:14px}.citas-slots{flex-direction:column;gap:24px;display:flex}.citas-section-title{letter-spacing:1.5px;text-transform:uppercase;color:#4ade80;margin-bottom:-12px;font-size:11px;font-weight:600}.citas-day{flex-direction:column;gap:10px;display:flex}.citas-day-label{color:#888;text-transform:capitalize;font-size:13px;font-weight:600}.citas-day-slots{flex-wrap:wrap;gap:10px;display:flex}.cita-slot-btn{cursor:pointer;background:#181818;border:1px solid #2a2a2a;border-radius:8px;flex-direction:column;align-items:center;gap:3px;min-width:110px;padding:14px 20px;transition:all .15s;display:flex}.cita-slot-btn:hover:not(:disabled){background:#4ade8014;border-color:#4ade80}.cita-slot-btn:disabled{opacity:.4;cursor:not-allowed}.cita-slot-time{letter-spacing:1px;color:#fff;font-family:Bebas Neue,sans-serif;font-size:22px}.cita-slot-nutri{color:#666;text-align:center;font-size:10px}.cita-qr-panel{text-align:center;background:#111b11;border:1px solid #4ade80;border-radius:10px;flex-direction:column;align-items:center;gap:12px;margin-bottom:24px;padding:24px 28px;display:flex}.cita-qr-label{color:#4ade80;letter-spacing:.5px;font-size:12px}.cita-qr-token{color:#a3f7bf;word-break:break-all;letter-spacing:.5px;background:#0a140a;border:1px solid #1a3a1a;border-radius:6px;max-width:100%;padding:10px 20px;font-family:Courier New,monospace;font-size:13px}.cita-qr-close{color:#666;cursor:pointer;background:0 0;border:1px solid #333;border-radius:4px;padding:6px 18px;font-family:Outfit,sans-serif;font-size:11px}.cita-qr-close:hover{color:#999;border-color:#555}@media (width<=600px){.cita-activa{padding:20px}.citas-day-slots{gap:8px}.cita-slot-btn{min-width:90px;padding:12px 14px}}.citas-tabs{border-bottom:1px solid #1e293b;gap:4px;margin-bottom:24px;padding-bottom:0;display:flex}.citas-tab-btn{color:#64748b;cursor:pointer;letter-spacing:.5px;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 20px;font-size:14px;font-weight:600;transition:color .15s,border-color .15s}.citas-tab-btn:hover{color:#e2e8f0}.citas-tab-btn.active{color:#e2e8f0;border-bottom-color:var(--accent,#e8611a)}.citas-controls{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:32px;display:flex}.citas-day-selector{flex-direction:column;flex:1;gap:10px;display:flex}.citas-week-nav{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.citas-nav-btn{color:#ccc;cursor:pointer;background:#181818;border:1px solid #2a2a2a;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;line-height:1;transition:border-color .15s,color .15s;display:flex}.citas-nav-btn:hover{color:#fff;border-color:#555}.citas-nav-today{color:#aaa;letter-spacing:.5px;cursor:pointer;background:#181818;border:1px solid #2a2a2a;border-radius:6px;padding:6px 14px;font-family:Outfit,sans-serif;font-size:12px;font-weight:600;transition:border-color .15s,color .15s}.citas-nav-today:hover{color:#fff;border-color:#555}.citas-nav-label{color:#888;letter-spacing:.5px;flex:1;font-size:13px}.calendar-outer{overflow-x:auto}.calendar-grid{background:#1e1e1e;border:1px solid #1e1e1e;border-radius:8px;grid-template-columns:repeat(7,minmax(130px,1fr));gap:1px;min-width:700px;display:grid;overflow:hidden}.cal-header-cell{letter-spacing:1.5px;text-transform:uppercase;color:#666;text-align:center;background:#151515;padding:10px 12px;font-size:10px;font-weight:700}.cal-cell{background:#111;flex-direction:column;gap:6px;min-height:110px;padding:10px;display:flex}.cal-cell.cal-today{background:#141414}.cal-cell.cal-today .cal-date-num{color:var(--accent,#e8611a);font-weight:700}.cal-cell.cal-past{opacity:.5}.cal-date-num{color:#444;margin-bottom:2px;font-family:Bebas Neue,sans-serif;font-size:20px;line-height:1}.cal-empty{color:#2a2a2a;text-align:center;margin-top:8px;font-size:12px}.cal-session-card{background:#1a1a1a;border:1px solid #252525;border-radius:5px;flex-direction:column;gap:2px;padding:7px 8px;transition:border-color .15s;display:flex}.cal-session-card:not(button):hover,.citas-cal-btn:hover:not(:disabled){border-color:var(--accent,#e8611a)}.cal-session-card-dim{opacity:.3}.cal-session-time{color:#fff;font-family:Bebas Neue,sans-serif;font-size:16px;line-height:1}.cal-session-name{color:#ddd;text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:700;line-height:1.2}.cal-session-instructor{color:#666;font-size:10px}.citas-cal-btn{background:0 0;border:none;padding:0;font-family:inherit}.classes-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.class-card{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;transition:all .3s;overflow:hidden}.class-card:hover{border-color:#555;transform:translateY(-2px)}.class-card-header{border-bottom:1px solid #252525;justify-content:space-between;align-items:flex-start;padding:20px 24px 16px;display:flex}.class-time{color:#fff;letter-spacing:1px;font-family:Bebas Neue,sans-serif;font-size:32px;line-height:1}.class-duration{color:#aaa;letter-spacing:1px;text-transform:uppercase;margin-top:4px;font-size:11px}.class-badge{letter-spacing:1px;text-transform:uppercase;border-radius:3px;padding:4px 10px;font-size:10px;font-weight:700}.class-body{padding:20px 24px}.class-name{letter-spacing:1px;text-transform:uppercase;color:#fff;margin-bottom:4px;font-family:Bebas Neue,sans-serif;font-size:26px}.class-instructor{color:#aaa;margin-bottom:16px;font-size:13px}.class-actions{border-top:1px solid #1f1f1f;margin-top:16px;padding-top:16px}.btn-reserve{background:var(--accent,#e8611a);color:#fff;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;border:none;border-radius:4px;width:100%;padding:12px;font-family:Outfit,sans-serif;font-size:12px;font-weight:700;transition:all .2s}.btn-reserve:disabled{cursor:not-allowed;color:#666;background:#2a2a2a}.week-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.week-group-label{letter-spacing:1.5px;text-transform:uppercase;color:#555;white-space:nowrap;flex-shrink:0;width:72px;font-size:9px;font-weight:700}.week-group-days{flex-wrap:wrap;gap:6px;display:flex}.day-btn{color:#aaa;cursor:pointer;text-align:center;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:6px;min-width:56px;padding:12px 8px;font-family:Outfit,sans-serif;transition:all .2s}.day-btn:hover{color:#fff;border-color:#666}.day-btn.active{background:var(--accent,#e8611a);border-color:var(--accent,#e8611a);color:#fff}.day-btn-label{letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:600}.day-btn-num{font-family:Bebas Neue,sans-serif;font-size:24px;line-height:1}.day-btn.today .day-btn-label{color:var(--accent,#e8611a)}.view-toggle{flex-shrink:0;align-self:flex-start;gap:6px;padding-top:2px;display:flex}.view-btn{color:#888;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;white-space:nowrap;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:6px;align-items:center;gap:6px;padding:10px 14px;font-family:Outfit,sans-serif;font-size:11px;font-weight:600;transition:all .2s;display:flex}.view-btn:hover{color:#ccc;border-color:#555}.view-btn.active{border-color:var(--accent,#e8611a);color:var(--accent,#e8611a);background:#222}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.week-nav{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.week-nav-btn{color:#ccc;cursor:pointer;background:#181818;border:1px solid #2a2a2a;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;line-height:1;transition:border-color .15s,color .15s;display:flex}.week-nav-btn:hover{color:#fff;border-color:#555}.week-nav-today{color:#aaa;letter-spacing:.5px;cursor:pointer;background:#181818;border:1px solid #2a2a2a;border-radius:6px;padding:6px 14px;font-family:Outfit,sans-serif;font-size:12px;font-weight:600;transition:border-color .15s,color .15s}.week-nav-today:hover{color:#fff;border-color:#555}.week-nav-label{color:#888;text-align:center;letter-spacing:.5px;flex:1;font-size:13px}.citas-week-grid{grid-template-columns:repeat(7,1fr);gap:6px;min-width:0;display:grid;overflow-x:auto}.citas-day-col{flex-direction:column;gap:6px;min-width:0;display:flex}.citas-day-col.past{opacity:.45}.citas-day-header{border-bottom:1px solid #1e1e1e;flex-direction:column;align-items:center;margin-bottom:2px;padding:10px 4px 8px;display:flex}.citas-day-name{letter-spacing:1px;text-transform:uppercase;color:#555;font-size:10px;font-weight:600}.citas-day-num{color:#888;font-size:20px;font-weight:700;line-height:1.2}.citas-day-num.today{color:var(--accent,#e8611a)}.citas-day-col.today>.citas-day-header{border-bottom-color:var(--accent,#e8611a)}.citas-no-slots{color:#333;text-align:center;padding:14px 4px;font-size:11px}.citas-day-loading{background:#1a1a1a;border-radius:6px;height:50px;animation:1.5s ease-in-out infinite pulse}.citas-slot-btn{cursor:pointer;text-align:center;background:#151515;border:1px solid #222;border-radius:6px;flex-direction:column;align-items:center;gap:2px;width:100%;padding:10px 4px;transition:all .15s;display:flex}.citas-slot-btn.nutri:hover:not(:disabled):not(.disabled){background:#a78bfa1a;border-color:#a78bfa}.citas-slot-btn.recovery:hover:not(:disabled):not(.disabled){background:#60a5fa1a;border-color:#60a5fa}.citas-slot-btn.disabled,.citas-slot-btn:disabled{opacity:.35;cursor:not-allowed}.citas-slot-time{color:#ddd;font-size:13px;font-weight:700;line-height:1.1}.citas-slot-sub{color:#555;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:9px;overflow:hidden}@media (width<=700px){.citas-week-grid{grid-template-columns:repeat(7,minmax(40px,1fr))}.citas-slot-time{font-size:11px}.citas-day-num{font-size:16px}}.citas-calendar-grid{grid-template-rows:auto}.citas-booked-card{background:#4ade801a!important;border-left:3px solid #4ade80!important}.citas-booked-card .cal-session-time{color:#4ade80!important}.citas-booked-card .cal-session-name{font-weight:700;color:#4ade80!important}.citas-slot-card{background:0 0;border:none;padding:0;font-family:Outfit,sans-serif}.citas-slot-card:hover:not(:disabled):not(.citas-dim){filter:brightness(1.2)}.citas-dim{opacity:.3!important}.ct-wrap{gap:0;margin-top:8px;display:flex;overflow-x:auto}.ct-gutter{flex-shrink:0;width:52px;position:relative}.ct-gutter-inner{position:relative}.ct-hour-label{color:#444;white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:10px;line-height:1;position:absolute;right:8px;transform:translateY(-50%)}.ct-cols{flex:1;grid-template-columns:repeat(7,1fr);gap:3px;min-width:0;display:grid}.ct-col{flex-direction:column;min-width:0;display:flex}.ct-col.today .ct-col-hdr{border-bottom:2px solid var(--accent,#e8611a)}.ct-col.past{opacity:.5}.ct-col-hdr{z-index:2;background:#0e0e0e;border-bottom:1px solid #1a1a1a;flex-direction:column;align-items:center;padding:8px 4px 6px;display:flex;position:sticky;top:0}.ct-col-dow{letter-spacing:1.5px;text-transform:uppercase;color:#555;font-size:9px;font-weight:700}.ct-col-num{color:#888;font-size:18px;font-weight:700;line-height:1.1}.ct-col-num.today{color:var(--accent,#e8611a)}.ct-col-body{flex:1;position:relative}.ct-hr-line{pointer-events:none;background:#181818;height:1px;position:absolute;left:0;right:0}.ct-slot{box-sizing:border-box;border-radius:5px;flex-direction:column;gap:1px;padding:3px 5px;display:flex;position:absolute;left:2px;right:2px;overflow:hidden}.ct-slot.booked{background:#4ade801f;border:1px solid #4ade80}.ct-slot-label{color:#4ade80;letter-spacing:.3px;font-size:9px;font-weight:700}.ct-slot.available{cursor:pointer;border:1px solid #0000;transition:opacity .15s,filter .15s}.ct-slot.available:hover:not(:disabled):not(.dim){filter:brightness(1.25)}.ct-slot.available:disabled,.ct-slot.available.dim{opacity:.3;cursor:not-allowed}.ct-slot.available.nutri{background:#a78bfa24;border-color:#a78bfa99}.ct-slot.available.recovery{background:#60a5fa24;border-color:#60a5fa99}.ct-slot-time{color:#ddd;white-space:nowrap;font-size:10px;font-weight:700;line-height:1}.ct-slot.booked .ct-slot-time{color:#4ade80}.ct-slot.available.nutri .ct-slot-time{color:#a78bfa}.ct-slot.available.recovery .ct-slot-time{color:#60a5fa}.ct-slot-who{color:#888;white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}@media (width<=700px){.ct-gutter{width:36px}.ct-hour-label{font-size:9px;right:4px}.ct-col-num{font-size:14px}.ct-slot-time{font-size:9px}}.nutri-section-title{letter-spacing:1.5px;text-transform:uppercase;color:#4ade80;margin-bottom:14px;font-size:11px;font-weight:700}.nutri-empty{text-align:center;color:#555;padding:60px 20px;font-size:14px}.nutri-empty-day{color:#444;padding:12px 0 20px;font-size:13px}.nutri-day-list{flex-direction:column;gap:8px;display:flex}.nutri-cita-row{background:0 0;border-bottom:1px solid #161616;flex-direction:column;gap:4px;padding:10px;transition:background .15s;display:flex}.nutri-cita-row:last-child{border-bottom:none}.nutri-cita-row.booked{background:#4ade800a}.nutri-cita-row:hover{background:#171717}.nutri-cita-time{letter-spacing:1px;color:#4ade80;font-family:Bebas Neue,sans-serif;font-size:17px;line-height:1}.nutri-cita-row.libre .nutri-cita-time{color:#3a3a3a}.nutri-cita-info{width:100%}.nutri-cita-nombre{color:#e2e8f0;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.nutri-nombre-apartar{color:#f59e0b}.nutri-cita-email{color:#555;text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:10px;overflow:hidden}.nutri-cita-libre{color:#333;font-size:11px}.nutri-row-head{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;display:flex}.nutri-dur{color:#444;flex-shrink:0;font-size:10px}.nutri-row-patient{min-width:0;margin-top:3px}.nutri-row-actions{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.nutri-badge-xs{padding:2px 6px!important;font-size:10px!important}.nutri-badge-noshow{color:#ef4444;border:1px solid #ef4444;border-radius:20px}.nutri-cita-status{margin-left:0}.nutri-badge{letter-spacing:.5px;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.nutri-badge.attended{color:#4ade80;background:#4ade801f;border:1px solid #4ade804d}.nutri-badge.libre{color:#444;background:#1a1a1a;border:1px solid #222}.btn-nutri-checkin{color:#4ade80;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #4ade80;border-radius:4px;padding:8px 16px;font-family:Outfit,sans-serif;font-size:12px;font-weight:600;transition:all .15s}.btn-nutri-checkin:hover:not(:disabled){background:#4ade8026}.btn-nutri-checkin:disabled{opacity:.4;cursor:not-allowed}.btn-nutri-cam{color:#888;cursor:pointer;background:0 0;border:1px solid #333;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:8px 10px;transition:all .15s;display:flex}.btn-nutri-cam:hover{color:#4ade80;border-color:#4ade80}.nutri-future-group{margin-bottom:20px}.nutri-future-date{color:#666;text-transform:capitalize;margin-bottom:8px;font-size:12px;font-weight:600}.nutri-qr-panel{background:#141a14;border:1px solid #2a3a2a;border-radius:10px;margin-bottom:28px;padding:20px 24px}.nutri-qr-label{letter-spacing:1px;text-transform:uppercase;color:#4ade80;margin-bottom:12px;font-size:11px;font-weight:700}.nutri-qr-row{align-items:center;gap:10px;display:flex}.nutri-qr-input{color:#fff;background:#0f0f0f;border:1px solid #2a2a2a;border-radius:6px;outline:none;flex:1;padding:10px 14px;font-family:Outfit,sans-serif;font-size:13px}.nutri-qr-input:focus{border-color:#4ade80}.nutri-qr-input::placeholder{color:#444}@media (width<=800px){.nutri-qr-row{flex-direction:column;align-items:stretch}}.btn-walkin{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #334155;border-radius:6px;padding:6px 12px;font-size:12px;transition:border-color .15s,color .15s}.btn-walkin:hover{border-color:var(--accent,#e8611a);color:var(--accent,#e8611a)}.walkin-form{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.walkin-input{color:#e2e8f0;background:#1e293b;border:1px solid #334155;border-radius:6px;width:160px;padding:6px 10px;font-size:12px}.walkin-input:focus{border-color:var(--accent,#e8611a);outline:none}.btn-walkin-confirm{background:var(--accent,#e8611a);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:6px 12px;font-size:12px}.btn-walkin-confirm:disabled{opacity:.5;cursor:not-allowed}.nutri-week-nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.nutri-week-label{color:#888;letter-spacing:.3px;font-size:13px}.btn-week-nav{color:#fff;cursor:pointer;background:#1a1a1a;border:1px solid #333;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.btn-week-nav:hover{border-color:var(--accent,#e8611a);color:var(--accent,#e8611a)}.btn-week-today{color:#aaa;cursor:pointer;letter-spacing:.5px;background:0 0;border:1px solid #333;border-radius:6px;padding:6px 14px;font-family:inherit;font-size:12px}.btn-week-today:hover{color:#fff;border-color:#555}.nutri-calendar{grid-template-columns:repeat(7,minmax(130px,1fr));gap:6px;min-width:0;margin-top:16px;display:grid;overflow-x:auto}.nutri-cal-day{border:1px solid #1e1e1e;border-radius:8px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.nutri-cal-day.today{border-color:var(--accent,#e8611a)}.nutri-cal-day.past{opacity:.55}.nutri-cal-day-header{background:#111;border-bottom:1px solid #1e1e1e;border-radius:8px 8px 0 0;flex-direction:column;align-items:center;gap:2px;padding:10px 8px 8px;display:flex}.nutri-cal-day.today .nutri-cal-day-header{border-bottom-color:var(--accent,#e8611a)}.nutri-cal-day-name{letter-spacing:1.5px;color:#666;text-transform:uppercase;font-size:10px;font-weight:700}.nutri-cal-day-num{color:#999;font-size:22px;font-weight:700;line-height:1}.nutri-cal-day.today .nutri-cal-day-num{color:var(--accent,#e8611a)}.nutri-cal-day-month{color:#555;font-size:10px}.nutri-cal-today-badge{letter-spacing:1px;color:var(--accent,#e8611a);border:1px solid var(--accent,#e8611a);border-radius:3px;margin-top:2px;padding:1px 5px;font-size:9px;font-weight:700}.nutri-cal-empty{color:#333;text-align:center;padding:12px 8px;font-size:11px}.nutri-cal-sessions{flex-direction:column;gap:0;display:flex}.nutri-badge.confirmed{color:#f59e0b;white-space:nowrap;border:1px solid #f59e0b;border-radius:20px;padding:4px 10px;font-size:11px}.nutri-walkin-wrap{flex-direction:column;gap:4px;display:flex;position:relative}.walkin-search-panel{z-index:200;background:#111;border:1px solid #2a2a2a;border-radius:8px;flex-direction:column;gap:8px;width:280px;max-width:90vw;padding:12px;display:flex;position:absolute;top:100%;left:0;box-shadow:0 8px 32px #0009}.walkin-search-msg{border-radius:6px;padding:6px 10px;font-size:12px}.walkin-search-msg.success{color:#4ade80;background:#0d2318}.walkin-search-msg.error{color:#ef4444;background:#2a1010}.walkin-search-hint{color:#666;font-size:11px}.walkin-search-results{flex-direction:column;gap:2px;max-height:160px;display:flex;overflow-y:auto}.walkin-search-item{text-align:left;cursor:pointer;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:6px;flex-direction:column;gap:2px;width:100%;padding:8px 10px;display:flex}.walkin-search-item:hover{border-color:var(--accent,#e8611a)}.wsi-name{color:#fff;font-size:13px;font-weight:600}.wsi-meta{color:#888;font-size:11px}.walkin-selected-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.walkin-selected-name{color:#fff;font-size:13px;font-weight:600}.walkin-no-link{color:#ef4444;font-size:11px}.nutri-cita-row.apartado{background:#f59e0b0a}.nutri-cita-row.apartado .nutri-cita-time{color:#f59e0b}.btn-nutri-action{color:#94a3b8;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #334155;border-radius:6px;padding:4px 10px;font-family:inherit;font-size:11px;transition:border-color .15s,color .15s}.btn-nutri-action:hover{color:#4ade80;border-color:#4ade80}.btn-nutri-action.btn-apartar:hover,.btn-nutri-action.btn-liberar{color:#f59e0b;border-color:#f59e0b}.btn-nutri-action.btn-liberar:hover{background:#f59e0b1a}.btn-nutri-cal{color:#64748b;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #334155;border-radius:6px;padding:3px 8px;font-family:inherit;font-size:10px;text-decoration:none;transition:border-color .15s,color .15s;display:inline-block}.btn-nutri-cal:hover{color:#4285f4;border-color:#4285f4}.nutri-action-panel{background:#111;border:1px solid #2a2a2a;border-radius:8px;flex-direction:column;gap:8px;margin-top:8px;padding:12px;display:flex}.nutri-modal-overlay{z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.nutri-modal-box{background:#141414;border:1px solid #2a2a2a;border-radius:12px;flex-direction:column;gap:16px;width:100%;max-width:420px;padding:24px;display:flex;box-shadow:0 20px 60px #000000b3}.nutri-modal-header{flex-direction:column;gap:4px;display:flex}.nutri-modal-title{color:#fff;font-size:16px;font-weight:700}.myqr-page{max-width:420px;margin:0 auto;padding-bottom:32px}.myqr-header{margin-bottom:28px}.myqr-title{letter-spacing:2px;color:#fff;margin:0 0 6px;font-family:Bebas Neue,sans-serif;font-size:42px}.myqr-subtitle{color:#666;margin:0;font-size:14px;line-height:1.5}.myqr-card{background:#111;border:1px solid #2a2a2a;border-radius:16px;flex-direction:column;align-items:center;margin-bottom:24px;display:flex;overflow:hidden}.myqr-qr-wrap{background:#fff;justify-content:center;width:100%;padding:32px 0 28px;display:flex}.myqr-token{letter-spacing:2px;color:#555;word-break:break-all;text-align:center;box-sizing:border-box;border-top:1px solid #1f1f1f;width:100%;padding:16px 20px;font-family:JetBrains Mono,Courier New,monospace;font-size:12px}.myqr-loading,.myqr-error{color:#555;text-align:center;padding:48px 20px;font-size:14px}.myqr-error{color:#ef4444}.myqr-info{flex-direction:column;gap:12px;display:flex}.myqr-info-row{color:#666;align-items:flex-start;gap:12px;font-size:13px;line-height:1.5;display:flex}.myqr-info-icon{color:#4ade80;flex-shrink:0;margin-top:1px;font-size:14px}:root{--accent:#e8611a;--accent-light:#ff7a33;--accent-dark:#c44f0e;--accent-text:#fff}.btn-reserve,.btn-admin-action,.btn-admin-submit,.btn-walkin-confirm,.btn-camera,.btn-primary,.btn-sales-submit,.btn-search,.btn-public-register,.btn-primary-orange,.cal-btn-reserve,.day-btn.active,.filter-chip.active,.seat-btn.selected{color:var(--accent-text,#fff)!important}*{box-sizing:border-box;margin:0;padding:0}body{color:#f0f0f0;background:#0f0f0f;min-height:100vh;font-family:Outfit,sans-serif}@media (width<=768px){body{padding-bottom:72px}}button{cursor:pointer;border:none;font-family:Outfit,sans-serif}input,select{font-family:Outfit,sans-serif}a{text-decoration:none}@keyframes skeleton-shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton{background:linear-gradient(90deg,#1a1a1a 25%,#242424 50%,#1a1a1a 75%) 0 0/1200px 100%;border-radius:5px;animation:1.4s ease-in-out infinite skeleton-shimmer}.skeleton-card{background:#181818;border:1px solid #1f1f1f;border-left:3px solid #222;border-radius:6px;align-items:center;gap:20px;padding:20px 24px;display:flex}.skeleton-block{flex-direction:column;flex:1;gap:8px;display:flex}.skeleton-line{height:12px}.skeleton-line.w-80{width:80%}.skeleton-line.w-60{width:60%}.skeleton-line.w-40{width:40%}.skeleton-circle{border-radius:50%;flex-shrink:0;width:40px;height:40px}.skeleton-rect{border-radius:6px}.skeleton-class-card{background:#181818;border:1px solid #1f1f1f;border-left:3px solid #222;border-radius:8px;flex-direction:column;gap:12px;min-height:160px;padding:24px;display:flex}
