:root{--bk-white:#fff;--bk-bg:#f8f9fa;--bk-bg-alt:#f1f4f7;--bk-border:#e1e5e9;--bk-border-light:#eef1f4;--bk-text:#1a2b3c;--bk-text-secondary:#4a5e6d;--bk-text-muted:#7b8c9a;--bk-primary:#0078a8;--bk-primary-hover:#006691;--bk-primary-light:#e6f4f9;--bk-primary-border:#b3dae9;--bk-success:#28a745;--bk-success-light:#e8f5eb;--bk-warning:#e9a820;--bk-warning-light:#fef8e6;--bk-error:#dc3545;--bk-error-light:#fceaec;--bk-radius:8px;--bk-radius-lg:12px;--bk-shadow-sm:0 1px 3px #0000000f;--bk-shadow:0 2px 8px #00000014;--bk-shadow-lg:0 4px 16px #0000001a;--bk-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}.nookal-widget{max-width:560px;font-family:var(--bk-font);color:var(--bk-text);background:var(--bk-white);-webkit-font-smoothing:antialiased;margin:0 auto;padding:0;font-size:15px;line-height:1.5}.nookal-widget *{box-sizing:border-box}.booking-selector{background:var(--bk-white);border-radius:var(--bk-radius-lg);border:1px solid var(--bk-border);padding:24px}.booking-selector-header{text-align:center;border-bottom:1px solid var(--bk-border-light);margin-bottom:24px;padding-bottom:20px}.booking-selector-title{color:var(--bk-text);margin:0 0 6px;font-size:22px;font-weight:600}.booking-selector-subtitle{color:var(--bk-text-muted);margin:0;font-size:14px}.booking-selector-options{flex-direction:column;gap:10px;display:flex}.booking-option{background:var(--bk-white);border:1px solid var(--bk-border);border-radius:var(--bk-radius);cursor:pointer;text-align:left;align-items:center;gap:14px;width:100%;padding:16px;transition:all .15s;display:flex}.booking-option:hover{border-color:var(--bk-primary);background:var(--bk-primary-light)}.booking-option:active{transform:scale(.99)}.booking-option-icon{background:var(--bk-primary-light);border-radius:var(--bk-radius);width:44px;height:44px;color:var(--bk-primary);flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.booking-option:hover .booking-option-icon{background:var(--bk-primary);color:#fff}.selector-icon{width:22px;height:22px}.booking-option-content{flex:1;min-width:0}.booking-option-title{color:var(--bk-text);margin-bottom:2px;font-size:15px;font-weight:600;display:block}.booking-option-desc{color:var(--bk-text-muted);font-size:13px;display:block}.booking-option-arrow{width:24px;height:24px;color:var(--bk-text-muted);flex-shrink:0;transition:all .15s}.arrow-icon{width:100%;height:100%}.booking-option:hover .booking-option-arrow{color:var(--bk-primary);transform:translate(3px)}.booking-tabs{background:var(--bk-bg);border-radius:var(--bk-radius);border:1px solid var(--bk-border-light);margin-bottom:20px;padding:4px;display:flex}.booking-tab{color:var(--bk-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.booking-tab .selector-icon{opacity:.7;width:16px;height:16px}.booking-tab:hover:not(.booking-tab-active){color:var(--bk-text);background:var(--bk-white)}.booking-tab-active{color:var(--bk-primary);background:var(--bk-white);box-shadow:var(--bk-shadow-sm)}.booking-tab-active .selector-icon{opacity:1}@media (max-width:480px){.booking-tab span{display:none}.booking-tab{padding:12px}.booking-tab .selector-icon{width:20px;height:20px}}.card{background:var(--bk-white);border:1px solid var(--bk-border);border-radius:var(--bk-radius-lg);padding:20px}.stack{flex-direction:column;gap:14px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sectionTitle{color:var(--bk-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;font-size:12px;font-weight:600}.muted{color:var(--bk-text-muted);font-size:14px}.pill{font-family:var(--bk-font);color:var(--bk-text);background:var(--bk-white);border:1px solid var(--bk-border);border-radius:var(--bk-radius);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .15s;display:inline-flex}.pill:hover:not(:disabled){border-color:var(--bk-primary);color:var(--bk-primary)}.pill:disabled{opacity:.5;cursor:not-allowed}.pill-option{background:var(--bk-bg);border-color:var(--bk-border-light);justify-content:flex-start;width:100%;padding:14px 16px}.pill-option:hover:not(:disabled){background:var(--bk-primary-light);border-color:var(--bk-primary)}.pill-option.selected{background:var(--bk-primary-light);border-color:var(--bk-primary);color:var(--bk-primary)}.pill-primary{background:var(--bk-primary);border-color:var(--bk-primary);color:#fff}.pill-primary:hover:not(:disabled){background:var(--bk-primary-hover);border-color:var(--bk-primary-hover);color:#fff}.pill-nav{background:var(--bk-bg);border:1px solid var(--bk-border);color:var(--bk-text-secondary);padding:10px 16px;font-weight:500;transition:all .15s}.pill-nav:hover:not(:disabled){background:var(--bk-white);color:var(--bk-text);border-color:var(--bk-border-dark,#cbd5e1);box-shadow:0 1px 3px #00000014}.pill-green{background:var(--bk-success);border-color:var(--bk-success);color:#fff}.pill-orange{background:var(--bk-warning);border-color:var(--bk-warning);color:#fff}.pill-purple{color:#fff;background:#8b5cf6;border-color:#8b5cf6}.pill-purple-light{color:#7c3aed;background:#f5f3ff;border-color:#ddd6fe}.list{flex-direction:column;gap:8px;max-height:300px;display:flex;overflow-y:auto}.list::-webkit-scrollbar{width:6px}.list::-webkit-scrollbar-track{background:var(--bk-bg);border-radius:3px}.list::-webkit-scrollbar-thumb{background:var(--bk-border);border-radius:3px}.list::-webkit-scrollbar-thumb:hover{background:var(--bk-text-muted)}.modal-backdrop{z-index:999;border-radius:var(--bk-radius-lg);background:#1a2b3c80;justify-content:center;align-items:flex-start;padding:20px 16px;animation:.15s fadeIn;display:flex;position:absolute;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-card{background:var(--bk-white);border-radius:var(--bk-radius-lg);width:100%;max-width:360px;box-shadow:var(--bk-shadow-lg);padding:20px;animation:.2s slideIn;position:relative}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-header{color:var(--bk-text);justify-content:space-between;align-items:center;margin-bottom:16px;font-size:15px;font-weight:600;display:flex}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-dow{text-align:center;color:var(--bk-text-muted);text-transform:uppercase;padding:8px 0;font-size:11px;font-weight:600}.calendar-pad{aspect-ratio:1}.calendar-day{aspect-ratio:1;color:var(--bk-text);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:13px;font-weight:500;transition:all .1s;display:flex}.calendar-day:hover:not(.disabled):not(.selected){background:var(--bk-bg)}.calendar-day.available{background:var(--bk-success-light);color:var(--bk-success)}.calendar-day.available:hover:not(.selected){background:#d4edda}.calendar-day.unavailable{color:var(--bk-text-muted)}.calendar-day.disabled{opacity:.35;cursor:not-allowed}.calendar-day.today{box-shadow:inset 0 0 0 2px var(--bk-primary);font-weight:700}.calendar-day.selected{background:var(--bk-primary);color:#fff}.times-wrap{position:relative}.times-grid{grid-template-columns:repeat(3,1fr);gap:8px;max-height:260px;display:grid;overflow-y:auto}@media (max-width:400px){.times-grid{grid-template-columns:repeat(2,1fr)}}.times-grid .pill-option{flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px}.times-grid .pill-option>div:first-child{color:var(--bk-text);font-size:15px;font-weight:600}.time-prac{color:var(--bk-text-muted);font-size:11px;font-weight:500}.times-more{background:linear-gradient(to top,var(--bk-white),transparent);text-align:center;padding:12px 0 0;position:sticky;bottom:0}.form-compact .grid-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-compact .grid-2 .field{flex-direction:column;gap:6px;display:flex}.form-compact .grid-2 .field-full{grid-column:1/-1}.form-compact label{color:var(--bk-text-secondary);font-size:13px;font-weight:500}.form-compact input,.form-compact textarea,.form-compact select{width:100%;font-family:var(--bk-font);color:var(--bk-text);background:var(--bk-white);border:1px solid var(--bk-border);border-radius:var(--bk-radius);padding:10px 12px;font-size:15px;transition:all .15s}.form-compact input:hover,.form-compact textarea:hover,.form-compact select:hover{border-color:var(--bk-text-muted)}.form-compact input:focus,.form-compact textarea:focus,.form-compact select:focus{border-color:var(--bk-primary);box-shadow:0 0 0 3px var(--bk-primary-light);outline:none}.form-compact input::placeholder{color:var(--bk-text-muted)}.form-compact textarea{resize:vertical;min-height:80px}.form-compact .form-actions{gap:10px;margin-top:16px;display:flex}@media (max-width:480px){.form-compact .grid-2{grid-template-columns:1fr}}.error-card{background:var(--bk-error-light);color:#721c24;border-color:#f5c6cb}.success-card{background:var(--bk-success-light);color:#155724;border-color:#c3e6cb}.info-card{background:var(--bk-primary-light);border-color:var(--bk-primary-border);color:#004d6e}.warning-card{background:var(--bk-warning-light);color:#856404;border-color:#ffeeba}.badge{background:var(--bk-bg);color:var(--bk-text-secondary);border-radius:4px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-book{background:var(--bk-primary-light);color:var(--bk-primary)}.badge-success{background:var(--bk-success-light);color:var(--bk-success)}.badge-warning{background:var(--bk-warning-light);color:#b37b00}.badge-error{background:var(--bk-error-light);color:var(--bk-error)}.availability{font-size:13px;font-weight:600}.availability-good{color:var(--bk-success)}.availability-low{color:var(--bk-warning)}.availability-full{color:var(--bk-error)}.busy-anim{border:2px solid var(--bk-primary-light);border-top-color:var(--bk-primary);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.confirm-row{border-bottom:1px solid var(--bk-border-light);justify-content:space-between;padding:10px 0;font-size:14px;display:flex}.confirm-row:last-child{border-bottom:none}.nav-actions{border-top:1px solid var(--bk-border-light);gap:8px;margin-top:16px;padding-top:16px;display:flex}.cta-panel{background:var(--bk-warning-light);border-radius:var(--bk-radius);border:1px solid #ffeeba;margin-top:14px;padding:16px}.cta-panel .cta-title{color:#856404;margin:0 0 10px;font-size:14px;font-weight:600}.cta-panel .cta-actions{flex-wrap:wrap;gap:10px;display:flex}.responsive-table th,.responsive-table td{text-align:left;border-bottom:1px solid var(--bk-border-light);padding:12px 14px}.responsive-table th{color:var(--bk-text-muted);text-transform:uppercase;background:var(--bk-bg);font-size:11px;font-weight:600}.bm-card{border:1px solid var(--bk-border);border-radius:var(--bk-radius);background:var(--bk-white);margin-bottom:10px;padding:14px}.bm-sep{color:var(--bk-text-muted)}.bm-time{color:var(--bk-text-secondary)}@media (max-width:600px){.responsive-table{display:none}.mobile-cards{display:block}}.booking-flow-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.booking-flow-title{color:#1e293b;font-size:18px;font-weight:600}.pill-text-link{font-family:var(--bk-font);cursor:pointer;background:0 0;border:none;padding:8px 4px;font-weight:500;transition:color .15s}.pill-text-link:hover{color:var(--bk-primary);text-decoration:underline}.class-controls-row{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.class-date-btn{white-space:nowrap;flex-shrink:0;padding:10px 16px;font-size:14px}.class-selections-btn{white-space:nowrap;color:#fff;background:#0d9488;border-color:#0d9488;align-items:center;gap:4px;padding:10px 16px;font-size:14px;display:inline-flex}.class-selections-btn:hover{background:#0f766e;border-color:#0f766e}.selections-text,.selections-count{display:inline}.class-schedule-date{background:var(--bk-bg);color:var(--bk-text);border-bottom:1px solid var(--bk-border-light);z-index:1;padding:12px 14px;font-size:13px;font-weight:600;position:sticky;top:0}.class-row{border-bottom:1px solid var(--bk-border-light)}.time-main{color:var(--bk-text);font-size:15px;font-weight:600}.time-ampm{color:var(--bk-text-muted);text-transform:uppercase;font-size:10px}.reservation-banner{background:var(--bk-primary-light);border:1px solid var(--bk-primary-border);border-radius:var(--bk-radius);color:var(--bk-primary);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:14px;font-weight:500;display:flex}.nookal-type-selector,.type-selector,.hero-selector{background:var(--bk-white);border-radius:var(--bk-radius-lg);border:1px solid var(--bk-border);padding:24px}.nookal-type-selector-title,.type-selector-title,.hero-title{color:var(--bk-text);text-align:center;margin:0 0 6px;font-size:22px;font-weight:600}.nookal-type-selector-subtitle,.type-selector-subtitle,.hero-subtitle{color:var(--bk-text-muted);text-align:center;margin:0 0 24px;font-size:14px}.nookal-type-options,.type-options,.hero-options{flex-direction:column;gap:10px;display:flex}.nookal-type-option-btn,.type-option,.hero-option{background:var(--bk-white);border:1px solid var(--bk-border);border-radius:var(--bk-radius);cursor:pointer;text-align:left;align-items:center;gap:14px;width:100%;padding:16px;transition:all .15s;display:flex}.nookal-type-option-btn:hover,.type-option:hover,.hero-option:hover{border-color:var(--bk-primary);background:var(--bk-primary-light)}.button-tabs,.type-tabs,.nav-tabs{background:var(--bk-bg);border-radius:var(--bk-radius);border:1px solid var(--bk-border-light);margin-bottom:20px;padding:4px;display:flex}.button-tabs .pill{background:0 0;border:none;flex:1}.button-tabs .pill:disabled{opacity:1;background:var(--bk-white);box-shadow:var(--bk-shadow-sm);color:var(--bk-primary)}.hero-bg,.hero-blob,.hero-badge,.hero-option-glow{display:none}.hero-content{position:relative}.hero-option-icon,.type-option-icon{background:var(--bk-primary-light);border-radius:var(--bk-radius);width:44px;height:44px;color:var(--bk-primary);flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.hero-option:hover .hero-option-icon,.type-option:hover .type-option-icon{background:var(--bk-primary);color:#fff}.type-icon-svg{width:22px;height:22px}.hero-option-text,.type-option-content{flex:1;min-width:0}.hero-option-title,.type-option-title{color:var(--bk-text);margin-bottom:2px;font-size:15px;font-weight:600;display:block}.hero-option-desc,.type-option-desc{color:var(--bk-text-muted);font-size:13px;display:block}.hero-option-action,.type-option-arrow{width:24px;height:24px;color:var(--bk-text-muted);flex-shrink:0;transition:all .15s}.hero-option:hover .hero-option-action,.type-option:hover .type-option-arrow{color:var(--bk-primary);transform:translate(3px)}.chevron-icon{width:100%;height:100%}.sectionTitle{color:var(--bk-primary);text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid var(--bk-primary-light);align-items:center;gap:8px;margin-bottom:14px;padding-bottom:10px;font-size:11px;font-weight:700;display:flex}.list{flex-direction:column;gap:8px;max-height:320px;padding-right:4px;display:flex;overflow-y:auto}.list .pill-option{padding:14px 36px 14px 16px;font-weight:500;transition:all .15s;position:relative}.list .pill-option:after{content:"›";color:var(--bk-text-muted);font-size:18px;transition:all .15s;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.list .pill-option:hover:after{color:var(--bk-primary);transform:translateY(-50%)translate(3px)}.list .pill-option.selected:after{content:"✓";color:var(--bk-primary);font-size:14px;font-weight:700}.practitioner-list .pill-option.selected:after{content:none}.list .muted,.stack>.muted{text-align:center;background:var(--bk-bg);border-radius:var(--bk-radius);color:var(--bk-text-muted);justify-content:center;align-items:center;padding:32px 16px;font-size:14px;display:flex}.list .muted:before{content:"";display:none}.times-grid{grid-template-columns:repeat(3,1fr);gap:8px;max-height:280px;margin:-4px;padding:4px;display:grid;overflow-y:auto}.times-grid .pill-option{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:70px;padding:14px 10px;display:flex}.times-grid .pill-option:after{display:none}.times-grid .pill-option>div:first-child{color:var(--bk-text);margin-bottom:2px;font-size:16px;font-weight:700}.time-prac{color:var(--bk-text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:11px;font-weight:500;overflow:hidden}.times-grid .pill-option.selected>div:first-child{color:var(--bk-primary)}.row>.muted:first-child{color:var(--bk-text-secondary);min-width:50px;font-weight:600}.confirm-row{border-bottom:1px solid var(--bk-border-light);justify-content:space-between;align-items:center;padding:12px 0;font-size:14px;display:flex}.confirm-row:last-of-type{border-bottom:none}.confirm-row>span:first-child{color:var(--bk-text-muted);font-weight:500}.confirm-row>span:last-child{color:var(--bk-text);text-align:right;font-weight:600}.stack>.sectionTitle:first-child{color:var(--bk-success);border-color:var(--bk-success-light)}.card.stack .row{grid-template-columns:140px 1fr;align-items:center;gap:12px;display:grid}.card.stack .row label{color:var(--bk-text-secondary);font-size:13px;font-weight:600}.card.stack .row input,.card.stack .row select{border:1px solid var(--bk-border);border-radius:var(--bk-radius);background:var(--bk-white);width:100%;padding:10px 14px;font-size:15px;transition:all .15s}.card.stack .row input:focus,.card.stack .row select:focus{border-color:var(--bk-primary);box-shadow:0 0 0 3px var(--bk-primary-light);outline:none}.card.stack .row input:disabled{background:var(--bk-bg);color:var(--bk-text-muted)}.row[style*="justify-content: flex-end"],.row[style*="justify-content: space-between"]{border-top:1px solid var(--bk-border-light);margin-top:8px;padding-top:16px}.class-schedule-date{z-index:2;background:linear-gradient(to bottom,var(--bk-primary-light),#e6f2f7);color:var(--bk-primary);border-bottom:1px solid var(--bk-primary-border);letter-spacing:.02em;padding:12px 16px;font-size:13px;font-weight:700;position:sticky;top:0}.class-table{border-collapse:collapse;width:100%}.class-row{border-bottom:1px solid var(--bk-border-light);transition:background .15s}.class-row:hover{background:var(--bk-bg)}.class-row td{vertical-align:middle;padding:14px 12px}.time-cell{text-align:center;width:70px}.time-main{color:var(--bk-text);font-size:16px;font-weight:700;line-height:1}.time-ampm{color:var(--bk-text-muted);text-transform:uppercase;margin-top:2px;font-size:10px;font-weight:600}.practitioner-cell{color:var(--bk-text-secondary);font-size:14px}.availability-cell{text-align:center;white-space:nowrap;width:70px}.availability{border-radius:12px;justify-content:center;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.availability-text{display:inline}.availability-dot{background:currentColor;border-radius:50%;width:10px;height:10px;display:none}.availability-good{background:var(--bk-success-light);color:var(--bk-success)}.availability-low{background:var(--bk-warning-light);color:#b37b00}.availability-full{background:var(--bk-error-light);color:var(--bk-error)}.action-cell{text-align:right;white-space:nowrap;width:85px}.action-cell .pill{padding:8px 14px;font-size:13px}.selection-item{background:var(--bk-bg);border-radius:var(--bk-radius);border:1px solid var(--bk-border-light);padding:14px}.selection-item .selection-dt{color:var(--bk-text);font-size:14px;font-weight:600}.card.stack>.row:first-of-type{border-top:none;margin-top:0;padding-top:0}.responsive-table{border:1px solid var(--bk-border);border-radius:var(--bk-radius);overflow-x:auto}.responsive-table table{border-collapse:collapse;width:100%}.responsive-table th{color:var(--bk-text-muted);text-transform:uppercase;letter-spacing:.05em;background:var(--bk-bg);border-bottom:1px solid var(--bk-border);text-align:left;padding:12px 14px;font-size:11px;font-weight:700}.responsive-table td{border-bottom:1px solid var(--bk-border-light);padding:14px;font-size:14px}.responsive-table tbody tr:last-child td{border-bottom:none}.responsive-table tbody tr:hover{background:var(--bk-bg)}.mobile-cards{display:none}.bm-card{background:var(--bk-white);border:1px solid var(--bk-border);border-radius:var(--bk-radius);margin-bottom:10px;padding:16px}.bm-line1{align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.bm-date{color:var(--bk-text);font-size:16px;font-weight:700}.bm-sep{color:var(--bk-text-muted);font-size:13px}.bm-time{color:var(--bk-text-secondary);font-size:15px;font-weight:500}.bm-line2{justify-content:space-between;align-items:center;display:flex}.bm-prac{color:var(--bk-text-muted);font-size:13px}.card.stack>.row:first-child{background:var(--bk-bg);border-radius:var(--bk-radius-lg)var(--bk-radius-lg)0 0;gap:6px;margin:-20px -20px 16px;padding:12px 16px;display:flex}.card.stack>.row:first-child .pill{color:var(--bk-text-muted);background:0 0;border:none;flex:1;justify-content:center;font-weight:600}.card.stack>.row:first-child .pill:disabled{background:var(--bk-white);color:var(--bk-primary);box-shadow:var(--bk-shadow-sm);opacity:1}.card.stack>.row[style*=grid]{grid-template-columns:100px 1fr;gap:12px;display:grid!important}.card[style*="borderColor: #fecaca"],.error-card{background:var(--bk-error-light);color:#991b1b;border-radius:var(--bk-radius);border:1px solid #fca5a5;padding:14px 16px;font-size:14px}.modal-card{max-height:90vh;overflow-y:auto}.modal-card .stack{padding:4px}.modal-header{background:var(--bk-white);border-bottom:1px solid var(--bk-border-light);z-index:1;margin-bottom:12px;padding-bottom:12px;position:sticky;top:0}div[style*="maxHeight: 420px"]{border-radius:var(--bk-radius)!important;border-color:var(--bk-border)!important}div[style*="padding: 12px"][style*="color: #64748b"],div[style*="padding: 8px"][style*="color: #64748b"]{align-items:center;gap:10px;font-size:14px;display:flex;color:var(--bk-text-muted)!important;padding:16px!important}div[style*="padding: 12px"][style*="color: #64748b"]:before,div[style*="padding: 8px"][style*="color: #64748b"]:before{content:"";border:2px solid var(--bk-primary-light);border-top-color:var(--bk-primary);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}.loading-container{text-align:center;background:var(--bk-white);border-radius:var(--bk-radius-lg);border:1px solid var(--bk-border);flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:40px 20px;animation:.3s fadeIn;display:flex}.loading-spinner{border:3px solid var(--bk-primary-light);border-top-color:var(--bk-primary);border-radius:50%;width:44px;height:44px;margin-bottom:20px;animation:.8s cubic-bezier(.4,0,.2,1) infinite spin;box-shadow:0 0 20px #0078a826}.loading-text{color:var(--bk-text);font-size:16px;font-weight:600;animation:1.5s ease-in-out infinite pulse}.loading-subtext{color:var(--bk-text-muted);margin-top:8px;font-size:13px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@media (max-width:600px){.responsive-table{display:none}.mobile-cards{display:block}.times-grid{grid-template-columns:repeat(2,1fr)}.card.stack .row{grid-template-columns:1fr;gap:6px}.card.stack .row label{font-size:12px}}@media (max-width:480px){.nookal-widget{padding:0}.booking-selector,.card{border-radius:var(--bk-radius);padding:16px}.booking-selector-title{font-size:20px}.booking-option{padding:14px}.booking-option-icon{width:40px;height:40px}.selector-icon{width:20px;height:20px}.times-grid .pill-option{min-height:60px;padding:12px 8px}.times-grid .pill-option>div:first-child{font-size:14px}}@media (max-width:420px){.class-row td{padding:12px 8px}.time-cell{width:60px}.availability-cell{width:55px}.action-cell{width:75px}.action-cell .pill{padding:8px 12px;font-size:12px}.class-date-btn,.class-selections-btn{padding:10px 14px;font-size:14px}}@media (max-width:380px){.availability-text{display:none}.availability-dot{display:block}.availability{border-radius:50%;padding:6px}.availability-cell{width:32px}.class-row td{padding:12px 6px}.time-cell{width:55px}.action-cell{width:70px}.action-cell .pill{padding:8px 10px;font-size:12px}.class-date-btn,.class-selections-btn{padding:9px 12px;font-size:13px}.selections-text{display:none}}.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track{background:var(--bk-bg);border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--bk-border);border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--bk-text-muted)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--bk-bg)25%,var(--bk-border-light)50%,var(--bk-bg)75%);border-radius:var(--bk-radius);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}.skeleton-pill{border-radius:var(--bk-radius);width:100%;height:52px}.skeleton-time{border-radius:var(--bk-radius);height:70px}.skeleton-text{border-radius:4px;width:60%;height:14px}.skeleton-title{border-radius:4px;width:120px;height:12px;margin-bottom:14px}.step-enter{animation:.25s ease-out forwards stepEnter}@keyframes stepEnter{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.step-exit{animation:.15s ease-in forwards stepExit}@keyframes stepExit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-12px)}}.empty-state{text-align:center;background:var(--bk-bg);border-radius:var(--bk-radius-lg);border:1px dashed var(--bk-border);flex-direction:column;justify-content:center;align-items:center;padding:32px 20px;display:flex}.empty-state-icon{width:48px;height:48px;color:var(--bk-text-muted);opacity:.6;margin-bottom:16px}.empty-state-title{color:var(--bk-text);margin-bottom:6px;font-size:15px;font-weight:600}.empty-state-message{color:var(--bk-text-muted);max-width:260px;margin-bottom:16px;font-size:13px}.empty-state-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.list-focusable:focus-within{outline:none}.pill-option:focus{outline:2px solid var(--bk-primary);outline-offset:2px}.pill-option:focus:not(:focus-visible){outline:none}.pill-option:focus-visible{outline:2px solid var(--bk-primary);outline-offset:2px}.pill-option.keyboard-focused{outline:2px solid var(--bk-primary);outline-offset:2px;background:var(--bk-primary-light)}
