.empty-art[data-v-1f184503]{display:block;margin:0 auto}.empty-state[data-v-314adc46]{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-10) var(--space-6);color:var(--color-ink-2)}.empty-state--sm[data-v-314adc46]{padding:var(--space-6) var(--space-3)}.empty-icon[data-v-314adc46]{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--color-surface-sunken);color:var(--color-ink-3);margin-bottom:var(--space-3)}.empty-icon[data-v-314adc46] svg{width:20px;height:20px}.empty-state--sm .empty-icon[data-v-314adc46]{width:36px;height:36px}.empty-state--sm .empty-icon[data-v-314adc46] svg{width:18px;height:18px}.empty-title[data-v-314adc46]{font-size:var(--text-md);font-weight:var(--weight-strong);color:var(--color-ink);margin-top:var(--space-2)}.empty-state--sm .empty-title[data-v-314adc46]{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-ink-2);margin-top:0}.empty-text[data-v-314adc46]{font-size:var(--text-sm);color:var(--color-ink-2);margin-top:var(--space-1);max-width:44ch}.empty-action[data-v-314adc46]{margin-top:var(--space-4)}.glyph[data-v-48aa12de]{flex-shrink:0;display:inline-block;vertical-align:middle}.glyph--pending[data-v-48aa12de]{color:var(--state-pending-fg)}.glyph--booked[data-v-48aa12de]{color:#b7791f}.glyph--confirmed[data-v-48aa12de]{color:var(--state-confirmed-fg)}.glyph--done[data-v-48aa12de]{color:var(--state-done-fg)}.glyph--noshow[data-v-48aa12de]{color:var(--state-noshow-fg)}.glyph--cancelled[data-v-48aa12de]{color:var(--state-cancelled-fg)}.glyph--urgent[data-v-48aa12de]{color:var(--state-urgent-fg)}.glyph-pulse[data-v-48aa12de]{transform-origin:8px 8px;animation:glyph-pulse-48aa12de 1.8s var(--ease-out) infinite}@keyframes glyph-pulse-48aa12de{0%{transform:scale(.6);opacity:.45}to{transform:scale(1.25);opacity:0}}@media(prefers-reduced-motion:reduce){.glyph-pulse[data-v-48aa12de]{animation:none}}.dashboard-header[data-v-b39174cd]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.stat-icon--pending[data-v-b39174cd]{background:var(--state-pending-bg);color:var(--state-pending-fg)}.stat-icon--confirmed[data-v-b39174cd]{background:var(--state-confirmed-bg);color:var(--state-confirmed-fg)}.stat-icon--done[data-v-b39174cd]{background:var(--state-done-bg);color:var(--state-done-fg)}.stat-icon--noshow[data-v-b39174cd]{background:var(--state-noshow-bg);color:var(--state-noshow-fg)}.card-heading[data-v-b39174cd]{font-size:var(--text-md);font-weight:var(--weight-strong);color:var(--color-ink)}.card-heading--spaced[data-v-b39174cd]{margin-bottom:var(--space-4)}.card-hint[data-v-b39174cd]{font-size:var(--text-xs);color:var(--color-ink-3);margin-top:2px;margin-bottom:var(--space-4)}.upcoming-card[data-v-b39174cd]{margin-bottom:var(--space-5)}.upcoming-chart[data-v-b39174cd]{display:flex;gap:var(--space-2);align-items:flex-end;height:120px}.upcoming-day[data-v-b39174cd]{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.upcoming-count[data-v-b39174cd]{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-ink-2);font-variant-numeric:tabular-nums}.upcoming-bar[data-v-b39174cd]{width:100%;border-radius:4px 4px 0 0;background:var(--color-brand)}.upcoming-bar--empty[data-v-b39174cd]{background:var(--color-border)}.upcoming-label[data-v-b39174cd]{font-size:var(--text-xs);color:var(--color-ink-3)}.dist-row[data-v-b39174cd]{margin-bottom:var(--space-3)}.dist-head[data-v-b39174cd]{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-sm);margin-bottom:6px}.dist-label[data-v-b39174cd]{display:inline-flex;align-items:center;gap:6px;color:var(--color-ink-2);font-weight:var(--weight-medium)}.dist-pct[data-v-b39174cd]{color:var(--color-ink);font-weight:var(--weight-strong);font-variant-numeric:tabular-nums}.metric-row[data-v-b39174cd]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0}.metric-icon[data-v-b39174cd]{width:18px;height:18px;color:var(--color-ink-3);flex-shrink:0}.metric-label[data-v-b39174cd]{flex:1;font-size:var(--text-sm);color:var(--color-ink-2)}.metric-value[data-v-b39174cd]{font-size:var(--text-md);font-weight:var(--weight-strong);color:var(--color-ink);font-variant-numeric:tabular-nums}.side-col[data-v-b39174cd]{display:flex;flex-direction:column;gap:var(--space-4)}.wa-row[data-v-b39174cd]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:10px 0;border-bottom:1px solid var(--color-border)}.wa-row[data-v-b39174cd]:last-child{border-bottom:none}.wa-label[data-v-b39174cd]{font-size:var(--text-sm);color:var(--color-ink-2)}.wa-value[data-v-b39174cd]{font-size:var(--text-lg);font-weight:var(--weight-strong);color:var(--color-ink);font-variant-numeric:tabular-nums}.quick-actions[data-v-b39174cd]{display:flex;flex-direction:column;gap:var(--space-2)}.quick-actions .ui-btn[data-v-b39174cd]{width:100%;justify-content:center}.quick-count[data-v-b39174cd]{color:var(--color-ink-2)}.dashboard-main-grid[data-v-b39174cd]{display:grid;grid-template-columns:1fr 340px;gap:var(--space-5)}.dashboard-bottom-grid[data-v-b39174cd]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}[data-v-b39174cd] .stats-grid{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:1200px){.dashboard-main-grid[data-v-b39174cd]{grid-template-columns:1fr}[data-v-b39174cd] .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){[data-v-b39174cd] .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.dashboard-header[data-v-b39174cd]{flex-direction:column;align-items:stretch}.dashboard-filter-tabs[data-v-b39174cd]{width:100%}.dashboard-filter-tabs .pill-tab[data-v-b39174cd]{flex:1 1 0;min-width:0;text-align:center;padding-left:10px;padding-right:10px}.dashboard-bottom-grid[data-v-b39174cd]{grid-template-columns:1fr}[data-v-b39174cd] .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.data-notice[data-v-b746c3fb]{align-items:center;flex-wrap:wrap}.data-notice-text[data-v-b746c3fb]{flex:1 1 24ch;margin:0}.data-notice-btn[data-v-b746c3fb]{flex-shrink:0}.data-notice-btn[data-v-b746c3fb] svg{width:16px;height:16px;margin:0}.hoy[data-v-f3e3ea4b]{padding:var(--space-8) var(--space-8) var(--space-10);max-width:1360px}.hoy-head[data-v-f3e3ea4b]{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap;margin-bottom:var(--space-6)}.hoy-title[data-v-f3e3ea4b]{font-size:var(--text-2xl);line-height:var(--leading-tight);letter-spacing:-.025em;color:var(--color-ink)}.hoy-summary[data-v-f3e3ea4b]{margin-top:var(--space-2);display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);color:var(--color-ink-2)}.summary-part[data-v-f3e3ea4b]{display:inline-flex;align-items:center;gap:6px}.summary-part strong[data-v-f3e3ea4b]{color:var(--color-ink);font-weight:var(--weight-strong)}.next[data-v-f3e3ea4b]{display:flex;flex-direction:column;gap:2px;padding-left:var(--space-4);border-left:1px solid var(--color-border-strong)}.next-label[data-v-f3e3ea4b]{font-size:var(--text-xs);color:var(--color-ink-3);font-weight:var(--weight-medium)}.next-body[data-v-f3e3ea4b]{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.next-time[data-v-f3e3ea4b]{font-size:var(--text-lg);color:var(--color-brand-ink)}.next-name[data-v-f3e3ea4b]{font-weight:var(--weight-strong);color:var(--color-ink)}.next-meta[data-v-f3e3ea4b]{color:var(--color-ink-2);font-size:var(--text-sm)}.hoy-grid[data-v-f3e3ea4b]{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--space-6);align-items:start}.sheet[data-v-f3e3ea4b]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.group-head[data-v-f3e3ea4b]{display:flex;align-items:center;gap:var(--space-2);padding:10px var(--space-5);background:var(--color-surface-sunken);border-bottom:1px solid var(--color-border);font-size:var(--text-sm);color:var(--color-ink)}.group-head[data-v-f3e3ea4b]:not(:first-child){border-top:1px solid var(--color-border)}.group-count[data-v-f3e3ea4b]{margin-left:auto;min-width:26px;padding:1px 8px;border-radius:var(--radius-pill);text-align:center;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-ink-2);font-size:var(--text-xs);font-weight:var(--weight-strong)}.rows[data-v-f3e3ea4b]{list-style:none}.row[data-v-f3e3ea4b]{display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;align-items:center;gap:var(--space-4);min-height:64px;padding:var(--space-2) var(--space-5);transition:background var(--duration-fast) var(--ease-out)}.row+.row[data-v-f3e3ea4b]{border-top:1px solid var(--color-border)}.row[data-v-f3e3ea4b]:hover{background:var(--color-row-hover)}.row--more[data-v-f3e3ea4b]{display:flex;min-height:52px}.lead[data-v-f3e3ea4b]{justify-self:start}.avatar-initials[data-v-f3e3ea4b]{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--color-brand-soft);color:var(--color-brand-ink);font-weight:var(--weight-strong);font-size:var(--text-xs)}.row-time[data-v-f3e3ea4b]{font-size:var(--text-md);color:var(--color-ink)}.row-main[data-v-f3e3ea4b]{min-width:0}.row-name[data-v-f3e3ea4b]{font-weight:var(--weight-strong);color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-detail[data-v-f3e3ea4b]{margin-top:2px;color:var(--color-ink-2);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.taken[data-v-f3e3ea4b]{color:var(--state-confirmed-fg);font-weight:var(--weight-medium)}.row-detail .num[data-v-f3e3ea4b]{white-space:nowrap}.row-meta[data-v-f3e3ea4b]{color:var(--color-ink-3);font-size:var(--text-sm);white-space:nowrap;font-variant-numeric:tabular-nums}.row-actions[data-v-f3e3ea4b]{display:flex;gap:var(--space-1);justify-content:flex-end}.all-clear[data-v-f3e3ea4b]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border);color:var(--color-ink-2);font-size:var(--text-sm)}.empty[data-v-f3e3ea4b]{padding:var(--space-10) var(--space-6);text-align:center;color:var(--color-ink-2)}.worklist-error[data-v-f3e3ea4b]{padding:var(--space-4)}.worklist-error .alert[data-v-f3e3ea4b]{margin-bottom:0}.empty-title[data-v-f3e3ea4b]{margin-top:var(--space-4);font-size:var(--text-lg);color:var(--color-ink);font-weight:var(--weight-strong)}.empty-text[data-v-f3e3ea4b]{margin:var(--space-2) auto 0;max-width:46ch}.agenda[data-v-f3e3ea4b]{position:sticky;top:calc(64px + var(--space-6));padding:var(--space-4) var(--space-4) var(--space-5)}.agenda-title[data-v-f3e3ea4b]{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-md);padding:0 var(--space-1) var(--space-3)}.agenda-empty[data-v-f3e3ea4b]{color:var(--color-ink-2);font-size:var(--text-sm);padding:var(--space-2) var(--space-1)}.rail[data-v-f3e3ea4b]{list-style:none;position:relative}.rail[data-v-f3e3ea4b]:before{content:"";position:absolute;left:52px;top:4px;bottom:4px;width:1px;background:var(--color-border)}.rail-item[data-v-f3e3ea4b]{display:grid;grid-template-columns:44px minmax(0,1fr);gap:var(--space-4);align-items:start;padding:3px 0}.rail-time[data-v-f3e3ea4b]{font-size:var(--text-sm);color:var(--color-ink);padding-top:12px;text-align:right}.rail-block[data-v-f3e3ea4b]{display:flex;align-items:flex-start;gap:var(--space-2);width:100%;min-height:var(--target-min);padding:10px var(--space-3);border:0;border-radius:var(--radius-sm);text-align:left;font:inherit;cursor:pointer;background:var(--color-surface-sunken);transition:filter var(--duration-fast) var(--ease-out)}.rail-block[data-v-f3e3ea4b]:hover{filter:brightness(.97)}.rail-block[data-v-f3e3ea4b] .glyph{margin-top:2px}.rail-block[data-state=booked][data-v-f3e3ea4b]{background:var(--state-booked-bg)}.rail-block[data-state=scheduled][data-v-f3e3ea4b]{background:var(--state-confirmed-bg)}.rail-block[data-state=completed][data-v-f3e3ea4b]{background:var(--state-done-bg)}.rail-block[data-state=no-show][data-v-f3e3ea4b]{background:var(--state-noshow-bg)}.rail-block[data-state=cancelled][data-v-f3e3ea4b]{background:var(--state-cancelled-bg)}.rail-block[data-state=cancelled] .rail-name[data-v-f3e3ea4b]{text-decoration:line-through}.rail-text[data-v-f3e3ea4b]{display:flex;flex-direction:column;min-width:0}.rail-name[data-v-f3e3ea4b]{font-weight:var(--weight-strong);color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-service[data-v-f3e3ea4b]{font-size:var(--text-xs);color:var(--color-ink-2)}.rail-item.is-past .rail-block[data-v-f3e3ea4b]{background:var(--color-surface-sunken)}.rail-now[data-v-f3e3ea4b]{display:grid;grid-template-columns:44px minmax(0,1fr);gap:var(--space-4);align-items:center;color:var(--color-brand-ink);font-size:var(--text-xs);margin:4px 0;position:relative}.rail-now span[data-v-f3e3ea4b]{text-align:right;font-weight:var(--weight-strong)}.rail-now[data-v-f3e3ea4b]:after{content:"";height:2px;background:var(--color-brand);border-radius:2px}.rail-now[data-v-f3e3ea4b]:before{content:"";position:absolute;left:48px;width:9px;height:9px;border-radius:50%;background:var(--color-brand)}@media(max-width:1100px){.hoy-grid[data-v-f3e3ea4b]{grid-template-columns:minmax(0,1fr)}.agenda[data-v-f3e3ea4b]{position:static}}@media(max-width:640px){.hoy[data-v-f3e3ea4b]{padding:var(--space-4) var(--space-4) var(--space-8)}.hoy-title[data-v-f3e3ea4b]{font-size:var(--text-xl)}.next[data-v-f3e3ea4b]{border-left:0;padding-left:0;padding-top:var(--space-3);border-top:1px solid var(--color-border-strong);width:100%}.group-head[data-v-f3e3ea4b]{padding:10px var(--space-4)}.row[data-v-f3e3ea4b]{grid-template-columns:44px minmax(0,1fr) auto;padding:var(--space-3) var(--space-4);row-gap:var(--space-2)}.row-actions[data-v-f3e3ea4b]{grid-column:1 / -1}.row-actions .ui-btn[data-v-f3e3ea4b]:not(.ui-btn--icon),.row-actions .segmented[data-v-f3e3ea4b]{flex:1}.segmented button[data-v-f3e3ea4b]{flex:1;justify-content:center;min-height:var(--target-min)}.row-detail[data-v-f3e3ea4b]{white-space:normal}}.pipeline-topbar[data-v-426af774]{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:var(--space-6);gap:var(--space-3)}.pipeline-topbar .page-header[data-v-426af774]{margin-bottom:0}.pipeline-actions[data-v-426af774]{display:flex;gap:var(--space-2)}.kanban-title[data-v-426af774]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.stale-tag[data-v-426af774]{background:var(--state-booked-bg);color:var(--state-booked-fg);font-variant-numeric:tabular-nums;flex-shrink:0}.tag[data-v-426af774] svg,.tag svg[data-v-426af774]{width:12px;height:12px}.num[data-v-426af774]{font-variant-numeric:tabular-nums}.card-ident[data-v-426af774]{flex:1;min-width:0}.patient-name[data-v-426af774]{display:flex;align-items:center;gap:var(--space-1)}.hot-icon[data-v-426af774]{width:14px;height:14px;color:var(--state-urgent-fg);flex-shrink:0}.appointment-when[data-v-426af774]{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-ink-2);margin:6px 0 2px;font-variant-numeric:tabular-nums}.appointment-when svg[data-v-426af774]{width:14px;height:14px;color:var(--color-ink-3)}.appointment-doctor[data-v-426af774]{display:block;margin-top:0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointment-doctor svg[data-v-426af774]{vertical-align:-2px;margin-right:6px}.card-actions[data-v-426af774]{margin-left:auto;display:inline-flex;gap:2px}.card-btn[data-v-426af774]{width:40px;min-height:40px;color:var(--color-ink-3)}@media(pointer:coarse){.card-btn[data-v-426af774]{width:var(--target-min);min-height:var(--target-min)}}.pipeline-view .kanban-col.drop-target[data-v-426af774]{border-color:var(--color-brand);background:var(--color-brand-soft)}.pipeline-view .patient-card[data-v-426af774]{cursor:grab}.column-more[data-v-426af774]{width:100%;justify-content:center}.pipeline-view .patient-card.is-hot[data-v-426af774]{border-color:var(--color-border-strong)}.pipeline-view .patient-card.is-dragging[data-v-426af774],.pipeline-view .patient-card.is-moving[data-v-426af774]{opacity:.55}.drop-hint[data-v-426af774]{border:1px dashed var(--color-brand);color:var(--color-brand-ink);background:var(--color-surface);border-radius:var(--radius-sm);padding:var(--space-2) 10px;font-size:var(--text-xs);font-weight:var(--weight-medium);text-align:center}@media(min-width:900px){.pipeline-view .kanban[data-v-426af774]{display:grid;grid-template-columns:repeat(var(--kanban-cols, 5),minmax(240px,1fr));overflow-x:auto;gap:var(--space-3)}.pipeline-view .kanban-col[data-v-426af774]{min-width:0;width:auto}.pipeline-view .kanban-header[data-v-426af774]{padding:var(--space-3)}}@media(max-width:900px){.pipeline-topbar[data-v-426af774]{flex-direction:column;align-items:stretch}.pipeline-actions[data-v-426af774]{width:100%;flex-wrap:wrap}.pipeline-actions .ui-btn[data-v-426af774]{flex:1 1 auto}}@media(max-width:640px){.pipeline-view .kanban[data-v-426af774]{display:grid;grid-template-columns:1fr;overflow-x:visible;gap:var(--space-3)}.pipeline-view .kanban-col[data-v-426af774]{width:100%;min-width:0}.pipeline-view .kanban-body[data-v-426af774]{max-height:none;overflow:visible}.pipeline-actions[data-v-426af774]{flex-direction:column}.pipeline-actions .ui-btn[data-v-426af774]{width:100%}.pipeline-actions .ui-btn--primary[data-v-426af774]{display:none}}.sidebar-toggle[data-v-8fb79cf8]{margin-left:auto;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-ink-3);cursor:pointer}.sidebar-toggle[data-v-8fb79cf8]:hover{background:var(--color-surface-sunken);color:var(--color-ink)}.sidebar-toggle svg[data-v-8fb79cf8]{width:18px;height:18px}.sidebar.collapsed .brand[data-v-8fb79cf8]{justify-content:center;padding:16px 8px;flex-direction:column;gap:6px}.sidebar.collapsed .sidebar-toggle[data-v-8fb79cf8]{margin-left:0}.sidebar.collapsed .nav-item[data-v-8fb79cf8]{justify-content:center;padding:0}.nav-admin[data-v-8fb79cf8]{margin-top:var(--space-4)}.user-avatar[data-v-8fb79cf8]{background:var(--color-brand-soft);color:var(--color-brand-ink)}.search-results[data-v-a69f23b1]{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;margin:0;padding:var(--space-1);list-style:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay)}.search-result[data-v-a69f23b1]{display:flex;align-items:center;gap:var(--space-3);min-height:var(--target-min);padding:var(--space-2);border-radius:var(--radius-sm);cursor:pointer}.search-result.active[data-v-a69f23b1]{background:var(--color-surface-sunken)}.result-avatar[data-v-a69f23b1]{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--weight-strong)}.result-text[data-v-a69f23b1]{display:flex;flex-direction:column;min-width:0;flex:1}.result-name[data-v-a69f23b1]{font-weight:var(--weight-medium);color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-phone[data-v-a69f23b1]{font-size:var(--text-sm);color:var(--color-ink-3);font-variant-numeric:tabular-nums}.topbar-error[data-v-a69f23b1]{display:inline-flex;align-items:center;gap:6px;padding:0 var(--space-3);min-height:32px;border-radius:var(--radius-pill);background:var(--state-noshow-bg);color:var(--state-noshow-fg);font-size:var(--text-sm);font-weight:var(--weight-medium);white-space:nowrap}.topbar-error svg[data-v-a69f23b1]{width:16px;height:16px}@media(max-width:640px){.topbar-error[data-v-a69f23b1]{font-size:0;gap:0;padding:0 var(--space-2)}.topbar-error svg[data-v-a69f23b1]{width:18px;height:18px}}.contacts-topbar[data-v-54cb68cc]{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3)}.contacts-filters-card[data-v-54cb68cc]{margin-bottom:var(--space-4)}.contacts-filters-row[data-v-54cb68cc]{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center}.contacts-sort-controls[data-v-54cb68cc]{display:flex;gap:var(--space-2);align-items:center;margin-left:auto}.sort-label[data-v-54cb68cc]{font-size:var(--text-sm);color:var(--color-ink-2)}.contacts-sort-controls .sort-dir[data-v-54cb68cc]{width:16px;height:16px;color:var(--color-ink-3)}.contacts-table-wrap table[data-v-54cb68cc]{min-width:720px}.contact-row[data-v-54cb68cc]{cursor:pointer}.more-row td[data-v-54cb68cc]{text-align:center;padding:var(--space-3)}.contact-row[data-v-54cb68cc]:focus-visible{outline:2px solid var(--color-brand);outline-offset:-2px;box-shadow:none}.patient-cell[data-v-54cb68cc]{display:flex;align-items:center;gap:10px}.patient-cell-name[data-v-54cb68cc]{font-weight:var(--weight-strong);font-size:var(--text-md);color:var(--color-ink);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.patient-cell-need[data-v-54cb68cc]{font-size:var(--text-xs);color:var(--color-ink-3)}.avatar-small[data-v-54cb68cc]{width:36px;height:36px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--weight-strong)}.cell-muted[data-v-54cb68cc]{font-size:var(--text-sm);color:var(--color-ink-2)}.cell-num[data-v-54cb68cc]{font-variant-numeric:tabular-nums}.interest-cell[data-v-54cb68cc]{display:flex;align-items:center;gap:var(--space-2);min-width:80px}.interest-track[data-v-54cb68cc]{flex:1;height:6px;background:var(--color-surface-sunken);border-radius:99px;overflow:hidden}.interest-track-fill[data-v-54cb68cc]{height:100%;border-radius:99px}.interest-value[data-v-54cb68cc]{font-size:var(--text-xs);font-weight:var(--weight-strong);font-variant-numeric:tabular-nums}.row-actions[data-v-54cb68cc]{display:flex;gap:var(--space-1)}.empty-row[data-v-54cb68cc]:hover{background:transparent}.empty-row td[data-v-54cb68cc]{padding:0}@media(max-width:900px){.contacts-sort-controls[data-v-54cb68cc]{width:100%;margin-left:0;justify-content:flex-start;flex-wrap:wrap}}@media(max-width:640px){.contacts-topbar[data-v-54cb68cc]{flex-direction:column;align-items:stretch}.contacts-topbar .ui-btn[data-v-54cb68cc]{width:100%}.contacts-sort-controls .ui-btn[data-v-54cb68cc]{flex:1 1 calc(50% - 4px)}.sort-label[data-v-54cb68cc]{width:100%}.contacts-table-wrap[data-v-54cb68cc]{border:0;background:transparent;overflow:visible}.contacts-table-wrap table[data-v-54cb68cc]{min-width:0}.contacts-table-wrap thead[data-v-54cb68cc]{display:none}.contacts-table-wrap tbody[data-v-54cb68cc]{display:flex;flex-direction:column;gap:var(--space-2)}.contacts-table-wrap .contact-row[data-v-54cb68cc]{display:grid;grid-template-columns:auto auto 1fr;align-items:center;column-gap:var(--space-3);row-gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.contacts-table-wrap .contact-row td[data-v-54cb68cc]{padding:0}.contacts-table-wrap .cell-patient[data-v-54cb68cc]{grid-column:1 / 3;grid-row:1;min-width:0}.contacts-table-wrap .cell-actions[data-v-54cb68cc]{grid-column:3;grid-row:1;justify-self:end}.contacts-table-wrap .cell-phone[data-v-54cb68cc]{grid-column:1;grid-row:2;font-size:var(--text-sm);white-space:nowrap}.contacts-table-wrap .cell-state[data-v-54cb68cc]{grid-column:2;grid-row:2}.contacts-table-wrap .cell-when[data-v-54cb68cc]{grid-column:3;grid-row:2;justify-self:end;font-size:var(--text-sm);white-space:nowrap}.contacts-table-wrap .cell-interest[data-v-54cb68cc]{display:none}.contacts-table-wrap .empty-row[data-v-54cb68cc]{display:block;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.contacts-table-wrap .empty-row td[data-v-54cb68cc]{display:block}}.users-topbar[data-v-77d243d3]{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3)}.users-table-wrap table[data-v-77d243d3]{min-width:640px}.user-cell[data-v-77d243d3]{display:flex;align-items:center;gap:10px}.user-name[data-v-77d243d3]{font-weight:var(--weight-strong);color:var(--color-ink)}.user-id[data-v-77d243d3]{font-size:var(--text-xs);color:var(--color-ink-3);font-variant-numeric:tabular-nums}.avatar-small[data-v-77d243d3]{width:36px;height:36px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--weight-strong)}.cell-muted[data-v-77d243d3]{font-size:var(--text-sm);color:var(--color-ink-2)}.action-cell[data-v-77d243d3]{display:flex;align-items:center;gap:var(--space-1)}.btn-delete[data-v-77d243d3]:hover:not(:disabled){background:var(--state-noshow-bg);color:var(--state-noshow-fg)}.self-note[data-v-77d243d3]{font-size:var(--text-sm);color:var(--color-ink-3);padding:0 var(--space-3)}.empty-row[data-v-77d243d3]:hover{background:transparent}.empty-row td[data-v-77d243d3]{padding:0}.users-modal[data-v-77d243d3]{max-width:440px}.modal-close[data-v-77d243d3]{margin-left:auto}.modal-fields[data-v-77d243d3]{display:flex;flex-direction:column;gap:14px}.btn-spinner[data-v-77d243d3]{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:spin 1s linear infinite}.field-hint[data-v-77d243d3]{color:var(--color-ink-3);font-size:var(--text-xs)}@media(max-width:640px){.users-topbar[data-v-77d243d3]{flex-direction:column;align-items:stretch}.users-topbar .ui-btn[data-v-77d243d3]{width:100%}}.time-field[data-v-943b7e8d]{display:inline-flex;align-items:center;gap:2px;min-height:var(--target-min);padding:0 var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);font-variant-numeric:tabular-nums;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.time-field[data-v-943b7e8d]:focus-within{border-color:var(--color-brand);box-shadow:var(--focus-ring)}@media(hover:hover)and (pointer:fine){.time-field[data-v-943b7e8d]:hover{border-color:var(--color-ink-3)}}.time-icon[data-v-943b7e8d]{width:16px;height:16px;color:var(--color-ink-3);margin-right:var(--space-1);flex-shrink:0}.time-part[data-v-943b7e8d]{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;background:transparent;outline:none;font:inherit;font-size:var(--text-md);color:var(--color-ink);text-align:center;padding:var(--space-1) 2px;border-radius:4px;cursor:pointer;min-width:2.2ch}.time-part[data-v-943b7e8d]:focus-visible{background:var(--color-brand-soft);color:var(--color-brand-ink)}@media(hover:hover)and (pointer:fine){.time-part[data-v-943b7e8d]:hover{background:var(--color-surface-sunken)}}.time-colon[data-v-943b7e8d]{color:var(--color-ink-2)}.schedule[data-v-ef925aca]{border:0;padding:0;margin:0;min-width:0}.schedule-hint[data-v-ef925aca]{font-size:var(--text-sm);color:var(--color-ink-2);margin:var(--space-1) 0 var(--space-3)}.schedule-day[data-v-ef925aca]{display:grid;grid-template-columns:132px 1fr;align-items:start;gap:var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--color-border)}.day-toggle[data-v-ef925aca]{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--target-min);cursor:pointer}.day-toggle input[data-v-ef925aca]{width:18px;height:18px;accent-color:var(--color-brand);cursor:pointer}.day-name[data-v-ef925aca]{font-weight:var(--weight-medium);color:var(--color-ink)}.is-closed .day-name[data-v-ef925aca]{color:var(--color-ink-2)}.day-closed[data-v-ef925aca]{align-self:center;font-size:var(--text-sm);color:var(--color-ink-3)}.day-ranges[data-v-ef925aca]{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.range[data-v-ef925aca]{display:flex;align-items:center;gap:var(--space-2)}.range-sep[data-v-ef925aca]{font-size:var(--text-sm);color:var(--color-ink-2)}.day-actions[data-v-ef925aca]{display:flex;flex-wrap:wrap;gap:var(--space-1)}@media(max-width:640px){.schedule-day[data-v-ef925aca]{grid-template-columns:1fr auto;gap:var(--space-1)}.day-ranges[data-v-ef925aca]{grid-column:1 / -1}.range[data-v-ef925aca] .time-field{flex:1 1 0;justify-content:center;min-width:0}}.doctors-modal[data-v-2dc4dedf]{max-width:600px;max-height:calc(100dvh - 48px);display:flex;flex-direction:column}.doctors-modal .modal-body[data-v-2dc4dedf]{overflow-y:auto}.modal-close[data-v-2dc4dedf]{margin-left:auto}.modal-title[data-v-2dc4dedf]{margin:0}.doctor-form[data-v-2dc4dedf]{display:flex;flex-direction:column;gap:var(--space-5)}.field-hint[data-v-2dc4dedf]{color:var(--color-ink-2);font-size:var(--text-xs)}.services[data-v-2dc4dedf]{border:0;padding:0;margin:0;min-width:0}.service-options[data-v-2dc4dedf]{display:flex;flex-wrap:wrap;gap:var(--space-2)}.service-chip[data-v-2dc4dedf]{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--color-border-strong);background:var(--color-surface);font:inherit;font-size:var(--text-sm);color:var(--color-ink);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform .16s var(--ease-out)}.service-chip[data-v-2dc4dedf] svg{width:14px;height:14px}.service-chip[aria-pressed=true][data-v-2dc4dedf]{background:var(--color-brand-soft);border-color:var(--color-brand);color:var(--color-brand-ink)}.service-chip[data-v-2dc4dedf]:focus-visible{outline:none;box-shadow:var(--focus-ring)}.service-chip[data-v-2dc4dedf]:active{transform:scale(.97)}@media(hover:hover)and (pointer:fine){.service-chip[data-v-2dc4dedf]:hover{border-color:var(--color-ink-3)}}.service-add[data-v-2dc4dedf]{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.service-add .form-input[data-v-2dc4dedf]{flex:1 1 auto;min-width:0}.form-error[data-v-2dc4dedf]{margin:0 var(--space-6) var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--state-noshow-bg);color:var(--state-noshow-fg);font-size:var(--text-sm)}.btn-spinner[data-v-2dc4dedf]{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:spin 1s linear infinite}@media(max-width:900px){.doctors-modal[data-v-2dc4dedf]{max-height:calc(100dvh - 24px)}}@media(max-width:640px){.form-error[data-v-2dc4dedf]{margin:0 14px var(--space-3)}}.doctors-topbar[data-v-323c35aa]{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3)}.doctors-table-wrap table[data-v-323c35aa]{min-width:720px}.doctor-cell[data-v-323c35aa]{display:flex;align-items:center;gap:10px}.doctor-name[data-v-323c35aa]{font-weight:var(--weight-strong);color:var(--color-ink)}.avatar-small[data-v-323c35aa]{width:36px;height:36px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--weight-strong)}.service-tags[data-v-323c35aa]{display:flex;flex-wrap:wrap;gap:6px}.cell-muted[data-v-323c35aa]{font-size:var(--text-sm);color:var(--color-ink-2)}.schedule-lines[data-v-323c35aa]{margin:0;display:flex;flex-direction:column;gap:2px;font-size:var(--text-sm)}.schedule-line[data-v-323c35aa]{display:flex;gap:var(--space-2)}.schedule-line dt[data-v-323c35aa]{min-width:76px;color:var(--color-ink-2)}.schedule-line dd[data-v-323c35aa]{margin:0;color:var(--color-ink);font-variant-numeric:tabular-nums}.is-inactive .doctor-name[data-v-323c35aa],.is-inactive .schedule-line dd[data-v-323c35aa]{color:var(--color-ink-2)}.action-cell[data-v-323c35aa]{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-1)}.empty-row[data-v-323c35aa]:hover{background:transparent}.empty-row td[data-v-323c35aa]{padding:0}@media(max-width:640px){.doctors-topbar[data-v-323c35aa]{flex-direction:column;align-items:stretch}.doctors-topbar .ui-btn[data-v-323c35aa]{width:100%}.doctors-table-wrap[data-v-323c35aa]{border:0;background:transparent;overflow:visible}.doctors-table-wrap table[data-v-323c35aa]{min-width:0}.doctors-table-wrap thead[data-v-323c35aa]{display:none}.doctors-table-wrap tbody[data-v-323c35aa]{display:flex;flex-direction:column;gap:var(--space-2)}.doctors-table-wrap .doctor-row[data-v-323c35aa]{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:var(--space-3);row-gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.doctors-table-wrap .doctor-row td[data-v-323c35aa]{padding:0;border:0}.doctors-table-wrap .cell-doctor[data-v-323c35aa]{grid-column:1;grid-row:1;min-width:0}.doctors-table-wrap .cell-actions[data-v-323c35aa]{grid-column:2;grid-row:1}.doctors-table-wrap .cell-services[data-v-323c35aa]{grid-column:1;grid-row:2}.doctors-table-wrap .cell-state[data-v-323c35aa]{grid-column:2;grid-row:2;align-self:start;justify-self:end}.doctors-table-wrap .cell-schedule[data-v-323c35aa]{grid-column:1 / -1;grid-row:3}.schedule-line dt[data-v-323c35aa]{min-width:64px}.doctors-table-wrap .empty-row[data-v-323c35aa]{display:block;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.doctors-table-wrap .empty-row td[data-v-323c35aa]{display:block}}.wa-text[data-v-a1f79624]{white-space:pre-wrap}.wa-bold[data-v-a1f79624]{font-weight:600}.wa-italic[data-v-a1f79624]{font-style:italic}.wa-strike[data-v-a1f79624]{text-decoration:line-through}.handoff[data-v-7b583275]{display:flex;flex-direction:column;gap:10px}.handoff-state[data-v-7b583275]{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-medium);padding:8px 10px;border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-ink-2)}.handoff-state svg[data-v-7b583275],.handoff-warning svg[data-v-7b583275]{width:16px;height:16px;flex-shrink:0}.state-escalated[data-v-7b583275]{background:var(--state-urgent-bg);color:var(--state-urgent-fg)}.state-mine[data-v-7b583275]{background:var(--state-confirmed-bg);color:var(--state-confirmed-fg)}.state-other[data-v-7b583275]{background:var(--state-cancelled-bg);color:var(--state-cancelled-fg)}.handoff-warning[data-v-7b583275],.handoff-error[data-v-7b583275]{font-size:var(--text-sm);line-height:1.5;padding:8px 10px;border-radius:var(--radius-sm)}.handoff-warning[data-v-7b583275]{display:flex;gap:var(--space-2);align-items:flex-start;background:var(--state-booked-bg);color:var(--state-booked-fg)}.handoff-warning svg[data-v-7b583275]{margin-top:2px}.handoff-error[data-v-7b583275]{background:var(--state-noshow-bg);color:var(--state-noshow-fg)}.handoff-thread[data-v-7b583275]{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.handoff-empty[data-v-7b583275]{font-size:var(--text-sm);color:var(--color-ink-3);text-align:center;padding:var(--space-3)}.hmsg[data-v-7b583275]{max-width:85%;padding:7px 10px;border-radius:10px;font-size:var(--text-sm);line-height:1.45;color:var(--color-ink)}.hmsg-text[data-v-7b583275]{white-space:pre-wrap;word-break:break-word}.hmsg-meta[data-v-7b583275]{font-size:var(--text-xs);color:var(--color-ink-3);margin-top:3px}.hmsg-user[data-v-7b583275]{align-self:flex-start;background:var(--color-surface-sunken);border:1px solid var(--color-border)}.hmsg-agent[data-v-7b583275]{align-self:flex-end;background:var(--color-brand-soft)}.hmsg-operator[data-v-7b583275]{align-self:flex-end;background:var(--color-surface);border:1px solid var(--color-brand)}.handoff-input[data-v-7b583275]{width:100%;box-sizing:border-box;resize:vertical}.handoff-readonly[data-v-7b583275]{font-size:var(--text-sm);color:var(--color-ink-2)}.handoff-actions[data-v-7b583275]{display:flex;gap:var(--space-2);flex-wrap:wrap}.data-grid[data-v-6ab09fde]{display:grid;grid-template-columns:1fr 1fr;row-gap:var(--space-4);column-gap:var(--space-4)}.data-field label[data-v-6ab09fde]{display:block;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-ink-3);margin-bottom:var(--space-1)}.data-field p[data-v-6ab09fde]{margin:0;font-size:var(--text-md);color:var(--color-ink);display:flex;align-items:center;gap:6px;overflow-wrap:anywhere}.copyable[data-v-6ab09fde]{cursor:copy}.num[data-v-6ab09fde]{font-variant-numeric:tabular-nums}.full-row[data-v-6ab09fde]{grid-column:1 / -1}.need-tag[data-v-6ab09fde]{background:var(--color-surface-sunken);color:var(--color-ink-2)}.need-tag.tag-urgent[data-v-6ab09fde]{background:var(--state-urgent-bg);color:var(--state-urgent-fg)}.need-tag.tag-chronic[data-v-6ab09fde]{background:var(--state-pending-bg);color:var(--state-pending-fg)}.need-tag.tag-checkup[data-v-6ab09fde]{background:var(--state-confirmed-bg);color:var(--state-confirmed-fg)}.days-value[data-v-6ab09fde]{font-weight:var(--weight-strong)}.days-value.days-alert[data-v-6ab09fde]{color:var(--state-noshow-fg)}.days-value.days-warn[data-v-6ab09fde]{color:var(--state-booked-fg)}.days-value.days-ok[data-v-6ab09fde]{color:var(--state-confirmed-fg)}.interest-row[data-v-6ab09fde]{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-1)}.interest-percent[data-v-6ab09fde]{font-weight:var(--weight-strong);font-size:var(--text-md);font-variant-numeric:tabular-nums}.interest-bar-bg[data-v-6ab09fde]{flex:1;height:6px;background:var(--color-surface-sunken);border-radius:99px;overflow:hidden}.interest-bar-fill[data-v-6ab09fde]{height:100%;border-radius:99px}.action-row[data-v-6ab09fde]{display:flex;gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap}.action-row .ui-btn[data-v-6ab09fde]{flex:1 1 160px}@media(max-width:640px){.data-grid[data-v-6ab09fde]{grid-template-columns:1fr}}.chat-list[data-v-8b8f9e7a]{max-height:250px;overflow-y:auto;padding-right:var(--space-2)}.empty-note[data-v-8b8f9e7a]{font-size:var(--text-sm);color:var(--color-ink-2);padding:6px 0}.bubble-operator[data-v-8b8f9e7a]{align-self:flex-end;background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-brand);border-radius:12px 4px 12px 12px}.bubble-system[data-v-8b8f9e7a]{align-self:center;font-size:var(--text-xs);color:var(--color-ink-3);background:var(--color-surface-sunken);padding:4px 10px;border-radius:var(--radius-pill);text-align:center}.empty-note[data-v-52d090c9]{font-size:var(--text-sm);color:var(--color-ink-2);padding:6px 0}.notif-item[data-v-52d090c9]{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.notif-item[data-v-52d090c9]:last-child{border-bottom:none;padding-bottom:0}.notif-content[data-v-52d090c9]{flex:1;min-width:0}.notif-text[data-v-52d090c9]{font-weight:var(--weight-medium);font-size:var(--text-sm);color:var(--color-ink);margin-bottom:2px}.notif-sub[data-v-52d090c9]{font-size:var(--text-xs);color:var(--color-ink-3)}.appts[data-v-9912ce4b]{display:flex;flex-direction:column;gap:var(--space-2)}.appts-empty[data-v-9912ce4b]{font-size:var(--text-sm);color:var(--color-ink-2)}.appt[data-v-9912ce4b]{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 12px;background:var(--color-surface)}.appt-cancelled[data-v-9912ce4b]{opacity:.7}.appt-head[data-v-9912ce4b]{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2)}.appt-when[data-v-9912ce4b]{font-weight:var(--weight-strong);font-size:var(--text-sm);color:var(--color-ink);font-variant-numeric:tabular-nums}.appt-service[data-v-9912ce4b]{font-size:var(--text-xs);color:var(--color-ink-3);margin-top:2px}.appt-doctor[data-v-9912ce4b]{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.appt-doctor-label[data-v-9912ce4b]{font-size:var(--text-xs);color:var(--color-ink-2);flex-shrink:0}.appt-doctor-select[data-v-9912ce4b]{flex:1 1 auto;min-width:0;min-height:36px;font-size:var(--text-sm)}.appt-calendar-pending[data-v-9912ce4b]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-2);padding:8px 10px;border-radius:var(--radius-sm);background:var(--state-booked-bg);color:var(--state-booked-fg);font-size:var(--text-sm)}.appt-doctor-name[data-v-9912ce4b]{font-size:var(--text-sm);color:var(--color-ink)}.appt-actions[data-v-9912ce4b]{display:flex;gap:6px;margin-top:var(--space-2);flex-wrap:wrap}.appts-error[data-v-9912ce4b]{font-size:var(--text-sm);color:var(--state-noshow-fg);background:var(--state-noshow-bg);border-radius:var(--radius-sm);padding:8px 10px}.profile-panel[data-v-932d921f]{position:fixed;top:0;right:0;width:440px;max-width:100vw;height:100vh;background:var(--color-surface);box-shadow:var(--shadow-overlay);display:flex;flex-direction:column;z-index:1000;border-left:1px solid var(--color-border);font-family:inherit}.profile-header[data-v-932d921f]{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0}.profile-title-row[data-v-932d921f]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.title-text[data-v-932d921f]{font-weight:var(--weight-medium);font-size:var(--text-sm);color:var(--color-ink-3)}.profile-hero-row[data-v-932d921f]{display:flex;align-items:center;gap:var(--space-4)}.avatar-panel[data-v-932d921f]{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:var(--weight-strong);font-size:var(--text-lg);flex-shrink:0}.hero-info[data-v-932d921f]{flex:1;min-width:0}.hero-name[data-v-932d921f]{font-weight:var(--weight-strong);font-size:var(--text-lg);color:var(--color-ink);display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-1)}.alert-warning-dup[data-v-932d921f]{margin-top:var(--space-4);background:var(--state-booked-bg);border-radius:var(--radius-sm);padding:var(--space-3);display:flex;align-items:flex-start;gap:var(--space-3);color:var(--state-booked-fg)}.dup-icon[data-v-932d921f]{width:18px;height:18px;flex-shrink:0;margin-top:1px}.dup-text[data-v-932d921f]{flex:1;font-size:var(--text-sm)}.profile-scroll-area[data-v-932d921f]{flex:1;overflow-y:auto;padding:0}.profile-section[data-v-932d921f]{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border)}.section-title[data-v-932d921f]{font-size:var(--text-md);font-weight:var(--weight-strong);color:var(--color-ink);margin:0 0 var(--space-3)}.notes-textarea[data-v-932d921f]{width:100%;resize:vertical;min-height:80px;box-sizing:border-box}.btn-save-note[data-v-932d921f]{margin-top:var(--space-3)}.handoff-section[data-v-932d921f]{box-shadow:inset 3px 0 0 var(--state-urgent-fg)}.manual-actions-section[data-v-932d921f]{border-bottom:none}.actions-list[data-v-932d921f]{display:flex;flex-direction:column;gap:var(--space-2)}.btn-action-wide[data-v-932d921f]{width:100%;justify-content:flex-start}@media(max-width:1200px){.profile-panel[data-v-932d921f]{width:400px}}@media(max-width:900px){.profile-panel[data-v-932d921f]{width:min(420px,100vw)}}@media(max-width:640px){.profile-panel[data-v-932d921f]{width:100vw;border-left:none}.profile-header[data-v-932d921f],.profile-section[data-v-932d921f]{padding-left:var(--space-4);padding-right:var(--space-4)}}.login[data-v-db9e079e]{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,560px);background:var(--color-surface)}.login-photo[data-v-db9e079e]{position:relative;background:#101511 url(/images/login-eucalipto.jpg) center 35% / cover no-repeat;display:flex;align-items:flex-end;padding:var(--space-8)}.login-photo[data-v-db9e079e]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(to top,#080c0ab8,#080c0a00 38%)}.login-photo-brand[data-v-db9e079e]{position:relative;z-index:1;display:flex;align-items:center;gap:var(--space-3);color:#fff}.photo-name[data-v-db9e079e]{font-size:var(--text-lg);font-weight:var(--weight-strong);letter-spacing:-.01em}.photo-clinic[data-v-db9e079e]{font-size:var(--text-sm);color:#ffffffd1}.login-panel[data-v-db9e079e]{display:flex;align-items:center;justify-content:center;padding:var(--space-10) var(--space-8)}.login-form[data-v-db9e079e]{width:100%;max-width:360px}.login-title[data-v-db9e079e]{font-size:var(--text-2xl);line-height:var(--leading-tight);letter-spacing:-.025em;color:var(--color-ink)}.login-sub[data-v-db9e079e]{margin-top:var(--space-2);margin-bottom:var(--space-8);color:var(--color-ink-2)}.field[data-v-db9e079e]{margin-bottom:var(--space-5)}.field-label[data-v-db9e079e]{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-ink)}.field-wrap[data-v-db9e079e]{position:relative}.field-input[data-v-db9e079e]{width:100%;min-height:48px;padding:0 var(--space-4);font:inherit;color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.field-wrap .field-input[data-v-db9e079e]{padding-right:52px}.field-input[data-v-db9e079e]:hover{border-color:var(--color-ink-3)}.field-input[data-v-db9e079e]:focus{outline:none;border-color:var(--color-brand);box-shadow:var(--focus-ring)}.field-input[aria-invalid=true][data-v-db9e079e]{border-color:var(--state-noshow-fg)}.field-toggle[data-v-db9e079e]{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:var(--target-min);height:var(--target-min);border:0;background:transparent;color:var(--color-ink-3);border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.field-toggle[data-v-db9e079e]:hover{color:var(--color-ink)}.field-toggle svg[data-v-db9e079e]{width:20px;height:20px}.login-error[data-v-db9e079e]{display:flex;align-items:center;gap:var(--space-2);margin:calc(-1 * var(--space-2)) 0 var(--space-4);color:var(--state-noshow-fg);font-size:var(--text-sm);font-weight:var(--weight-medium)}.login-error svg[data-v-db9e079e]{width:18px;height:18px;flex-shrink:0}.login-submit[data-v-db9e079e]{width:100%;min-height:48px;font-size:var(--text-md)}@media(max-width:900px){.login[data-v-db9e079e]{grid-template-columns:minmax(0,1fr);grid-template-rows:200px auto}.login-photo[data-v-db9e079e]{padding:var(--space-5);background-position:center 40%}.login-photo[data-v-db9e079e]:after{background:linear-gradient(to top,#080c0ad9,#080c0a59 60%,#080c0a00)}.login-panel[data-v-db9e079e]{align-items:flex-start;padding:var(--space-8) var(--space-5)}}.stats-grid-row[data-v-6533c008]{display:grid;grid-template-columns:repeat(3,1fr) 1.5fr;gap:var(--space-4);margin-bottom:var(--space-6)}.stat-icon--urgent[data-v-6533c008]{background:var(--state-urgent-bg);color:var(--state-urgent-fg)}.stat-icon--booked[data-v-6533c008]{background:var(--state-booked-bg);color:var(--state-booked-fg)}.tips[data-v-6533c008]{margin-bottom:0;align-self:stretch;align-items:center;line-height:var(--leading-normal)}.tips strong[data-v-6533c008]{color:var(--color-ink);font-weight:var(--weight-strong)}.filters-row[data-v-6533c008]{margin-bottom:var(--space-5)}.pill-tab svg[data-v-6533c008]{width:16px;height:16px}.num[data-v-6533c008]{font-variant-numeric:tabular-nums}.alerts-list[data-v-6533c008]{display:flex;flex-direction:column;gap:var(--space-3)}.alert-row-card[data-v-6533c008]{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5)}.alert-type-icon[data-v-6533c008]{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--color-surface-sunken);color:var(--color-ink-2)}.alert-type-icon svg[data-v-6533c008]{width:18px;height:18px}.alert-avatar[data-v-6533c008]{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:var(--weight-strong);font-size:var(--text-sm);flex-shrink:0}.alert-p-info[data-v-6533c008]{flex:1;min-width:0}.alert-p-name[data-v-6533c008]{font-weight:var(--weight-strong);font-size:var(--text-md);color:var(--color-ink)}.alert-p-phone[data-v-6533c008]{font-size:var(--text-sm);color:var(--color-ink-3);margin-top:2px;font-variant-numeric:tabular-nums}.need-tag[data-v-6533c008]{margin-top:var(--space-1)}.alert-p-reason[data-v-6533c008]{flex:1.2;min-width:0}.reason-text[data-v-6533c008]{font-weight:var(--weight-medium);font-size:var(--text-sm);color:var(--color-ink)}.reason-meta[data-v-6533c008]{display:flex;align-items:center;gap:var(--space-2);margin-top:6px}.reason-meta .status-badge[data-v-6533c008]{padding-left:0;color:var(--color-ink-2)}.reason-time[data-v-6533c008]{font-size:var(--text-xs);color:var(--color-ink-3)}.alert-p-actions[data-v-6533c008]{display:flex;gap:var(--space-2);flex-wrap:wrap}@media(max-width:900px){.stats-grid-row[data-v-6533c008]{grid-template-columns:1fr 1fr 1fr}.tips[data-v-6533c008]{grid-column:1 / -1}.alert-row-card[data-v-6533c008]{flex-wrap:wrap}.alert-p-actions[data-v-6533c008]{width:100%;margin-left:0}.alert-p-actions .ui-btn[data-v-6533c008]{flex:1 1 calc(33.33% - 6px)}.alert-p-reason[data-v-6533c008]{flex:100%;margin-top:var(--space-2)}}@media(max-width:640px){.stats-grid-row[data-v-6533c008]{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.stats-grid-row .stat-card[data-v-6533c008]{padding:var(--space-3)}.filters-row[data-v-6533c008]{width:100%;flex-wrap:nowrap;overflow-x:auto}.filters-row .pill-tab[data-v-6533c008]{flex:0 0 auto;white-space:nowrap}.alert-p-actions[data-v-6533c008]{display:grid;grid-template-columns:1fr}}.calendar-layout[data-v-00124ce5]{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--space-6)}.cal-page-header[data-v-00124ce5]{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.cal-doctor-filter[data-v-00124ce5]{min-width:220px}.cal-grid-card[data-v-00124ce5]{padding:var(--space-6)}.cal-header[data-v-00124ce5]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5);gap:var(--space-3)}.cal-month-title[data-v-00124ce5]{font-weight:var(--weight-strong);font-size:var(--text-lg);color:var(--color-ink)}.cal-nav[data-v-00124ce5]{display:flex;gap:var(--space-2);align-items:center}.cal-grid[data-v-00124ce5]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--space-2)}.cal-weekday[data-v-00124ce5]{text-align:center;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-ink-3);padding-bottom:var(--space-2)}.cal-day[data-v-00124ce5]{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:10px 0 0;border-radius:var(--radius-sm);cursor:pointer;font:inherit;background:var(--color-surface);border:1px solid var(--color-border);transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out);min-width:0}.cal-day.empty[data-v-00124ce5]{background:transparent;border-color:transparent;cursor:default}.cal-day[data-v-00124ce5]:not(.empty):hover{background:var(--color-surface-sunken)}.cal-day[data-v-00124ce5]:focus-visible{outline:none;box-shadow:var(--focus-ring)}.day-number[data-v-00124ce5]{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-ink-2);font-variant-numeric:tabular-nums}.cal-day.has-events .day-number[data-v-00124ce5]{color:var(--color-ink)}.cal-day.today[data-v-00124ce5]{background:var(--color-brand-soft);border-color:var(--color-brand-soft)}.cal-day.today .day-number[data-v-00124ce5]{color:var(--color-brand-ink);font-weight:var(--weight-strong)}.cal-day.selected[data-v-00124ce5]{border-color:var(--color-brand);box-shadow:inset 0 0 0 1px var(--color-brand)}.day-dots[data-v-00124ce5]{display:flex;gap:3px;margin-top:6px;align-items:center}.dot[data-v-00124ce5]{width:6px;height:6px;border-radius:50%}.dot-more[data-v-00124ce5]{font-size:10px;font-weight:var(--weight-strong);color:var(--color-ink-3);line-height:6px}.cal-sidebar[data-v-00124ce5]{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.sidebar-title[data-v-00124ce5]{font-weight:var(--weight-strong);font-size:var(--text-md);color:var(--color-ink);margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.events-list[data-v-00124ce5]{display:flex;flex-direction:column;gap:var(--space-2)}.event-row[data-v-00124ce5]{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--target-min);padding:10px;border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;font:inherit;text-align:left;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.event-row[data-v-00124ce5]:hover{background:var(--color-row-hover);border-color:var(--color-border-strong)}.event-row[data-v-00124ce5]:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ev-avatar[data-v-00124ce5]{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--weight-strong);flex-shrink:0}.event-info[data-v-00124ce5]{flex:1;min-width:0;display:flex;flex-direction:column}.event-name[data-v-00124ce5]{font-weight:var(--weight-medium);font-size:var(--text-sm);color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-type[data-v-00124ce5],.event-date[data-v-00124ce5]{font-size:var(--text-xs);color:var(--color-ink-3);margin-top:2px;font-variant-numeric:tabular-nums}.ev-status[data-v-00124ce5]{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-xs);font-weight:var(--weight-medium);padding:2px 8px;border-radius:var(--radius-pill);white-space:nowrap}.ev-status[data-v-00124ce5] svg{width:12px;height:12px}@media(max-width:992px){.calendar-layout[data-v-00124ce5]{grid-template-columns:1fr}}@media(max-width:640px){.cal-grid-card[data-v-00124ce5]{padding:var(--space-3)}.cal-header[data-v-00124ce5]{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:var(--space-4)}.cal-nav[data-v-00124ce5]{width:100%}.cal-nav .btn-today[data-v-00124ce5]{flex:1}.cal-grid[data-v-00124ce5]{gap:var(--space-1)}.cal-day[data-v-00124ce5]{padding-top:6px}.day-number[data-v-00124ce5]{font-size:var(--text-xs)}.event-row[data-v-00124ce5]{flex-wrap:wrap}.ev-status[data-v-00124ce5]{margin-left:48px}}.card-heading[data-v-58350d36]{font-size:var(--text-md);font-weight:var(--weight-strong);color:var(--color-ink)}.card-heading--spaced[data-v-58350d36]{margin-bottom:var(--space-4)}.card-hint[data-v-58350d36]{font-size:var(--text-xs);color:var(--color-ink-3);margin-top:2px;margin-bottom:var(--space-4)}.reports-header[data-v-58350d36]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.reports-header-actions[data-v-58350d36]{display:flex;align-items:center;gap:10px}.reports-kpi-grid[data-v-58350d36]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3);margin-bottom:var(--space-6)}.kpi[data-v-58350d36]{padding:var(--space-4)}.kpi .stat-number[data-v-58350d36]{font-size:var(--text-xl)}.stat-icon--confirmed[data-v-58350d36]{background:var(--state-confirmed-bg);color:var(--state-confirmed-fg)}.stat-icon--done[data-v-58350d36]{background:var(--state-done-bg);color:var(--state-done-fg)}.stat-icon--noshow[data-v-58350d36]{background:var(--state-noshow-bg);color:var(--state-noshow-fg)}.stat-icon--cancelled[data-v-58350d36]{background:var(--state-cancelled-bg);color:var(--state-cancelled-fg)}.reports-main-grid[data-v-58350d36]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}.dist-row[data-v-58350d36]{display:block;text-align:left;background:none;border:none;font:inherit;color:inherit;padding:6px var(--space-2);margin:0 calc(-1 * var(--space-2)) var(--space-1);width:calc(100% + 2 * var(--space-2));border-radius:var(--radius-sm);cursor:pointer;min-height:var(--target-min)}.dist-row[data-v-58350d36]:hover{background:var(--color-row-hover)}.dist-row[data-v-58350d36]:focus-visible{outline:none;box-shadow:var(--focus-ring)}.dist-head[data-v-58350d36]{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--text-sm);margin-bottom:6px}.dist-label[data-v-58350d36]{display:inline-flex;align-items:center;gap:6px;color:var(--color-ink);font-weight:var(--weight-medium)}.dist-count[data-v-58350d36]{color:var(--color-ink-3);font-variant-numeric:tabular-nums}.dist-pct[data-v-58350d36]{color:var(--color-ink);font-weight:var(--weight-strong);font-variant-numeric:tabular-nums;margin-left:6px}.dist-row .progress-bar[data-v-58350d36],.dist-row .progress-fill[data-v-58350d36]{display:block}.donut-wrap[data-v-58350d36]{display:flex;align-items:center;justify-content:center;gap:var(--space-5)}.donut[data-v-58350d36]{flex-shrink:0}.donut-track[data-v-58350d36]{stroke:var(--color-border)}.donut-value[data-v-58350d36]{stroke:var(--color-brand)}.donut-num[data-v-58350d36]{fill:var(--color-ink);font-size:18px;font-weight:var(--weight-strong);font-variant-numeric:tabular-nums}.donut-cap[data-v-58350d36]{fill:var(--color-ink-2);font-size:10px}.donut-legend[data-v-58350d36]{display:flex;flex-direction:column;gap:var(--space-2)}.legend-item[data-v-58350d36]{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-ink-2)}.legend-dot[data-v-58350d36]{width:10px;height:10px;border-radius:50%;flex-shrink:0}.legend-dot--with[data-v-58350d36]{background:var(--color-brand)}.legend-dot--without[data-v-58350d36]{background:var(--color-border);box-shadow:inset 0 0 0 1px var(--color-border-strong)}.top-row[data-v-58350d36]{display:flex;align-items:center;gap:var(--space-3);text-align:left;background:none;border:none;font:inherit;color:inherit;cursor:pointer;padding:var(--space-2);margin:0 calc(-1 * var(--space-2));width:calc(100% + 2 * var(--space-2));border-radius:var(--radius-sm);min-height:var(--target-min)}.top-row[data-v-58350d36]:hover{background:var(--color-row-hover)}.top-row[data-v-58350d36]:focus-visible{outline:none;box-shadow:var(--focus-ring)}.top-rank[data-v-58350d36]{width:16px;font-size:var(--text-xs);color:var(--color-ink-3);font-variant-numeric:tabular-nums;text-align:right}.avatar-small[data-v-58350d36]{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--weight-strong)}.top-body[data-v-58350d36]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.top-name[data-v-58350d36]{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-state[data-v-58350d36]{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-xs);color:var(--color-ink-2)}.top-state[data-v-58350d36] .glyph{width:13px;height:13px}.top-score[data-v-58350d36]{min-width:36px;height:32px;padding:0 6px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;background:var(--color-surface-sunken);color:var(--color-ink-2);font-size:var(--text-sm);font-weight:var(--weight-strong);font-variant-numeric:tabular-nums}.top-score--high[data-v-58350d36]{background:var(--color-brand-soft);color:var(--color-brand-ink)}.bot-card[data-v-58350d36]{margin-top:var(--space-5)}.bot-head[data-v-58350d36]{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.bot-period[data-v-58350d36]{font-size:var(--text-xs);color:var(--color-ink-3)}.reports-bot-grid[data-v-58350d36]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}.bot-sub[data-v-58350d36]{display:flex;align-items:center;gap:6px;margin-bottom:var(--space-3);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-ink-2)}.bot-sub svg[data-v-58350d36]{width:16px;height:16px;color:var(--color-ink-3)}.bot-text[data-v-58350d36]{font-size:var(--text-sm);color:var(--color-ink-2)}.bot-list[data-v-58350d36]{list-style:none;font-size:var(--text-sm);color:var(--color-ink-2);line-height:1.9}.bot-list strong[data-v-58350d36]{color:var(--color-ink);font-weight:var(--weight-strong);font-variant-numeric:tabular-nums}.heat-head[data-v-58350d36]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-3)}.heat-head .bot-sub[data-v-58350d36]{margin-bottom:0}.heat-period[data-v-58350d36]{width:auto;min-height:var(--target-min);font-size:var(--text-sm)}.heat[data-v-58350d36]{display:flex;gap:4px;align-items:flex-end;height:62px}.heat-col[data-v-58350d36]{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px}.heat-bar[data-v-58350d36]{width:100%;border-radius:3px}.heat-label[data-v-58350d36]{font-size:10px;color:var(--color-ink-3);white-space:nowrap;font-variant-numeric:tabular-nums}@media(max-width:1200px){.reports-kpi-grid[data-v-58350d36]{grid-template-columns:repeat(3,minmax(0,1fr))}.reports-main-grid[data-v-58350d36]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.reports-header[data-v-58350d36]{flex-direction:column;align-items:stretch}.reports-header-actions[data-v-58350d36],.reports-filter-tabs[data-v-58350d36]{width:100%}.reports-kpi-grid[data-v-58350d36]{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-main-grid[data-v-58350d36],.reports-bot-grid[data-v-58350d36]{grid-template-columns:1fr}.donut-wrap[data-v-58350d36]{flex-direction:column;align-items:flex-start}}@media(max-width:600px){.reports-filter-tabs[data-v-58350d36]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px}.reports-filter-tabs .pill-tab[data-v-58350d36]{width:100%;text-align:center}.heat-col:nth-child(2n) .heat-label[data-v-58350d36]{visibility:hidden}}.contact-modal-overlay[data-v-7c9043d7]{z-index:1000}.modal-sub[data-v-7c9043d7]{font-size:var(--text-sm);color:var(--color-ink-2);margin-top:2px}.modal-close[data-v-7c9043d7]{margin-left:auto}.form-input[data-v-7c9043d7],.form-select[data-v-7c9043d7]{width:100%;box-sizing:border-box}.form-input[data-v-7c9043d7]:disabled{background:var(--color-surface-sunken);color:var(--color-ink-3);cursor:not-allowed}.range-input[data-v-7c9043d7]{width:100%;min-height:32px;margin-top:var(--space-1);accent-color:var(--color-brand)}.range-scale[data-v-7c9043d7]{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--color-ink-3)}.range-value[data-v-7c9043d7]{font-weight:var(--weight-strong);color:var(--color-brand-ink);font-variant-numeric:tabular-nums}.btn-spinner[data-v-7c9043d7]{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}@media(max-width:768px){.contact-modal-overlay[data-v-7c9043d7]{align-items:flex-start;overflow-y:auto;padding:var(--space-3)}.contact-modal[data-v-7c9043d7]{max-width:100%;max-height:calc(100dvh - 24px);overflow-y:auto}.form-grid[data-v-7c9043d7]{grid-template-columns:1fr}.modal-header[data-v-7c9043d7],.modal-body[data-v-7c9043d7],.modal-footer[data-v-7c9043d7]{padding-left:var(--space-4);padding-right:var(--space-4)}.modal-footer[data-v-7c9043d7]{flex-direction:column-reverse}.modal-footer .ui-btn[data-v-7c9043d7]{width:100%}}.avatar-small[data-v-2905e289]{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--weight-strong);background:var(--color-surface-sunken);color:var(--color-ink-2);border:1px solid var(--color-border)}.history-filters-card[data-v-2905e289]{margin-bottom:var(--space-4)}.history-search[data-v-2905e289]{flex:1}.user-cell[data-v-2905e289]{display:flex;align-items:center;gap:var(--space-2)}.user-name[data-v-2905e289]{font-weight:var(--weight-medium)}.when-main[data-v-2905e289]{font-weight:var(--weight-medium);color:var(--color-ink)}.when-sub[data-v-2905e289]{font-size:var(--text-xs);color:var(--color-ink-3);font-variant-numeric:tabular-nums}.entity-cell[data-v-2905e289]{font-weight:var(--weight-medium);color:var(--color-ink-2)}.entity-ref[data-v-2905e289]{color:var(--color-ink-3);font-weight:var(--weight-regular)}.empty-row[data-v-2905e289]:hover{background:transparent}.empty-row td[data-v-2905e289]{padding:0}.history-controls[data-v-2905e289]{display:flex;gap:var(--space-3);flex-wrap:wrap}.history-period[data-v-2905e289]{display:flex;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.history-period .form-field[data-v-2905e289]{min-width:160px}.history-export[data-v-2905e289]{margin-left:auto}.history-export svg[data-v-2905e289]{width:16px;height:16px}.history-scope[data-v-2905e289]{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-ink-2)}.history-entity-select[data-v-2905e289]{width:180px}.history-table-wrap table[data-v-2905e289]{min-width:680px}.history-detail-col[data-v-2905e289]{min-width:260px}.history-detail-text[data-v-2905e289]{font-size:var(--text-sm);display:inline-block;max-width:100%;overflow-wrap:anywhere;line-height:1.35}.history-mobile-list[data-v-2905e289]{display:none}.history-mobile-card[data-v-2905e289]{padding:var(--space-4)}.history-mobile-head[data-v-2905e289]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.history-mobile-time[data-v-2905e289]{text-align:right}.history-mobile-row[data-v-2905e289]{display:flex;flex-direction:column;gap:4px;margin-top:10px}.history-mobile-label[data-v-2905e289]{font-size:var(--text-xs);color:var(--color-ink-3);font-weight:var(--weight-medium)}@media(max-width:768px){.history-controls .pill-tabs[data-v-2905e289]{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.history-controls .pill-tab[data-v-2905e289]{width:100%;text-align:center}}@media(max-width:640px){.history-controls[data-v-2905e289]{flex-direction:column}.history-entity-select[data-v-2905e289]{width:100%}.history-period .form-field[data-v-2905e289]{flex:1 1 140px;min-width:0}.history-period .ui-btn[data-v-2905e289]{flex:1 1 100%}.history-export[data-v-2905e289]{margin-left:0}}@media(max-width:900px){.history-table-wrap[data-v-2905e289]{display:none}.history-mobile-list[data-v-2905e289]{display:flex;flex-direction:column;gap:12px}}@font-face{font-family:Albert Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/albert-sans-latin-ext-wght-normal-BAo4qCk1.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Albert Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/albert-sans-latin-wght-normal-BJ0ssN8N.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-canvas: #F2F4F3;--color-frame: #ECEFED;--color-surface: #FFFFFF;--color-surface-sunken: #F5F7F6;--color-row-hover: #F7F9F8;--color-border: #E3E8E5;--color-border-strong: #CDD6D1;--color-ink: #16201C;--color-ink-2: #46524D;--color-ink-3: #5E6B65;--color-ink-inverse: #FFFFFF;--color-brand: #0C7A63;--color-brand-hover: #09654F;--color-brand-soft: #E3F3EE;--color-brand-ink: #075140;--state-pending-bg: #F0EDFA;--state-pending-fg: #4C3D91;--state-booked-bg: #FFF3D6;--state-booked-fg: #7A4B00;--state-confirmed-bg: #E2F3E9;--state-confirmed-fg: #1D623B;--state-done-bg: #E6EDF8;--state-done-fg: #2A4A80;--state-noshow-bg: #FCE9E7;--state-noshow-fg: #9A2A22;--state-cancelled-bg: #EEF0EF;--state-cancelled-fg: #545E59;--state-urgent-bg: #FDE8EE;--state-urgent-fg: #9B1C45;--font-sans: "Albert Sans Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-data: var(--font-sans);--weight-regular: 420;--weight-medium: 540;--weight-strong: 650;--text-xs: .75rem;--text-sm: .8125rem;--text-md: .9375rem;--text-lg: 1.125rem;--text-xl: 1.5rem;--text-2xl: 1.875rem;--leading-tight: 1.2;--leading-normal: 1.5;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-sm: 8px;--radius-md: 12px;--radius-pill: 999px;--shadow-raised: none;--shadow-overlay: 0 12px 32px rgba(22, 32, 28, .14);--target-min: 44px;--focus-ring: 0 0 0 3px rgba(12, 122, 99, .35);--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-fast: .14s;--duration-base: .22s}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);color:var(--color-ink);background:var(--color-canvas);font-size:var(--text-md);font-weight:var(--weight-regular);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased}.num,time,.tabular{font-variant-numeric:tabular-nums}.data-mono{font-family:var(--font-data);font-weight:var(--weight-strong);font-variant-numeric:tabular-nums;letter-spacing:-.01em}h1,h2,h3{font-weight:var(--weight-strong);letter-spacing:-.015em}::selection{background:var(--color-brand-soft);color:var(--color-brand-ink)}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}*{scrollbar-color:var(--color-border-strong) transparent;scrollbar-width:thin}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-pill)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.state-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:700;line-height:1.5;white-space:nowrap}.state-chip[data-state=new],.state-chip[data-state=triage]{background:var(--state-pending-bg);color:var(--state-pending-fg)}.state-chip[data-state=booked]{background:var(--state-booked-bg);color:var(--state-booked-fg)}.state-chip[data-state=scheduled]{background:var(--state-confirmed-bg);color:var(--state-confirmed-fg)}.state-chip[data-state=completed]{background:var(--state-done-bg);color:var(--state-done-fg)}.state-chip[data-state=no-show]{background:var(--state-noshow-bg);color:var(--state-noshow-fg)}.state-chip[data-state=cancelled]{background:var(--state-cancelled-bg);color:var(--state-cancelled-fg)}.state-chip[data-state=urgent]{background:var(--state-urgent-bg);color:var(--state-urgent-fg)}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--target-min);padding:0 var(--space-4);border-radius:var(--radius-sm);border:1px solid transparent;font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out);white-space:nowrap}.ui-btn svg{width:18px;height:18px;flex-shrink:0}.ui-btn:disabled{opacity:.55;cursor:not-allowed}.ui-btn--primary{background:var(--color-brand);color:var(--color-ink-inverse)}.ui-btn--primary:hover:not(:disabled){background:var(--color-brand-hover)}.ui-btn--secondary{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-border-strong)}.ui-btn--secondary:hover:not(:disabled){background:var(--color-surface-sunken)}.ui-btn--quiet{background:transparent;color:var(--color-ink-2)}.ui-btn--quiet:hover:not(:disabled){background:var(--color-surface-sunken);color:var(--color-ink)}.ui-btn--good{background:var(--state-confirmed-bg);color:var(--state-confirmed-fg)}.ui-btn--good:hover:not(:disabled){background:#cfebdb}.ui-btn--bad{background:var(--state-noshow-bg);color:var(--state-noshow-fg)}.ui-btn--bad:hover:not(:disabled){background:#f8d6d2}.ui-btn--icon{width:var(--target-min);padding:0}.segmented{display:inline-flex;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-surface)}.segmented button{min-height:40px;padding:0 var(--space-3);border:0;background:transparent;font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-ink-2);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.segmented button+button{border-left:1px solid var(--color-border-strong)}.segmented button svg{width:16px;height:16px}.segmented .seg-good:hover:not(:disabled){background:var(--state-confirmed-bg);color:var(--state-confirmed-fg)}.segmented .seg-bad:hover:not(:disabled){background:var(--state-noshow-bg);color:var(--state-noshow-fg)}.segmented button:disabled{opacity:.55;cursor:not-allowed}kbd.key{font-family:var(--font-sans);font-size:11px;font-weight:var(--weight-strong);min-width:20px;height:20px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border-strong);border-bottom-width:2px;border-radius:5px;color:var(--color-ink-3);background:var(--color-surface)}*{margin:0;padding:0;box-sizing:border-box}:root{--bg: var(--color-canvas);--surface: var(--color-surface);--surface2: var(--color-surface-sunken);--sidebar: var(--color-surface);--sidebar-hover: var(--color-surface-sunken);--sidebar-active: var(--color-brand-soft);--accent: var(--color-brand);--accent2: var(--color-brand-hover);--teal: var(--color-brand);--green: var(--state-confirmed-fg);--amber: var(--state-booked-fg);--red: var(--state-noshow-fg);--purple: var(--state-pending-fg);--text: var(--color-ink);--text2: var(--color-ink-2);--text3: var(--color-ink-3);--border: var(--color-border);--shadow: var(--shadow-raised);--shadow-md: var(--shadow-raised);--shadow-lg: var(--shadow-overlay);--radius: var(--radius-md)}.mono{font-family:var(--font-sans);font-variant-numeric:tabular-nums}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.fade-in{animation:fadeIn .35s ease both}.slide-in{animation:slideIn .3s ease both}.app{display:flex;height:100vh;overflow:hidden}.sidebar{width:248px;min-width:248px;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;height:100vh;position:relative;overflow:hidden}.sidebar.collapsed{width:72px;min-width:72px}.main{flex:1;overflow-y:auto;overflow-x:hidden;background:var(--bg)}.content{padding:32px;animation:fadeIn .35s ease}.brand{padding:16px;display:flex;align-items:center;gap:10px;min-height:64px;border-bottom:1px solid var(--color-border)}.brand-icon{width:34px;height:34px;border-radius:var(--radius-sm);background:var(--color-brand);color:var(--color-ink-inverse);display:flex;align-items:center;justify-content:center;flex-shrink:0}.brand-icon svg{width:20px;height:20px}.brand-text{color:var(--color-ink);line-height:1.2}.brand-name{font-size:var(--text-md);font-weight:700;letter-spacing:-.01em}.brand-sub{font-size:var(--text-xs);color:var(--color-ink-3)}.nav{flex:1;padding:12px 10px;overflow-y:auto;display:flex;flex-direction:column}.nav-section-label{font-size:var(--text-xs);font-weight:700;color:var(--color-ink-3);padding:14px 10px 6px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;min-height:var(--target-min);padding:0 12px;border:0;background:transparent;text-align:left;border-radius:var(--radius-sm);cursor:pointer;font:inherit;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out);color:var(--color-ink-2);font-size:var(--text-md);font-weight:400;position:relative;margin-bottom:2px;white-space:nowrap}.nav-item-mobile-logout{display:none;margin-top:8px;color:var(--state-noshow-fg)}.nav-item:hover{background:var(--color-surface-sunken);color:var(--color-ink)}.nav-item.active{background:var(--color-brand-soft);color:var(--color-brand-ink);font-weight:700}.nav-icon{width:20px;height:20px;display:inline-flex;flex-shrink:0}.nav-icon svg{width:20px;height:20px}.nav-badge{margin-left:auto;background:var(--state-urgent-bg);color:var(--state-urgent-fg);font-size:var(--text-xs);font-weight:700;padding:1px 8px;border-radius:var(--radius-pill);min-width:22px;text-align:center;font-variant-numeric:tabular-nums}.sidebar-user{padding:12px;border-top:1px solid var(--color-border);display:flex;align-items:center;gap:10px}.avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}.avatar-sm{width:28px;height:28px;font-size:11px}.avatar-lg{width:44px;height:44px;font-size:16px}.user-info{flex:1;min-width:0}.user-name{font-size:var(--text-sm);font-weight:700;color:var(--color-ink)}.user-status{font-size:var(--text-xs);color:var(--color-ink-3);display:flex;align-items:center;gap:4px}.dot{width:6px;height:6px;border-radius:50%;background:var(--green);display:inline-block}.topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:0 32px;height:64px;display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:10;box-shadow:0 1px 0 var(--border)}.search-wrap{flex:1;max-width:400px;position:relative}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--color-ink-3);pointer-events:none}.search-input{width:100%;padding:9px 12px 9px 36px;border-radius:10px;border:1.5px solid var(--border);background:var(--bg);font-size:13.5px;color:var(--text);outline:none;font-family:inherit;transition:border-color .2s}.search-input:focus{border-color:var(--color-brand);background:var(--color-surface);box-shadow:var(--focus-ring)}.search-input::placeholder{color:var(--text3)}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.mobile-menu-btn{display:none}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#16201c6b;z-index:1200}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-4);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;border:1px solid transparent;white-space:nowrap;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.btn svg{width:18px;height:18px;flex-shrink:0}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--color-brand);color:var(--color-ink-inverse)}.btn-primary:hover:not(:disabled){background:var(--color-brand-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-border-strong)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-sunken)}.btn-ghost{background:transparent;color:var(--color-ink-2)}.btn-ghost:hover:not(:disabled){background:var(--color-surface-sunken);color:var(--color-ink)}.btn-sm{min-height:34px;padding:0 var(--space-3);font-size:var(--text-xs)}.btn-danger{background:var(--color-surface);color:var(--state-noshow-fg);border-color:#e7b9b4}.btn-danger:hover:not(:disabled){background:var(--state-noshow-bg)}.btn-success{background:var(--state-confirmed-bg);color:var(--state-confirmed-fg)}.btn-wa{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-border-strong)}.btn-wa:hover:not(:disabled){background:var(--color-surface-sunken)}.icon-btn{width:var(--target-min);height:var(--target-min);border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border);display:flex;align-items:center;color:var(--color-ink-2);justify-content:center;cursor:pointer;font-size:16px;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.mobile-logout-btn{display:none;color:var(--state-noshow-fg);font-size:15px}.page-header{margin-bottom:var(--space-6)}.page-title{font-size:var(--text-2xl);font-weight:var(--weight-strong);color:var(--color-ink);letter-spacing:-.025em;line-height:var(--leading-tight)}.page-sub{font-size:var(--text-md);color:var(--color-ink-2);margin-top:var(--space-1)}.card{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:var(--space-5)}.card-sm{padding:var(--space-4)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.stat-card{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:var(--space-5)}.stat-icon{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-3);background:var(--color-surface-sunken);color:var(--color-ink-2)}.stat-icon svg{width:18px;height:18px}.stat-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-ink-2)}.stat-number{font-size:2rem;font-weight:var(--weight-strong);color:var(--color-ink);letter-spacing:-.03em;line-height:1.1;margin:var(--space-1) 0;font-variant-numeric:tabular-nums}.stat-change{font-size:var(--text-sm);color:var(--color-ink-3);display:flex;align-items:center;gap:var(--space-1)}.pos{color:var(--state-confirmed-fg)}.neg{color:var(--state-noshow-fg)}.chart-bar-wrap{display:flex;align-items:flex-end;gap:6px;height:100px;padding:8px 0}.chart-bar{flex:1;border-radius:4px 4px 0 0;cursor:pointer;background:var(--color-brand);transition:opacity var(--duration-fast)}.chart-bar:hover{opacity:.8}.kanban{display:flex;gap:var(--space-3);overflow-x:auto;padding-bottom:var(--space-3)}.kanban-col{min-width:272px;width:272px;background:var(--color-surface-sunken);border-radius:var(--radius-md);border:1px solid var(--color-border);display:flex;flex-direction:column;flex-shrink:0}.kanban-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:var(--space-2)}.kanban-title{font-size:var(--text-sm);font-weight:var(--weight-strong);color:var(--color-ink);white-space:nowrap}.kanban-count{margin-left:auto;background:var(--color-surface);color:var(--color-ink-2);font-size:var(--text-xs);font-weight:var(--weight-strong);padding:1px 8px;font-variant-numeric:tabular-nums;border-radius:var(--radius-pill);border:1px solid var(--color-border)}.kanban-body{padding:var(--space-3);flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-2)}.kanban-empty{text-align:center;padding:var(--space-6) var(--space-4);color:var(--color-ink-3);font-size:var(--text-sm)}.patient-card{background:var(--color-surface);border-radius:var(--radius-sm);border:1px solid var(--color-border);padding:var(--space-3);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out)}.patient-card:hover{border-color:var(--color-border-strong)}.patient-card-top{display:flex;align-items:center;gap:10px;margin-bottom:var(--space-2)}.patient-name{font-size:var(--text-md);font-weight:var(--weight-strong);color:var(--color-ink)}.patient-phone{font-size:var(--text-sm);color:var(--color-ink-3);margin-top:1px;font-variant-numeric:tabular-nums}.patient-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:var(--space-2)}.tag{font-size:var(--text-xs);font-weight:var(--weight-medium);padding:2px 8px;border-radius:var(--radius-pill);display:inline-flex;align-items:center;gap:4px}.tag-blue{background:var(--state-done-bg);color:var(--state-done-fg)}.tag-green{background:var(--state-confirmed-bg);color:var(--state-confirmed-fg)}.tag-amber{background:var(--state-booked-bg);color:var(--state-booked-fg)}.tag-red{background:var(--state-noshow-bg);color:var(--state-noshow-fg)}.tag-purple{background:var(--state-pending-bg);color:var(--state-pending-fg)}.tag-gray{background:var(--state-cancelled-bg);color:var(--state-cancelled-fg)}.tag-teal{background:var(--color-brand-soft);color:var(--color-brand-ink)}.interest-bar{height:3px;border-radius:99px;background:var(--color-surface-sunken);margin-top:6px;overflow:hidden}.interest-fill{height:100%;border-radius:99px;transition:width .4s}.profile-panel{position:fixed;right:0;top:0;bottom:0;width:520px;background:var(--color-surface);border-left:1px solid var(--color-border);z-index:50;overflow-y:auto;box-shadow:var(--shadow-overlay);animation:slideIn var(--duration-base) var(--ease-out)}.profile-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-surface);z-index:1}.profile-section{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border)}.profile-section:last-child{border-bottom:none}.section-title{font-size:var(--text-sm);font-weight:var(--weight-strong);color:var(--color-ink);margin-bottom:var(--space-3)}.data-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.data-field label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-ink-3)}.data-field p{font-size:var(--text-md);color:var(--color-ink);margin-top:2px}.chat-list{display:flex;flex-direction:column;gap:10px}.bubble{padding:10px 14px;border-radius:12px;font-size:var(--text-sm);line-height:1.5;max-width:85%;word-break:break-word}.bubble-bot{background:var(--color-brand-soft);color:var(--color-ink);align-self:flex-start;border-radius:4px 12px 12px}.bubble-patient{background:var(--color-surface-sunken);color:var(--color-ink);border:1px solid var(--color-border);align-self:flex-end;border-radius:12px 4px 12px 12px}.bubble-time{font-size:var(--text-xs);margin-top:4px;color:var(--color-ink-3)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#16201c73;z-index:100;display:flex;align-items:center;justify-content:center;animation:fadeIn var(--duration-base) var(--ease-out)}.modal{background:var(--color-surface);border-radius:var(--radius-md);width:100%;max-width:520px;box-shadow:var(--shadow-overlay);animation:scaleIn var(--duration-base) var(--ease-out)}.modal-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:var(--space-3)}.modal-title{font-size:var(--text-lg);font-weight:var(--weight-strong);color:var(--color-ink)}.modal-body{padding:var(--space-6)}.modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);display:flex;gap:10px;justify-content:flex-end}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-field{display:flex;flex-direction:column;gap:6px}.form-field.full{grid-column:1/-1}.form-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-ink)}.form-input,.form-select{min-height:var(--target-min);padding:0 var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);font:inherit;font-size:var(--text-md);color:var(--color-ink);outline:none;background:var(--color-surface);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}textarea.form-input{padding:var(--space-3);min-height:88px}.form-select{cursor:pointer}.form-input:hover,.form-select:hover{border-color:var(--color-ink-3)}.form-input:focus,.form-select:focus{border-color:var(--color-brand);box-shadow:var(--focus-ring)}.table-wrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface)}table{width:100%;border-collapse:collapse;min-width:760px}thead th{text-align:left;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-ink-3);background:var(--color-surface);border-bottom:1px solid var(--color-border)}tbody tr{border-bottom:1px solid var(--color-border);transition:background var(--duration-fast)}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:var(--color-row-hover)}tbody td{padding:var(--space-3) var(--space-4);font-size:var(--text-md);color:var(--color-ink)}.status-badge{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-xs);font-weight:var(--weight-medium);padding:2px 8px;border-radius:var(--radius-pill)}.progress-wrap{display:flex;align-items:center;gap:10px}.progress-bar{flex:1;height:6px;background:var(--color-surface-sunken);border-radius:99px;overflow:hidden}.progress-fill{height:100%;border-radius:99px;background:var(--color-brand)}.notif-item{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--color-border)}.notif-item:last-child{border-bottom:none}.notif-icon{width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--color-surface-sunken);color:var(--color-ink-2)}.notif-icon svg{width:16px;height:16px}.notif-text{font-size:var(--text-sm);color:var(--color-ink);font-weight:var(--weight-medium)}.notif-sub{font-size:var(--text-xs);color:var(--color-ink-3);margin-top:2px}.pill-tabs{display:flex;gap:2px;background:var(--color-surface-sunken);padding:3px;border-radius:var(--radius-sm);width:fit-content;border:1px solid var(--color-border);flex-wrap:wrap}.pill-tab{min-height:36px;padding:0 var(--space-4);border-radius:6px;font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;color:var(--color-ink-2);border:none;background:transparent;display:inline-flex;align-items:center;gap:6px;transition:background var(--duration-fast),color var(--duration-fast)}.pill-tab:hover{color:var(--color-ink)}.pill-tab.active{background:var(--color-surface);color:var(--color-ink);box-shadow:0 0 0 1px var(--color-border)}@media(pointer:coarse){.pill-tab{min-height:var(--target-min)}}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);display:flex;align-items:flex-start;gap:10px;font-size:var(--text-sm);margin-bottom:var(--space-4)}.alert svg{width:18px;height:18px;flex-shrink:0;margin-top:1px}.alert-warning{background:var(--state-booked-bg);color:var(--state-booked-fg)}.alert-info{background:var(--color-surface-sunken);border:1px solid var(--color-border);color:var(--color-ink-2)}.list-notice{margin:24px 32px 0}.toast-container{position:fixed;top:14px;right:18px;z-index:1200;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:min(420px,calc(100vw - 24px))}.toast{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:9px 12px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-overlay);font-size:var(--text-sm);font-weight:var(--weight-medium);animation:fadeIn .2s ease both;pointer-events:auto}.toast-icon{width:18px;height:18px;flex-shrink:0}.toast-text{flex:1;min-width:0;overflow-wrap:anywhere}.toast-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-12px -12px -12px -4px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-ink-3);cursor:pointer}.toast-close svg{width:16px;height:16px}@media(hover:hover)and (pointer:fine){.toast-close:hover{background:var(--color-surface-sunken);color:var(--color-ink)}}.toast-success .toast-icon{color:var(--state-confirmed-fg)}.toast-error .toast-icon{color:var(--state-noshow-fg)}.toast-info .toast-icon{color:var(--state-done-fg)}.donut-wrap{display:flex;align-items:center;gap:20px}.donut-legend{display:flex;flex-direction:column;gap:8px}.legend-item{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--color-ink-2)}.legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}.profile-panel{width:420px}}@media(max-width:900px){.app{height:100dvh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:min(86vw,320px);min-width:min(86vw,320px);z-index:1300;transform:translate(0);transition:transform .25s ease;box-shadow:var(--shadow-lg)}.sidebar.collapsed{transform:translate(-100%);width:min(86vw,320px);min-width:min(86vw,320px)}.main{width:100%;margin-left:0}.topbar{height:auto;min-height:64px;padding:10px 12px;flex-wrap:wrap}.mobile-menu-btn,.mobile-logout-btn{display:inline-flex}.search-wrap{order:2;flex:1 1 100%;max-width:none}.topbar-actions{order:1;margin-left:auto;gap:8px}.content{padding:16px}.list-notice{margin:16px 16px 0}.pill-tabs{max-width:100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.kanban-col{min-width:260px;width:260px}.profile-panel{width:min(420px,100vw)}.nav-item-mobile-logout{display:flex}.sidebar-user{padding-bottom:calc(14px + env(safe-area-inset-bottom))}.modal-overlay{padding:12px;align-items:flex-start;overflow-y:auto}.modal{max-height:calc(100dvh - 24px);overflow-y:auto}.form-grid{grid-template-columns:1fr}.login-page{flex-direction:column}.login-left,.login-right{width:100%;padding:24px 18px}.login-left{min-height:42vh}.login-left h1{font-size:30px!important}}@media(max-width:640px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.stat-card{padding:var(--space-4)}.stat-icon{margin-bottom:var(--space-2)}.stat-number{font-size:1.625rem}.pill-tab{flex:0 0 auto;white-space:nowrap}.topbar-actions .btn.btn-primary{width:100%;justify-content:center}.topbar-actions{width:100%}.profile-panel{width:100vw;border-left:none}.modal{border-radius:14px}.modal-header,.modal-body,.modal-footer{padding-left:14px;padding-right:14px}.modal-footer{flex-direction:column-reverse}.modal-footer .btn{width:100%;justify-content:center}.toast-container{top:10px;right:10px;left:10px;max-width:none}.toast{width:100%;white-space:normal}}.topbar{box-shadow:none}.icon-btn{width:var(--target-min);height:var(--target-min);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink-2);cursor:pointer}.icon-btn svg{width:20px;height:20px}.icon-btn:hover{background:var(--color-surface-sunken);border-color:var(--color-border-strong);color:var(--color-ink)}.icon-btn:disabled{opacity:.6;cursor:not-allowed}.icon-btn-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;background:var(--state-urgent-fg);color:#fff;border-radius:var(--radius-pill);border:2px solid var(--color-surface);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}.search-input{min-height:var(--target-min);border:1px solid var(--color-border)!important;background:var(--color-surface-sunken)}.search-input:focus{background:var(--color-surface);border-color:var(--color-brand)!important;box-shadow:var(--focus-ring)}.spinning svg{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.icon-btn.mobile-menu-btn,.icon-btn.mobile-logout-btn{display:none}@media(max-width:900px){.icon-btn.mobile-menu-btn{display:inline-flex}.topbar{padding:8px 12px;gap:8px}.topbar-actions{order:1;margin-left:auto;width:auto;gap:8px}.search-wrap{order:2;flex:1 1 100%}}@media(max-width:640px){.topbar-actions{width:auto}.topbar-add-btn{width:var(--target-min);padding:0}.topbar-add-btn .btn-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}}.sidebar{background:var(--color-frame);border-right:1px solid var(--color-border)}.brand{border-bottom-color:var(--color-border)}.nav-item:hover{background:#16201c0d}.nav-item.active{background:var(--color-surface);color:var(--color-ink);box-shadow:0 0 0 1px var(--color-border)}.nav-item.active .nav-icon{color:var(--color-brand)}.main{background:var(--color-canvas)}.topbar{background:var(--color-canvas);border-bottom:1px solid var(--color-border)}.search-input{background:var(--color-surface);padding-right:40px}.search-key{position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none}@media(max-width:900px){.search-key{display:none}}
