.btn[data-v-830a5a16]{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--radius-md, 6px);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s ease;line-height:1.4}.btn[data-v-830a5a16]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn[data-v-830a5a16]:disabled{opacity:.5;cursor:not-allowed}.btn-sm[data-v-830a5a16]{padding:6px 12px;font-size:.8125rem}.btn-md[data-v-830a5a16]{padding:8px 16px;font-size:.875rem}.btn-lg[data-v-830a5a16]{padding:12px 20px;font-size:1rem}.btn-primary[data-v-830a5a16]{background:var(--accent);color:var(--accent-contrast, #fff)}.btn-primary[data-v-830a5a16]:hover:not(:disabled){filter:brightness(1.1)}.btn-secondary[data-v-830a5a16]{background:var(--surface-card, var(--bg-secondary, #f3f4f6));color:var(--text-primary, #111827);border:1px solid var(--border-color, #e5e7eb)}.btn-secondary[data-v-830a5a16]:hover:not(:disabled){background:var(--bg-secondary, #e5e7eb);border-color:var(--accent);color:var(--accent)}.btn-outline[data-v-830a5a16]{background:transparent;color:var(--accent);border:1px solid var(--accent)}.btn-outline[data-v-830a5a16]:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 10%,transparent)}.btn-danger[data-v-830a5a16]{background:var(--danger-bg, #ef4444);color:var(--accent-contrast, #fff)}.btn-danger[data-v-830a5a16]:hover:not(:disabled){filter:brightness(1.1)}.btn-ghost[data-v-830a5a16]{background:transparent;color:var(--text-secondary);border:none}.btn-ghost[data-v-830a5a16]:hover:not(:disabled){background:var(--bg-secondary, #f3f4f6);color:var(--text-primary)}.btn-pill[data-v-830a5a16]{border-radius:var(--radius-full)!important}.btn-icon-only[data-v-830a5a16]{padding:.5rem!important;aspect-ratio:1}.btn-full[data-v-830a5a16]{width:100%}.modal-overlay[data-v-936bb349]{position:fixed;inset:0;z-index:var(--z-overlay);background:var(--color-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--space-md)}.modal-content[data-v-936bb349]{position:relative;z-index:var(--z-modal);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-height:calc(100vh - 2rem);overflow-y:auto;width:100%;outline:none}.modal-content--sm[data-v-936bb349]{max-width:24rem}.modal-content--md[data-v-936bb349]{max-width:32rem}.modal-content--lg[data-v-936bb349]{max-width:48rem}.modal-content--full[data-v-936bb349]{max-width:calc(100vw - 2rem)}.modal-header[data-v-936bb349]{padding:var(--space-lg) var(--space-lg) var(--space-sm);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color)}.modal-title[data-v-936bb349]{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin:0}.modal-close[data-v-936bb349]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;background:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);font-size:1rem;line-height:1}.modal-close[data-v-936bb349]:hover{background:var(--bg-secondary);color:var(--text-primary)}.modal-body[data-v-936bb349]{padding:var(--space-md) var(--space-lg)}.modal-footer[data-v-936bb349]{padding:var(--space-sm) var(--space-lg) var(--space-lg);display:flex;justify-content:flex-end;gap:var(--space-xs);border-top:1px solid var(--border-color)}.modal-enter-active[data-v-936bb349],.modal-leave-active[data-v-936bb349]{transition:opacity var(--transition-base)}.modal-enter-active .modal-content[data-v-936bb349],.modal-leave-active .modal-content[data-v-936bb349]{transition:transform var(--transition-base),opacity var(--transition-base)}.modal-enter-from[data-v-936bb349],.modal-leave-to[data-v-936bb349]{opacity:0}.modal-enter-from .modal-content[data-v-936bb349]{transform:translateY(16px);opacity:0}.modal-leave-to .modal-content[data-v-936bb349]{transform:translateY(8px);opacity:0}@media(max-width:640px){.modal-content[data-v-936bb349]{max-width:100%!important;max-height:calc(100vh - 1rem);margin:.5rem}}.onboarding-hint[data-v-9dcfad59]{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);border:1px solid;margin-bottom:var(--space-md)}.hint-info[data-v-9dcfad59]{background:color-mix(in srgb,var(--accent) 8%,var(--card-bg));border-color:color-mix(in srgb,var(--accent) 25%,transparent)}.hint-success[data-v-9dcfad59]{background:color-mix(in srgb,var(--success-bg, #22c55e) 8%,var(--card-bg));border-color:color-mix(in srgb,var(--success-bg, #22c55e) 25%,transparent)}.hint-warning[data-v-9dcfad59]{background:color-mix(in srgb,var(--warning-bg, #eab308) 8%,var(--card-bg));border-color:color-mix(in srgb,var(--warning-bg, #eab308) 25%,transparent)}.hint-icon[data-v-9dcfad59]{flex-shrink:0;font-size:1.25rem;line-height:1.5}.hint-body[data-v-9dcfad59]{flex:1;font-size:var(--text-sm);color:var(--text-primary);line-height:1.6}.hint-body[data-v-9dcfad59] ol{margin:var(--space-xs) 0;padding-left:1.25rem}.hint-body[data-v-9dcfad59] li{margin-bottom:2px}.hint-body[data-v-9dcfad59] strong{font-weight:600}.hint-actions[data-v-9dcfad59]{display:flex;align-items:flex-start;gap:var(--space-sm);flex-shrink:0}.hint-dismiss[data-v-9dcfad59]{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:var(--text-base);padding:2px 4px;border-radius:var(--radius-sm);transition:all var(--transition-base);line-height:1}.hint-dismiss[data-v-9dcfad59]:hover{color:var(--text-primary);background:color-mix(in srgb,var(--text-primary) 8%,transparent)}.hint-fade-enter-active[data-v-9dcfad59]{transition:all .3s ease}.hint-fade-leave-active[data-v-9dcfad59]{transition:all .2s ease}.hint-fade-enter-from[data-v-9dcfad59],.hint-fade-leave-to[data-v-9dcfad59]{opacity:0;transform:translateY(-8px)}@media(max-width:768px){.onboarding-hint[data-v-9dcfad59]{padding:var(--space-sm) var(--space-md)}}.lesson-links-editor[data-v-11e30b83]{display:flex;flex-direction:column;gap:24px}.lesson-links-editor__header h1[data-v-11e30b83]{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin:0 0 8px}.lesson-links-editor__subtitle[data-v-11e30b83]{font-size:.875rem;color:var(--text-secondary);margin:0}.lesson-links-editor__card[data-v-11e30b83]{background:var(--card-bg);border-radius:var(--radius-lg);padding:32px;box-shadow:0 1px 3px #0000001a}.lesson-links-editor__state[data-v-11e30b83]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px 24px;text-align:center}.lesson-links-editor__state--error[data-v-11e30b83]{color:var(--danger)}.lesson-links-editor__state .icon[data-v-11e30b83]{width:48px;height:48px}.spinner[data-v-11e30b83]{width:32px;height:32px;animation:spin-11e30b83 1s linear infinite;color:var(--accent)}.spinner-small[data-v-11e30b83]{width:16px;height:16px;animation:spin-11e30b83 1s linear infinite}@keyframes spin-11e30b83{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.lesson-links-form[data-v-11e30b83]{display:flex;flex-direction:column;gap:32px}.form-section[data-v-11e30b83]{display:flex;flex-direction:column;gap:16px;padding-bottom:32px;border-bottom:1px solid var(--border-color)}.form-section[data-v-11e30b83]:last-of-type{border-bottom:none}.form-section__header[data-v-11e30b83]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.form-section__title[data-v-11e30b83]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.form-section__description[data-v-11e30b83]{font-size:.875rem;color:var(--text-secondary);margin:4px 0 0}.form-field[data-v-11e30b83]{display:flex;flex-direction:column;gap:8px}.form-label[data-v-11e30b83]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.form-select[data-v-11e30b83],.form-input[data-v-11e30b83]{padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;transition:border-color .2s}.form-select[data-v-11e30b83]:focus,.form-input[data-v-11e30b83]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3b82f61a}.form-error[data-v-11e30b83]{font-size:.75rem;color:var(--danger);margin:0}.toggle-switch[data-v-11e30b83]{position:relative;display:inline-block;width:48px;height:24px}.toggle-switch input[data-v-11e30b83]{opacity:0;width:0;height:0}.toggle-slider[data-v-11e30b83]{position:absolute;cursor:pointer;inset:0;background-color:var(--border-color);transition:.3s;border-radius:24px}.toggle-slider[data-v-11e30b83]:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}input:checked+.toggle-slider[data-v-11e30b83]{background-color:var(--accent)}input:checked+.toggle-slider[data-v-11e30b83]:before{transform:translate(24px)}.preview-section[data-v-11e30b83]{padding:20px;background:var(--bg-secondary);border-radius:var(--radius-md)}.preview-section__title[data-v-11e30b83]{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 12px}.preview-link[data-v-11e30b83]{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md)}.preview-link .icon[data-v-11e30b83]{width:20px;height:20px;color:var(--accent);flex-shrink:0;margin-top:2px}.preview-link__content[data-v-11e30b83]{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.preview-link__label[data-v-11e30b83]{font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.preview-link__url[data-v-11e30b83]{font-family:monospace;font-size:.875rem;color:var(--text-primary);background:var(--bg-secondary);padding:4px 8px;border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-link__provider[data-v-11e30b83]{font-size:.75rem;color:var(--accent);font-weight:500}.form-actions[data-v-11e30b83]{display:flex;gap:12px;justify-content:flex-end;padding-top:8px}@media(max-width:640px){.lesson-links-editor__card[data-v-11e30b83]{padding:20px}.form-actions[data-v-11e30b83]{flex-direction:column-reverse}}.booking-request-card[data-v-74521a1f]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;transition:box-shadow .15s}.booking-request-card[data-v-74521a1f]:hover{box-shadow:0 4px 6px #0000001a}.card-header[data-v-74521a1f]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color)}.student-info[data-v-74521a1f]{display:flex;align-items:center;gap:12px}.avatar[data-v-74521a1f]{width:48px;height:48px;border-radius:50%;overflow:hidden;background-color:var(--bg-secondary);display:flex;align-items:center;justify-content:center}.avatar img[data-v-74521a1f]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.student-details h4[data-v-74521a1f]{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.student-details .time[data-v-74521a1f]{font-size:14px;color:var(--text-secondary);margin:0}.status-badge[data-v-74521a1f]{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.status-pending[data-v-74521a1f]{background-color:var(--warning-bg, #fef3c7);color:var(--warning-text, #92400e)}.status-accepted[data-v-74521a1f]{background-color:var(--success-bg, #d1fae5);color:var(--success-text, #065f46)}.status-rejected[data-v-74521a1f]{background-color:var(--danger-bg, #fee2e2);color:var(--danger-text, #991b1b)}.status-cancelled[data-v-74521a1f]{background-color:var(--bg-secondary);color:var(--text-secondary)}.card-body[data-v-74521a1f]{padding:20px;display:flex;flex-direction:column;gap:16px}.detail[data-v-74521a1f]{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-primary)}.message[data-v-74521a1f],.response[data-v-74521a1f]{padding:12px;background-color:var(--bg-secondary);border-radius:8px;font-size:14px}.message p[data-v-74521a1f],.response p[data-v-74521a1f]{margin:0;color:var(--text-primary);line-height:1.5}.response strong[data-v-74521a1f]{display:block;margin-bottom:8px;color:var(--text-primary)}.card-actions[data-v-74521a1f]{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--border-color);background-color:var(--bg-secondary)}.booking-requests-view[data-v-9a3da979]{max-width:1200px;margin:0 auto;padding:24px}.page-header[data-v-9a3da979]{margin-bottom:24px}.page-header h1[data-v-9a3da979]{font-size:28px;font-weight:700;color:var(--text-primary);margin:0}.filters[data-v-9a3da979]{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid var(--border-color);padding-bottom:12px}.filter-btn[data-v-9a3da979]{position:relative;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;color:var(--text-secondary);transition:all .15s;display:flex;align-items:center;gap:8px}.filter-btn[data-v-9a3da979]:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.filter-btn.active[data-v-9a3da979]{background-color:var(--accent);color:#fff}.filter-badge[data-v-9a3da979]{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background-color:var(--danger);color:#fff;border-radius:10px;font-size:12px;font-weight:600}.filter-btn.active .filter-badge[data-v-9a3da979]{background-color:#fff;color:var(--accent)}.loading[data-v-9a3da979]{display:flex;flex-direction:column;gap:16px}.skeleton-card[data-v-9a3da979]{height:180px;background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--border-color) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:loading-9a3da979 1.5s infinite;border-radius:12px}@keyframes loading-9a3da979{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state[data-v-9a3da979]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:64px 24px;text-align:center}.empty-state p[data-v-9a3da979]{font-size:16px;color:var(--text-secondary);margin:0}.requests-list[data-v-9a3da979]{display:flex;flex-direction:column;gap:16px}.load-more[data-v-9a3da979]{display:flex;justify-content:center;margin-top:24px}.time-range-input[data-v-aaaba125]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.time-select[data-v-aaaba125]{padding:8px 12px;border:1px solid var(--color-border, #d1d5db);border-radius:6px;font-size:14px;background:var(--color-bg-primary, white);cursor:pointer;transition:all .15s}.time-select[data-v-aaaba125]:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.time-range-input.invalid .time-select[data-v-aaaba125]{border-color:var(--color-danger, #ef4444)}.separator[data-v-aaaba125]{font-size:13px;color:var(--color-text-secondary, #6b7280)}.error-hint[data-v-aaaba125]{width:100%;font-size:12px;color:var(--color-danger, #ef4444)}.day-schedule[data-v-4c700d9a]{flex:1;display:flex;flex-direction:column;gap:8px}.blocked-slots-list[data-v-4c700d9a]{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.blocked-slot[data-v-4c700d9a]{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--color-warning-light, #fef3c7);border:1px solid var(--color-warning, #d97706);border-radius:6px;font-size:12px}.blocked-slot-booked[data-v-4c700d9a]{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--color-danger-light, #fee2e2);border:1px solid var(--color-danger, #ef4444);border-radius:6px;font-size:12px}.blocked-slot.clickable[data-v-4c700d9a]{cursor:pointer;transition:all .2s}.blocked-slot.clickable[data-v-4c700d9a]:hover{background:var(--color-warning, #fde68a);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.blocked-slot-booked.clickable[data-v-4c700d9a]:hover{background:var(--color-danger, #fecaca);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.blocked-slot.clickable[data-v-4c700d9a]:focus{outline:2px solid var(--color-primary, #3b82f6);outline-offset:2px}.blocked-icon[data-v-4c700d9a]{color:var(--color-warning, #d97706);flex-shrink:0}.blocked-time[data-v-4c700d9a]{font-weight:500;color:var(--color-text-primary, #0f172a)}.blocked-label[data-v-4c700d9a]{margin-left:auto;color:var(--color-warning, #d97706);font-size:11px;font-weight:500}.windows-list[data-v-4c700d9a]{display:flex;flex-direction:column;gap:8px}.window-item[data-v-4c700d9a]{display:flex;align-items:center;gap:8px}.remove-btn[data-v-4c700d9a]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:6px;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:all .15s}.remove-btn[data-v-4c700d9a]:hover:not(:disabled){background:var(--color-danger-light, #fee2e2);color:var(--color-danger, #ef4444)}.remove-btn[data-v-4c700d9a]:disabled{opacity:.4;cursor:not-allowed}.empty-state[data-v-4c700d9a]{padding:8px 0;font-size:13px;color:var(--color-text-secondary, #6b7280)}.add-btn[data-v-4c700d9a]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:none;border:1px dashed var(--color-border, #d1d5db);border-radius:6px;font-size:13px;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:all .15s;align-self:flex-start}.add-btn[data-v-4c700d9a]:hover:not(:disabled){border-color:var(--color-primary, #3b82f6);color:var(--color-primary, #3b82f6)}.add-btn[data-v-4c700d9a]:disabled{opacity:.4;cursor:not-allowed;border-color:var(--color-border, #d1d5db)}textarea.input[data-v-d4b16b4a]{resize:vertical;min-height:4.5rem}.form-field[data-v-d4b16b4a]{display:flex;flex-direction:column;gap:var(--space-2xs)}.form-field__label[data-v-d4b16b4a]{font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.form-field__error[data-v-d4b16b4a]{font-size:var(--text-xs);color:var(--danger-bg)}.form-field__hint[data-v-d4b16b4a]{font-size:var(--text-xs);color:var(--text-secondary)}.conflict-resolver[data-v-acc03b76]{background:var(--color-bg-secondary);border:2px solid var(--color-error);border-radius:12px;padding:20px;margin:16px 0}.conflict-header[data-v-acc03b76]{display:flex;align-items:center;gap:12px;margin-bottom:16px}.conflict-icon[data-v-acc03b76]{color:var(--color-error);flex-shrink:0}.conflict-title[data-v-acc03b76]{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0}.conflicts-list[data-v-acc03b76]{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.conflict-item[data-v-acc03b76]{padding:16px;background:var(--color-bg-primary);border-radius:8px;border-left:4px solid}.conflict-item.severity-error[data-v-acc03b76]{border-left-color:var(--color-error);background:var(--color-error-light, #fef2f2)}.conflict-item.severity-warning[data-v-acc03b76]{border-left-color:var(--color-warning);background:var(--color-warning-light, #fef3c7)}.conflict-info[data-v-acc03b76]{display:flex;flex-direction:column;gap:8px}.conflict-type[data-v-acc03b76]{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--color-text-primary)}.conflict-type-label[data-v-acc03b76]{text-transform:uppercase;font-size:12px;letter-spacing:.5px}.conflict-message[data-v-acc03b76]{margin:0;font-size:14px;color:var(--color-text-secondary)}.conflict-details[data-v-acc03b76]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-tertiary)}.conflict-resolution[data-v-acc03b76]{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border)}.resolution-option[data-v-acc03b76]{display:flex;align-items:center;gap:8px;padding:8px;border-radius:6px;cursor:pointer;transition:background .2s}.resolution-option[data-v-acc03b76]:hover{background:var(--color-bg-tertiary)}.resolution-option input[type=radio][data-v-acc03b76]{margin:0}.conflict-actions[data-v-acc03b76]{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--color-border)}.spinner[data-v-acc03b76]{animation:spin-acc03b76 1s linear infinite}@keyframes spin-acc03b76{to{transform:rotate(360deg)}}@media(max-width:640px){.conflict-resolver[data-v-acc03b76]{padding:16px}.conflict-actions[data-v-acc03b76]{flex-direction:column}[data-v-acc03b76] .btn{width:100%;justify-content:center}}.slot-editor[data-v-03afbb02]{position:relative;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:12px;padding:24px;max-width:600px}.slot-editor.is-loading[data-v-03afbb02]{pointer-events:none}.slot-editor-header[data-v-03afbb02]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.slot-editor-title[data-v-03afbb02]{font-size:20px;font-weight:600;color:var(--color-text-primary)}.slot-editor-actions[data-v-03afbb02]{display:flex;gap:8px}.slot-info[data-v-03afbb02]{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding:16px;background:var(--color-bg-secondary);border-radius:8px}.slot-date[data-v-03afbb02],.slot-status[data-v-03afbb02]{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--color-text-secondary)}.slot-status.available[data-v-03afbb02]{color:var(--color-success)}.slot-status.booked[data-v-03afbb02]{color:var(--color-warning)}.slot-status.blocked[data-v-03afbb02]{color:var(--color-error)}.status-dot[data-v-03afbb02]{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor}.time-range-section[data-v-03afbb02],.strategy-section[data-v-03afbb02],.override-section[data-v-03afbb02]{margin-bottom:24px}.section-title[data-v-03afbb02]{font-size:16px;font-weight:600;color:var(--color-text-primary);margin-bottom:12px}.strategy-options[data-v-03afbb02]{display:flex;flex-direction:column;gap:12px}.strategy-option[data-v-03afbb02]{display:flex;gap:12px;padding:16px;border:2px solid var(--color-border);border-radius:8px;cursor:pointer;transition:all .2s}.strategy-option[data-v-03afbb02]:hover{border-color:var(--color-primary)}.strategy-option input[type=radio][data-v-03afbb02]{margin:0}.strategy-content[data-v-03afbb02]{flex:1}.strategy-title[data-v-03afbb02]{font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.strategy-description[data-v-03afbb02]{font-size:14px;color:var(--color-text-secondary)}.override-textarea[data-v-03afbb02]{width:100%;padding:12px;border:2px solid var(--color-border);border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;min-height:80px}.override-textarea[data-v-03afbb02]:focus{outline:none;border-color:var(--color-primary)}.loading-overlay[data-v-03afbb02]{position:absolute;inset:0;background:#fffc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border-radius:12px}@media(max-width:640px){.slot-editor[data-v-03afbb02]{padding:16px}.slot-editor-header[data-v-03afbb02]{flex-direction:column;gap:12px;align-items:stretch}.slot-info[data-v-03afbb02]{flex-direction:column;align-items:flex-start;gap:8px}.slot-editor-actions[data-v-03afbb02]{justify-content:stretch}[data-v-03afbb02] .btn{flex:1;justify-content:center}}.error-boundary[data-v-0f4f644b]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px;text-align:center;min-height:400px}.error-title[data-v-0f4f644b]{font-size:24px;font-weight:600;color:var(--text-primary);margin:0}.error-message[data-v-0f4f644b]{font-size:14px;color:var(--text-secondary);max-width:500px;margin:0}.availability-editor[data-v-e5af0c0b]{display:flex;flex-direction:column;gap:20px;padding:24px;background:var(--color-bg-primary, white);border-radius:12px}.editor-header h3[data-v-e5af0c0b]{margin:0 0 8px;font-size:20px;font-weight:600;color:var(--color-text-primary, #111827)}.hint[data-v-e5af0c0b]{margin:0;font-size:14px;color:var(--color-text-secondary, #6b7280)}.loading[data-v-e5af0c0b]{display:flex;justify-content:center;padding:48px}.spinner[data-v-e5af0c0b]{width:40px;height:40px;border:3px solid var(--color-border, #e5e7eb);border-top-color:var(--color-primary, #3b82f6);border-radius:50%;animation:spin-e5af0c0b 1s linear infinite}@keyframes spin-e5af0c0b{to{transform:rotate(360deg)}}.days-list[data-v-e5af0c0b]{display:flex;flex-direction:column;gap:16px}.day-row[data-v-e5af0c0b]{display:flex;gap:16px;align-items:flex-start}.day-label[data-v-e5af0c0b]{min-width:80px;padding-top:8px;font-weight:500;color:var(--color-text-primary, #111827)}.overlap-warning[data-v-e5af0c0b]{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--color-danger-light, #fef2f2);border:1px solid var(--color-danger, #ef4444);border-radius:8px;color:var(--color-danger, #ef4444);font-size:14px;font-weight:500}.editor-actions[data-v-e5af0c0b]{display:flex;gap:12px;justify-content:flex-end;align-items:center;padding:16px 0;border-top:1px solid var(--color-border, #e5e7eb)}.undo-redo-controls[data-v-e5af0c0b]{display:flex;gap:4px;margin-right:auto}.btn-icon[data-v-e5af0c0b]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-primary);cursor:pointer;transition:all .2s}.btn-icon[data-v-e5af0c0b]:hover:not(:disabled){background:var(--color-bg-tertiary);border-color:var(--color-primary);color:var(--color-primary)}.btn-icon[data-v-e5af0c0b]:disabled{opacity:.4;cursor:not-allowed}.job-status-banner[data-v-e5af0c0b]{margin-bottom:1.5rem;padding:1rem;border-radius:8px;border:1px solid;background:var(--color-bg-secondary)}.status-pending[data-v-e5af0c0b],.status-running[data-v-e5af0c0b]{border-color:var(--accent);background:var(--accent-bg, #eff6ff)}.status-success[data-v-e5af0c0b]{border-color:var(--success);background:var(--success-bg, #ecfdf5)}.status-failed[data-v-e5af0c0b]{border-color:var(--danger);background:var(--danger-bg, #fef2f2)}.status-content[data-v-e5af0c0b]{display:flex;align-items:flex-start;gap:1rem}.status-icon[data-v-e5af0c0b]{flex-shrink:0;width:24px;height:24px}.spinner-icon[data-v-e5af0c0b]{animation:spin-e5af0c0b 1s linear infinite;color:var(--accent)}.icon-success[data-v-e5af0c0b]{color:var(--success)}.icon-error[data-v-e5af0c0b]{color:var(--danger)}.status-text[data-v-e5af0c0b]{flex:1}.status-title[data-v-e5af0c0b]{font-weight:600;margin:0 0 .25rem;color:var(--color-text-primary)}.status-details[data-v-e5af0c0b]{font-size:.875rem;color:var(--color-text-secondary);margin:0}.status-details.error[data-v-e5af0c0b]{color:var(--danger)}.btn-retry[data-v-e5af0c0b]{padding:.5rem 1rem;border-radius:6px;background:var(--accent);color:#fff;border:none;cursor:pointer;font-weight:500;font-size:.875rem;transition:background .2s}.btn-retry[data-v-e5af0c0b]:hover{background:var(--accent-hover, #2563eb)}.progress-bar[data-v-e5af0c0b]{margin-top:.75rem;height:4px;background:var(--border-color);border-radius:2px;overflow:hidden}.progress-fill[data-v-e5af0c0b]{height:100%;background:var(--accent)}.progress-fill.indeterminate[data-v-e5af0c0b]{animation:indeterminate-e5af0c0b 1.5s infinite;width:40%}@keyframes indeterminate-e5af0c0b{0%{transform:translate(-100%)}to{transform:translate(350%)}}.spinner-small[data-v-e5af0c0b]{animation:spin-e5af0c0b 1s linear infinite}.modal-overlay[data-v-e5af0c0b]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content[data-v-e5af0c0b]{max-width:600px;width:100%;max-height:90vh;overflow-y:auto;background:var(--color-bg-primary, white);border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.availability-view[data-v-35cf1ac5]{display:flex;flex-direction:column;gap:16px;padding:16px;min-height:100%}@media(min-width:768px){.availability-view[data-v-35cf1ac5]{gap:24px;padding:24px}}.availability-view__header[data-v-35cf1ac5]{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px}.availability-view__eyebrow[data-v-35cf1ac5]{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:4px}.availability-view__header h1[data-v-35cf1ac5]{font-size:1.375rem;margin:0;color:var(--text-primary)}@media(min-width:768px){.availability-view__header h1[data-v-35cf1ac5]{font-size:1.75rem}}.availability-view__subtitle[data-v-35cf1ac5]{margin:8px 0 0;color:var(--text-secondary)}.availability-view__card[data-v-35cf1ac5]{background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:16px}@media(min-width:768px){.availability-view__card[data-v-35cf1ac5]{padding:24px}}.availability-view__loader[data-v-35cf1ac5]{padding:32px;text-align:center;color:var(--text-secondary)}.booking-status[data-v-af11382f]{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500}.booking-status.large[data-v-af11382f]{padding:8px 16px;font-size:14px}.status-pending[data-v-af11382f]{background:var(--color-warning-light, #fef3c7);color:var(--color-warning-dark, #92400e)}.status-confirmed[data-v-af11382f]{background:var(--color-success-light, #d1fae5);color:var(--color-success-dark, #065f46)}.status-cancelled[data-v-af11382f]{background:var(--color-danger-light, #fee2e2);color:var(--color-danger-dark, #991b1b)}.status-completed[data-v-af11382f]{background:var(--color-primary-light, #dbeafe);color:var(--color-primary-dark, #1e40af)}.status-no-show[data-v-af11382f]{background:var(--color-bg-tertiary, #e5e7eb);color:var(--color-text-secondary, #6b7280)}.status-rescheduled[data-v-af11382f]{background:var(--color-info-light, #e0f2fe);color:var(--color-info-dark, #075985)}.booking-card[data-v-8ed988a1]{background:var(--color-bg-primary, white);border:1px solid var(--color-border, #e5e7eb);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s;position:relative}.booking-card[data-v-8ed988a1]:hover{border-color:var(--color-primary, #3b82f6);box-shadow:0 4px 12px #0000001a}.booking-card.compact[data-v-8ed988a1]{padding:12px}.card-header[data-v-8ed988a1]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.booking-id[data-v-8ed988a1]{font-size:12px;color:var(--color-text-secondary, #6b7280)}.card-body[data-v-8ed988a1]{display:flex;flex-direction:column;gap:8px}.info-row[data-v-8ed988a1]{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--color-text-primary, #111827)}.info-row svg[data-v-8ed988a1]{color:var(--color-text-secondary, #6b7280);flex-shrink:0}.card-actions[data-v-8ed988a1]{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border, #e5e7eb)}.compact-actions[data-v-8ed988a1]{position:absolute;top:12px;right:12px;display:flex;gap:4px}.action-btn[data-v-8ed988a1]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .15s}.action-btn.confirm[data-v-8ed988a1]{background:var(--color-success-light, #d1fae5);color:var(--color-success, #10b981)}.action-btn.confirm[data-v-8ed988a1]:hover{background:var(--color-success, #10b981);color:#fff}.action-btn.cancel[data-v-8ed988a1]{background:var(--color-danger-light, #fee2e2);color:var(--color-danger, #ef4444)}.action-btn.cancel[data-v-8ed988a1]:hover{background:var(--color-danger, #ef4444);color:#fff}.card-price[data-v-8ed988a1]{position:absolute;bottom:16px;right:16px;font-size:16px;font-weight:600;color:var(--color-primary, #3b82f6)}.compact .card-price[data-v-8ed988a1]{bottom:12px;right:12px;font-size:14px}.my-lessons-view[data-v-94084ecf]{max-width:900px;margin:0 auto;padding:16px}@media(min-width:768px){.my-lessons-view[data-v-94084ecf]{padding:24px}}.view-header[data-v-94084ecf]{margin-bottom:24px}.view-header h1[data-v-94084ecf]{margin:0;font-size:1.5rem;font-weight:600}.tabs[data-v-94084ecf]{display:flex;gap:8px;margin-bottom:24px;border-bottom:1px solid var(--border-color);padding-bottom:0}.tab[data-v-94084ecf]{display:flex;align-items:center;gap:8px;padding:12px 16px;background:none;border:none;border-bottom:2px solid transparent;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s;margin-bottom:-1px;white-space:nowrap;min-height:44px}.tab[data-v-94084ecf]:hover{color:var(--text-primary)}.tab.active[data-v-94084ecf]{color:var(--accent);border-bottom-color:var(--accent)}.badge[data-v-94084ecf]{background:var(--accent);color:#fff;padding:2px 8px;border-radius:10px;font-size:12px}.loading-state[data-v-94084ecf]{text-align:center;padding:60px 20px}.spinner[data-v-94084ecf]{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:spin-94084ecf .8s linear infinite;margin:0 auto 16px}@keyframes spin-94084ecf{to{transform:rotate(360deg)}}.bookings-list[data-v-94084ecf]{display:flex;flex-direction:column;gap:12px}@media(min-width:768px){.bookings-list[data-v-94084ecf]{gap:16px}}.empty-state[data-v-94084ecf]{text-align:center;padding:60px 20px;background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.empty-icon[data-v-94084ecf]{font-size:48px;margin-bottom:16px}.empty-state h3[data-v-94084ecf]{font-size:1.25rem;font-weight:600;margin:0 0 8px}.empty-state p[data-v-94084ecf]{color:var(--text-secondary);margin:0 0 24px}.router-link-primary[data-v-94084ecf]{background:var(--accent);color:#fff}.router-link-primary[data-v-94084ecf]:hover{background:var(--accent-hover)}.tabs[data-v-94084ecf]{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs[data-v-94084ecf]::-webkit-scrollbar{display:none}@media(min-width:768px){.tabs[data-v-94084ecf]{overflow-x:visible}}.link-primary[data-v-94084ecf]{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.125rem;border-radius:25px;font-weight:600;font-size:.95rem;background:var(--accent);color:var(--accent-contrast);border:1px solid transparent;text-decoration:none;transition:all .2s ease;box-shadow:0 2px 8px var(--shadow),0 0 0 1px #0000000d}.link-primary[data-v-94084ecf]:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px var(--shadow-strong),0 0 0 1px #00000014}.booking-actions[data-v-b1931247]{display:flex;flex-wrap:wrap;gap:12px}@media(max-width:640px){.booking-actions[data-v-b1931247]{flex-direction:column}[data-v-b1931247] .btn{width:100%}}.booking-detail-view[data-v-d02ce0a8]{max-width:800px;margin:0 auto;padding:var(--space-md, 16px)}@media(min-width:768px){.booking-detail-view[data-v-d02ce0a8]{padding:var(--space-lg)}}.view-header[data-v-d02ce0a8]{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl)}.view-header h1[data-v-d02ce0a8]{margin:0;font-size:1.5rem;font-weight:600}.loading-state[data-v-d02ce0a8]{text-align:center;padding:60px 20px}.spinner[data-v-d02ce0a8]{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:spin-d02ce0a8 .8s linear infinite;margin:0 auto 16px}@keyframes spin-d02ce0a8{to{transform:rotate(360deg)}}.status-card[data-v-d02ce0a8]{text-align:center;padding:24px;background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border-color);margin-bottom:var(--space-lg)}.booking-id[data-v-d02ce0a8]{margin:12px 0 0;font-size:14px;color:var(--text-secondary)}.info-grid[data-v-d02ce0a8]{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:24px}@media(min-width:640px){.info-grid[data-v-d02ce0a8]{grid-template-columns:repeat(2,1fr);gap:16px}}.info-card[data-v-d02ce0a8]{display:flex;gap:16px;padding:20px;background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.info-icon[data-v-d02ce0a8]{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);color:var(--accent);border-radius:12px;flex-shrink:0}.info-content h3[data-v-d02ce0a8]{margin:0 0 4px;font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase}.info-primary[data-v-d02ce0a8]{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.info-secondary[data-v-d02ce0a8]{margin:4px 0 0;font-size:14px;color:var(--text-secondary)}section[data-v-d02ce0a8]{margin-bottom:24px}section h2[data-v-d02ce0a8]{font-size:1rem;font-weight:600;margin:0 0 16px}.participants-grid[data-v-d02ce0a8]{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:640px){.participants-grid[data-v-d02ce0a8]{grid-template-columns:repeat(2,1fr);gap:16px}}.participant-card[data-v-d02ce0a8]{display:flex;align-items:center;gap:12px;padding:16px;background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.participant-avatar[data-v-d02ce0a8]{width:48px;height:48px;border-radius:50%;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--text-secondary)}.participant-avatar img[data-v-d02ce0a8]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.participant-info[data-v-d02ce0a8]{display:flex;flex-direction:column}.participant-role[data-v-d02ce0a8]{font-size:12px;color:var(--text-secondary);text-transform:uppercase}.participant-name[data-v-d02ce0a8]{font-weight:600;color:var(--text-primary)}.notes-card[data-v-d02ce0a8]{padding:16px;background:var(--bg-secondary);border-radius:var(--radius-lg)}.notes-card p[data-v-d02ce0a8]{margin:0;font-size:14px;color:var(--text-primary);white-space:pre-wrap}.actions-section[data-v-d02ce0a8]{padding-top:16px;border-top:1px solid var(--border-color)}.error-state[data-v-d02ce0a8]{text-align:center;padding:60px 20px}.grid-layer[data-v-e8e218e1]{position:absolute;inset:0;z-index:1;pointer-events:auto}.grid-layer.availability-mode[data-v-e8e218e1]{pointer-events:none}.grid-hour[data-v-e8e218e1]{position:relative;border-bottom:1px solid var(--calendar-grid-line, rgba(128, 128, 128, .15));transition:background-color .2s ease}.grid-hour.is-past[data-v-e8e218e1]{opacity:.45}.grid-hour.is-disabled[data-v-e8e218e1]{pointer-events:none;opacity:.5}.hour-label[data-v-e8e218e1]{position:absolute;top:4px;left:8px;font-size:12px;color:var(--text-secondary);font-weight:500;pointer-events:auto}.grid-line-half[data-v-e8e218e1]{position:absolute;left:0;right:0;top:50%;height:1px;background:var(--calendar-grid-line-half, rgba(128, 128, 128, .07));pointer-events:none}.accessible-slots-layer[data-v-ebbcd8b3]{position:absolute;inset:0;z-index:1;pointer-events:none}.accessible-slot[data-v-ebbcd8b3]{position:absolute;background:linear-gradient(135deg,#d4f4dd,#a8e6cf);border:2px solid #4caf50;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto;transition:all .2s ease;overflow:hidden}.accessible-slot[data-v-ebbcd8b3]:hover{background:linear-gradient(135deg,#c8f0d4,#95ddbf);border-color:#388e3c;transform:scale(1.02);box-shadow:0 2px 8px #4caf504d}.slot-label[data-v-ebbcd8b3]{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12px;font-weight:600;color:#1b5e20;padding:4px;text-align:center}.slot-time[data-v-ebbcd8b3]{font-size:13px}.slot-recurring[data-v-ebbcd8b3]{font-size:10px}.availability-layer[data-v-63d9cf64]{position:absolute;inset:0;z-index:2;pointer-events:none}.blocked-range[data-v-63d9cf64]{position:absolute;left:0;right:0;background:repeating-linear-gradient(45deg,#fafafa,#fafafa 10px,#f0f0f0 10px 20px);border:1px dashed #ccc;display:flex;align-items:center;justify-content:center}.blocked-label[data-v-63d9cf64]{font-size:12px;color:#666;background:#ffffffe6;padding:4px 8px;border-radius:4px;pointer-events:auto}.events-layer[data-v-9b635f85]{position:absolute;inset:0;z-index:3;pointer-events:none}.event-card[data-v-9b635f85]{position:absolute;left:8px;right:8px;min-height:32px;background:#4caf50;color:#0a2f16;border-radius:6px;padding:6px 8px;cursor:pointer;pointer-events:auto;transition:transform .2s,box-shadow .2s;overflow:hidden;border:1px solid #2e7d32}.event-card.is-past[data-v-9b635f85]{opacity:.6;cursor:default}.event-card.is-no-show[data-v-9b635f85]{background:#9e9e9e;border-color:#757575;color:#f5f5f5}.event-card.is-cancelled[data-v-9b635f85]{background:#f87171;border-color:#ef4444;color:#7f1d1d}.event-card[data-v-9b635f85]:not(.is-past):hover{transform:scale(1.02);box-shadow:0 4px 8px #0003}.event-student[data-v-9b635f85]{font-size:13px;font-weight:700;margin-bottom:2px;color:#041b0c;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.event-time[data-v-9b635f85]{font-size:12px;opacity:.95}.interaction-layer[data-v-e707b65f]{position:absolute;inset:0;z-index:4;cursor:grab;pointer-events:none}.interaction-layer[data-v-e707b65f]:active{pointer-events:auto;cursor:grabbing}.preview-slot[data-v-e707b65f]{position:absolute;left:8px;right:8px;background:#4caf504d;border:2px dashed #4CAF50;border-radius:4px;display:flex;align-items:center;justify-content:center;pointer-events:none}.preview-label[data-v-e707b65f]{font-size:12px;color:#4caf50;font-weight:600;background:#ffffffe6;padding:4px 8px;border-radius:4px}.interaction-layer.availability-mode[data-v-e707b65f]{pointer-events:auto;cursor:pointer}.availability-hover-indicator[data-v-e707b65f]{position:absolute;left:8px;right:8px;border-radius:4px;display:flex;align-items:center;justify-content:center;pointer-events:none;transition:all .15s ease}.availability-hover-indicator.can-add[data-v-e707b65f]{background:#4caf5033;border:2px solid #4CAF50}.availability-hover-indicator.can-remove[data-v-e707b65f]{background:#f4433633;border:2px solid #f44336}.hover-icon[data-v-e707b65f]{font-size:24px;font-weight:700;background:#fffffff2;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000026}.availability-hover-indicator.can-add .hover-icon[data-v-e707b65f]{color:#4caf50}.availability-hover-indicator.can-remove .hover-icon[data-v-e707b65f]{color:#f44336}.draft-slots-layer[data-v-aa21fdb8]{position:absolute;inset:0;z-index:3;pointer-events:none}.draft-slot[data-v-aa21fdb8]{position:absolute;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;pointer-events:none}.draft-slot.draft-add[data-v-aa21fdb8]{background:#4caf504d;border:2px dashed #4caf50}.draft-slot.draft-remove[data-v-aa21fdb8]{background:#f443364d;border:2px dashed #f44336}.draft-label[data-v-aa21fdb8]{font-size:24px;font-weight:700;background:#fffffff2;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000026}.draft-slot.draft-add .draft-label[data-v-aa21fdb8]{color:#4caf50}.draft-slot.draft-remove .draft-label[data-v-aa21fdb8]{color:#f44336}.calendar-board-v2[data-v-4b45b904]{position:relative;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.calendar-header-row[data-v-4b45b904]{display:grid;grid-template-columns:64px repeat(7,1fr);padding:12px 16px 18px;gap:12px;background:transparent;border-bottom:none;position:relative;z-index:2}.time-column-header[data-v-4b45b904]{border-right:none}.day-header-cell[data-v-4b45b904]{display:flex;justify-content:center}.day-header-chip[data-v-4b45b904]{min-width:78px;padding:10px 16px;border-radius:999px;background:var(--card-bg);box-shadow:0 4px 12px #0f172a1f;border:1px solid rgba(15,23,42,.08);text-align:center;display:flex;flex-direction:column;gap:2px;transition:transform .15s ease,box-shadow .15s ease}.day-header-chip.is-today[data-v-4b45b904]{background:#4ade802e;border-color:#16a34a59;box-shadow:0 6px 14px #22c55e40}.day-header-chip[data-v-4b45b904]:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0f172a29}.day-name[data-v-4b45b904]{font-size:12px;color:var(--text-secondary);text-transform:lowercase;font-weight:600}.day-date[data-v-4b45b904]{font-size:14px;font-weight:700;color:var(--text-primary)}.calendar-grid-container[data-v-4b45b904]{display:grid;grid-template-columns:64px 1fr;height:100%;overflow:auto;scroll-behavior:smooth}.time-column[data-v-4b45b904]{border-right:1px solid var(--calendar-grid-line, rgba(128, 128, 128, .14));background:var(--bg-secondary)}.time-label[data-v-4b45b904]{display:flex;align-items:flex-start;justify-content:center;padding-top:4px;font-size:12px;color:var(--text-secondary);border-bottom:1px solid var(--calendar-grid-line, rgba(128, 128, 128, .14))}.days-grid[data-v-4b45b904]{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.day-column[data-v-4b45b904]{position:relative;border-right:1px solid var(--calendar-grid-line, rgba(128, 128, 128, .14));min-width:0}.day-column[data-v-4b45b904]:last-child{border-right:none}.calendar-board-v2[data-v-4b45b904]::-webkit-scrollbar{width:8px}.calendar-board-v2[data-v-4b45b904]::-webkit-scrollbar-track{background:var(--bg-secondary)}.calendar-board-v2[data-v-4b45b904]::-webkit-scrollbar-thumb{background:var(--calendar-grid-line, rgba(128, 128, 128, .3));border-radius:4px}.calendar-board-v2[data-v-4b45b904]::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.calendar-footer[data-v-71fa5958]{padding:16px 24px;background:var(--bg-secondary);border-radius:0 0 var(--radius-md) var(--radius-md);border-top:1px solid var(--border-color)}.footer-content[data-v-71fa5958]{display:flex;flex-direction:column;gap:12px}.footer-label[data-v-71fa5958]{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--text-secondary)}.icon[data-v-71fa5958]{color:var(--accent);flex-shrink:0}.footer-link-container[data-v-71fa5958]{display:flex;gap:12px;align-items:center}.link-input[data-v-71fa5958]{flex:1;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;background:var(--card-bg);color:var(--text-primary);font-family:monospace}.link-input[data-v-71fa5958]:focus{outline:none;border-color:var(--accent)}.link-placeholder[data-v-71fa5958]{flex:1;padding:10px 12px;border:1px dashed var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);display:flex;align-items:center}.link-placeholder__text[data-v-71fa5958]{font-size:14px;color:var(--text-muted, #9ca3af);font-style:italic}.copy-btn[data-v-71fa5958]{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap}.copy-btn[data-v-71fa5958]:hover{background:var(--accent-hover, #1565C0)}.copy-btn .icon[data-v-71fa5958]{color:#fff}.view-mode[data-v-71fa5958]{display:flex;flex-direction:column;gap:12px}.footer-header[data-v-71fa5958]{display:flex;align-items:center;justify-content:space-between}.provider-badge[data-v-71fa5958]{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.provider-badge--platform[data-v-71fa5958]{background:var(--accent-bg, #e0f2fe);color:var(--accent)}.provider-badge--zoom[data-v-71fa5958]{background:var(--accent-bg, #dbeafe);color:var(--accent)}.provider-badge--meet[data-v-71fa5958]{background:var(--warning-bg, #fef3c7);color:var(--warning)}.provider-badge--custom[data-v-71fa5958]{background:var(--calendar-first-lesson-bg, #f3e8ff);color:var(--calendar-first-lesson, #6b21a8)}.backup-link[data-v-71fa5958]{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-secondary);border-radius:var(--radius-md);font-size:13px}.backup-label[data-v-71fa5958]{font-weight:600;color:var(--text-secondary)}.backup-provider[data-v-71fa5958]{font-weight:500;color:var(--text-primary)}.backup-url[data-v-71fa5958]{flex:1;padding:4px 8px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:4px;font-size:12px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.copy-btn-small[data-v-71fa5958]{padding:4px 8px;background:transparent;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:background .2s}.copy-btn-small[data-v-71fa5958]:hover{background:var(--bg-secondary)}.edit-mode[data-v-71fa5958]{display:flex;flex-direction:column;gap:16px}.edit-header[data-v-71fa5958]{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.edit-title[data-v-71fa5958]{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.btn-close[data-v-71fa5958]{padding:4px;background:transparent;border:none;cursor:pointer;color:var(--text-secondary);transition:color .2s}.btn-close[data-v-71fa5958]:hover{color:var(--text-primary)}.form-section[data-v-71fa5958]{display:flex;flex-direction:column;gap:8px}.form-label[data-v-71fa5958]{font-size:14px;font-weight:500;color:var(--text-primary)}.form-row[data-v-71fa5958]{display:flex;gap:8px}.form-select[data-v-71fa5958]{min-width:140px;padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;background:var(--card-bg);color:var(--text-primary);cursor:pointer}.form-input[data-v-71fa5958]{flex:1;padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;color:var(--text-primary)}.form-input[data-v-71fa5958]:disabled{background:var(--bg-secondary);color:var(--text-muted);cursor:not-allowed}.form-input[data-v-71fa5958]:focus,.form-select[data-v-71fa5958]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3b82f61a}.form-checkbox-label[data-v-71fa5958]{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-primary);cursor:pointer}.form-checkbox[data-v-71fa5958]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent)}.form-actions[data-v-71fa5958]{display:flex;gap:8px;padding-top:8px}.error-text[data-v-71fa5958]{color:var(--danger);font-size:13px;margin:0}@media(max-width:768px){.footer-link-container[data-v-71fa5958]{flex-direction:column}.copy-btn[data-v-71fa5958],[data-v-71fa5958] .btn-secondary,[data-v-71fa5958] .btn-tertiary{width:100%;justify-content:center}.form-row[data-v-71fa5958]{flex-direction:column}.form-select[data-v-71fa5958]{min-width:auto}}.week-navigation[data-v-f03da6a2]{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 16px;background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm, 0 4px 12px rgba(0, 0, 0, .05))}.nav-btn[data-v-f03da6a2]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--bg-secondary);border:none;cursor:pointer;transition:background-color .2s,transform .2s}.nav-btn[data-v-f03da6a2]:hover:not(:disabled){background:var(--bg-tertiary, #e5e7eb);transform:translateY(-1px)}.nav-btn[data-v-f03da6a2]:disabled{opacity:.5;cursor:not-allowed}.week-info[data-v-f03da6a2]{display:flex;flex-direction:column;align-items:center;gap:6px}.week-range[data-v-f03da6a2]{font-size:16px;font-weight:600;color:var(--text-primary)}.today-btn[data-v-f03da6a2]{padding:4px 12px;border-radius:9999px;background:var(--accent-bg, #e0f2fe);color:var(--accent);border:none;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .2s}.today-btn[data-v-f03da6a2]:hover{background:var(--accent-bg-hover, #bae6fd)}.availability-status[data-v-f03da6a2]{margin-top:8px;display:flex;align-items:center;justify-content:space-between;background:var(--card-bg);border-radius:var(--radius-lg);padding:10px 16px;box-shadow:var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, .04));gap:12px}.status-text[data-v-f03da6a2]{font-size:14px;font-weight:600;color:var(--success)}.status-text--empty[data-v-f03da6a2]{color:var(--warning)}.actions[data-v-f03da6a2]{display:flex;gap:8px;align-items:center}.scroll-available-btn[data-v-f03da6a2]{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;border:none;background:var(--accent-bg, #e0f2fe);color:var(--accent);font-weight:600;cursor:pointer;transition:background-color .2s}.scroll-available-btn[data-v-f03da6a2]:hover:not(:disabled){background:var(--accent-bg-hover, #bae6fd)}.scroll-available-btn[data-v-f03da6a2]:disabled{opacity:.5;cursor:not-allowed}.create-slot-btn[data-v-f03da6a2]{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--accent);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:background-color .2s,transform .2s}.create-slot-btn[data-v-f03da6a2]:hover{background:var(--accent-hover, #2563eb);transform:translateY(-1px)}.mark-free-time-btn[data-v-f03da6a2]{padding:10px 20px;border:none;border-radius:8px;background:var(--success);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #4caf504d}.mark-free-time-btn[data-v-f03da6a2]:hover{background:var(--success-hover, #45a049);transform:translateY(-1px);box-shadow:0 4px 12px #4caf5066}.edit-availability-btn[data-v-f03da6a2]{padding:8px 16px;background:var(--success);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:background-color .2s,transform .2s}.edit-availability-btn[data-v-f03da6a2]:hover{background:var(--success-hover, #059669);transform:translateY(-1px)}.help-btn[data-v-f03da6a2]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--bg-secondary);border:none;color:var(--text-secondary);cursor:pointer;transition:all .2s}.help-btn[data-v-f03da6a2]:hover{background:var(--bg-tertiary, #e5e7eb);color:var(--text-primary);transform:scale(1.05)}.current-time[data-v-bf685df0]{padding:12px;background:var(--bg-secondary);border-radius:var(--radius-md);margin-bottom:20px}.current-time .label[data-v-bf685df0]{font-weight:600;color:var(--text-secondary);margin-right:8px}.current-time .value[data-v-bf685df0]{color:var(--text-primary)}.form-group[data-v-bf685df0]{margin-bottom:16px}.form-group label[data-v-bf685df0]{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary);font-size:14px}.form-control[data-v-bf685df0]{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;transition:border-color .2s}.form-control[data-v-bf685df0]:focus{outline:none;border-color:var(--accent)}.preview-result[data-v-bf685df0]{margin-top:16px;padding:12px;border-radius:var(--radius-md)}.preview-success[data-v-bf685df0]{background:var(--success-bg, #E8F5E9);color:var(--success);display:flex;align-items:center;gap:8px}.preview-error[data-v-bf685df0]{background:var(--danger-bg, #FFEBEE);color:var(--danger)}.preview-error .icon[data-v-bf685df0]{margin-bottom:8px}.conflicts[data-v-bf685df0]{margin-top:8px}.conflict-item[data-v-bf685df0]{font-size:13px;margin-bottom:4px}.loading[data-v-bf685df0]{text-align:center;color:var(--text-secondary);font-size:14px;padding:12px}.description[data-v-f5e85d11]{margin:0 0 20px;color:var(--text-secondary);font-size:14px}.reason-list[data-v-f5e85d11]{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.reason-item[data-v-f5e85d11]{display:flex;align-items:center;gap:12px;padding:12px;border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.reason-item[data-v-f5e85d11]:hover{border-color:var(--accent);background:var(--bg-secondary)}.reason-item.selected[data-v-f5e85d11]{border-color:var(--accent);background:var(--accent-bg, #E3F2FD)}.reason-item input[type=radio][data-v-f5e85d11]{cursor:pointer}.reason-item span[data-v-f5e85d11]{font-size:14px;color:var(--text-primary)}.comment-section[data-v-f5e85d11]{margin-top:8px}.lesson-details[data-v-8680782b]{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.detail-row[data-v-8680782b]{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-secondary);border-radius:var(--radius-md)}.icon[data-v-8680782b]{color:var(--accent);flex-shrink:0}.detail-text[data-v-8680782b]{font-size:14px;color:var(--text-primary)}.lesson-link[data-v-8680782b]{font-size:14px;color:var(--accent);text-decoration:none;font-weight:500}.lesson-link[data-v-8680782b]:hover{text-decoration:underline}.lesson-actions[data-v-8680782b]{display:flex;flex-direction:column;gap:12px}.availability-legend[data-v-d7bbe2da]{background:var(--card-bg);border-radius:8px;padding:20px;box-shadow:0 2px 12px #0000001a;max-width:400px}.legend-title[data-v-d7bbe2da]{font-size:16px;font-weight:600;margin:0 0 16px;color:var(--text-primary)}.legend-items[data-v-d7bbe2da]{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.legend-item[data-v-d7bbe2da]{display:flex;gap:12px;align-items:flex-start}.legend-color[data-v-d7bbe2da]{width:40px;height:32px;border-radius:4px;flex-shrink:0;border:1px solid var(--border-color)}.legend-color.available[data-v-d7bbe2da]{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-color:#4caf50}.legend-color.draft-add[data-v-d7bbe2da]{background:linear-gradient(135deg,#4caf504d,#4caf5080);border:2px dashed #4caf50}.legend-color.draft-remove[data-v-d7bbe2da]{background:linear-gradient(135deg,#f443364d,#f4433680);border:2px dashed #f44336}.legend-color.event[data-v-d7bbe2da]{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-color:#2196f3}.legend-color.blocked[data-v-d7bbe2da]{background:repeating-linear-gradient(45deg,#fafafa,#fafafa 10px,#e0e0e0 10px 20px);border-color:#9e9e9e}.legend-text[data-v-d7bbe2da]{display:flex;flex-direction:column;gap:2px}.legend-label[data-v-d7bbe2da]{font-size:14px;font-weight:600;color:var(--text-primary)}.legend-description[data-v-d7bbe2da]{font-size:12px;color:var(--text-secondary);line-height:1.4}.legend-actions[data-v-d7bbe2da]{display:flex;gap:16px;padding:16px;background:var(--bg-secondary);border-radius:6px;margin-bottom:20px}.action-item[data-v-d7bbe2da]{display:flex;align-items:center;gap:8px;flex:1}.action-icon[data-v-d7bbe2da]{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;background:var(--card-bg);box-shadow:0 2px 4px #0000001a}.action-icon.add[data-v-d7bbe2da]{color:#4caf50;border:2px solid #4caf50}.action-icon.remove[data-v-d7bbe2da]{color:#f44336;border:2px solid #f44336}.action-text[data-v-d7bbe2da]{font-size:13px;color:var(--text-secondary)}.legend-tips[data-v-d7bbe2da]{padding-top:16px;border-top:1px solid var(--border-color)}.tip-title[data-v-d7bbe2da]{font-size:13px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.tip-list[data-v-d7bbe2da]{margin:0;padding-left:20px;list-style:disc}.tip-list li[data-v-d7bbe2da]{font-size:12px;color:var(--text-secondary);line-height:1.6;margin-bottom:4px}.tip-list li[data-v-d7bbe2da]:last-child{margin-bottom:0}.drawer-content[data-v-1f14cae0]{overflow-y:auto}.conflicts-description[data-v-1f14cae0]{font-size:14px;color:var(--text-secondary);margin:0 0 20px;line-height:1.5}.conflicts-list[data-v-1f14cae0]{display:flex;flex-direction:column;gap:16px}.conflict-item[data-v-1f14cae0]{display:flex;gap:16px;padding:16px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-secondary)}.conflict-item.conflict-event_overlap[data-v-1f14cae0]{border-color:var(--warning, #ff9800);background:var(--warning-bg, #fff3e0)}.conflict-item.conflict-blocked_overlap[data-v-1f14cae0]{border-color:var(--danger, #f44336);background:var(--danger-bg, #ffebee)}.conflict-item.conflict-slot_overlap[data-v-1f14cae0]{border-color:var(--calendar-first-lesson, #9c27b0);background:var(--calendar-first-lesson-bg, #f3e5f5)}.conflict-icon[data-v-1f14cae0]{font-size:24px;flex-shrink:0}.conflict-details[data-v-1f14cae0]{flex:1;display:flex;flex-direction:column;gap:8px}.conflict-title[data-v-1f14cae0]{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.conflict-time[data-v-1f14cae0]{font-size:13px;color:var(--text-secondary);display:flex;gap:8px}.time-label[data-v-1f14cae0]{font-weight:500;color:var(--text-muted)}.time-value[data-v-1f14cae0]{color:var(--text-primary)}.footer-note[data-v-1f14cae0]{font-size:12px;color:var(--text-muted);margin:0;text-align:center}.date-time-picker[data-v-29b260e3]{display:flex;flex-direction:column;gap:4px}.picker-grid[data-v-29b260e3]{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:12px}.time-select select[data-v-29b260e3]{width:100%}.sr-only[data-v-29b260e3]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.modal-overlay[data-v-0b6b2c75]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-container[data-v-0b6b2c75]{background:var(--card-bg);border-radius:var(--radius-lg);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-header[data-v-0b6b2c75]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.modal-header h2[data-v-0b6b2c75]{font-size:20px;font-weight:600;color:var(--text-primary)}.close-btn[data-v-0b6b2c75]{padding:4px;border-radius:var(--radius-md);transition:background-color .2s}.close-btn[data-v-0b6b2c75]:hover{background-color:var(--bg-secondary)}.modal-form[data-v-0b6b2c75]{padding:24px;display:flex;flex-direction:column;gap:20px}.time-display[data-v-0b6b2c75]{display:flex;align-items:center;gap:12px;padding:12px;background:var(--accent-bg, #eff6ff);border-radius:var(--radius-md);border:1px solid var(--accent-bg, #dbeafe)}.time-label[data-v-0b6b2c75]{font-size:12px;color:var(--text-secondary)}.time-value[data-v-0b6b2c75]{font-size:14px;font-weight:600;color:var(--text-primary)}.form-field[data-v-0b6b2c75]{display:flex;flex-direction:column;gap:8px}.field-label[data-v-0b6b2c75]{font-size:14px;font-weight:500;color:var(--text-primary)}.required[data-v-0b6b2c75]{color:var(--danger)}.field-select[data-v-0b6b2c75],.field-textarea[data-v-0b6b2c75]{padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;transition:border-color .2s}.field-select[data-v-0b6b2c75]:focus,.field-textarea[data-v-0b6b2c75]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3b82f61a}.duration-buttons[data-v-0b6b2c75]{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:8px}.duration-btn[data-v-0b6b2c75]{padding:10px 16px;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;font-weight:500;transition:all .2s;background:var(--card-bg);color:var(--text-secondary)}.duration-btn[data-v-0b6b2c75]:hover{border-color:var(--accent);color:var(--accent)}.duration-btn.active[data-v-0b6b2c75]{border-color:var(--accent);background:var(--accent);color:#fff}.warning-message[data-v-0b6b2c75]{display:flex;align-items:center;gap:8px;padding:12px;background:var(--warning-bg, #fef3c7);border:1px solid var(--warning, #fde68a);border-radius:var(--radius-md);color:var(--warning);font-size:14px}.error-message[data-v-0b6b2c75]{display:flex;align-items:center;gap:8px;padding:12px;background:var(--danger-bg, #fef2f2);border:1px solid var(--danger);border-radius:var(--radius-md);color:var(--danger);font-size:14px}.field-hint[data-v-0b6b2c75]{font-size:12px;color:var(--text-secondary);margin-top:4px}.field-input[data-v-0b6b2c75]{padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;transition:border-color .2s}.field-input[data-v-0b6b2c75]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3b82f61a}.modal-actions[data-v-0b6b2c75]{display:flex;gap:12px;justify-content:flex-end;padding-top:8px}.combobox-wrapper[data-v-0b6b2c75]{position:relative}.dropdown-list[data-v-0b6b2c75]{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 4px 6px #0000001a;z-index:1000;margin-top:4px}.dropdown-item[data-v-0b6b2c75]{width:100%;padding:10px 12px;border:none;background:var(--card-bg);text-align:left;cursor:pointer;transition:background-color .2s}.dropdown-item[data-v-0b6b2c75]:hover{background:var(--bg-secondary)}.student-info[data-v-0b6b2c75]{display:flex;justify-content:space-between;align-items:center;gap:8px}.student-name[data-v-0b6b2c75]{font-size:14px;color:var(--text-primary)}.balance-badge[data-v-0b6b2c75]{padding:2px 8px;background:var(--accent-bg, #dbeafe);border-radius:12px;font-size:12px;font-weight:500;color:var(--accent);white-space:nowrap}.field-error[data-v-0b6b2c75]{font-size:12px;color:var(--danger);margin-top:4px}.conflict-warning[data-v-0b6b2c75]{padding:16px;background:var(--warning-bg, #fef3c7);border:2px solid var(--warning, #fbbf24);border-radius:var(--radius-md);margin-top:12px}.conflict-header[data-v-0b6b2c75]{display:flex;align-items:center;gap:8px;margin-bottom:12px}.conflict-header h4[data-v-0b6b2c75]{margin:0;font-size:14px;font-weight:600;color:var(--warning)}.conflict-list[data-v-0b6b2c75]{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.conflict-item[data-v-0b6b2c75]{padding:8px;background:var(--card-bg);border-radius:var(--radius-md);border:1px solid var(--warning, #fde68a)}.conflict-student[data-v-0b6b2c75]{font-size:13px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.conflict-time[data-v-0b6b2c75]{font-size:12px;color:var(--text-secondary);margin:0 0 4px}.conflict-reason[data-v-0b6b2c75]{font-size:12px;color:var(--warning);margin:0}.conflict-actions[data-v-0b6b2c75]{display:flex;gap:8px;justify-content:flex-end}.btn-warning[data-v-0b6b2c75]{padding:8px 16px;border-radius:var(--radius-md);font-size:14px;font-weight:500;background:var(--warning, #f59e0b);color:#fff;border:none;cursor:pointer;transition:background-color .2s}.btn-warning[data-v-0b6b2c75]:hover{background:var(--warning-hover, #d97706)}.join-picker[data-v-9e97b3c0]{position:relative}.join-button[data-v-9e97b3c0]{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--accent);color:#fff;border-radius:var(--radius-md);font-size:14px;font-weight:500;transition:all .2s;width:100%;justify-content:center}.join-button[data-v-9e97b3c0]:hover:not(:disabled){background:var(--accent-hover, #2563eb);transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a}.join-button[data-v-9e97b3c0]:disabled{background:var(--text-secondary);cursor:not-allowed}.picker-dropdown[data-v-9e97b3c0]{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:50;overflow:hidden;animation:slideDown-9e97b3c0 .2s ease-out}@keyframes slideDown-9e97b3c0{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.picker-header[data-v-9e97b3c0]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color)}.picker-title[data-v-9e97b3c0]{font-size:14px;font-weight:600;color:var(--text-primary)}.close-btn[data-v-9e97b3c0]{padding:4px;border-radius:4px;transition:background-color .2s}.close-btn[data-v-9e97b3c0]:hover{background-color:var(--bg-secondary)}.picker-options[data-v-9e97b3c0]{display:flex;flex-direction:column}.picker-option[data-v-9e97b3c0]{display:flex;align-items:center;gap:12px;padding:12px 16px;transition:background-color .2s;text-align:left;width:100%}.picker-option[data-v-9e97b3c0]:hover{background-color:var(--bg-secondary)}.option-icon[data-v-9e97b3c0]{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:var(--radius-md)}.option-content[data-v-9e97b3c0]{flex:1;min-width:0}.option-label[data-v-9e97b3c0]{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:2px}.option-url[data-v-9e97b3c0]{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-footer[data-v-9e97b3c0]{padding:12px 16px;background:var(--bg-secondary);border-top:1px solid var(--border-color)}.picker-hint[data-v-9e97b3c0]{font-size:12px;color:var(--text-secondary);text-align:center}.event-details[data-v-c527967b]{display:flex;flex-direction:column;gap:20px}.detail-section[data-v-c527967b]{display:flex;flex-direction:column;gap:12px}.detail-row[data-v-c527967b]{display:flex;align-items:flex-start;gap:12px}.detail-label[data-v-c527967b]{font-size:12px;color:var(--text-secondary);margin-bottom:2px}.detail-value[data-v-c527967b]{font-size:14px;font-weight:600;color:var(--text-primary)}.detail-subvalue[data-v-c527967b]{font-size:13px;color:var(--text-secondary)}.comment-text[data-v-c527967b]{padding:12px;background:var(--bg-secondary);border-radius:var(--radius-md);font-size:14px;color:var(--text-primary);white-space:pre-wrap}.classroom-cta[data-v-c527967b]{margin-bottom:4px}.classroom-join-btn[data-v-c527967b]{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 16px;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;border-radius:var(--radius-md);font-size:15px;font-weight:600;transition:all .2s;cursor:pointer;border:none}.classroom-join-btn[data-v-c527967b]:hover:not(:disabled){background:linear-gradient(135deg,#6d28d9,#5b21b6);transform:translateY(-1px);box-shadow:0 4px 12px #6d28d94d}.classroom-join-btn[data-v-c527967b]:disabled{opacity:.6;cursor:not-allowed;transform:none}.confirm-modal__message[data-v-f172699b]{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.modal-overlay[data-v-59d7bd1e]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-container[data-v-59d7bd1e]{background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:0 20px 25px -5px #0000001a;max-width:42rem;width:100%;max-height:90vh;display:flex;flex-direction:column}.modal-large[data-v-59d7bd1e]{max-width:56rem}.modal-header[data-v-59d7bd1e]{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h2[data-v-59d7bd1e]{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.close-btn[data-v-59d7bd1e]{padding:.5rem;border-radius:.375rem;transition:background-color .2s}.close-btn[data-v-59d7bd1e]:hover{background-color:var(--bg-secondary)}.modal-content[data-v-59d7bd1e]{flex:1;overflow-y:auto;padding:1.5rem}.loading-state[data-v-59d7bd1e]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem}.tabs-container[data-v-59d7bd1e]{display:flex;gap:.5rem;border-bottom:2px solid var(--border-color);margin-bottom:1.5rem}.tab-btn[data-v-59d7bd1e]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:none;background:transparent;color:var(--text-secondary);font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.tab-btn[data-v-59d7bd1e]:hover:not(.disabled){color:var(--text-primary)}.tab-btn.active[data-v-59d7bd1e]{color:var(--accent);border-bottom-color:var(--accent)}.tab-btn.disabled[data-v-59d7bd1e]{opacity:.5;cursor:not-allowed}.tab-content[data-v-59d7bd1e]{min-height:300px}.space-y-4[data-v-59d7bd1e]>*+*{margin-top:1rem}.form-field[data-v-59d7bd1e]{margin-bottom:1rem}.field-label[data-v-59d7bd1e]{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.field-readonly[data-v-59d7bd1e]{padding:.625rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-secondary)}.field-textarea[data-v-59d7bd1e]{width:100%;padding:.625rem .75rem;border:1px solid var(--border-color);border-radius:.375rem;font-size:.875rem;resize:vertical}.duration-buttons[data-v-59d7bd1e]{display:flex;gap:.5rem}.duration-btn[data-v-59d7bd1e]{flex:1;padding:.625rem;border:1px solid var(--border-color);border-radius:.375rem;background:var(--card-bg);font-size:.875rem;cursor:pointer;transition:all .2s}.duration-btn[data-v-59d7bd1e]:hover{border-color:var(--accent)}.duration-btn.active[data-v-59d7bd1e]{background:var(--accent);color:#fff;border-color:var(--accent)}.warning-box[data-v-59d7bd1e],.info-box[data-v-59d7bd1e],.success-box[data-v-59d7bd1e]{display:flex;gap:.75rem;padding:1rem;border-radius:.5rem}.warning-box[data-v-59d7bd1e]{background:var(--warning-bg, #fef3c7);border:1px solid var(--warning, #fbbf24)}.info-box[data-v-59d7bd1e]{background:var(--accent-bg, #dbeafe);border:1px solid var(--accent)}.success-box[data-v-59d7bd1e]{background:var(--success-bg, #d1fae5);border:1px solid var(--success)}.current-event-box[data-v-59d7bd1e]{padding:1rem;background:var(--bg-secondary);border-radius:.5rem;border:1px solid var(--border-color)}.preview-result[data-v-59d7bd1e]{margin-top:1rem}.conflict-warning[data-v-59d7bd1e]{padding:1rem;background:var(--danger-bg, #fef2f2);border:1px solid var(--danger);border-radius:.5rem}.conflict-header[data-v-59d7bd1e]{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--danger);font-weight:600}.conflict-list[data-v-59d7bd1e]{display:flex;flex-direction:column;gap:.5rem}.conflict-item[data-v-59d7bd1e]{padding:.5rem;background:var(--card-bg);border-radius:.375rem}.conflict-type[data-v-59d7bd1e]{font-weight:500;font-size:.875rem;color:var(--danger)}.conflict-reason[data-v-59d7bd1e]{font-size:.875rem;color:var(--text-secondary);margin-top:.25rem}.suggestions-box[data-v-59d7bd1e]{margin-top:1rem;padding:1rem;background:var(--bg-secondary);border-radius:.5rem}.suggestions-list[data-v-59d7bd1e]{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.suggestion-item[data-v-59d7bd1e]{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:.375rem;cursor:pointer;transition:all .2s}.suggestion-item[data-v-59d7bd1e]:hover{border-color:var(--accent);background:var(--accent-bg, #eff6ff)}.error-message[data-v-59d7bd1e]{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--danger-bg, #fef2f2);border:1px solid var(--danger);border-radius:.5rem;color:var(--danger)}.modal-actions[data-v-59d7bd1e]{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border-color);margin-top:1.5rem}.w-full[data-v-59d7bd1e]{width:100%}.guide-content[data-v-8b392c5d]{padding:0}.guide-section[data-v-8b392c5d]{margin-bottom:24px}.guide-section[data-v-8b392c5d]:last-child{margin-bottom:0}.guide-section.intro[data-v-8b392c5d]{background:var(--bg-secondary);padding:16px;border-radius:var(--radius-md);border-left:4px solid var(--accent)}.intro-text[data-v-8b392c5d]{font-size:14px;line-height:1.6;color:var(--text-primary);margin:0;font-weight:500}.guide-section h4[data-v-8b392c5d]{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.guide-section p[data-v-8b392c5d]{font-size:14px;line-height:1.6;color:var(--text-secondary);margin:0}.guide-section ul[data-v-8b392c5d]{list-style:none;padding:0;margin:0}.guide-section ul li[data-v-8b392c5d]{font-size:14px;line-height:1.6;color:var(--text-secondary);margin-bottom:8px;padding-left:20px;position:relative}.guide-section ul li[data-v-8b392c5d]:before{content:"•";position:absolute;left:0;color:var(--accent)}.legend-list[data-v-8b392c5d]{display:flex;flex-direction:column;gap:12px}.legend-list li[data-v-8b392c5d]{display:flex;align-items:center;gap:12px;padding-left:0}.legend-list li[data-v-8b392c5d]:before{display:none}.dot[data-v-8b392c5d]{width:20px;height:20px;border-radius:4px;flex-shrink:0}.dot.yellow[data-v-8b392c5d]{background:var(--warning, #fbbf24)}.dot.green[data-v-8b392c5d]{background:var(--success, #10b981)}.dot.gray[data-v-8b392c5d]{background:var(--text-muted, #9ca3af)}.modal-overlay[data-v-18b82667]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:0}.modal-container[data-v-18b82667]{width:100%;max-height:100vh;overflow-y:auto;background:var(--card-bg);border-radius:0;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@media(min-width:768px){.modal-overlay[data-v-18b82667]{padding:16px}.modal-container[data-v-18b82667]{max-width:600px;max-height:90vh;border-radius:var(--radius-xl, 16px)}}.modal-enter-active[data-v-18b82667],.modal-leave-active[data-v-18b82667]{transition:opacity .3s ease}.modal-enter-active .modal-container[data-v-18b82667],.modal-leave-active .modal-container[data-v-18b82667]{transition:transform .3s ease}.modal-enter-from[data-v-18b82667],.modal-leave-to[data-v-18b82667]{opacity:0}.modal-enter-from .modal-container[data-v-18b82667],.modal-leave-to .modal-container[data-v-18b82667]{transform:scale(.95)}.modal-overlay[data-v-b6dd7197]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:0}.modal-content[data-v-b6dd7197]{background:var(--color-bg-primary, white);border-radius:0;width:100%;max-height:100vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@media(min-width:768px){.modal-overlay[data-v-b6dd7197]{padding:20px}.modal-content[data-v-b6dd7197]{border-radius:var(--radius-xl, 16px);max-width:500px;max-height:90vh}}.modal-header[data-v-b6dd7197]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border, #e5e7eb)}.modal-title[data-v-b6dd7197]{font-size:18px;font-weight:600;color:var(--color-text-primary, #111827);margin:0}.close-button[data-v-b6dd7197]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;border-radius:6px;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:all .15s}.close-button[data-v-b6dd7197]:hover{background:var(--color-bg-secondary, #f3f4f6);color:var(--color-text-primary, #111827)}.modal-body[data-v-b6dd7197]{padding:24px}.date-section[data-v-b6dd7197]{display:flex;align-items:center;gap:8px;padding:12px;background:var(--color-bg-secondary, #f3f4f6);border-radius:8px;margin-bottom:20px}.date-section .icon[data-v-b6dd7197]{color:var(--color-primary, #3b82f6)}.date-input-wrapper[data-v-b6dd7197]{flex:1}.date-input[data-v-b6dd7197]{width:100%;background:transparent;border:none;font-size:14px;font-weight:500;color:var(--color-text-primary, #111827)}.date-input[data-v-b6dd7197]:focus{outline:none;box-shadow:0 0 0 2px var(--color-primary, #3b82f6);border-radius:6px}.sr-only[data-v-b6dd7197]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.time-section[data-v-b6dd7197]{margin-bottom:20px}.section-title[data-v-b6dd7197]{font-size:14px;font-weight:600;color:var(--color-text-primary, #111827);margin-bottom:12px}.validation-error[data-v-b6dd7197]{display:flex;gap:12px;padding:12px;background:var(--color-error-light, #fee2e2);border:1px solid var(--color-error, #ef4444);border-radius:8px;margin-bottom:20px;align-items:center}.validation-error .error-icon[data-v-b6dd7197]{color:var(--color-error, #ef4444);flex-shrink:0}.validation-error .error-text[data-v-b6dd7197]{font-size:14px;color:var(--color-error-dark, #991b1b);margin:0}.conflict-warning[data-v-b6dd7197]{display:flex;gap:12px;padding:12px;background:var(--color-warning-light, #fef3c7);border:1px solid var(--color-warning, #f59e0b);border-radius:8px;margin-bottom:20px}.warning-icon[data-v-b6dd7197]{flex-shrink:0;color:var(--color-warning, #f59e0b)}.warning-content[data-v-b6dd7197]{flex:1}.warning-title[data-v-b6dd7197]{font-size:14px;font-weight:600;color:var(--color-warning-dark, #d97706);margin:0 0 8px}.conflict-list[data-v-b6dd7197]{margin:0;padding-left:20px;font-size:13px;color:var(--color-text-secondary, #6b7280)}.conflict-item[data-v-b6dd7197]{margin-bottom:4px}.loading-state[data-v-b6dd7197]{display:flex;align-items:center;gap:12px;padding:12px;background:var(--color-bg-secondary, #f3f4f6);border-radius:8px;font-size:14px;color:var(--color-text-secondary, #6b7280)}.spinner[data-v-b6dd7197]{animation:spin-b6dd7197 1s linear infinite}@keyframes spin-b6dd7197{to{transform:rotate(360deg)}}.modal-footer[data-v-b6dd7197]{display:flex;flex-direction:column-reverse;gap:12px;padding:16px 24px;border-top:1px solid var(--color-border, #e5e7eb)}.modal-footer[data-v-b6dd7197] .btn{min-height:44px}@media(min-width:768px){.modal-footer[data-v-b6dd7197]{flex-direction:row;justify-content:flex-end}}.modal-overlay[data-v-b76e6062]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:0}.modal-content[data-v-b76e6062]{background:var(--color-bg-primary, white);border-radius:0;width:100%;max-height:100vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@media(min-width:768px){.modal-overlay[data-v-b76e6062]{padding:20px}.modal-content[data-v-b76e6062]{border-radius:var(--radius-xl, 16px);max-width:500px;max-height:90vh}}.modal-header[data-v-b76e6062]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border, #e5e7eb)}.modal-title[data-v-b76e6062]{font-size:18px;font-weight:600;color:var(--color-text-primary, #111827);margin:0}.close-button[data-v-b76e6062]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;border-radius:6px;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:all .15s}.close-button[data-v-b76e6062]:hover{background:var(--color-bg-secondary, #f3f4f6);color:var(--color-text-primary, #111827)}.modal-body[data-v-b76e6062]{padding:24px}.slot-info-section[data-v-b76e6062]{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--color-bg-secondary, #f3f4f6);border-radius:8px;margin-bottom:20px}.info-row[data-v-b76e6062]{display:flex;align-items:center;gap:8px}.icon[data-v-b76e6062]{color:var(--color-primary, #3b82f6);flex-shrink:0}.info-text[data-v-b76e6062]{font-size:14px;font-weight:500;color:var(--color-text-primary, #111827)}.status-badge[data-v-b76e6062]{display:inline-flex;align-items:center;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge--available[data-v-b76e6062]{background:var(--color-success-light, #d1fae5);color:var(--color-success-dark, #065f46)}.status-badge--booked[data-v-b76e6062]{background:var(--color-warning-light, #fef3c7);color:var(--color-warning-dark, #92400e)}.status-badge--blocked[data-v-b76e6062]{background:var(--color-error-light, #fee2e2);color:var(--color-error-dark, #991b1b)}.reason-section[data-v-b76e6062]{margin-bottom:20px}.reason-label[data-v-b76e6062]{display:block;font-size:14px;font-weight:600;color:var(--color-text-primary, #111827);margin-bottom:8px}.optional-text[data-v-b76e6062]{font-weight:400;color:var(--color-text-secondary, #6b7280);font-size:13px}.reason-textarea[data-v-b76e6062]{width:100%;padding:12px;border:2px solid var(--color-border, #e5e7eb);border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;min-height:100px;transition:border-color .15s}.reason-textarea[data-v-b76e6062]:focus{outline:none;border-color:var(--color-primary, #3b82f6)}.reason-textarea[data-v-b76e6062]:disabled{background:var(--color-bg-secondary, #f3f4f6);cursor:not-allowed}.warning-message[data-v-b76e6062]{display:flex;gap:12px;padding:12px;background:var(--color-warning-light, #fef3c7);border:1px solid var(--color-warning, #f59e0b);border-radius:8px;margin-bottom:20px}.warning-icon[data-v-b76e6062]{flex-shrink:0;color:var(--color-warning, #f59e0b)}.warning-text[data-v-b76e6062]{font-size:13px;color:var(--color-warning-dark, #92400e);margin:0;line-height:1.5}.loading-state[data-v-b76e6062]{display:flex;align-items:center;gap:12px;padding:12px;background:var(--color-bg-secondary, #f3f4f6);border-radius:8px;font-size:14px;color:var(--color-text-secondary, #6b7280)}.spinner[data-v-b76e6062]{animation:spin-b76e6062 1s linear infinite}@keyframes spin-b76e6062{to{transform:rotate(360deg)}}.modal-footer[data-v-b76e6062]{display:flex;flex-direction:column-reverse;gap:12px;padding:16px 24px;border-top:1px solid var(--color-border, #e5e7eb)}.modal-footer[data-v-b76e6062] .btn{min-height:44px}@media(min-width:768px){.modal-footer[data-v-b76e6062]{flex-direction:row;justify-content:flex-end}}.draft-changes-bar[data-v-c970dcf8]{position:sticky;top:0;z-index:5;background:linear-gradient(to right,var(--color-warning-light),var(--color-warning-lighter));border-bottom:2px solid var(--color-warning);box-shadow:0 4px 16px #0000001f;padding:1rem 1.5rem}.draft-changes-content[data-v-c970dcf8]{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.draft-changes-info[data-v-c970dcf8]{display:flex;align-items:center;gap:.75rem;flex:1}.draft-changes-text[data-v-c970dcf8]{font-weight:600;color:var(--color-text-primary)}.draft-changes-count[data-v-c970dcf8]{padding:.25rem .5rem;background:var(--color-warning);color:#fff;border-radius:12px;font-size:.875rem;font-weight:600}.draft-changes-actions[data-v-c970dcf8]{display:flex;gap:.75rem}.btn-sm[data-v-c970dcf8]{padding:.5rem 1rem;font-size:.875rem;display:flex;align-items:center;gap:.5rem}.slide-down-enter-active[data-v-c970dcf8],.slide-down-leave-active[data-v-c970dcf8]{transition:transform .3s ease,opacity .3s ease}.slide-down-enter-from[data-v-c970dcf8],.slide-down-leave-to[data-v-c970dcf8]{transform:translateY(-100%);opacity:0}@media(max-width:768px){.draft-changes-content[data-v-c970dcf8]{flex-direction:column;gap:1rem}.draft-changes-info[data-v-c970dcf8]{width:100%}.draft-changes-actions[data-v-c970dcf8]{width:100%;justify-content:stretch}.draft-changes-actions button[data-v-c970dcf8]{flex:1}}:root{--calendar-grid-bg: var(--bg-primary);--calendar-grid-border: var(--border-color);--calendar-cell-bg: var(--card-bg);--calendar-cell-hover: color-mix(in srgb, var(--accent) 10%, var(--card-bg));--calendar-time-bg: var(--bg-secondary);--calendar-time-text: var(--text-secondary);--calendar-time-border: var(--border-color);--calendar-header-bg: var(--bg-secondary);--calendar-header-text: var(--text-primary);--calendar-header-border: var(--border-color);--calendar-today-highlight: var(--accent);--calendar-event-bg: var(--accent);--calendar-event-text: var(--accent-contrast);--calendar-event-border: color-mix(in srgb, var(--accent) 80%, black);--calendar-event-shadow: var(--shadow);--calendar-status-available: #10b981;--calendar-status-booked: var(--accent);--calendar-status-blocked: #ef4444;--calendar-status-empty: transparent;--calendar-paid: #10b981;--calendar-unpaid: #f59e0b;--calendar-done: #10b981;--calendar-not-done: #6b7280;--calendar-missed: #ef4444;--calendar-hover-overlay: color-mix(in srgb, var(--accent) 15%, transparent);--calendar-active-overlay: color-mix(in srgb, var(--accent) 25%, transparent);--calendar-focus-ring: var(--accent);--calendar-shadow-sm: 0 1px 3px var(--shadow);--calendar-shadow-md: 0 4px 12px var(--shadow);--calendar-shadow-lg: 0 8px 25px var(--shadow-strong);--calendar-grid-line: rgba(128, 128, 128, .14);--calendar-grid-line-half: rgba(128, 128, 128, .06);--calendar-cell-height: 36px;--calendar-cell-gap: 1px;--calendar-event-padding: 8px;--calendar-event-gap: 4px}[data-theme=light]{--calendar-grid-bg: #e0f7f4;--calendar-cell-bg: rgba(255, 255, 255, .9);--calendar-event-bg: #059669;--calendar-event-text: #ffffff;--calendar-today-highlight: #059669;--calendar-grid-line: rgba(0, 0, 0, .08);--calendar-grid-line-half: rgba(0, 0, 0, .04)}[data-theme=dark]{--calendar-grid-bg: #0a1929;--calendar-cell-bg: rgba(21, 32, 43, .9);--calendar-event-bg: #26c6da;--calendar-event-text: #0a1929;--calendar-today-highlight: #26c6da;--calendar-grid-line: rgba(255, 255, 255, .07);--calendar-grid-line-half: rgba(255, 255, 255, .03);--calendar-shadow-sm: 0 1px 3px rgba(38, 198, 218, .2);--calendar-shadow-md: 0 4px 12px rgba(38, 198, 218, .25);--calendar-shadow-lg: 0 8px 25px rgba(38, 198, 218, .35)}[data-theme=classic]{--calendar-grid-bg: #f8f7fd;--calendar-cell-bg: #ffffff;--calendar-event-bg: #6d28d9;--calendar-event-text: #ffffff;--calendar-today-highlight: #6d28d9;--calendar-grid-line: rgba(109, 40, 217, .1);--calendar-grid-line-half: rgba(109, 40, 217, .04)}.calendar-week-view{display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-lg);background:var(--calendar-grid-bg);border-radius:var(--radius-lg);min-height:600px}.week-navigation{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);background:var(--calendar-header-bg);border-radius:var(--radius-md);border:1px solid var(--calendar-header-border)}.week-navigation__controls{display:flex;gap:var(--space-sm)}.week-navigation__date{font:var(--font-headline);color:var(--calendar-header-text)}.week-navigation__today-indicator{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--calendar-today-highlight);color:#fff;border-radius:var(--radius-full);font-size:.875rem;font-weight:600}.calendar-board{display:grid;grid-template-columns:80px repeat(7,1fr);gap:var(--calendar-cell-gap);background:var(--calendar-grid-border);border-radius:var(--radius-md);overflow:hidden;position:relative}.calendar-board__headers{display:contents}.day-header{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-md);background:var(--calendar-header-bg);border-bottom:2px solid var(--calendar-header-border);position:sticky;top:0;z-index:10}.day-header--today{background:var(--calendar-today-highlight);color:#fff;font-weight:600}.day-header__dow{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;opacity:.8}.day-header__date{font-size:1.5rem;font-weight:600;line-height:1}.time-scale{display:flex;flex-direction:column;background:var(--calendar-time-bg);border-right:1px solid var(--calendar-time-border)}.time-scale__slot{display:flex;align-items:center;justify-content:center;height:var(--calendar-cell-height);padding:var(--space-xs);font-size:.75rem;color:var(--calendar-time-text);border-bottom:1px solid var(--calendar-time-border)}.time-scale__slot--hour{font-weight:600;background:color-mix(in srgb,var(--calendar-time-bg) 95%,var(--accent) 5%)}.day-column{display:flex;flex-direction:column;position:relative}.calendar-cell{height:var(--calendar-cell-height);background:var(--calendar-cell-bg);border-bottom:1px solid var(--calendar-grid-border);cursor:pointer;transition:all .2s ease;position:relative}.calendar-cell:hover{background:var(--calendar-cell-hover);box-shadow:inset 0 0 0 2px var(--calendar-focus-ring)}.calendar-cell:focus-visible{outline:2px solid var(--calendar-focus-ring);outline-offset:-2px;z-index:5}.calendar-cell--available{background:color-mix(in srgb,var(--calendar-status-available) 10%,var(--calendar-cell-bg))}.calendar-cell--booked{background:color-mix(in srgb,var(--calendar-status-booked) 5%,var(--calendar-cell-bg));cursor:default}.calendar-cell--blocked{background:color-mix(in srgb,var(--calendar-status-blocked) 10%,var(--calendar-cell-bg));cursor:not-allowed;opacity:.6}.events-overlay{position:absolute;inset:0;pointer-events:none;z-index:2}.events-overlay>*{pointer-events:auto}.event-block{position:absolute;display:flex;flex-direction:column;padding:var(--calendar-event-padding);background:var(--calendar-event-bg);color:var(--calendar-event-text);border-radius:var(--radius-sm);border:1px solid var(--calendar-event-border);box-shadow:var(--calendar-shadow-md);cursor:pointer;transition:all .2s ease;overflow:hidden}.event-block:hover{transform:translateY(-2px);box-shadow:var(--calendar-shadow-lg);z-index:10}.event-block:active{transform:translateY(0)}.event-block__header{display:flex;align-items:center;justify-content:space-between;gap:var(--calendar-event-gap);margin-bottom:var(--space-xs)}.event-block__time{font-size:.75rem;font-weight:600;opacity:.9}.event-block__status-badges{display:flex;gap:var(--space-xs)}.event-block__client{font-weight:600;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-block__duration{font-size:.75rem;opacity:.8}.status-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;border-radius:var(--radius-full);font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-badge--paid{background:var(--calendar-paid);color:#fff}.status-badge--unpaid{background:var(--calendar-unpaid);color:#fff}.status-badge--done{background:var(--calendar-done);color:#fff}.status-badge--not-done{background:var(--calendar-not-done);color:#fff}.status-badge--missed{background:var(--calendar-missed);color:#fff}.calendar-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:var(--space-md);padding:var(--space-xl);text-align:center}.calendar-empty-state__icon{width:64px;height:64px;color:var(--text-secondary);opacity:.5}.calendar-empty-state__title{font:var(--font-headline);color:var(--text-primary)}.calendar-empty-state__description{font:var(--font-body);color:var(--text-secondary);max-width:400px}.calendar-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:var(--space-md)}.calendar-loading__spinner{width:48px;height:48px;color:var(--accent);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.calendar-loading__text{font:var(--font-body);color:var(--text-secondary)}.skeleton{background:linear-gradient(90deg,var(--bg-secondary) 0%,color-mix(in srgb,var(--bg-secondary) 90%,var(--accent) 10%) 50%,var(--bg-secondary) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-event{height:80px;margin-bottom:var(--space-sm)}.skeleton-cell{height:var(--calendar-cell-height)}.connection-warning{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--warning-bg);color:#fff;border-radius:8px;margin-bottom:1rem}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.calendar-week-view *{transition-property:background-color,color,border-color,transform,opacity,box-shadow;transition-duration:.2s;transition-timing-function:ease}.modal-enter-active,.modal-leave-active{transition:opacity .3s ease}.modal-enter-from,.modal-leave-to{opacity:0}.modal-content-enter-active{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.modal-content-leave-active{transition:all .2s ease}.modal-content-enter-from{opacity:0;transform:scale(.9) translateY(-20px)}.modal-content-leave-to{opacity:0;transform:scale(.95)}.event-enter-active{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.event-leave-active{transition:all .2s ease}.event-enter-from{opacity:0;transform:scale(.8) translateY(-10px)}.event-leave-to{opacity:0;transform:scale(.9)}.event-block--dragging{opacity:.7;transform:rotate(2deg) scale(1.05);box-shadow:var(--calendar-shadow-lg);z-index:100;cursor:grabbing}.calendar-cell--drop-target{background:var(--calendar-hover-overlay);box-shadow:inset 0 0 0 2px var(--calendar-focus-ring);animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.toast-enter-active{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.toast-leave-active{transition:all .2s ease}.toast-enter-from{opacity:0;transform:translate(100%)}.toast-leave-to{opacity:0;transform:translate(100%) scale(.9)}.shimmer{position:relative;overflow:hidden}.shimmer:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.hover-lift{transition:transform .2s ease,box-shadow .2s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--calendar-shadow-lg)}.hover-scale{transition:transform .2s ease}.hover-scale:hover{transform:scale(1.05)}.focus-ring{position:relative}.focus-ring:focus-visible:after{content:"";position:absolute;inset:-4px;border:2px solid var(--calendar-focus-ring);border-radius:inherit;animation:focus-pulse 1s ease-in-out infinite}@keyframes focus-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.02)}}.status-change{animation:status-flash .5s ease}@keyframes status-flash{0%,to{background-color:var(--calendar-event-bg)}50%{background-color:color-mix(in srgb,var(--calendar-event-bg) 70%,white 30%)}}.optimistic-update{position:relative}.optimistic-update:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--calendar-today-highlight);animation:optimistic-pulse 1s ease-in-out infinite}@keyframes optimistic-pulse{0%,to{opacity:1}50%{opacity:.3}}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active,.slide-up-leave-active{transition:all .3s ease}.slide-up-enter-from{opacity:0;transform:translateY(20px)}.slide-up-leave-to{opacity:0;transform:translateY(-20px)}@media(max-width:767px){.calendar-week-view{padding:var(--space-md)}.calendar-board{grid-template-columns:60px 1fr;font-size:.875rem}.day-column:not(.day-column--active){display:none}.day-header{padding:var(--space-sm)}.day-header__date{font-size:1.25rem}.event-block{padding:var(--space-sm)}.event-block__client{font-size:.75rem}.week-navigation{flex-direction:column;gap:var(--space-sm)}.week-navigation__controls{width:100%;justify-content:space-between}.modal-content{width:95vw;max-height:90vh;overflow-y:auto}}@media(min-width:768px)and (max-width:1023px){.calendar-board{grid-template-columns:70px repeat(3,1fr)}.day-column:nth-child(n+5):not(.day-column--active){display:none}.event-block{font-size:.875rem;padding:var(--space-sm, 8px)}.day-header{padding:var(--space-sm, 8px)}.day-header__date{font-size:1.125rem}.week-navigation{flex-wrap:wrap;gap:var(--space-sm, 8px)}.week-navigation__controls button{min-height:44px;min-width:44px}.calendar-cell{min-height:44px}}@media(min-width:1025px){.calendar-board{grid-template-columns:80px repeat(7,1fr)}.event-block__details{display:block}.modal-content{max-width:600px}}@media(min-width:1441px){.calendar-week-view{max-width:1400px;margin:0 auto}.calendar-cell{height:var(--calendar-cell-height)}.event-block{padding:12px}}@media print{.calendar-week-view{background:#fff;color:#000}.week-navigation__controls,.event-block:hover,.calendar-cell:hover{display:none}.calendar-board{border:1px solid #000}.event-block{box-shadow:none;border:1px solid #000}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-contrast:high){.calendar-cell,.event-block{border:2px solid currentColor}.status-badge{border:1px solid currentColor}}.calendar-week-view[data-v-c7fd46f0]{display:flex;flex-direction:column;gap:16px;padding:16px;background:var(--surface-calendar, #fafafa);min-height:600px}.calendar-layout[data-v-c7fd46f0]{display:flex;gap:16px;align-items:flex-start}.calendar-layout__board[data-v-c7fd46f0]{flex:1;min-width:0}.calendar-controls[data-v-c7fd46f0]{display:flex;justify-content:flex-end;margin-bottom:16px}.calendar-legend[data-v-c7fd46f0]{display:flex;align-items:center;gap:16px;color:var(--text-secondary);font-size:13px}.legend-item[data-v-c7fd46f0]{display:inline-flex;align-items:center;gap:8px}.legend-item--interactive[data-v-c7fd46f0]{cursor:pointer;padding:6px 10px;border-radius:6px;transition:background-color .2s}.legend-item--interactive[data-v-c7fd46f0]:hover{background-color:var(--bg-secondary)}.legend-checkbox[data-v-c7fd46f0]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent)}.legend-dot[data-v-c7fd46f0]{width:12px;height:12px;border-radius:50%;display:inline-block;border:2px solid transparent}.legend-dot--lesson[data-v-c7fd46f0]{background:var(--success);border-color:var(--success)}.legend-dot--availability[data-v-c7fd46f0]{background:var(--warning);border-color:var(--warning)}.loading-state[data-v-c7fd46f0],.error-state[data-v-c7fd46f0]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px;text-align:center}.calendar-header-inline[data-v-c7fd46f0]{background:var(--card-bg);padding:16px 24px;border-bottom:1px solid var(--border-color);margin-bottom:16px}.week-nav-inline[data-v-c7fd46f0]{display:flex;align-items:center;justify-content:center;gap:16px}.nav-btn-inline[data-v-c7fd46f0]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--bg-secondary);border:none;cursor:pointer;transition:all .2s}.nav-btn-inline[data-v-c7fd46f0]:hover:not(:disabled){background:var(--bg-tertiary, #e5e7eb);transform:scale(1.05)}.nav-btn-inline[data-v-c7fd46f0]:disabled{opacity:.5;cursor:not-allowed}.week-info-inline[data-v-c7fd46f0]{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:200px}.week-range-inline[data-v-c7fd46f0]{font-size:16px;font-weight:600;color:var(--text-primary)}.today-btn-inline[data-v-c7fd46f0]{padding:4px 12px;border-radius:9999px;background:var(--accent-bg, #dbeafe);color:var(--accent);border:none;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.today-btn-inline[data-v-c7fd46f0]:hover{background:var(--accent-bg-hover, #bfdbfe)}.connection-warning[data-v-c7fd46f0]{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--warning-bg, #fef3c7);border:1px solid var(--warning, #fbbf24);border-radius:var(--radius-md);color:var(--warning);font-size:14px;font-weight:500}.availability-empty-state[data-v-c7fd46f0]{display:flex;justify-content:center;padding:48px 0}.empty-state-card[data-v-c7fd46f0]{background:var(--card-bg);border-radius:var(--radius-lg);padding:32px;max-width:480px;text-align:center;box-shadow:0 6px 24px #0f766e1a;display:flex;flex-direction:column;gap:12px;align-items:center}.empty-state-card h3[data-v-c7fd46f0]{font-size:20px;font-weight:600;color:var(--text-primary)}.empty-state-card p[data-v-c7fd46f0]{color:var(--text-secondary);font-size:14px}.empty-state-icon[data-v-c7fd46f0]{width:56px;height:56px;border-radius:50%;background:var(--accent-bg, #ecfeff);display:flex;align-items:center;justify-content:center;color:var(--accent)}.calendar-cell--scrolled[data-v-c7fd46f0]{box-shadow:0 0 0 3px #0ea5e966;transition:box-shadow .3s ease}.calendar-toggle[data-v-c7fd46f0]{display:flex;gap:12px;justify-content:center;padding:16px;background:var(--card-bg);border-radius:var(--radius-md);margin-bottom:16px}.toggle-btn[data-v-c7fd46f0]{padding:10px 20px;border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-bg);color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.toggle-btn[data-v-c7fd46f0]:hover{border-color:var(--accent);color:var(--accent)}.toggle-btn.active[data-v-c7fd46f0]{border-color:var(--accent);background:var(--accent);color:#fff}.calendar-v055-layout[data-v-c7fd46f0]{display:flex;flex-direction:column;gap:16px;background:var(--card-bg);border-radius:var(--radius-md);padding:16px}.modal-overlay[data-v-c7fd46f0]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-c7fd46f0 .2s ease}.modal-content[data-v-c7fd46f0]{background:var(--card-bg);border-radius:var(--radius-lg);padding:24px;max-width:500px;width:90%;box-shadow:0 8px 32px #0003;animation:slideUp-c7fd46f0 .3s ease}@keyframes fadeIn-c7fd46f0{0%{opacity:0}to{opacity:1}}@keyframes slideUp-c7fd46f0{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.btn-close-modal[data-v-c7fd46f0]{margin-top:20px;width:100%;padding:12px;background:var(--bg-secondary);border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:background .2s ease}.btn-close-modal[data-v-c7fd46f0]:hover{background:var(--bg-tertiary, #e0e0e0)}.tutor-calendar-wrapper[data-v-42931ba2]{padding:16px;min-height:calc(100vh - 64px);background:var(--bg-secondary)}@media(min-width:768px){.tutor-calendar-wrapper[data-v-42931ba2]{padding:24px}}.loading-state[data-v-42931ba2],.error-state[data-v-42931ba2]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.spinner[data-v-42931ba2]{width:48px;height:48px;border:4px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:spin-42931ba2 1s linear infinite}@keyframes spin-42931ba2{to{transform:rotate(360deg)}}.calendar-container[data-v-42931ba2]{max-width:1400px;margin:0 auto}.calendar-header[data-v-42931ba2]{margin-bottom:32px}.calendar-header h1[data-v-42931ba2]{margin:0 0 8px;font-size:24px;font-weight:700;color:var(--text-primary)}@media(min-width:768px){.calendar-header h1[data-v-42931ba2]{font-size:32px}}.week-info[data-v-42931ba2]{display:flex;gap:16px;color:var(--text-secondary);font-size:14px}.calendar-stats[data-v-42931ba2]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.stat-card[data-v-42931ba2]{background:var(--card-bg);padding:var(--space-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-align:center}.stat-value[data-v-42931ba2]{font-size:36px;font-weight:700;color:var(--accent);margin-bottom:8px}.stat-label[data-v-42931ba2]{font-size:14px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.week-grid[data-v-42931ba2]{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:768px){.week-grid[data-v-42931ba2]{grid-template-columns:repeat(3,1fr);gap:16px}}@media(min-width:1024px){.week-grid[data-v-42931ba2]{grid-template-columns:repeat(7,1fr)}}.day-column[data-v-42931ba2]{background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .2s,box-shadow .2s}.day-column[data-v-42931ba2]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.day-column.is-today[data-v-42931ba2]{border:2px solid var(--accent)}.day-column.is-past[data-v-42931ba2]{opacity:.6}.day-header[data-v-42931ba2]{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover, #764ba2) 100%);color:#fff;padding:16px;text-align:center}.day-name[data-v-42931ba2]{font-size:14px;font-weight:600;text-transform:uppercase;margin-bottom:4px}.day-date[data-v-42931ba2]{font-size:24px;font-weight:700;margin-bottom:8px}.day-status-badge[data-v-42931ba2]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;background:#fff3}.day-body[data-v-42931ba2]{padding:16px}.day-stats[data-v-42931ba2]{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.stat-item[data-v-42931ba2]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.stat-icon[data-v-42931ba2]{font-size:16px}.day-events[data-v-42931ba2]{display:flex;flex-direction:column;gap:8px}.event-card[data-v-42931ba2]{padding:12px;border-radius:8px;border-left:4px solid var(--accent);background:var(--bg-secondary);font-size:13px}.event-card.event-completed[data-v-42931ba2]{border-left-color:var(--success);background:var(--success-bg, #f0fdf4)}.event-card.event-no_show[data-v-42931ba2]{border-left-color:var(--danger);background:var(--danger-bg, #fef2f2)}.event-card.event-cancelled[data-v-42931ba2]{border-left-color:var(--text-secondary);background:var(--bg-secondary)}.event-time[data-v-42931ba2]{font-weight:600;color:var(--text-primary);margin-bottom:4px}.event-student[data-v-42931ba2]{color:var(--text-secondary);margin-bottom:4px}.first-lesson-badge[data-v-42931ba2]{display:inline-block;padding:2px 8px;background:var(--warning-bg, #fef3c7);color:var(--warning-text, #92400e);border-radius:4px;font-size:11px;font-weight:600}.no-events[data-v-42931ba2]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px;color:var(--text-secondary);font-size:13px}.empty-icon[data-v-42931ba2]{font-size:32px}.student-calendar-view[data-v-946f1270]{width:100%;height:100%;display:flex;flex-direction:column}.calendar-header[data-v-946f1270]{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-color);background:var(--card-bg)}.week-navigation[data-v-946f1270]{display:flex;align-items:center;gap:var(--space-sm)}.week-range[data-v-946f1270]{font-size:var(--text-base);font-weight:600;color:var(--text-primary);min-width:200px;text-align:center}.header-toolbar[data-v-946f1270]{display:flex;gap:var(--space-sm);align-items:center}.tutor-filter[data-v-946f1270]{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-bg);font-size:var(--text-sm);cursor:pointer;min-width:200px}.tutor-filter[data-v-946f1270]:focus{outline:2px solid var(--accent);outline-offset:2px}.event-detail[data-v-946f1270]{margin-bottom:var(--space-lg)}.event-detail label[data-v-946f1270]{display:block;font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);margin-bottom:var(--space-xs)}.event-detail p[data-v-946f1270]{font-size:var(--text-base);color:var(--text-primary);margin:0}.loading-state[data-v-946f1270],.error-state[data-v-946f1270]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:var(--space-md)}.spinner[data-v-946f1270]{width:48px;height:48px;border:4px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:spin-946f1270 1s linear infinite}@keyframes spin-946f1270{to{transform:rotate(360deg)}}.lesson-links-tabs[data-v-a7c66998]{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.lesson-links-tab[data-v-a7c66998]{border:1px solid var(--border-color);border-radius:999px;padding:6px 14px;font-size:.875rem;color:var(--text-secondary);text-decoration:none;transition:all .2s ease}.lesson-links-tab--active[data-v-a7c66998]{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.lesson-links-tab--publish[data-v-a7c66998]{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb,var(--danger) 20%,transparent);font-weight:600;box-shadow:0 4px 12px #b91c1c26}.lesson-links-tab--publish.lesson-links-tab--active[data-v-a7c66998]{border-color:var(--danger);color:#fff;background:var(--danger);box-shadow:0 6px 16px #b91c1c4d}.lesson-links-view[data-v-a7c66998]{display:flex;flex-direction:column;gap:24px;padding:24px;min-height:100%;max-width:800px;margin:0 auto}.lesson-links-navigation[data-v-a7c66998]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px}@media(max-width:640px){.lesson-links-view[data-v-a7c66998]{padding:16px}.lesson-links-navigation[data-v-a7c66998]{flex-direction:column;align-items:stretch}.nav-button[data-v-a7c66998]{width:100%;text-align:center}}.booking-form[data-v-e945ced0]{display:flex;flex-direction:column;gap:20px}.form-group[data-v-e945ced0]{display:flex;flex-direction:column;gap:8px}.form-group label[data-v-e945ced0]{font-size:14px;font-weight:500;color:var(--color-text-primary, #111827)}.form-group select[data-v-e945ced0],.form-group textarea[data-v-e945ced0]{padding:12px;border:1px solid var(--color-border, #d1d5db);border-radius:8px;font-size:14px;background:var(--color-bg-primary, white);transition:all .15s}.form-group select[data-v-e945ced0]:focus,.form-group textarea[data-v-e945ced0]:focus{outline:none;border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.form-group textarea[data-v-e945ced0]{resize:vertical;min-height:80px}.lesson-type-options[data-v-e945ced0]{display:flex;gap:12px}.radio-option[data-v-e945ced0]{flex:1;display:flex;align-items:flex-start;gap:12px;padding:16px;border:2px solid var(--color-border, #e5e7eb);border-radius:12px;cursor:pointer;transition:all .15s}.radio-option[data-v-e945ced0]:hover{border-color:var(--color-primary, #3b82f6)}.radio-option.selected[data-v-e945ced0]{border-color:var(--color-primary, #3b82f6);background:var(--color-primary-light, #eff6ff)}.radio-option input[type=radio][data-v-e945ced0]{margin-top:2px;accent-color:var(--color-primary, #3b82f6)}.option-content[data-v-e945ced0]{display:flex;flex-direction:column}.option-title[data-v-e945ced0]{font-weight:600;color:var(--color-text-primary, #111827)}.option-desc[data-v-e945ced0]{font-size:13px;color:var(--color-text-secondary, #6b7280)}@media(max-width:640px){.lesson-type-options[data-v-e945ced0]{flex-direction:column}}.book-lesson-view[data-v-7e6abd57]{max-width:800px;margin:0 auto;padding:var(--space-md, 16px)}@media(min-width:768px){.book-lesson-view[data-v-7e6abd57]{padding:var(--space-lg)}}.view-header[data-v-7e6abd57]{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl)}.view-header h1[data-v-7e6abd57]{margin:0;font-size:1.5rem;font-weight:600}.success-state[data-v-7e6abd57]{text-align:center;padding:60px 20px}.success-icon[data-v-7e6abd57]{color:var(--success);margin-bottom:var(--space-lg)}.success-state h2[data-v-7e6abd57]{font-size:1.5rem;margin:0 0 8px}.success-state p[data-v-7e6abd57]{color:var(--text-secondary);margin:0 0 var(--space-xl)}.success-actions[data-v-7e6abd57]{display:flex;flex-direction:column;gap:var(--space-sm)}.success-actions[data-v-7e6abd57] button{min-height:44px}@media(min-width:640px){.success-actions[data-v-7e6abd57]{flex-direction:row;justify-content:center}}.loading-state[data-v-7e6abd57]{text-align:center;padding:60px 20px}.spinner[data-v-7e6abd57]{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:spin-7e6abd57 .8s linear infinite;margin:0 auto 16px}@keyframes spin-7e6abd57{to{transform:rotate(360deg)}}.tutor-info[data-v-7e6abd57]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:16px;background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border-color);margin-bottom:var(--space-lg)}@media(min-width:640px){.tutor-info[data-v-7e6abd57]{flex-direction:row;align-items:flex-start;text-align:left;gap:16px;padding:20px}}.tutor-photo[data-v-7e6abd57]{width:80px;height:80px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.tutor-details h2[data-v-7e6abd57]{margin:0 0 4px;font-size:1.25rem}.tutor-headline[data-v-7e6abd57]{color:var(--text-secondary);margin:0 0 var(--space-sm);font-size:var(--text-sm)}.tutor-meta[data-v-7e6abd57]{display:flex;gap:16px}.tutor-meta span[data-v-7e6abd57]{display:flex;align-items:center;gap:4px;font-size:14px;color:var(--text-secondary)}.tutor-meta .price[data-v-7e6abd57]{color:var(--accent);font-weight:600}section[data-v-7e6abd57]{margin-bottom:24px}section h3[data-v-7e6abd57]{font-size:1rem;font-weight:600;margin:0 0 16px}.summary-card[data-v-7e6abd57]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-md);margin-bottom:var(--space-md)}.summary-row[data-v-7e6abd57]{display:flex;justify-content:space-between;padding:8px 0;font-size:14px}.summary-row[data-v-7e6abd57]:not(:last-child){border-bottom:1px solid var(--border-color)}.summary-row.total[data-v-7e6abd57]{font-weight:600;font-size:16px;color:var(--accent)}.error-state[data-v-7e6abd57]{text-align:center;padding:60px 20px}.tutor-meta[data-v-7e6abd57]{justify-content:center}@media(min-width:640px){.tutor-meta[data-v-7e6abd57]{justify-content:flex-start}}.student-availability-calendar[data-v-13d101b8]{display:flex;flex-direction:column;gap:1.5rem}.error-banner[data-v-13d101b8],.ws-banner[data-v-13d101b8],.cache-banner[data-v-13d101b8]{display:flex;align-items:center;gap:.75rem;padding:1rem;background-color:var(--error-bg);color:var(--error-text);border-radius:.5rem;border:1px solid var(--error-border)}.ws-banner[data-v-13d101b8]{background-color:var(--warning-bg);color:var(--warning-text);border-color:var(--warning-border)}.cache-banner[data-v-13d101b8]{background-color:var(--info-bg);color:var(--info-text);border-color:var(--info-border)}.calendar-header[data-v-13d101b8]{display:flex;align-items:center;gap:1rem;padding:1rem;background-color:var(--surface);border-radius:.5rem}.week-info[data-v-13d101b8]{flex:1;text-align:center}.week-info h3[data-v-13d101b8]{margin:0;font-size:1.125rem;font-weight:600}.timezone[data-v-13d101b8]{font-size:.875rem;color:var(--text-secondary)}.last-sync[data-v-13d101b8]{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.calendar-skeleton[data-v-13d101b8]{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.day-skeleton[data-v-13d101b8]{padding:1rem;background-color:var(--surface);border-radius:.5rem}.skeleton-header[data-v-13d101b8],.skeleton-slot[data-v-13d101b8]{height:1.5rem;background-color:var(--border-color);border-radius:.25rem;margin-bottom:.5rem;animation:pulse-13d101b8 1.5s ease-in-out infinite}@keyframes pulse-13d101b8{0%,to{opacity:1}50%{opacity:.5}}.empty-state[data-v-13d101b8]{text-align:center;padding:3rem 1rem}.empty-icon[data-v-13d101b8]{color:var(--text-muted);margin-bottom:1rem}.empty-state h4[data-v-13d101b8]{margin:0 0 .5rem;font-size:1.25rem}.empty-state p[data-v-13d101b8]{color:var(--text-secondary);margin:0}.calendar-grid[data-v-13d101b8]{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.calendar-day[data-v-13d101b8]{background-color:var(--surface);border-radius:.5rem;overflow:hidden}.day-header[data-v-13d101b8]{padding:.75rem;background-color:var(--surface-muted);border-bottom:1px solid var(--border-color);text-align:center}.day-name[data-v-13d101b8]{display:block;font-weight:600;font-size:.875rem}.day-date[data-v-13d101b8]{display:block;font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.day-slots[data-v-13d101b8]{padding:.5rem;display:flex;flex-direction:column;gap:.5rem;min-height:8rem}.slot-button[data-v-13d101b8]{display:flex;flex-direction:column;align-items:center;padding:.5rem;background-color:var(--surface-muted);border:1px solid var(--border-color);border-radius:.375rem;cursor:pointer;transition:all .2s}.slot-button.slot-available[data-v-13d101b8]:hover{background-color:var(--primary-bg);border-color:var(--primary)}.slot-button.slot-selected[data-v-13d101b8]{background-color:var(--primary);color:#fff;border-color:var(--primary)}.slot-button[data-v-13d101b8]:disabled{opacity:.5;cursor:not-allowed}.slot-time[data-v-13d101b8]{font-weight:600;font-size:.875rem}.slot-duration[data-v-13d101b8]{font-size:.75rem;color:var(--text-secondary)}.slot-selected .slot-duration[data-v-13d101b8]{color:#fffc}.no-slots[data-v-13d101b8]{padding:1rem;text-align:center;font-size:.875rem;color:var(--text-muted)}.selected-slot-info[data-v-13d101b8]{display:flex;align-items:center;justify-content:space-between;padding:1rem;background-color:var(--surface);border-radius:.5rem;border:1px solid var(--primary)}.slot-details[data-v-13d101b8]{display:flex;align-items:center;gap:.5rem;font-weight:500}@media(max-width:768px){.calendar-grid[data-v-13d101b8]{grid-template-columns:repeat(3,1fr)}}@media(max-width:480px){.calendar-grid[data-v-13d101b8]{grid-template-columns:1fr}}.modal-overlay[data-v-8c602f4d]{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-container[data-v-8c602f4d]{background-color:var(--surface);border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;width:100%;max-height:90vh;display:flex;flex-direction:column}.modal-header[data-v-8c602f4d]{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h2[data-v-8c602f4d]{margin:0;font-size:1.25rem;font-weight:600}.modal-body[data-v-8c602f4d]{padding:1.5rem;overflow-y:auto;flex:1}.booking-details[data-v-8c602f4d]{display:flex;flex-direction:column;gap:1rem}.detail-row[data-v-8c602f4d]{display:flex;align-items:center;gap:.5rem;padding:.75rem;background-color:var(--surface-muted);border-radius:.5rem}.detail-row .label[data-v-8c602f4d]{font-weight:500;color:var(--text-secondary)}.detail-row .value[data-v-8c602f4d]{font-weight:600;margin-left:auto}.form-group[data-v-8c602f4d]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-8c602f4d]{font-weight:500;font-size:.875rem}.form-group select[data-v-8c602f4d],.form-group textarea[data-v-8c602f4d]{padding:.75rem;border:1px solid var(--border-color);border-radius:.5rem;background-color:var(--surface);font-family:inherit;font-size:.875rem}.form-group select[data-v-8c602f4d]:focus,.form-group textarea[data-v-8c602f4d]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-bg)}.form-group select[data-v-8c602f4d]:disabled,.form-group textarea[data-v-8c602f4d]:disabled{opacity:.6;cursor:not-allowed}.char-count[data-v-8c602f4d]{font-size:.75rem;color:var(--text-secondary);text-align:right}.error-text[data-v-8c602f4d]{font-size:.75rem;color:var(--error-text)}.info-box[data-v-8c602f4d]{display:flex;align-items:center;gap:.5rem;padding:.75rem;background-color:var(--info-bg);color:var(--info-text);border-radius:.5rem;border:1px solid var(--info-border);font-size:.875rem}.error-banner[data-v-8c602f4d],.conflict-warning[data-v-8c602f4d]{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background-color:var(--error-bg);color:var(--error-text);border-radius:.5rem;border:1px solid var(--error-border);margin-top:1rem}.conflict-warning[data-v-8c602f4d]{background-color:var(--warning-bg);color:var(--warning-text);border-color:var(--warning-border);flex-direction:column}.conflict-content[data-v-8c602f4d]{display:flex;flex-direction:column;gap:.75rem;width:100%}.conflict-content h4[data-v-8c602f4d]{margin:0;font-size:1rem;font-weight:600}.conflict-content p[data-v-8c602f4d]{margin:0;font-size:.875rem}.modal-footer[data-v-8c602f4d]{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid var(--border-color)}.animate-spin[data-v-8c602f4d]{animation:spin-8c602f4d 1s linear infinite}@keyframes spin-8c602f4d{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
