.app-shell[data-v-6e3521b2]{min-height:100vh;background:radial-gradient(circle at 20% 20%,rgba(74,144,226,.08),transparent 30%),radial-gradient(circle at 80% 0%,rgba(255,202,40,.08),transparent 25%),var(--bg)}.layout[data-v-6e3521b2]{display:grid;grid-template-columns:220px 1fr}.sidebar[data-v-6e3521b2]{position:sticky;top:0;height:100vh;padding:16px 12px;background:#0f172a;color:#e2e8f0;display:flex;flex-direction:column;gap:12px;box-shadow:inset -1px 0 #ffffff0f}.brand-mark[data-v-6e3521b2]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#ffffff0a}.brand-text[data-v-6e3521b2]{line-height:1.3}.brand-text .muted[data-v-6e3521b2]{color:#e2e8f0b3;font-size:12px}.logo-dot[data-v-6e3521b2]{width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-dark));box-shadow:0 0 0 6px #4a90e224}.nav-menu[data-v-6e3521b2]{display:flex;flex-direction:column;gap:6px;margin-top:6px}.nav-link[data-v-6e3521b2]{padding:10px 12px;border-radius:12px;color:#e2e8f0;text-decoration:none;border:1px solid transparent;transition:all .15s ease}.nav-link[data-v-6e3521b2]:hover{background:#ffffff14;border-color:#ffffff1f}.nav-link.active[data-v-6e3521b2]{background:linear-gradient(135deg,var(--primary),var(--primary-dark));border-color:transparent;color:#fff;box-shadow:0 12px 24px #357abd40}.logout-link[data-v-6e3521b2]{text-align:left;background:#ef444414;border-color:#ef444433;color:#fecdd3}.side-footer[data-v-6e3521b2]{margin-top:8px;padding:0 12px 12px}.view-shell[data-v-6e3521b2]{max-width:100%;width:100%;margin:0 auto;padding:16px}@media (max-width: 960px){.layout[data-v-6e3521b2]{grid-template-columns:1fr}.sidebar[data-v-6e3521b2]{position:relative;height:auto;flex-direction:row;flex-wrap:wrap}.nav-menu[data-v-6e3521b2]{flex-direction:row;flex-wrap:wrap}.nav-link[data-v-6e3521b2]{padding:8px 10px}}.auth-layout[data-v-73a621b1]{max-width:90%;margin:32px auto 48px;padding:12px 12px 40px;display:grid;grid-template-columns:1.05fr 1fr;gap:32px;align-items:center}.hero[data-v-73a621b1]{padding:32px 12px 32px 32px;align-self:center}.eyebrow[data-v-73a621b1]{color:var(--primary);font-weight:700;letter-spacing:.5px;margin-bottom:8px}.hero h2[data-v-73a621b1]{font-size:2.2rem;margin:6px 0 10px;color:#111827}.sub[data-v-73a621b1]{color:var(--text-sub);font-size:1rem}.auth-card[data-v-73a621b1]{background:#fff;padding:28px;border-radius:18px;box-shadow:0 18px 40px #0000000f;display:flex;flex-direction:column;gap:16px;min-width:60%}.form-group[data-v-73a621b1]{display:flex;flex-direction:column;gap:6px}label[data-v-73a621b1]{font-weight:700;color:#1f2933}input[data-v-73a621b1]{padding:12px 14px;border:1px solid #e5e7eb;border-radius:12px;font-size:.98rem;background:#f9fafb}input[data-v-73a621b1]:focus{outline:2px solid rgba(74,144,226,.25);border-color:var(--primary);background:#fff}.primary-btn[data-v-73a621b1]{width:100%;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none;padding:13px;border-radius:14px;font-weight:800;cursor:pointer;box-shadow:0 12px 24px #357abd3d}.primary-btn[data-v-73a621b1]:disabled{opacity:.7;cursor:not-allowed}.toast[data-v-73a621b1]{padding:10px 12px;border-radius:10px;background:#ecfdf3;color:#166534;border:1px solid #bbf7d0}.toast.error[data-v-73a621b1]{background:#fef2f2;color:#b91c1c;border-color:#fecdd3}@media (max-width: 980px){.auth-layout[data-v-73a621b1]{grid-template-columns:1fr;max-width:90%}.auth-card[data-v-73a621b1]{min-width:0}}.auth-layout[data-v-40bf69ac]{max-width:90%;margin:32px auto 48px;padding:12px 12px 40px;display:grid;grid-template-columns:1.05fr 1fr;gap:32px;align-items:center;min-height:520px}.hero[data-v-40bf69ac]{padding:32px 12px 32px 32px;align-self:center}.eyebrow[data-v-40bf69ac]{color:var(--primary);font-weight:700;letter-spacing:.5px;margin-bottom:8px}.hero h2[data-v-40bf69ac]{font-size:2.2rem;margin:6px 0 10px;color:#111827}.sub[data-v-40bf69ac]{color:var(--text-sub);font-size:1rem}.auth-card[data-v-40bf69ac]{background:#fff;padding:28px;border-radius:18px;box-shadow:0 18px 40px #0000000f;display:flex;flex-direction:column;gap:16px;min-width:60%}.form-group[data-v-40bf69ac]{display:flex;flex-direction:column;gap:6px}.code-row[data-v-40bf69ac]{display:flex;gap:8px}input[data-v-40bf69ac]{padding:12px 14px;border:1px solid #e5e7eb;border-radius:12px;font-size:.98rem;background:#f9fafb;flex:1}input[data-v-40bf69ac]:focus{outline:2px solid rgba(74,144,226,.25);border-color:var(--primary);background:#fff}.ghost-btn[data-v-40bf69ac]{border:1px solid #e5e7eb;background:#f8fafc;border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer;min-width:30%}.primary-btn[data-v-40bf69ac]{width:100%;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none;padding:13px;border-radius:14px;font-weight:800;cursor:pointer;box-shadow:0 12px 24px #357abd3d}.primary-btn[data-v-40bf69ac]:disabled{opacity:.7;cursor:not-allowed}.toast[data-v-40bf69ac]{padding:10px 12px;border-radius:10px;background:#ecfdf3;color:#166534;border:1px solid #bbf7d0}.toast.error[data-v-40bf69ac]{background:#fef2f2;color:#b91c1c;border-color:#fecdd3}@media (max-width: 980px){.auth-layout[data-v-40bf69ac]{grid-template-columns:1fr;max-width:90%}.auth-card[data-v-40bf69ac]{min-width:0;grid-column:1 / -1}}@media (max-width: 640px){.auth-layout[data-v-40bf69ac]{padding:16px 12px 32px}.hero h2[data-v-40bf69ac]{font-size:1.8rem}.auth-card[data-v-40bf69ac]{padding:20px}}.page[data-v-b744704c]{max-width:100%;margin:0 auto;padding:12px 16px 80px}.hero[data-v-b744704c]{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:var(--card-bg);border-radius:16px;box-shadow:0 10px 26px #0000000d;margin-bottom:16px}.eyebrow[data-v-b744704c]{color:var(--primary);font-weight:800;letter-spacing:.5px;margin-bottom:6px}.hero h2[data-v-b744704c]{margin:0;color:#0f172a}.sub[data-v-b744704c]{color:var(--text-sub);margin-top:4px}.pill[data-v-b744704c]{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:#eef2ff;color:#4338ca;border-radius:999px;font-weight:700}.pill .dot[data-v-b744704c]{width:10px;height:10px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 6px #22c55e26}.tabs[data-v-b744704c]{display:flex;gap:8px;margin-bottom:12px}.tab-btn[data-v-b744704c]{padding:10px 14px;border-radius:12px;border:1px solid #e5e7eb;background:#fff;cursor:pointer}.tab-btn.active[data-v-b744704c]{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border-color:transparent;box-shadow:0 8px 16px #2f74ff2e}.card[data-v-b744704c]{background:#fff;border-radius:18px;box-shadow:0 12px 30px #0000000f;padding:18px;margin-bottom:16px}.section-head[data-v-b744704c]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.hint[data-v-b744704c]{color:var(--text-sub);font-size:.9rem;margin:4px 0 0}.hint.error[data-v-b744704c]{color:#b91c1c}.form-row[data-v-b744704c]{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px;margin-bottom:10px}.field[data-v-b744704c]{display:flex;flex-direction:column;gap:6px;font-size:.95rem}.field input[data-v-b744704c],.field textarea[data-v-b744704c],.filters select[data-v-b744704c],.filters input[data-v-b744704c]{padding:10px 12px;border-radius:12px;border:1px solid #e5e7eb;background:#f9fafb}.size-input[data-v-b744704c]{width:120px}.size-field[data-v-b744704c]{display:flex;align-items:center;gap:6px}.size-label[data-v-b744704c]{font-size:.9rem;color:var(--text-sub);white-space:nowrap}.pager[data-v-b744704c]{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:10px}.pager-info[data-v-b744704c]{color:var(--text-sub);font-size:.95rem}.pager button[data-v-b744704c]:disabled{opacity:.6;cursor:not-allowed}.day-rules[data-v-b744704c]{margin:10px 0}.add-slot[data-v-b744704c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;align-items:end;margin:12px 0}.add-slot label[data-v-b744704c]{display:flex;flex-direction:column;gap:4px}.add-slot select[data-v-b744704c],.add-slot input[data-v-b744704c]{padding:10px 12px;border-radius:12px;border:1px solid #e5e7eb;background:#f9fafb}.schedule-list[data-v-b744704c]{display:flex;flex-direction:column;gap:10px;margin:12px 0;padding:0 4px}.week-visual[data-v-b744704c]{display:flex;flex-direction:column;gap:8px;margin:12px 0}.visual-row[data-v-b744704c]{display:grid;grid-template-columns:60px 1fr;align-items:center;gap:8px}.visual-label[data-v-b744704c]{font-weight:800;color:#0f172a}.visual-bar[data-v-b744704c]{position:relative;height:38px;border:1px dashed #e5e7eb;border-radius:10px;background:#f9fafb;overflow:visible}.visual-seg[data-v-b744704c]{top:4px;bottom:4px;background:linear-gradient(135deg,#4a90e240,#4a90e280);border:1px solid #4a90e2;border-radius:8px;padding:4px 8px;font-size:.85rem;color:#0f172a;display:flex;align-items:center;gap:6px;white-space:nowrap;position:absolute;cursor:pointer}.seg-tooltip[data-v-b744704c]{position:absolute;top:-36px;left:50%;transform:translate(-50%);background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:4px 8px;box-shadow:0 8px 16px #00000014;display:flex;align-items:center;gap:6px;opacity:0;transition:opacity .15s ease;pointer-events:none}.visual-seg.active .seg-tooltip[data-v-b744704c]{opacity:1;pointer-events:auto}.visual-seg .small[data-v-b744704c]{font-size:.8rem;color:#b91c1c;padding:0}.actions[data-v-b744704c]{display:flex;gap:8px;align-items:center;margin-top:6px}.week-grid[data-v-b744704c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:10px 0}.day-card[data-v-b744704c]{border:1px solid #e5e7eb;border-radius:12px;padding:10px;background:#fff;cursor:pointer;transition:border .2s ease,box-shadow .2s ease}.day-card.active[data-v-b744704c]{border-color:var(--primary);box-shadow:0 8px 16px #2f74ff1f}.day-title[data-v-b744704c]{font-weight:800;margin-bottom:6px}.ghost-btn[data-v-b744704c]{border:1px solid #e5e7eb;background:#f8fafc;border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer}.primary-btn[data-v-b744704c]{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none;padding:12px 18px;border-radius:14px;font-weight:800;cursor:pointer;box-shadow:0 12px 24px #357abd3d}.slots[data-v-b744704c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}.slot[data-v-b744704c]{border:1px solid #e5e7eb;border-radius:12px;padding:10px;background:#fff;display:flex;justify-content:space-between}.chip[data-v-b744704c]{padding:4px 8px;border-radius:10px;font-size:.85rem;color:#fff}.chip.active[data-v-b744704c]{background:#22c55e}.chip.disabled[data-v-b744704c]{background:#9ca3af}.chip.pending[data-v-b744704c]{background:#f59e0b}.chip.confirmed[data-v-b744704c]{background:#22c55e}.chip.completed[data-v-b744704c]{background:#6366f1}.chip.canceled[data-v-b744704c]{background:#9ca3af}.appt-grid[data-v-b744704c]{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.appt-list[data-v-b744704c],.appt-detail[data-v-b744704c]{background:#f9fafb;border:1px solid #e5e7eb;border-radius:14px;padding:12px;box-shadow:0 8px 18px #0000000f}.detail-head[data-v-b744704c]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.detail-actions[data-v-b744704c]{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.detail-grid[data-v-b744704c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}.detail-grid .kv[data-v-b744704c]{border:1px solid #e5e7eb;border-radius:10px;padding:8px 10px;background:#fff;display:flex;flex-direction:column;gap:6px}.detail-grid .kv span[data-v-b744704c]{font-weight:700;color:#6b7280}.detail-grid .kv code[data-v-b744704c]{font-weight:800;font-size:.95rem}.filters[data-v-b744704c]{display:flex;gap:8px;align-items:center;margin-bottom:10px;flex-wrap:wrap}.appointments[data-v-b744704c]{display:flex;flex-direction:column;gap:10px}.appointments.compact[data-v-b744704c]{gap:6px}.appt-table[data-v-b744704c]{background:#fff;border-radius:12px;border:1px solid #e5e7eb;padding:8px;color:#0f172a;box-shadow:0 6px 16px #00000014;font-size:13px}.appt-row[data-v-b744704c]{display:grid;grid-template-columns:45px 60px 95px 130px 90px 1fr;align-items:center;padding:8px 6px;border-radius:10px;cursor:pointer;transition:background .2s ease,border .2s ease}.appt-row.head[data-v-b744704c]{cursor:default;font-weight:800;color:#6b7280}.appt-row[data-v-b744704c]:not(.head):hover{background:#ffffff0d}.appt-row.active[data-v-b744704c]{border:1px solid #4d89ff;background:transparent;transform:none;box-shadow:none}.appt-row .chip[data-v-b744704c]{display:inline-block;min-width:15%;text-align:center;font-weight:700;font-size:12px}.chip.hollow[data-v-b744704c]{background:#fff;color:#111827;border:1px solid #d8dde5}.appt-row .mono[data-v-b744704c]{font-family:Consolas,monospace;color:#111827}.appt-row .type-cell[data-v-b744704c]{justify-self:center}.appt-row .note[data-v-b744704c]{color:#374151;word-break:break-word;white-space:pre-wrap}.appointment-item[data-v-b744704c]{display:flex;justify-content:space-between;gap:10px;padding:10px;border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb}.appointment-item.compact[data-v-b744704c]{padding:8px 10px}.appointment-item.active[data-v-b744704c]{border-color:#4d89ff;box-shadow:0 6px 14px #4d89ff26}.title-row[data-v-b744704c]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.name[data-v-b744704c]{font-weight:800}.meta[data-v-b744704c]{color:#111827;font-weight:700}.note[data-v-b744704c]{color:var(--text-sub);margin-top:4px}.right[data-v-b744704c]{display:flex;flex-direction:column;gap:6px;min-width:25%}.text-btn[data-v-b744704c]{background:transparent;border:none;color:#2563eb;cursor:pointer}.text-btn.danger[data-v-b744704c]{color:#b91c1c}.modal-backdrop[data-v-b744704c]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:200}.modal[data-v-b744704c]{background:#fff;border-radius:14px;padding:18px 20px;width:min(520px,92vw);display:flex;flex-direction:column;gap:12px}.chat-modal[data-v-b744704c]{width:min(820px,95vw)}.modal input[type=text][data-v-b744704c]{padding:12px 14px;font-size:16px;border-radius:10px;border:1px solid #d8dde5}.bubble-list[data-v-b744704c]{max-height:420px;overflow:auto;padding:16px;background:#f7f9fb;border-radius:12px;margin:12px 0}.bubble-item[data-v-b744704c]{display:flex;flex-direction:column;margin-bottom:12px}.bubble-item.mine[data-v-b744704c]{align-items:flex-end}.bubble-item.other[data-v-b744704c]{align-items:flex-start}.bubble-item .bubble[data-v-b744704c]{max-width:85%;padding:12px 14px;border-radius:14px;background:#e7f0ff;color:#222;word-break:break-word;font-size:16px;line-height:1.4}.bubble-item.mine .bubble[data-v-b744704c]{background:#4d89ff;color:#fff}.bubble-item .ts[data-v-b744704c]{font-size:13px;color:#888;margin-top:4px}.chat-input textarea[data-v-b744704c]{width:100%;min-height:140px;padding:14px;font-size:16px;line-height:1.5;border:1px solid #d8dde5;border-radius:12px;resize:vertical}.kv[data-v-b744704c]{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px dashed #e5e7eb;padding:6px 0}.kv code[data-v-b744704c]{font-family:Consolas,monospace;font-size:.9rem;color:#0f172a;word-break:break-all}@media (max-width: 900px){.form-row[data-v-b744704c]{grid-template-columns:1fr}.appointments[data-v-b744704c]{gap:8px}.appointments.compact[data-v-b744704c]{gap:6px}.appointment-item[data-v-b744704c]{flex-direction:column}.right[data-v-b744704c]{flex-direction:row;flex-wrap:wrap}.appt-grid[data-v-b744704c]{grid-template-columns:1fr}}.sessions-page[data-v-f863b2d4]{padding:12px 0}.sessions-grid[data-v-f863b2d4]{display:grid;grid-template-columns:360px 1fr;gap:12px}.left[data-v-f863b2d4],.right[data-v-f863b2d4]{background:#fff;color:#0f172a;border-radius:14px;padding:12px;border:1px solid #e5e7eb;box-shadow:0 12px 28px #00000014}.head[data-v-f863b2d4]{margin-bottom:10px}.hint[data-v-f863b2d4]{color:#6b7280;font-size:13px}.pager-row[data-v-f863b2d4]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.size-field[data-v-f863b2d4]{display:flex;align-items:center;gap:6px}.size-label[data-v-f863b2d4]{font-size:12px;color:#6b7280;white-space:nowrap}.size-input[data-v-f863b2d4]{width:100px;padding:8px 10px;border-radius:10px;border:1px solid #e5e7eb;background:#f9fafb}.pager[data-v-f863b2d4]{display:flex;align-items:center;gap:8px}.pager-info[data-v-f863b2d4]{color:#6b7280;font-size:12px}.pager button[data-v-f863b2d4]:disabled{opacity:.6;cursor:not-allowed}.list[data-v-f863b2d4]{display:flex;flex-direction:column;gap:10px}.appt-card[data-v-f863b2d4]{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:10px;cursor:pointer;transition:all .15s ease}.appt-card.active[data-v-f863b2d4]{border-color:#4ade80;box-shadow:0 10px 20px #4ade801f}.row-top[data-v-f863b2d4]{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.appt-id[data-v-f863b2d4]{font-weight:800}.meta[data-v-f863b2d4]{margin:4px 0;font-family:Consolas,monospace}.note[data-v-f863b2d4]{color:#4b5563}.chip[data-v-f863b2d4]{padding:4px 8px;border-radius:10px;font-size:12px;font-weight:700;color:#0f172a}.chip.hollow[data-v-f863b2d4]{background:#eef2ff;color:#1f2937;border:1px solid #d8dde5}.chip.confirmed[data-v-f863b2d4]{background:#22c55e}.chip.completed[data-v-f863b2d4]{background:#6366f1;color:#fff}.right[data-v-f863b2d4]{display:flex;flex-direction:column;gap:10px}.session-head[data-v-f863b2d4]{display:flex;justify-content:space-between;gap:12px;align-items:center}.session-title[data-v-f863b2d4]{font-weight:800;display:flex;align-items:center;gap:8px}.session-meta[data-v-f863b2d4]{font-family:Consolas,monospace;font-size:13px;color:#94a3b8}.session-actions[data-v-f863b2d4]{display:flex;gap:8px;justify-content:flex-end;align-items:center}.session-status-text[data-v-f863b2d4]{color:#94a3b8;font-size:13px}.messages[data-v-f863b2d4]{flex:1;min-height:240px;background:#f9fafb;border-radius:12px;border:1px solid #e5e7eb;padding:10px;overflow:auto}.empty[data-v-f863b2d4]{color:#6b7280}.msg-item[data-v-f863b2d4]{display:flex;margin-bottom:8px}.msg-item.mine[data-v-f863b2d4]{justify-content:flex-end}.bubble[data-v-f863b2d4]{max-width:70%;background:#e5e7eb;border-radius:10px;padding:8px 10px}.msg-item.mine .bubble[data-v-f863b2d4]{background:#4ade80}.msg-meta[data-v-f863b2d4]{font-size:12px;color:#6b7280;margin-bottom:4px}.content[data-v-f863b2d4]{color:#111827}.input-row[data-v-f863b2d4]{display:grid;grid-template-columns:1fr 100px;gap:10px;align-items:end}.input-row textarea[data-v-f863b2d4]{width:100%;background:#fff;border:1px solid #e5e7eb;color:#111827;border-radius:10px;padding:10px;min-height:90px}.ghost-btn[data-v-f863b2d4]{border:1px solid #d8dde5;background:#f8fafc;color:#1f2937;padding:8px 12px;border-radius:10px;cursor:pointer;transition:opacity .15s ease,background .15s ease}.ghost-btn[data-v-f863b2d4]:disabled{opacity:.5;cursor:not-allowed}.primary-btn[data-v-f863b2d4]{background:#22c55e;color:#0f172a;border:none;padding:10px 14px;border-radius:12px;font-weight:800;cursor:pointer}.dot[data-v-f863b2d4]{width:10px;height:10px;border-radius:50%;background:#ef4444;display:inline-block}.dot.on[data-v-f863b2d4]{background:#22c55e}:root{--primary: #4a90e2;--primary-dark: #357abd;--success: #22c55e;--warning: #ffca28;--danger: #ef5350;--bg: #f5f7fa;--card-bg: #ffffff;--text-main: #333333;--text-sub: #888888;--shadow: 0 4px 12px rgba(0, 0, 0, .05)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg);color:var(--text-main)}a{color:inherit;text-decoration:none}button{font:inherit}
