@import "https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Outfit:wght@300;400;500;600;700&display=swap";.notif-bell{position:relative}.notif-bell-btn{cursor:pointer;color:#888;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:color .2s,background .2s;display:flex;position:relative}.notif-bell-btn:hover,.notif-bell-btn.open{color:#fff;background:#1a1a1a}.notif-bell-btn svg{width:20px;height:20px}.notif-badge{color:#fff;pointer-events:none;background:#ef4444;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-size:9px;font-weight:700;line-height:1;display:flex;position:absolute;top:2px;right:2px}.notif-dropdown{z-index:300;background:#181818;border:1px solid #2a2a2a;border-radius:10px;width:320px;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 8px 32px #0009}.notif-header{letter-spacing:1px;text-transform:uppercase;color:#888;border-bottom:1px solid #222;justify-content:space-between;align-items:center;padding:14px 16px 12px;font-size:12px;font-weight:700;display:flex}.notif-mark-all{cursor:pointer;color:var(--accent,#e8611a);letter-spacing:0;text-transform:none;background:0 0;border:none;padding:0;font-family:Outfit,sans-serif;font-size:11px;font-weight:500}.notif-mark-all:hover{opacity:.8}.notif-list{max-height:360px;overflow-y:auto}.notif-list::-webkit-scrollbar{width:4px}.notif-list::-webkit-scrollbar-track{background:0 0}.notif-list::-webkit-scrollbar-thumb{background:#333;border-radius:2px}.notif-empty{text-align:center;color:#555;padding:32px 16px;font-size:13px}.notif-item{cursor:pointer;border-bottom:1px solid #1c1c1c;align-items:flex-start;gap:10px;padding:12px 16px;transition:background .15s;display:flex;position:relative}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:#1f1f1f}.notif-item.unread{background:#e8611a0a}.notif-item.unread:hover{background:#e8611a14}.notif-icon{flex-shrink:0;margin-top:1px;font-size:16px}.notif-content{flex:1;min-width:0}.notif-title{color:#e0e0e0;white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:13px;font-weight:600;overflow:hidden}.notif-item.unread .notif-title{color:#fff}.notif-body{color:#666;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.notif-item.unread .notif-body{color:#888}.notif-time{color:#444;letter-spacing:.3px;margin-top:4px;font-size:10px}.notif-dot{background:var(--accent,#e8611a);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:5px}@media (width<=768px){.notif-dropdown{width:290px;right:-40px}}.app-nav{z-index:100;background:color-mix(in srgb, var(--bg-elevated) 90%, transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:16px 40px;display:flex;position:sticky;top:0}.app-logo{letter-spacing:2px;color:var(--text-primary);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:var(--text-muted);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:var(--text-primary)}.app-tab.active{color:var(--text-primary);background:var(--bg-surface)}.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:var(--text-primary);font-size:13px;font-weight:600}.user-status{letter-spacing:1px;text-transform:uppercase;color:var(--color-success);font-size:10px}.user-status.warning{color:var(--color-warning)}.user-status.blocked{color:var(--color-error)}.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}.btn-theme-toggle{background:var(--bg-surface);border:1px solid var(--border-default);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;transition:all .2s;display:flex}.btn-theme-toggle:hover{border-color:var(--accent,#e8611a);color:var(--accent,#e8611a)}.user-menu{background:var(--bg-surface);border:1px solid var(--border-default);z-index:200;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;width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;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{background:var(--bg-elevated);color:var(--text-primary)}.user-menu-item.logout{color:var(--color-error)}.user-menu-item.logout:hover{background:var(--color-error-bg);color:var(--color-error)}.user-menu-divider{background:var(--border-subtle);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;background:color-mix(in srgb, var(--bg-elevated) 97%, transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--border-subtle);padding:8px 0 max(8px, env(safe-area-inset-bottom));justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav-item{color:var(--text-faint);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{border-top:1px solid var(--border-subtle);color:var(--text-faint);letter-spacing:.5px;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:var(--text-faint);font-family:Bebas Neue,sans-serif;font-size:13px}.footer-brand strong{color:var(--accent,#e8611a)}.footer-sep{color:var(--border-default)}.footer-link{color:var(--text-faint);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:var(--text-faint)}.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:var(--bg-surface);border:1px solid var(--border-default);border-radius:10px;flex-direction:column;width:min(640px,92vw);max-height:80vh;display:flex}.footer-modal-header{border-bottom:1px solid var(--border-subtle);letter-spacing:.5px;color:var(--text-secondary);justify-content:space-between;align-items:center;padding:18px 24px;font-size:13px;font-weight:600;display:flex}.footer-modal-header button{color:var(--text-faint);cursor:pointer;background:0 0;border:none;font-size:16px;line-height:1}.footer-modal-header button:hover{color:var(--text-primary)}.footer-modal-body{flex:1;padding:24px;overflow-y:auto}.footer-modal-pre{white-space:pre-wrap;color:var(--text-secondary);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:var(--bg-elevated);flex-direction:column;flex:0 0 480px;justify-content:center;padding:60px 56px;display:flex}.login-logo{letter-spacing:3px;color:var(--text-primary);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;width:100%;color:var(--text-muted);text-transform:uppercase;margin-top:-4px;font-family:Outfit,sans-serif;font-size:11px;font-weight:500}.login-form h1{letter-spacing:1px;text-transform:uppercase;color:var(--text-primary);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:var(--text-muted);margin-bottom:36px;font-size:14px}.login-error{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error);border-radius:4px;margin-bottom:20px;padding:12px 16px;font-size:13px}.login-success{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success);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:var(--text-muted);margin-bottom:8px;font-size:11px;font-weight:600;display:block}.form-group input{background:var(--bg-surface);border:1px solid var(--border-default);width:100%;color:var(--text-primary);border-radius:4px;padding:14px 16px;font-family:Outfit,sans-serif;font-size:14px;transition:all .2s}.form-group input:focus{border-color:var(--accent,#e8611a);background:var(--bg-elevated);outline:none}.form-group input::placeholder{color:var(--text-muted)}.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:var(--text-muted);margin-top:32px;font-size:13px}.login-footer a{color:var(--accent,#e8611a);margin-left:4px;font-weight:600;text-decoration:none}.login-forgot{text-align:center;margin-top:16px}.login-forgot a{color:var(--text-muted);font-size:13px;text-decoration:none}.login-forgot a:hover{color:var(--accent,#e8611a)}@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-instructor-access{text-align:center;border-top:1px solid var(--border-subtle);margin-top:20px;padding-top:16px}.login-instructor-access a{background:var(--text-primary);color:var(--text-inverse);letter-spacing:.3px;border-radius:8px;padding:9px 20px;font-size:13px;font-weight:600;text-decoration:none;transition:opacity .15s;display:inline-block}.login-instructor-access a:hover{opacity:.85}.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:var(--text-muted);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:var(--bg-surface);border:1px solid var(--border-default);border-radius:8px;flex-direction:column;width:100%;max-width:580px;max-height:78vh;padding:32px;display:flex}.modal-header{border-bottom:1px solid var(--border-subtle);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:var(--text-primary);font-family:Bebas Neue,sans-serif;font-size:20px}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:20px;line-height:1}.modal-close:hover{color:var(--text-primary)}.modal-body{color:var(--text-secondary);white-space:pre-wrap;flex:1;font-size:13px;line-height:1.8;overflow-y:auto}.modal-body-empty{color:var(--text-faint);text-align:center;padding:20px 0;font-style:italic}.modal-pre{white-space:pre-wrap;color:var(--text-secondary);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:var(--color-success)}.verify-icon.error-icon{color:var(--color-error)}.verify-info p{color:var(--text-secondary);margin:0 0 6px;font-size:14px;line-height:1.7}.verify-info p strong{color:var(--text-primary)}.verify-note{color:var(--text-faint)!important;margin-bottom:20px!important;font-size:12px!important}.oauth-divider{color:var(--text-faint);letter-spacing:.5px;align-items:center;gap:12px;margin:8px 0;font-size:12px;display:flex}.oauth-divider:before,.oauth-divider:after{content:"";background:var(--border-subtle);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{background:color-mix(in srgb, var(--bg-elevated) 88%, transparent);color:var(--text-secondary);pointer-events:none;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 var(--border-default);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:var(--border-subtle);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:var(--color-error)}.pw-strength-fill.s2{background:var(--color-warning)}.pw-strength-fill.s3{background:var(--color-success)}.pw-strength-label{color:var(--text-muted);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 var(--border-subtle);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:var(--text-primary);font-family:Bebas Neue,sans-serif;font-size:56px;line-height:.9}.page-title span{color:var(--accent,#e8611a)}.page-sub{color:var(--text-muted);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{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success)}.alert.error{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error)}.alert.warning{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-warning)}.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{background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;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:var(--text-primary)}.filter-chip.active{background:var(--accent,#e8611a);border-color:var(--accent,#e8611a);color:#fff}.class-badge{background:var(--color-success-bg);border:1px solid var(--color-success-border);letter-spacing:1px;text-transform:uppercase;color:var(--color-success);border-radius:3px;padding:4px 10px;font-size:10px;font-weight:700}.class-badge.full{background:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error)}.class-badge.few{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning)}.class-badge.past{color:var(--text-muted);background:#88888826;border-color:#8888884d}.class-badge.waitlist{background:var(--color-purple-bg);border-color:var(--color-purple-border);color:var(--color-purple)}.class-subtitle{color:var(--text-secondary);margin-top:-2px;margin-bottom:4px;font-size:12px;font-style:italic}.class-description{color:var(--text-muted);margin-bottom:6px;font-size:12px;line-height:1.4}.class-meta{border-top:1px solid var(--border-subtle);gap:16px;margin-bottom:20px;padding-top:16px;display:flex}.meta-item{flex:1}.meta-label{letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;font-size:10px;font-weight:600}.meta-value{color:var(--text-primary);font-size:14px;font-weight:600}.meta-value span{color:var(--accent,#e8611a)}.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:hover{background:var(--accent-light,#ff7a33)}.btn-reserve.waitlist{background:#5b3f9e}.btn-reserve.waitlist:hover{background:#6d4dc7}.empty-state{text-align:center;color:var(--text-muted);padding:80px 20px}.empty-icon{margin-bottom:16px;font-size:48px}.empty-state h3{color:var(--text-primary);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:var(--border-subtle);transform:none}.public-header{background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle);z-index:100;justify-content:space-between;align-items:center;padding:16px 40px;display:flex;position:sticky;top:0}.public-header-logo{letter-spacing:3px;color:var(--text-primary);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:var(--text-secondary);letter-spacing:1px;text-transform:uppercase;border:1px solid var(--border-default);cursor:pointer;background:0 0;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:var(--text-primary)}.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:var(--text-secondary);margin:0;font-size:13px}.public-cta-banner strong{color:var(--text-primary)}.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:var(--text-faint);white-space:nowrap;margin-right:2px;font-size:10px;font-weight:600}.share-icon-btn{border:1px solid var(--border-subtle);background:var(--bg-surface);width:32px;height:32px;color:var(--text-muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex}.share-icon-btn svg{width:15px;height:15px}.share-icon-btn:hover{color:var(--text-primary);border-color:var(--border-strong);background:var(--bg-elevated)}.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{border-color:var(--border-strong);color:var(--text-primary);background:#ffffff0f}.share-icon-btn.instagram:hover{color:#e1306c;background:#e1306c1a;border-color:#e1306c66}.share-icon-btn.copy:hover,.share-icon-btn.copy.copied{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success)}.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:var(--color-error);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:var(--text-secondary);margin-top:1px;font-size:10px;font-weight:600}.cal-session-spots.full{color:var(--color-error)}.cal-session-spots.few{color:var(--color-warning)}.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{background:var(--bg-elevated);color:var(--text-faint);cursor:not-allowed}.cal-btn-reserve.waitlist{background:#5b3f9e}.cal-btn-reserve.waitlist:hover{background:#6d4dc7}.btn-gcal{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success);letter-spacing:.3px;white-space:nowrap;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{background:var(--bg-overlay);z-index:1000;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.seat-modal{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:10px;width:100%;max-width:480px;overflow:hidden}.seat-modal-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;padding:20px 24px 16px;display:flex}.seat-modal-class{letter-spacing:1px;color:var(--text-primary);font-family:Bebas Neue,sans-serif;font-size:24px}.seat-modal-time{color:var(--text-muted);margin-top:2px;font-size:12px}.seat-modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px;font-size:16px;line-height:1}.seat-modal-close:hover{color:var(--text-primary)}.seat-modal-body{padding:20px 24px}.seat-modal-hint{color:var(--text-muted);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{border:2px solid var(--border-default);background:var(--bg-elevated);width:52px;height:52px;color:var(--text-secondary);cursor:pointer;border-radius:6px;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:var(--text-primary);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{background:var(--bg-elevated);border-color:var(--border-subtle);color:var(--border-default);cursor:not-allowed}.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:var(--text-muted);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:var(--bg-elevated);border:2px solid var(--border-default)}.seat-dot.selected-dot{background:var(--accent,#e8611a)}.seat-dot.taken-dot{background:var(--border-subtle);border:2px solid var(--bg-surface)}.seat-modal-footer{border-top:1px solid var(--border-subtle);gap:10px;padding:16px 24px;display:flex}.btn-secondary{border:1px solid var(--border-default);color:var(--text-muted);letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:4px;flex:1;padding:12px;font-family:Outfit,sans-serif;font-size:12px;font-weight:600;transition:all .2s}.btn-secondary:hover{border-color:var(--border-strong);color:var(--text-secondary)}.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{background:var(--border-default);color:var(--text-faint);cursor:not-allowed}.timeline-view{flex-direction:column;gap:16px;display:flex}.timeline-date-label{color:var(--text-muted);text-transform:capitalize;align-items:center;gap:12px;font-size:13px;font-weight:500;display:flex}.timeline-now-badge{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error);letter-spacing:.5px;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:var(--color-error);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{border:1px solid var(--border-subtle);background:var(--bg-elevated);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;width:68px;color:var(--text-faint);-webkit-user-select:none;user-select:none;flex-shrink:0;padding-right:12px;font-family:Outfit,monospace;font-size:10px;font-weight:600;transform:translateY(-7px)}.timeline-hour-line{background:var(--border-subtle);flex:1;height:1px;margin-top:0}.timeline-half-line{background:color-mix(in srgb, var(--border-subtle) 60%, transparent);height:1px;position:absolute;left:68px;right:0}.timeline-now-line{background:var(--color-error);pointer-events:none;z-index:20;height:2px;position:absolute;left:60px;right:0}.timeline-now-circle{background:var(--color-error);width:10px;height:10px;box-shadow:0 0 0 3px var(--color-error-bg);border-radius:50%;position:absolute;top:-4px;left:-5px}.timeline-session{background:var(--bg-surface);border:1px solid var(--border-subtle);cursor:default;z-index:5;border-radius:6px;min-height:32px;transition:border-color .15s,box-shadow .15s;position:absolute;overflow:hidden}.timeline-session:hover{border-color:var(--border-strong);z-index:10;box-shadow:0 2px 12px #0006}.timeline-session.past{opacity:.38}.timeline-session.in-progress{border-color:var(--border-default);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:var(--text-secondary);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:var(--text-secondary);flex-shrink:0;font-family:Bebas Neue,sans-serif;font-size:15px;line-height:1}.timeline-session-dur{letter-spacing:.5px;color:var(--text-faint);text-transform:uppercase;font-family:Outfit,sans-serif;font-size:9px;font-weight:600}.timeline-session-name{color:var(--text-primary);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:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.timeline-session-spots{letter-spacing:.3px;color:var(--text-secondary);flex-shrink:0;font-size:10px;font-weight:700}.timeline-session-spots.spots-full{color:var(--color-error)}.timeline-session-spots.spots-few{color:var(--color-warning)}.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{background:var(--bg-elevated);color:var(--text-faint);cursor:not-allowed}.timeline-session-btn.waitlist{color:#fff;background:#5b3f9e}.timeline-empty{color:var(--border-default);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)}.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:var(--text-muted);border:1px dashed var(--border-strong);white-space:nowrap;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;background:var(--color-purple-bg)!important;border-color:var(--color-purple-border)!important;color:#a78bfa!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:var(--text-secondary);font-size:13px;line-height:1.5}.unlinked-banner-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:16px;line-height:1}.unlinked-banner-close:hover{color:var(--text-secondary)}.booking-section-title{letter-spacing:2px;text-transform:uppercase;color:var(--text-primary);border-bottom:1px solid var(--border-subtle);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{background:var(--bg-surface);border:1px solid var(--border-subtle);border-left:3px solid var(--accent,#e8611a);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:var(--border-strong);border-left-color:var(--accent,#e8611a)}.booking-item.history{opacity:.6}.booking-date{text-align:center;border-right:1px solid var(--border-subtle);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:var(--text-secondary);margin-top:4px;font-size:11px}.booking-info h3{letter-spacing:1px;text-transform:uppercase;color:var(--text-primary);margin-bottom:4px;font-family:Bebas Neue,sans-serif;font-size:22px}.booking-info-meta{color:var(--text-primary);gap:16px;font-size:13px;display:flex}.btn-cancel{color:var(--text-secondary);border:1px solid var(--border-default);letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:4px;padding:10px 20px;font-family:Outfit,sans-serif;font-size:11px;font-weight:600;transition:all .2s}.btn-cancel:hover{border-color:var(--color-error);color:var(--color-error)}.booking-status{letter-spacing:1px;text-transform:uppercase;border-radius:3px;padding:4px 10px;font-size:10px;font-weight:700}.booking-status.attended{background:var(--color-success-bg);color:var(--color-success)}.booking-status.noshow{background:var(--color-error-bg);color:var(--color-error)}.booking-status.cancelled{color:var(--text-muted);background:#88888826}.booking-status.confirmed{background:color-mix(in srgb, var(--accent,#e8611a) 15%, transparent);color:var(--accent,#e8611a)}.booking-status.waitlisted{background:var(--color-purple-bg);color:var(--color-purple)}.waitlist-pos{color:var(--color-purple);background:var(--color-purple-bg);border:1px solid var(--color-purple-border);letter-spacing:.3px;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{border:1px solid var(--border-default);color:var(--text-faint);letter-spacing:.3px;cursor:default;white-space:nowrap;border-radius:4px;padding:8px 14px;font-size:12px;font-weight:600;display:inline-block}.btn-gcal-booking{border:1px solid var(--border-default);color:var(--text-muted);letter-spacing:.3px;white-space:nowrap;background:0 0;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{border-color:var(--color-success);color:var(--color-success);background:var(--color-success-bg)}@media (width<=768px){.booking-item{grid-template-columns:1fr;gap:12px}.booking-date{border-right:none;border-bottom:1px solid var(--border-subtle);align-items:baseline;gap:12px;padding-bottom:12px;padding-right:0;display:flex}}.qr-modal-overlay{background:var(--bg-overlay);z-index:999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.qr-modal-box{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:10px;width:320px;overflow:hidden}.qr-modal-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;padding:20px 20px 16px;display:flex}.qr-modal-class{letter-spacing:1px;color:var(--text-primary);font-family:Bebas Neue,sans-serif;font-size:20px}.qr-modal-meta{color:var(--text-muted);margin-top:2px;font-size:12px}.qr-modal-close{color:var(--text-faint);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:16px;line-height:1}.qr-modal-close:hover{color:var(--text-primary)}.qr-modal-body{background:#fff;justify-content:center;padding:28px 20px;display:flex}.qr-modal-footer{color:var(--text-muted);text-align:center;border-top:1px solid var(--border-subtle);padding:14px 20px;font-size:12px;line-height:1.5}.btn-qr{border:1px solid var(--border-default);color:var(--text-muted);letter-spacing:1px;cursor:pointer;background:0 0;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:var(--text-secondary);text-align:center;word-break:break-all;margin-top:12px;font-family:JetBrains Mono,monospace;font-size:13px}.cancel-modal-overlay{background:var(--bg-overlay);z-index:999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cancel-modal-box{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:10px;width:340px;padding:28px}.cancel-modal-title{letter-spacing:1px;color:var(--text-primary);margin:0 0 16px;font-family:Bebas Neue,sans-serif;font-size:22px}.cancel-modal-class{color:var(--text-primary);margin:0 0 4px;font-size:15px;font-weight:700}.cancel-modal-meta{color:var(--text-muted);margin:0 0 16px;font-size:12px}.cancel-modal-warn{color:var(--color-warning);background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:5px;margin:0 0 20px;padding:10px 14px;font-size:12px}.cancel-modal-actions{gap:10px;display:flex}.btn-cancel-keep{border:1px solid var(--border-default);color:var(--text-muted);letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;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{border-color:var(--border-strong);color:var(--text-secondary)}.btn-cancel-confirm{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error);letter-spacing:1px;text-transform:uppercase;cursor:pointer;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{border-color:var(--color-error);background:#ef444433}.late-cancel-warn{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error);border-radius:4px;padding:10px 14px;font-size:13px;line-height:1.5}.late-cancel-warn strong{color:var(--color-error)}.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{background:color-mix(in srgb, var(--accent,#e8611a) 12%, transparent);color:var(--accent,#e8611a);border-radius:4px;padding:1px 7px;font-size:12px;font-weight:600}.daypass-qr-inline{border-top:1px solid var(--border-subtle);flex-direction:column;align-items:flex-start;gap:8px;margin-top:12px;padding-top:12px;display:flex}.daypass-qr-code{color:var(--text-primary);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:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;padding:32px}.profile-card-header{border-bottom:1px solid var(--border-subtle);margin-bottom:24px;padding-bottom:20px}.profile-card h3{letter-spacing:1px;text-transform:uppercase;color:var(--text-primary);font-family:Bebas Neue,sans-serif;font-size:22px}.profile-data{flex-direction:column;gap:0;display:flex}.profile-row{border-bottom:1px solid var(--border-subtle);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:var(--text-muted);font-size:12px}.profile-row-value{color:var(--text-primary);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:var(--text-muted);font-size:12px}.strikes-bar{justify-content:center;gap:8px;margin:24px 0;display:flex}.strike-dot{background:var(--border-subtle);border-radius:3px;width:50px;height:6px}.strike-dot.active{background:var(--accent,#e8611a)}.strikes-info{color:var(--text-muted);font-size:12px;line-height:1.6}.strikes-info strong{color:var(--text-primary)}.btn-logout{width:100%;color:var(--color-error);border:1px solid var(--color-error-border);letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:4px;margin-top:24px;padding:14px;font-family:Outfit,sans-serif;font-size:12px;font-weight:600;transition:all .2s}.btn-logout:hover{background:var(--color-error-bg);border-color:var(--color-error)}.packages-section{grid-column:1/-1}.packages-list{flex-direction:column;gap:10px;display:flex}.package-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:6px;align-items:center;gap:16px;padding:14px 18px;transition:border-color .2s;display:flex}.package-card:hover{border-color:var(--border-default)}.pkg-info{flex:1}.pkg-name{color:var(--text-primary);margin-bottom:3px;font-size:14px;font-weight:600}.pkg-desc{color:var(--text-muted);margin-bottom:5px;font-size:12px}.pkg-meta{color:var(--text-muted);font-size:12px}.pkg-price{color:var(--color-success);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:var(--text-faint);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:var(--text-muted);font-size:11px}.profile-edit-input{background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-primary);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{border:1px solid var(--border-default);color:var(--text-muted);letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;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{border-color:var(--border-strong);color:var(--text-secondary)}.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{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border)}.profile-edit-msg.error{background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error-border)}@media (width<=768px){.profile-grid{grid-template-columns:1fr}.packages-section{grid-column:auto}}.strike-near-limit-warn{background:var(--color-error-bg);border:1px solid var(--color-error-border);color:var(--color-error);letter-spacing:.5px;border-radius:4px;margin:16px 0 8px;padding:10px 14px;font-size:12px;font-weight:600}.penalty-row{border-bottom:1px solid var(--border-subtle);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:var(--text-primary);margin-bottom:2px;font-size:13px;font-weight:600}.penalty-row-meta{color:var(--text-muted);gap:8px;font-size:11px;display:flex}.penalty-row-forgiven{color:var(--color-success);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{background:var(--color-error-bg);color:var(--color-error)}.penalty-badge-small.ok{background:var(--color-success-bg);color:var(--color-success)}.profile-val-muted{color:var(--text-muted)}.profile-val-success{color:var(--color-success)}.profile-val-error{color:var(--color-error)}.instructor-subtitle{color:var(--text-muted);margin-bottom:24px;font-size:14px}.date-picker{align-items:center;display:flex}.date-input{background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-primary);cursor:pointer;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:var(--calendar-icon-filter,invert(1))}[data-theme=light] .date-input::-webkit-calendar-picker-indicator{filter:none}.instructor-classes{flex-direction:column;gap:12px;display:flex}.instructor-class-card{background:var(--bg-surface);border:1px solid var(--border-subtle);cursor:pointer;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:var(--text-muted);margin-top:4px;font-size:10px}.icc-name{letter-spacing:1px;text-transform:uppercase;color:var(--text-primary);font-family:Bebas Neue,sans-serif;font-size:24px}.icc-instructor{color:var(--text-muted);font-size:13px}.icc-right{text-align:center}.icc-count{color:var(--text-primary);font-family:Bebas Neue,sans-serif;font-size:28px}.icc-count span{color:var(--text-muted);font-size:18px}.icc-arrow{color:var(--text-faint);font-family:Bebas Neue,sans-serif;font-size:24px}.btn-back{color:var(--text-muted);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{background:var(--bg-surface);border:1px solid var(--border-subtle);border-left:3px solid var(--accent,#e8611a);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:var(--text-primary);margin-bottom:6px;font-family:Bebas Neue,sans-serif;font-size:32px}.session-meta{color:var(--text-muted);gap:16px;font-size:13px;display:flex}.session-stats{gap:24px;display:flex}.session-stat{text-align:center}.session-stat-num{color:var(--text-primary);font-family:Bebas Neue,sans-serif;font-size:36px;line-height:1}.session-stat-num.green{color:var(--color-success)}.session-stat-num.orange{color:var(--accent,#e8611a)}.session-stat-label{letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);margin-top:4px;font-size:10px}.attendance-actions{gap:12px;margin-bottom:20px;display:flex}.btn-walkin{background:var(--bg-surface);border:1px solid var(--accent,#e8611a);color:var(--accent,#e8611a);letter-spacing:1px;text-transform:uppercase;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{border:1px solid var(--color-error);color:var(--color-error);letter-spacing:1px;text-transform:uppercase;background:0 0;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:var(--color-error-bg)}.walkin-form{background:var(--bg-surface);border:1px solid var(--accent,#e8611a);border-radius:6px;gap:12px;margin-bottom:20px;padding:20px;display:flex}.walkin-input{background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-primary);border-radius:4px;flex:1;padding:12px 16px;font-size:14px}.walkin-input::placeholder{color:var(--text-muted)}.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:var(--bg-surface);border:1px solid var(--border-subtle);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:var(--border-strong)}.attendance-item.attended{border-left:3px solid var(--color-success)}.attendance-item.no_show{border-left:3px solid var(--color-error);opacity:.6}.ai-status-icon{text-align:center;font-size:20px}.ai-name{color:var(--text-primary);font-size:14px;font-weight:600}.ai-email{color:var(--text-muted);font-size:12px}.ai-card-code{color:var(--text-muted);letter-spacing:1px;font-family:JetBrains Mono,monospace;font-size:11px}.ai-action{align-items:center;gap:8px;display:flex}.btn-checkin{background:var(--color-success);color:var(--bg-elevated);letter-spacing:1.5px;text-transform:uppercase;border-radius:4px;padding:10px 20px;font-family:Outfit,sans-serif;font-size:11px;font-weight:700;transition:all .2s}.btn-checkin:hover{opacity:.85;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{background:var(--color-success-bg);color:var(--color-success)}.attendance-badge.no_show{background:var(--color-error-bg);color:var(--color-error)}.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{background:var(--bg-surface);border:1px solid var(--accent,#e8611a);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:var(--color-success)}.camera-container.scan-border-error{border-color:var(--color-error)}.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:var(--color-success);box-shadow:0 0 14px #4ade808c}.scan-frame.scan-frame-error{border-color:var(--color-error);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;border:1px solid var(--border-strong);background:#000000b3;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;border:1px solid var(--border-strong);cursor:pointer;background:#000000b3;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:var(--color-success);font-size:32px;font-weight:700;line-height:1}.scan-result-icon-error{color:var(--color-error)}.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{background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;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:var(--text-secondary);text-align:center;min-width:70px;font-size:14px;font-weight:500}.ai-status-dot{background:var(--border-strong);border-radius:50%;flex-shrink:0;width:10px;height:10px}.ai-status-dot.waitlisted{background:var(--text-muted)}.ai-seat{background:color-mix(in srgb, var(--accent,#e8611a) 15%, transparent);border:1px solid color-mix(in srgb, var(--accent,#e8611a) 30%, transparent);color:var(--accent,#e8611a);letter-spacing:.5px;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:700}.btn-noshow{border:1px solid var(--color-error);color:var(--color-error);letter-spacing:1px;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:4px;padding:8px 14px;font-family:Outfit,sans-serif;font-size:10px;font-weight:700;transition:background .15s}.btn-noshow:hover{background:var(--color-error-bg)}.btn-noshow:disabled{opacity:.5;cursor:not-allowed}.waitlist-section{margin-top:24px}.waitlist-title{letter-spacing:2px;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border-subtle);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:var(--bg-elevated);border:1px solid var(--border-default);border-radius:10px;padding:16px;position:sticky;top:72px}.recent-checkins-title{letter-spacing:2px;text-transform:uppercase;color:var(--text-faint);margin-bottom:12px;font-size:11px;font-weight:700}.recent-checkin-item{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:8px 0;font-size:13px;display:flex}.rc-name{color:var(--text-secondary);font-weight:500}.rc-time{color:var(--text-faint);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;background:var(--bg-elevated);border-bottom:1px solid var(--border-default);color:var(--text-secondary);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{background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-muted);cursor:pointer;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:var(--text-faint)}.hist-list{flex-direction:column;gap:8px;display:flex}.hist-item{background:var(--bg-surface);border:1px solid var(--border-subtle);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:var(--bg-elevated)}.hist-item-left{flex:1}.hist-class-name{color:var(--text-primary);font-size:15px;font-weight:600}.hist-meta{color:var(--text-muted);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{background:var(--color-success-bg);color:var(--color-success)}.hist-badge.noshow{background:var(--color-error-bg);color:var(--color-error)}.hist-expand{color:var(--text-faint);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:var(--color-success-bg)}.attendance-item.no_show{background:var(--color-error-bg);opacity:1}}.admin-layout{min-height:85vh;display:flex}.admin-sidebar{background:var(--bg-base);border-right:1px solid var(--border-subtle);scrollbar-width:thin;scrollbar-color:var(--border-default) transparent;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:var(--border-default);border-radius:2px}.admin-sidebar-header{border-bottom:1px solid var(--border-subtle);padding:24px 20px 20px}.admin-sidebar-title{letter-spacing:2px;color:var(--text-primary);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:var(--color-info);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:var(--bg-surface)}.admin-nav-item.active{background:color-mix(in srgb, var(--accent,#e8611a) 10%, transparent);border-left-color:var(--accent,#e8611a)}.admin-nav-label{color:var(--text-secondary);font-size:14px;font-weight:500;line-height:1.2}.admin-nav-item:hover .admin-nav-label{color:var(--text-primary)}.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{background:var(--bg-overlay);z-index:299;display:block;position:fixed;inset:0}.admin-topbar{background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle);z-index:10;align-items:center;gap:12px;padding:13px 20px;display:flex;position:sticky;top:0}.admin-hamburger{width:36px;height:36px;color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border-default);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;display:flex}.admin-topbar-title{color:var(--text-primary);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:var(--text-faint);margin-top:2px;font-size:12px;font-weight:400}.admin-section-header h2{letter-spacing:1px;text-transform:uppercase;color:var(--text-primary);font-family:Bebas Neue,sans-serif;font-size:28px}.admin-header-actions{gap:8px;display:flex}.btn-admin-action{background:var(--accent,#e8611a);color:var(--accent-text,#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-primary{background:var(--accent,#e8611a);color:var(--accent-text,#fff);border:1px solid var(--accent,#e8611a);letter-spacing:1px;text-transform:uppercase;cursor:pointer;border-radius:4px;padding:10px 20px;font-family:Outfit,sans-serif;font-size:12px;font-weight:700;transition:all .2s}.btn-admin-primary:hover{opacity:.85}.btn-admin-primary:disabled{opacity:.5;cursor:not-allowed}.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{background:var(--bg-surface);border:1px solid var(--accent,#e8611a);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:var(--text-primary);margin-bottom:8px;font-size:11px;font-weight:600;display:block}.admin-form .form-group input,.admin-form .form-group select{background:var(--bg-base);border:1px solid var(--border-default);width:100%;color:var(--text-primary);border-radius:4px;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:var(--accent-text,#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:var(--text-primary);transform:scale(1.1)}.color-preview{border-radius:4px;width:20px;height:20px}.admin-empty{text-align:center;color:var(--text-muted);padding:60px 20px;font-size:14px}.admin-table{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}.admin-table-header{background:var(--bg-elevated);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-secondary);grid-template-columns:1fr 1fr 100px 60px;padding:12px 20px;font-size:10px;font-weight:600;display:grid}.admin-table-row{border-top:1px solid var(--border-subtle);color:var(--text-secondary);grid-template-columns:1fr 1fr 100px 60px;align-items:center;padding:14px 20px;font-size:13px;display:grid}.admin-table-name{color:var(--text-primary);font-weight:600}.admin-table-badge{color:var(--text-secondary);text-transform:capitalize;font-size:11px}.schedule-week{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.schedule-day{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:6px;overflow:hidden}.schedule-day-name{background:var(--bg-elevated);letter-spacing:1px;color:var(--accent,#e8611a);text-transform:uppercase;padding:12px 16px;font-family:Bebas Neue,sans-serif;font-size:16px}.schedule-day-empty{text-align:center;color:var(--text-faint);padding:20px 16px;font-size:12px}.schedule-slot{border-top:1px solid var(--border-subtle);border-left:3px solid var(--accent,#e8611a);padding:12px 16px;transition:opacity .2s}.schedule-slot.slot-expired{opacity:.5}.slot-time{color:var(--text-primary);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:var(--text-faint);text-transform:uppercase;font-family:Outfit,sans-serif;font-size:10px;font-weight:600}.slot-name{color:var(--text-secondary);margin-top:2px;font-size:13px;font-weight:600}.slot-meta{color:var(--text-secondary);margin-top:4px;font-size:11px}.slot-recurrence{color:var(--color-success);letter-spacing:.3px;margin-top:4px;font-size:10px}.slot-recurrence.expired{color:var(--color-error)}.form-hint{color:var(--text-faint);margin-top:5px;font-size:11px;line-height:1.4}.form-optional{color:var(--text-faint);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{background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-muted);letter-spacing:1px;text-transform:uppercase;cursor:pointer;text-align:center;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{border-color:var(--border-strong);color:var(--text-secondary)}.day-check-btn.active{background:var(--accent,#e8611a);border-color:var(--accent,#e8611a);color:var(--accent-text,#fff)}.users-list{flex-direction:column;gap:10px;display:flex}.user-card{background:var(--bg-surface);border:1px solid var(--border-subtle);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:var(--border-strong)}.uc-main{align-items:center;gap:14px;min-width:200px;display:flex}.uc-avatar{width:40px;height:40px;color:var(--accent-text,#fff);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Bebas Neue,sans-serif;font-size:16px;display:flex}.uc-name{color:var(--text-primary);font-size:14px;font-weight:600}.uc-email{color:var(--text-muted);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:var(--text-faint);font-size:10px}.uc-value{color:var(--text-secondary);font-size:13px}.uc-value.clickable{cursor:pointer;border-bottom:1px dashed var(--border-strong)}.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{background:var(--bg-base);border:1px solid var(--border-default);color:var(--text-primary);border-radius:3px;padding:6px 10px;font-family:Outfit,sans-serif;font-size:12px}.btn-mini{background:var(--accent,#e8611a);width:28px;height:28px;color:var(--accent-text,#fff);border-radius:3px;justify-content:center;align-items:center;font-size:14px;display:flex}.btn-mini.cancel{background:var(--border-strong)}.penalties-list{flex-direction:column;gap:10px;display:flex}.penalty-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-left:3px solid var(--color-error);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:var(--bg-elevated)}.pc-name{color:var(--text-primary);font-size:14px;font-weight:600}.pc-email{color:var(--text-muted);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:var(--text-muted);font-size:10px}.pc-status{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pc-chevron{color:var(--text-faint);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{background:var(--color-error-bg);color:var(--color-error)}.penalty-badge.warning,.penalty-badge.unverified{background:var(--color-warning-bg);color:var(--color-warning)}.pc-penalties-detail{border-top:1px solid var(--border-subtle);background:var(--bg-elevated);flex-direction:column;gap:8px;padding:12px 20px;display:flex}.pc-no-penalties{color:var(--text-faint);padding:4px 0;font-size:12px}.pc-penalty-row{background:var(--bg-surface);border:1px solid var(--border-default);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:var(--text-muted);white-space:nowrap;font-size:11px}.pp-class{color:var(--text-secondary);font-size:12px;font-weight:600}.pp-forgiven-label{color:var(--color-success);font-size:11px;font-style:italic}.btn-sm-action{background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text-secondary);letter-spacing:.5px;cursor:pointer;white-space:nowrap;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{border-color:var(--color-error);color:var(--color-error)}.config-section-tabs{gap:8px;margin-bottom:24px;display:flex}.config-section-tab{border:1px solid var(--border-default);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:20px;padding:7px 20px;font-size:13px;font-weight:500;transition:all .15s}.config-section-tab:hover{border-color:var(--border-strong);color:var(--text-secondary)}.config-section-tab.active{background:var(--color-purple);border-color:var(--color-purple);color:var(--accent-text,#fff)}.config-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.config-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;padding:24px}.config-label{color:var(--text-primary);letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;font-family:Bebas Neue,sans-serif;font-size:18px}.config-desc{color:var(--text-muted);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:var(--bg-surface);border:1px solid var(--border-subtle);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:var(--border-strong)}.ic-avatar{background:var(--accent,#e8611a);width:48px;height:48px;color:var(--accent-text,#fff);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;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:var(--text-primary);font-size:14px;font-weight:600}.ic-email{color:var(--text-muted);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:var(--text-faint);border:1px solid var(--border-default);border-radius:3px;padding:3px 8px;font-size:10px}.ic-access.active{color:var(--color-success);border-color:var(--color-success-border);background:var(--color-success-bg)}.class-type-chips{flex-wrap:wrap;gap:8px;display:flex}.checkbox-label{cursor:pointer;align-items:center;gap:8px;color:var(--text-secondary)!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:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;transition:border-color .2s;overflow:hidden}.client-card:hover{border-color:var(--border-default)}.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:var(--text-muted);white-space:nowrap;font-size:12px}.cc-stat span{color:var(--text-primary);font-weight:600}.cc-toggle{background:var(--border-default);width:22px;height:22px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;display:flex}.cc-detail{border-top:1px solid var(--border-subtle);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;border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;background:0 0;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:var(--text-secondary);border-color:var(--border-strong)}.cc-subtab.active{background:var(--bg-elevated);border-color:var(--border-strong);color:var(--text-primary)}.cc-history{padding-top:16px;overflow-x:auto}.cc-hist-empty{color:var(--text-faint);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:var(--text-secondary);border-bottom:1px solid var(--border-subtle);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 var(--bg-elevated);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:var(--bg-base)}.cc-hist-row.no_show{opacity:.75}.cc-hist-row.cancelled{opacity:.45}.cc-hist-date{color:var(--text-muted);white-space:nowrap;font-size:11px}.cc-hist-class{color:var(--text-secondary);font-size:12px;font-weight:600}.cc-hist-instr{color:var(--text-muted);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{background:var(--color-success-bg);color:var(--color-success)}.cc-hist-badge.noshow{background:var(--color-error-bg);color:var(--color-error)}.cc-hist-badge.pending{background:color-mix(in srgb, var(--text-primary) 5%, transparent);color:var(--text-muted)}.cc-hist-badge.cancelled{color:var(--text-faint);background:0 0;text-decoration:line-through}.cc-hist-badge.strike{background:var(--color-warning-bg);color:var(--color-warning)}.cc-hist-badge.forgiven{background:color-mix(in srgb, var(--text-primary) 5%, transparent);color:var(--text-faint)}.cc-notes{padding-top:16px}.cc-notes-title{letter-spacing:1.5px;text-transform:uppercase;color:var(--text-faint);margin-bottom:12px;font-size:11px;font-weight:600}.cc-note{background:var(--bg-elevated);border-radius:4px;margin-bottom:8px;padding:10px 14px}.cc-note-text{color:var(--text-secondary);margin-bottom:4px;font-size:13px}.cc-note-meta{color:var(--text-faint);font-size:11px}.cc-add-note{gap:8px;margin-top:12px;display:flex}.cc-add-note input{background:var(--bg-base);border:1px solid var(--border-default);color:var(--text-primary);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:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;align-items:center;gap:16px;padding:16px 20px;display:flex}.pac-info{flex:1}.pac-name{color:var(--text-primary);margin-bottom:4px;font-size:14px;font-weight:600}.pac-desc{color:var(--text-muted);margin-bottom:8px;font-size:12px}.pac-meta{color:var(--text-muted);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{background:var(--bg-base);border:1px solid var(--border-default);width:100%;color:var(--text-primary);resize:vertical;border-radius:4px;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:var(--text-faint)}.admin-row-actions{align-items:center;gap:6px;display:flex}.btn-admin-danger{color:var(--color-error);border:1px solid var(--color-error-border);letter-spacing:.5px;text-transform:uppercase;cursor:pointer;background:0 0;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:var(--color-error-bg);border-color:var(--color-error)}.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{border:1px solid var(--border-strong);color:var(--text-muted);background:0 0}.btn-slot-edit:hover{border-color:var(--accent,#e8611a);color:var(--accent,#e8611a)}.btn-slot-delete{border:1px solid var(--color-error-border);color:var(--color-error);background:0 0}.btn-slot-delete:hover{background:var(--color-error-bg);border-color:var(--color-error)}.seat-editor-wrapper{background:var(--bg-base);border:1px solid var(--border-default);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{border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text-muted);cursor:pointer;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:var(--text-faint);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{background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-faint)}.seat-cell--empty .seat-toggle:hover{border-color:var(--border-strong);color:var(--text-muted)}.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{background:var(--color-purple-bg);border:1px solid var(--color-purple-border);color:var(--color-purple);font-size:14px}.seat-cell--instructor .seat-toggle:hover{background:color-mix(in srgb, var(--color-purple) 25%, transparent)}.seat-label-display{color:var(--text-muted);text-align:center;min-height:14px;font-family:Outfit,sans-serif;font-size:10px}.seat-label-input{text-align:center;border:none;border-bottom:1px solid var(--border-strong);width:36px;color:var(--text-secondary);background:0 0;outline:none;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:var(--text-primary)}.seat-editor-hint{color:var(--text-faint);margin-top:4px;font-size:11px}.fb-admin-list{flex-direction:column;gap:10px;display:flex}.fb-admin-card{background:var(--bg-elevated);border:1px solid var(--border-default);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:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;font-size:12px;display:flex}.fb-admin-class{color:var(--text-primary);font-weight:600}.fb-admin-sep{color:var(--text-faint)}.fb-admin-comment{color:var(--text-muted);border-top:1px solid var(--border-default);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:var(--color-success)}.ai-status-dot.no_show{background:var(--color-error)}.ai-status-dot.confirmed{background:var(--color-warning)}.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:var(--border-strong);border-radius:13px;flex-shrink:0;width:46px;height:26px;transition:background .2s;position:relative}.toggle-slider:after{content:"";background:var(--text-muted);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:color-mix(in srgb, var(--accent,#e8611a) 20%, transparent)}.toggle-switch input:checked+.toggle-slider:after{background:var(--accent,#e8611a);left:23px}.toggle-label{color:var(--text-secondary);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:var(--bg-elevated);border:1px solid var(--border-default);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:var(--text-primary);font-size:13px}.audit-who{color:var(--text-muted);font-size:12px}.audit-time{color:var(--text-faint);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:var(--bg-surface);border:1px solid var(--border-default);border-radius:8px;flex-direction:column;gap:16px;padding:24px;display:flex}.branding-card-title{letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.branding-color-row{align-items:center;gap:12px;display:flex}.branding-color-input{background:var(--bg-elevated);cursor:pointer;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:3px solid var(--text-primary);outline-offset:2px}.branding-preview-bar{border-radius:3px;height:6px;transition:background .2s}.branding-name-preview{letter-spacing:2px;color:var(--text-primary);font-family:Bebas Neue,sans-serif;font-size:28px}.branding-logo-section{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.branding-logo-preview{object-fit:contain;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:8px;width:72px;height:72px}.branding-bg-preview{object-fit:cover;border:1px solid var(--border-strong);border-radius:6px;width:100%;max-height:140px}.branding-upload-btn{background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text-secondary);cursor:pointer;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:var(--text-primary)}.branding-upload-hint{color:var(--text-faint);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:var(--bg-elevated);border:1px solid var(--border-default);border-radius:6px;align-items:center;gap:12px;padding:12px 16px;display:flex}.sys-health-item.ok{border-color:var(--color-success-border)}.sys-health-item.fail{border-color:var(--color-error-border)}.sys-health-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.sys-health-item.ok .sys-health-dot{background:var(--color-success)}.sys-health-item.fail .sys-health-dot{background:var(--color-error)}.sys-health-label{color:var(--text-primary);font-size:13px;font-weight:600}.sys-health-info{color:var(--text-muted);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:var(--color-success)}.sys-health-item.fail .sys-health-status{color:var(--color-error)}.admin-search{background:var(--bg-elevated);border:1px solid var(--border-default);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:6px;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:var(--text-faint)}.dash-stats{flex-wrap:wrap;gap:12px;margin-bottom:32px;display:flex}.dash-stat-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);text-align:center;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:var(--text-secondary);margin-top:6px;font-size:11px}.dash-section-title{letter-spacing:2px;text-transform:uppercase;color:var(--text-secondary);margin:0 0 14px;font-size:11px;font-weight:600}.dash-sessions{flex-direction:column;gap:8px;display:flex}.dash-session-row{background:var(--bg-elevated);border:1px solid var(--border-subtle);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:var(--text-primary);min-width:52px;font-family:Bebas Neue,sans-serif;font-size:20px}.dash-session-bar{border-left:3px solid var(--border-strong);flex:1;padding-left:12px}.dash-session-name{color:var(--text-primary);font-size:14px;font-weight:600}.dash-session-meta{color:var(--text-secondary);margin-top:2px;font-size:11px}.dash-session-fill{min-width:140px}.dash-fill-track{background:var(--border-default);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:var(--text-secondary);font-size:11px}.dash-waitlist{color:var(--color-warning);margin-left:6px}.dash-upcoming{flex-direction:column;gap:4px;display:flex}.dash-upcoming-row{background:var(--bg-elevated);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:var(--text-secondary)}.dash-upcoming-time{color:var(--text-secondary);font-family:Bebas Neue,sans-serif;font-size:16px}.dash-upcoming-name{color:var(--text-primary);border-left:2px solid var(--border-strong);padding-left:8px}.dash-upcoming-fill{text-align:right;font-weight:600}.report-bar-chart{border-bottom:1px solid var(--border-subtle);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:var(--border-strong)}.rbc-bar.attended{background:var(--accent,#e8611a)}.rbc-label{color:var(--text-secondary);font-size:10px}.rbc-legend{color:var(--text-secondary);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:var(--border-strong)}.rbc-dot.attended{background:var(--accent,#e8611a)}.report-table{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}.report-table-head{letter-spacing:1px;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);grid-template-columns:2fr 1fr 1fr 1fr 1fr;padding:10px 16px;font-size:10px;display:grid}.report-table-row{color:var(--text-secondary);border-bottom:1px solid var(--bg-elevated);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:var(--text-primary);align-items:center;gap:8px;display:flex}.report-color-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.report-inline-bar{background:var(--border-subtle);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:var(--text-secondary);min-width:38px}.phc-track{background:var(--border-subtle);border-radius:4px;flex:1;height:8px;overflow:hidden}.phc-bar{background:var(--accent,#e8611a);border-radius:4px;height:100%}.phc-val{color:var(--text-secondary);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:var(--text-secondary);border:1px solid var(--border-default);letter-spacing:.5px;cursor:pointer;background:0 0;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:var(--text-muted);font-size:12px}.dash-session-row{position:relative}.dash-cancel-btn{width:28px;height:28px;color:var(--text-faint);border:1px solid var(--border-default);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;transition:all .2s;display:flex}.dash-cancel-btn:hover:not(:disabled){background:var(--color-error-bg);border-color:var(--color-error);color:var(--color-error)}.dash-cancel-btn:disabled{opacity:.4;cursor:default}.admin-subsection-title{letter-spacing:1.5px;text-transform:uppercase;color:var(--color-purple);margin:0 0 12px;font-size:11px;font-weight:700}.admin-form-card{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:8px;padding:20px 24px}.admin-form-title{letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);margin-bottom:16px;font-size:11px;font-weight:600}.citas-admin-table{flex-direction:column;gap:6px;display:flex}.cita-admin-row{border:1px solid var(--border-subtle);background:var(--bg-surface);border-radius:6px;flex-wrap:wrap;align-items:center;gap:16px;padding:12px 16px;display:flex}.cita-admin-row.booked{border-color:color-mix(in srgb, var(--color-purple) 20%, var(--border-default));background:color-mix(in srgb, var(--color-purple) 5%, var(--bg-surface))}.car-date{color:var(--text-secondary);min-width:90px;font-size:13px}.car-time{color:var(--color-purple);min-width:50px;font-family:Bebas Neue,sans-serif;font-size:18px}.car-nutri{color:var(--text-muted);min-width:120px;font-size:12px}.car-cliente{color:var(--text-secondary);flex:1;align-items:center;gap:8px;font-size:13px;display:flex}.car-email{color:var(--text-muted);font-size:11px}.car-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.car-dot.booked{background:var(--color-purple)}.car-dot.libre{background:var(--border-strong)}.car-actions{margin-left:auto}.seat-door-selector{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.seat-door-label{color:var(--text-muted);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:var(--text-muted);border:1px dashed var(--border-strong);white-space:nowrap;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{background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;border-radius:8px;padding:7px 14px;font-family:Outfit,sans-serif;font-size:13px;transition:background .15s,color .15s}.asis-nav-btn:hover{background:var(--bg-surface);color:var(--text-primary)}.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:var(--accent-text,#fff);border-color:var(--accent,#e8611a);cursor:default}.asis-nav-today.active:hover{background:var(--accent,#e8611a)}.asis-week-label{color:var(--text-muted);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:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:10px;min-height:120px;overflow:hidden}.asis-day-col.asis-today{border-color:var(--accent,#e8611a)}.asis-day-header{background:var(--bg-base);border-bottom:1px solid var(--border-subtle);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:var(--text-faint);font-size:10px;font-weight:700}.asis-today .asis-day-name{color:var(--accent,#e8611a)}.asis-day-num{color:var(--text-secondary);font-size:18px;font-weight:700;line-height:1}.asis-day-num-today{color:var(--text-inverse);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:var(--border-strong);padding:16px 0;font-size:13px}.asis-session-card{background:var(--bg-surface);border:1px solid var(--border-default);border-left:3px solid var(--border-strong);cursor:pointer;text-align:left;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:var(--bg-elevated);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:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:12px;font-weight:600;overflow:hidden}.asis-card-time{color:var(--text-secondary);margin-bottom:2px;font-size:11px}.asis-card-instructor{color:var(--text-secondary);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:var(--text-secondary);padding:60px 0;font-size:14px}.asis-modal-overlay{background:var(--bg-overlay);z-index:500;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.asis-modal{background:var(--bg-elevated);border:1px solid var(--border-default);scrollbar-width:thin;scrollbar-color:var(--border-default) transparent;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:var(--border-default);border-radius:2px}.asis-modal-close{background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;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{background:var(--border-default);color:var(--text-primary)}.asis-modal-loading{text-align:center;color:var(--text-faint);padding:40px 0;font-size:14px}.asis-modal-header{border-bottom:1px solid var(--border-subtle);border-left:4px solid var(--border-strong);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:var(--text-primary);margin-bottom:4px;font-size:18px;font-weight:700}.asis-modal-meta{color:var(--text-secondary);text-transform:capitalize;font-size:13px}.asis-modal-instructor{color:var(--text-secondary);margin-top:4px;font-size:12px}.asis-modal-stats{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:10px;gap:0;margin-bottom:20px;display:flex;overflow:hidden}.asis-stat{border-right:1px solid var(--border-subtle);flex-direction:column;flex:1;align-items:center;padding:12px 8px;display:flex}.asis-stat:last-child{border-right:none}.asis-stat-num{color:var(--text-primary);font-size:22px;font-weight:700;line-height:1}.asis-stat-label{color:var(--text-secondary);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:var(--text-secondary);padding:32px 0;font-size:14px}.asis-attendee-row{background:var(--bg-surface);border:1px solid var(--border-subtle);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:var(--text-primary);font-size:14px;font-weight:600}.asis-attendee-email{color:var(--text-muted);font-size:12px}.asis-attendee-card{color:var(--text-muted);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{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning-border)}.asis-status-attended{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border)}.asis-status-no_show{background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error-border)}.asis-card-wrapper{position:relative}.asis-card-delete-btn{background:var(--color-error-bg);width:18px;height:18px;color:var(--color-error);cursor:pointer;opacity:0;border:none;border-radius:50%;justify-content:center;align-items:center;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:color-mix(in srgb, var(--color-error) 35%, transparent)}.asis-delete-zone{border-top:1px solid var(--border-subtle);margin-top:24px;padding-top:18px}.asis-delete-trigger{border:1px solid color-mix(in srgb, var(--color-error) 30%, transparent);color:var(--color-error);cursor:pointer;background:0 0;border-radius:6px;width:100%;padding:7px 16px;font-size:12px;font-weight:600;transition:background .15s}.asis-delete-trigger:hover{background:var(--color-error-bg)}.asis-delete-confirm{background:color-mix(in srgb, var(--color-error) 6%, transparent);border:1px solid var(--color-error-border);border-radius:8px;padding:16px}.asis-delete-warning{color:var(--text-primary);margin:0 0 6px;font-size:14px;font-weight:600}.asis-delete-subtext{color:var(--text-muted);margin:0 0 14px;font-size:12px;line-height:1.5}.asis-delete-actions{gap:8px;display:flex}.asis-btn-danger{background:var(--color-error);color:var(--accent-text,#fff);cursor:pointer;border:none;border-radius:6px;flex:1;padding:9px 16px;font-size:13px;font-weight:700;transition:opacity .15s}.asis-btn-danger:hover:not(:disabled){opacity:.85}.asis-btn-danger:disabled{opacity:.6;cursor:not-allowed}.asis-btn-secondary{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-default);cursor:pointer;border-radius:6px;padding:9px 16px;font-size:13px;font-weight:600;transition:background .15s}.asis-btn-secondary:hover:not(:disabled){background:var(--border-default);color:var(--text-primary)}.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{border:1px solid var(--border-default);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;padding:6px 16px;font-size:12px;transition:background .15s,color .15s,border-color .15s}.report-subtab-btn:hover{background:var(--bg-elevated);color:var(--text-secondary)}.report-subtab-btn.active{background:var(--bg-elevated);border-color:var(--border-strong);color:var(--text-primary)}.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:var(--text-secondary);border-bottom:1px solid var(--bg-elevated);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:var(--text-secondary);border-bottom:1px solid var(--border-subtle);font-size:10px}.fin-table-row:last-child{border-bottom:none}.fin-table-row:hover{background:var(--bg-elevated);cursor:pointer}.fin-expand-row{background:var(--bg-base);border-bottom:1px solid var(--border-subtle);padding:8px 16px 12px 32px}.fin-attendee-list{flex-direction:column;gap:4px;display:flex}.fin-attendee{color:var(--text-secondary);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{background:var(--color-success-bg);color:var(--color-success)}.fin-status-badge.no_show{background:var(--color-error-bg);color:var(--color-error)}.fin-status-badge.confirmed{background:color-mix(in srgb, var(--text-secondary) 15%, transparent);color:var(--text-muted)}.fin-nutri-head,.fin-nutri-row{color:var(--text-secondary);border-bottom:1px solid var(--bg-elevated);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:var(--text-secondary);border-bottom:1px solid var(--border-subtle);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;border:1px solid var(--border-default);color:var(--text-faint);cursor:pointer;background:0 0;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:var(--text-secondary);border-color:var(--border-strong)}.top-subtab.active{background:var(--bg-elevated);border-color:var(--border-strong);color:var(--text-primary)}.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:var(--bg-elevated);border:1px solid var(--border-default);border-radius:12px;padding:24px 20px 20px}.top-card-title{letter-spacing:1px;color:var(--text-primary);margin-bottom:2px;font-family:Bebas Neue,sans-serif;font-size:18px}.top-card-subtitle{color:var(--text-faint);margin-bottom:20px;font-size:11px}.top-card-empty{color:var(--text-faint);padding:16px 0;font-size:13px}.top-podium{flex-direction:column;gap:0;display:flex}.top-entry{border-bottom:1px solid var(--border-subtle);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:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.top-entry-1 .top-entry-name{color:var(--text-primary);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:var(--bg-base);border:1px solid var(--border-subtle);border-radius:10px;flex-direction:column;align-items:center;padding:20px 16px 16px;display:flex}.top-socios-rank-1{border-color:color-mix(in srgb, var(--color-warning) 25%, transparent);background:color-mix(in srgb, var(--color-warning) 5%, var(--bg-base))}.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:var(--text-secondary);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:var(--text-primary);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:var(--text-faint);margin-bottom:4px;font-size:10px;font-weight:700}.top-socios-sessions{color:var(--border-strong);margin-bottom:16px;font-size:11px}.top-socios-bar-track{background:var(--border-subtle);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:var(--bg-surface);border:1px solid var(--border-subtle);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:var(--text-primary);font-family:Bebas Neue,sans-serif;font-size:22px}.sales-step-title .optional{color:var(--text-muted);text-transform:none;letter-spacing:0;font-family:Outfit,sans-serif;font-size:12px}.sales-empty{text-align:center;color:var(--text-muted);padding:20px;font-size:13px}.sales-classes{flex-direction:column;gap:8px;display:flex}.sales-class-card{background:var(--bg-elevated);border:1px solid var(--border-default);cursor:pointer;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:var(--text-muted);text-transform:uppercase;white-space:nowrap;font-family:Outfit,sans-serif;font-size:10px;font-weight:600}.scc-name{color:var(--text-primary);font-size:14px;font-weight:600}.scc-meta{color:var(--text-muted);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}.scc-full-label{color:var(--color-error);font-size:12px;font-weight:600}.scc-full-badge{letter-spacing:1px;background:var(--color-error-bg);color:var(--color-error);border-radius:4px;margin-left:auto;padding:3px 8px;font-size:10px;font-weight:700}.daypass-grid{flex-wrap:wrap;gap:12px;display:flex}.daypass-btn{background:var(--bg-elevated);border:2px solid var(--border-default);cursor:pointer;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:var(--text-primary);font-family:Bebas Neue,sans-serif;font-size:32px;line-height:1}.dp-label{color:var(--text-muted);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:var(--text-muted);margin-bottom:8px;font-size:11px;font-weight:600;display:block}.visitor-form .form-group input{background:var(--bg-elevated);border:1px solid var(--border-default);width:100%;color:var(--text-primary);border-radius:4px;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:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.sales-summary{color:var(--text-muted);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{background:var(--border-default);color:var(--text-muted);cursor:not-allowed}.sales-qr-panel{background:var(--bg-surface);border:1px solid var(--accent,#e8611a);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:var(--text-muted);font-size:11px}.sales-qr-token{color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-default);letter-spacing:1px;word-break:break-all;text-align:center;border-radius:4px;padding:10px 16px;font-family:Courier New,monospace;font-size:15px}.sales-qr-close{background:var(--border-default);color:var(--text-secondary);cursor:pointer;border:none;border-radius:4px;padding:6px 18px;font-size:12px}.sales-qr-close:hover{background:var(--border-strong);color:var(--text-primary)}.sales-qr-hint{color:var(--text-muted);text-align:center;font-size:11px}.daypass-history{background:var(--bg-surface);border:1px solid var(--border-subtle);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:var(--text-primary);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:var(--bg-elevated);border:1px solid var(--border-default);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:var(--text-primary);font-size:14px;font-weight:600}.dp-history-class{color:var(--text-muted);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{background:var(--color-success-bg);color:var(--color-success)}.dp-status-chip.attended{background:var(--color-info-bg);color:var(--color-info)}.dp-status-chip.cancelled{background:var(--color-error-bg);color:var(--color-error)}.dp-history-code{color:var(--text-muted);font-family:Courier New,monospace;font-size:12px}.dp-history-qr-btn{background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;white-space:nowrap;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:var(--text-primary)}.dp-history-qr{border-top:1px solid var(--border-subtle);flex-direction:column;align-items:center;gap:10px;width:100%;margin-top:4px;padding-top:14px;display:flex}.sales-panel-tabs{border-bottom:1px solid var(--border-subtle);gap:4px;margin-bottom:24px;display:flex}.sales-panel-tab{cursor:pointer;letter-spacing:.5px;color:var(--text-faint);background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 20px;font-family:inherit;font-size:13px;font-weight:600;transition:color .15s}.sales-panel-tab:hover{color:var(--text-secondary)}.sales-panel-tab.active{color:var(--accent,#e8611a);border-bottom-color:var(--accent,#e8611a)}.sales-empty-error{color:var(--color-error)}.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{border:1px solid var(--border-default);color:var(--text-muted);cursor:pointer;background:0 0;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{border-color:var(--border-strong);color:var(--text-secondary)}@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:var(--bg-surface);border:1px solid var(--border-subtle);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:var(--text-primary);margin-bottom:12px;font-family:Bebas Neue,sans-serif;font-size:22px}.support-search{gap:8px;display:flex}.support-search input{background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-primary);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:var(--text-faint)}.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:var(--text-muted);border-bottom:1px solid var(--border-subtle);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:var(--text-faint);padding:40px 20px;font-size:13px}.support-user-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);cursor:pointer;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:var(--color-success);border-radius:50%;flex-shrink:0;width:8px;height:8px}.suc-dot.unlinked{background:var(--color-warning)}.suc-name{color:var(--text-primary);font-size:13px;font-weight:600}.suc-email{color:var(--text-muted);font-size:11px}.suc-code{color:var(--text-muted);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{background:var(--bg-elevated);border:1px solid var(--border-subtle);cursor:pointer;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:var(--text-primary);font-size:13px;font-weight:600}.sap-phone{color:var(--text-muted);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{background:var(--color-success-bg);color:var(--color-success)}.sap-status.inactive{background:var(--color-error-bg);color:var(--color-error)}.support-action-bar{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.support-action-summary{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.link-item{color:var(--text-primary);font-weight:600}.link-item.sap{color:var(--accent,#e8611a)}.link-arrow{color:var(--color-success);font-size:18px}.btn-link-account{background:var(--color-success);color:var(--bg-elevated);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-link-account:hover{opacity:.85}.btn-link-account:disabled{background:var(--border-default);color:var(--text-muted);cursor:not-allowed}.support-stats-bar{background:var(--bg-surface);border:1px solid var(--border-subtle);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:var(--border-subtle);width:1px;height:32px}.support-stat-num{color:var(--text-primary);font-size:26px;font-weight:700;line-height:1}.support-stat-num.linked{color:var(--color-success)}.support-stat-num.unlinked{color:var(--color-warning)}.support-stat-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--text-faint);font-size:10px;font-weight:600}.support-filter-chips{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.support-chip{border:1px solid var(--border-default);background:var(--bg-elevated);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:20px;padding:5px 12px;font-family:Outfit,sans-serif;font-size:11px;font-weight:600;transition:all .15s}.support-chip:hover{border-color:var(--border-strong);color:var(--text-secondary)}.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:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:6px;align-items:center;gap:12px;padding:12px 14px;display:flex}.suc-unlink-btn{border:1px solid var(--color-error-border);color:var(--color-error);cursor:pointer;background:0 0;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:var(--color-error-bg)}@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}}.fb-page{background:var(--bg-elevated);justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.fb-card{background:var(--bg-surface);border:1px solid var(--border-subtle);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:var(--text-primary);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:var(--text-primary);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:var(--text-muted);font-size:10px}.fb-info-value{color:var(--text-primary);font-size:13px;font-weight:600}.fb-stars-section{text-align:center;width:100%;margin-bottom:24px}.fb-stars-label{color:var(--text-muted);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:var(--border-default);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:var(--text-muted);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:var(--text-muted);margin-bottom:8px;font-size:12px;display:block}.fb-textarea{background:var(--bg-elevated);border:1px solid var(--border-default);width:100%;color:var(--text-primary);resize:vertical;box-sizing:border-box;border-radius:6px;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:var(--text-faint)}.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:var(--accent-light,#ff7a33)}.fb-btn:disabled{opacity:.5;cursor:not-allowed}.fb-skip{color:var(--text-faint);margin-top:16px;font-size:12px}.fb-skip a{color:var(--text-muted);cursor:pointer;text-decoration:underline}.fb-skip a:hover{color:var(--text-secondary)}.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:var(--color-purple);border-radius:50%;width:5px;height:5px;margin:2px auto 0;display:block}.day-btn.active.has-slots:after{background:var(--accent-text,#fff)}.cita-activa{background:var(--color-success-bg);border:1px solid var(--color-success);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:var(--color-success);font-size:10px;font-weight:700}.cita-activa-fecha{letter-spacing:1px;color:var(--text-primary);margin-top:4px;font-family:Bebas Neue,sans-serif;font-size:28px}.cita-activa-hora{color:var(--color-success);font-size:20px;font-weight:700}.cita-activa-nutri{color:var(--text-muted);margin-top:2px;font-size:13px}.btn-cita-cancel{border:1px solid var(--border-strong);color:var(--text-muted);cursor:pointer;background:0 0;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){border-color:var(--color-error);color:var(--color-error)}.btn-cita-cancel:disabled{opacity:.5;cursor:not-allowed}.citas-empty{text-align:center;color:var(--text-faint);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:var(--color-success);margin-bottom:-12px;font-size:11px;font-weight:600}.citas-day{flex-direction:column;gap:10px;display:flex}.citas-day-label{color:var(--text-muted);text-transform:capitalize;font-size:13px;font-weight:600}.citas-day-slots{flex-wrap:wrap;gap:10px;display:flex}.cita-slot-btn{border:1px solid var(--border-default);background:var(--bg-surface);cursor:pointer;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){border-color:var(--color-success);background:var(--color-success-bg)}.cita-slot-btn:disabled{opacity:.4;cursor:not-allowed}.cita-slot-time{letter-spacing:1px;color:var(--text-primary);font-family:Bebas Neue,sans-serif;font-size:22px}.cita-slot-nutri{color:var(--text-muted);text-align:center;font-size:10px}.cita-qr-panel{background:var(--color-success-bg);border:1px solid var(--color-success);text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:12px;margin-bottom:24px;padding:24px 28px;display:flex}.cita-qr-label{color:var(--color-success);letter-spacing:.5px;font-size:12px}.cita-qr-token{background:var(--bg-base);border:1px solid var(--color-success-border);color:var(--color-success);word-break:break-all;letter-spacing:.5px;border-radius:6px;max-width:100%;padding:10px 20px;font-family:Courier New,monospace;font-size:13px}.cita-qr-close{border:1px solid var(--border-strong);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;padding:6px 18px;font-family:Outfit,sans-serif;font-size:11px}.cita-qr-close:hover{border-color:var(--border-strong);color:var(--text-secondary)}@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 var(--border-subtle);gap:4px;margin-bottom:24px;padding-bottom:0;display:flex}.citas-tab-btn{color:var(--text-muted);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:var(--text-primary)}.citas-tab-btn.active{color:var(--text-primary);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{border:1px solid var(--border-default);background:var(--bg-surface);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:border-color .15s,color .15s;display:flex}.citas-nav-btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.citas-nav-today{border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-secondary);letter-spacing:.5px;cursor:pointer;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{border-color:var(--border-strong);color:var(--text-primary)}.citas-nav-label{color:var(--text-muted);letter-spacing:.5px;flex:1;font-size:13px}.calendar-outer{overflow-x:auto}.calendar-grid{background:var(--border-subtle);border:1px solid var(--border-subtle);border-radius:8px;grid-template-columns:repeat(7,minmax(130px,1fr));gap:1px;min-width:700px;display:grid;overflow:hidden}.cal-header-cell{background:var(--bg-elevated);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);text-align:center;padding:10px 12px;font-size:10px;font-weight:700}.cal-cell{background:var(--bg-elevated);flex-direction:column;gap:6px;min-height:110px;padding:10px;display:flex}.cal-cell.cal-today{background:var(--bg-surface)}.cal-cell.cal-today .cal-date-num{color:var(--accent,#e8611a);font-weight:700}.cal-cell.cal-past{opacity:.5}.cal-date-num{color:var(--text-faint);margin-bottom:2px;font-family:Bebas Neue,sans-serif;font-size:20px;line-height:1}.cal-empty{color:var(--border-default);text-align:center;margin-top:8px;font-size:12px}.cal-session-card{background:var(--bg-elevated);border:1px solid var(--border-default);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:var(--text-primary);font-family:Bebas Neue,sans-serif;font-size:16px;line-height:1}.cal-session-name{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:700;line-height:1.2}.cal-session-instructor{color:var(--text-muted);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:var(--bg-elevated);border:1px solid var(--border-default);border-radius:8px;transition:all .3s;overflow:hidden}.class-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.class-card-header{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:flex-start;padding:20px 24px 16px;display:flex}.class-time{color:var(--text-primary);letter-spacing:1px;font-family:Bebas Neue,sans-serif;font-size:32px;line-height:1}.class-duration{color:var(--text-secondary);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:var(--text-primary);margin-bottom:4px;font-family:Bebas Neue,sans-serif;font-size:26px}.class-instructor{color:var(--text-secondary);margin-bottom:16px;font-size:13px}.class-actions{border-top:1px solid var(--border-subtle);margin-top:16px;padding-top:16px}.btn-reserve{background:var(--accent,#e8611a);width:100%;color:var(--accent-text,#fff);letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;border:none;border-radius:4px;padding:12px;font-family:Outfit,sans-serif;font-size:12px;font-weight:700;transition:all .2s}.btn-reserve:disabled{background:var(--border-default);cursor:not-allowed;color:var(--text-muted)}.week-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.week-group-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--text-faint);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{background:var(--bg-elevated);border:1px solid var(--border-default);min-width:56px;color:var(--text-secondary);cursor:pointer;text-align:center;border-radius:6px;padding:12px 8px;font-family:Outfit,sans-serif;transition:all .2s}.day-btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.day-btn.active{background:var(--accent,#e8611a);border-color:var(--accent,#e8611a);color:var(--accent-text,#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{background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;cursor:pointer;white-space:nowrap;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{border-color:var(--border-strong);color:var(--text-secondary)}.view-btn.active{background:var(--border-default);border-color:var(--accent,#e8611a);color:var(--accent,#e8611a)}@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{border:1px solid var(--border-default);background:var(--bg-surface);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:border-color .15s,color .15s;display:flex}.week-nav-btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.week-nav-today{border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-secondary);letter-spacing:.5px;cursor:pointer;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{border-color:var(--border-strong);color:var(--text-primary)}.week-nav-label{color:var(--text-muted);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 var(--border-subtle);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:var(--text-faint);font-size:10px;font-weight:600}.citas-day-num{color:var(--text-muted);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:var(--border-strong);text-align:center;padding:14px 4px;font-size:11px}.citas-day-loading{background:var(--bg-elevated);border-radius:6px;height:50px;animation:1.5s ease-in-out infinite pulse}.citas-slot-btn{border:1px solid var(--border-default);background:var(--bg-elevated);cursor:pointer;text-align:center;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){border-color:var(--color-purple);background:var(--color-purple-bg)}.citas-slot-btn.recovery:hover:not(:disabled):not(.disabled){border-color:var(--color-info);background:var(--color-info-bg)}.citas-slot-btn.disabled,.citas-slot-btn:disabled{opacity:.35;cursor:not-allowed}.citas-slot-time{color:var(--text-secondary);font-size:13px;font-weight:700;line-height:1.1}.citas-slot-sub{color:var(--text-faint);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:var(--color-success-bg)!important;border-left:3px solid var(--color-success)!important}.citas-booked-card .cal-session-time{color:var(--color-success)!important}.citas-booked-card .cal-session-name{font-weight:700;color:var(--color-success)!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:var(--text-faint);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{background:var(--bg-base);border-bottom:1px solid var(--border-subtle);z-index:2;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:var(--text-faint);font-size:9px;font-weight:700}.ct-col-num{color:var(--text-muted);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{background:var(--bg-surface);pointer-events:none;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:var(--color-success-bg);border:1px solid var(--color-success)}.ct-slot-label{color:var(--color-success);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:var(--color-purple-bg);border-color:var(--color-purple-border)}.ct-slot.available.recovery{background:var(--color-info-bg);border-color:var(--color-info-border)}.ct-slot-time{color:var(--text-secondary);white-space:nowrap;font-size:10px;font-weight:700;line-height:1}.ct-slot.booked .ct-slot-time{color:var(--color-success)}.ct-slot.available.nutri .ct-slot-time{color:var(--color-purple)}.ct-slot.available.recovery .ct-slot-time{color:var(--color-info)}.ct-slot-who{color:var(--text-muted);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:var(--color-success);margin-bottom:14px;font-size:11px;font-weight:700}.nutri-empty{text-align:center;color:var(--text-faint);padding:60px 20px;font-size:14px}.nutri-empty-day{color:var(--text-faint);padding:12px 0 20px;font-size:13px}.nutri-day-list{flex-direction:column;gap:8px;display:flex}.nutri-cita-row{border-bottom:1px solid var(--border-subtle);background:0 0;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:var(--color-success-bg)}.nutri-cita-row:hover{background:var(--bg-elevated)}.nutri-cita-time{letter-spacing:1px;color:var(--color-success);font-family:Bebas Neue,sans-serif;font-size:17px;line-height:1}.nutri-cita-row.libre .nutri-cita-time{color:var(--border-strong)}.nutri-cita-info{width:100%}.nutri-cita-nombre{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.nutri-nombre-apartar{color:var(--color-warning)}.nutri-cita-email{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:10px;overflow:hidden}.nutri-cita-libre{color:var(--border-strong);font-size:11px}.nutri-row-head{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;display:flex}.nutri-dur{color:var(--text-faint);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:var(--color-error);border:1px solid var(--color-error);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{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border)}.nutri-badge.libre{background:var(--bg-elevated);color:var(--text-faint);border:1px solid var(--border-default)}.nutri-badge.confirmed{color:var(--color-warning);border:1px solid var(--color-warning);white-space:nowrap;border-radius:20px;padding:4px 10px;font-size:11px}.btn-nutri-checkin{border:1px solid var(--color-success);color:var(--color-success);cursor:pointer;white-space:nowrap;background:0 0;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:var(--color-success-bg)}.btn-nutri-checkin:disabled{opacity:.4;cursor:not-allowed}.btn-nutri-cam{border:1px solid var(--border-strong);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:8px 10px;transition:all .15s;display:flex}.btn-nutri-cam:hover{border-color:var(--color-success);color:var(--color-success)}.nutri-future-group{margin-bottom:20px}.nutri-future-date{color:var(--text-muted);text-transform:capitalize;margin-bottom:8px;font-size:12px;font-weight:600}.nutri-qr-panel{background:var(--color-success-bg);border:1px solid var(--color-success-border);border-radius:10px;margin-bottom:28px;padding:20px 24px}.nutri-qr-label{letter-spacing:1px;text-transform:uppercase;color:var(--color-success);margin-bottom:12px;font-size:11px;font-weight:700}.nutri-qr-row{align-items:center;gap:10px;display:flex}.nutri-qr-input{border:1px solid var(--border-default);background:var(--bg-base);color:var(--text-primary);border-radius:6px;outline:none;flex:1;padding:10px 14px;font-family:Outfit,sans-serif;font-size:13px}.nutri-qr-input:focus{border-color:var(--color-success)}.nutri-qr-input::placeholder{color:var(--text-faint)}@media (width<=800px){.nutri-qr-row{flex-direction:column;align-items:stretch}}.btn-walkin{border:1px solid var(--border-default);color:var(--text-muted);cursor:pointer;background:0 0;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{background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-primary);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:var(--accent-text,#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:var(--text-muted);letter-spacing:.3px;font-size:13px}.btn-week-nav{background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text-primary);cursor:pointer;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{border:1px solid var(--border-strong);color:var(--text-secondary);cursor:pointer;letter-spacing:.5px;background:0 0;border-radius:6px;padding:6px 14px;font-family:inherit;font-size:12px}.btn-week-today:hover{border-color:var(--border-strong);color:var(--text-primary)}.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 var(--border-subtle);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:var(--bg-elevated);border-bottom:1px solid var(--border-subtle);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:var(--text-muted);text-transform:uppercase;font-size:10px;font-weight:700}.nutri-cal-day-num{color:var(--text-secondary);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:var(--text-faint);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:var(--border-strong);text-align:center;padding:12px 8px;font-size:11px}.nutri-cal-sessions{flex-direction:column;gap:0;display:flex}.nutri-walkin-wrap{flex-direction:column;gap:4px;display:flex;position:relative}.walkin-search-panel{z-index:200;background:var(--bg-elevated);border:1px solid var(--border-default);width:280px;max-width:90vw;box-shadow:0 8px 32px var(--bg-overlay);border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex;position:absolute;top:100%;left:0}.walkin-search-msg{border-radius:6px;padding:6px 10px;font-size:12px}.walkin-search-msg.success{background:var(--color-success-bg);color:var(--color-success)}.walkin-search-msg.error{background:var(--color-error-bg);color:var(--color-error)}.walkin-search-hint{color:var(--text-muted);font-size:11px}.walkin-search-results{flex-direction:column;gap:2px;max-height:160px;display:flex;overflow-y:auto}.walkin-search-item{background:var(--bg-elevated);border:1px solid var(--border-default);text-align:left;cursor:pointer;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:var(--text-primary);font-size:13px;font-weight:600}.wsi-meta{color:var(--text-muted);font-size:11px}.walkin-selected-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.walkin-selected-name{color:var(--text-primary);font-size:13px;font-weight:600}.walkin-no-link{color:var(--color-error);font-size:11px}.nutri-cita-row.apartado{background:var(--color-warning-bg)}.nutri-cita-row.apartado .nutri-cita-time{color:var(--color-warning)}.btn-nutri-action{border:1px solid var(--border-default);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:4px 10px;font-family:inherit;font-size:11px;transition:border-color .15s,color .15s}.btn-nutri-action:hover{border-color:var(--color-success);color:var(--color-success)}.btn-nutri-action.btn-apartar:hover{border-color:var(--color-warning);color:var(--color-warning)}.btn-nutri-action.btn-liberar{color:var(--color-warning);border-color:var(--color-warning)}.btn-nutri-action.btn-liberar:hover{background:var(--color-warning-bg)}.btn-nutri-cal{border:1px solid var(--border-default);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;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:var(--bg-elevated);border:1px solid var(--border-default);border-radius:8px;flex-direction:column;gap:8px;margin-top:8px;padding:12px;display:flex}.nutri-modal-overlay{background:var(--bg-overlay);z-index:1000;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.nutri-modal-box{background:var(--bg-elevated);border:1px solid var(--border-default);width:100%;max-width:420px;box-shadow:0 20px 60px var(--bg-overlay);border-radius:12px;flex-direction:column;gap:16px;padding:24px;display:flex}.nutri-modal-header{flex-direction:column;gap:4px;display:flex}.nutri-modal-title{color:var(--text-primary);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:var(--text-primary);margin:0 0 6px;font-family:Bebas Neue,sans-serif;font-size:42px}.myqr-subtitle{color:var(--text-muted);margin:0;font-size:14px;line-height:1.5}.myqr-card{background:var(--bg-surface);border:1px solid var(--border-default);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:var(--text-faint);word-break:break-all;text-align:center;border-top:1px solid var(--border-subtle);box-sizing:border-box;width:100%;padding:16px 20px;font-family:JetBrains Mono,Courier New,monospace;font-size:12px}.myqr-loading,.myqr-error{color:var(--text-faint);text-align:center;padding:48px 20px;font-size:14px}.myqr-error{color:var(--color-error)}.myqr-info{flex-direction:column;gap:12px;display:flex}.myqr-info-row{color:var(--text-muted);align-items:flex-start;gap:12px;font-size:13px;line-height:1.5;display:flex}.myqr-info-icon{color:var(--color-success);flex-shrink:0;margin-top:1px;font-size:14px}:root{--accent:#e8611a;--accent-light:#ff7a33;--accent-dark:#c44f0e;--accent-text:#fff;--bg-base:#0f0f0f;--bg-surface:#181818;--bg-elevated:#111;--bg-input:#1a1a1a;--bg-overlay:#000000bf;--text-primary:#f0f0f0;--text-secondary:#aaa;--text-muted:#666;--text-faint:#444;--text-inverse:#111;--border-subtle:#1f1f1f;--border-default:#2a2a2a;--border-strong:#444;--color-success:#4ade80;--color-success-bg:#4ade801a;--color-success-border:#4ade804d;--color-error:#ef4444;--color-error-bg:#ef44441a;--color-error-border:#ef44444d;--color-warning:#f59e0b;--color-warning-bg:#f59e0b1a;--color-warning-border:#f59e0b4d;--color-info:#3b82f6;--color-info-bg:#3b82f61a;--color-info-border:#3b82f64d;--color-purple:#8b5cf6;--color-purple-bg:#8b5cf626;--color-purple-border:#8b5cf659;--skeleton-base:#1a1a1a;--skeleton-shimmer:#242424}[data-theme=light]{--bg-base:#f5f5f5;--bg-surface:#fff;--bg-elevated:#eee;--bg-input:#fff;--bg-overlay:#0000008c;--text-primary:#0a0a0a;--text-secondary:#2a2a2a;--text-muted:#4a4a4a;--text-faint:#6a6a6a;--text-inverse:#f0f0f0;--border-subtle:#e0e0e0;--border-default:#c8c8c8;--border-strong:#888;--color-success:#15803d;--color-success-bg:#15803d1a;--color-success-border:#15803d59;--color-error:#dc2626;--color-error-bg:#dc262614;--color-error-border:#dc26264d;--color-warning:#b45309;--color-warning-bg:#b4530914;--color-warning-border:#b453094d;--color-info:#1d4ed8;--color-info-bg:#1d4ed814;--color-info-border:#1d4ed84d;--color-purple:#6d28d9;--color-purple-bg:#6d28d91a;--color-purple-border:#6d28d94d;--skeleton-base:#e8e8e8;--skeleton-shimmer:#f0f0f0}.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{background:var(--bg-base);color:var(--text-primary);min-height:100vh;font-family:Outfit,sans-serif;transition:background .25s,color .25s}@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, var(--skeleton-base) 25%, var(--skeleton-shimmer) 50%, var(--skeleton-base) 75%);background-size:1200px 100%;border-radius:5px;animation:1.4s ease-in-out infinite skeleton-shimmer}.skeleton-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-left:3px solid var(--border-default);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:var(--bg-surface);border:1px solid var(--border-subtle);border-left:3px solid var(--border-default);border-radius:8px;flex-direction:column;gap:12px;min-height:160px;padding:24px;display:flex}
