.login-page[data-v-9b27e3ed]{background:linear-gradient(135deg,#eef6ff 0%,#f8fbff 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card[data-v-9b27e3ed]{background:#fff;border-radius:20px;width:420px;padding:32px;box-shadow:0 20px 40px #0f172a14}.login-title[data-v-9b27e3ed]{color:#0f172a;margin:0 0 8px;font-size:28px}.login-desc[data-v-9b27e3ed]{color:#64748b;margin:0 0 24px;line-height:1.6}.login-field[data-v-9b27e3ed]{color:#334155;flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.login-field input[data-v-9b27e3ed]{border:1px solid #dbe5f1;border-radius:12px;outline:none;height:44px;padding:0 14px}.password-field[data-v-9b27e3ed]{align-items:center;gap:8px;display:flex}.password-field input[data-v-9b27e3ed]{flex:1}.captcha-line[data-v-9b27e3ed]{align-items:center;gap:12px;display:flex}.captcha-line input[data-v-9b27e3ed]{flex:1;min-width:0}.captcha-img[data-v-9b27e3ed]{cursor:pointer;object-fit:cover;border:1px solid #dbe5f1;border-radius:8px;width:120px;height:44px}.password-toggle[data-v-9b27e3ed]{color:#475569;cursor:pointer;background:#fff;border:1px solid #dbe5f1;border-radius:12px;min-width:64px;height:44px}.login-error[data-v-9b27e3ed]{color:#dc2626;margin:0 0 16px}.login-button[data-v-9b27e3ed]{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:12px;width:100%;height:46px;font-size:16px}.login-button[data-v-9b27e3ed]:disabled{opacity:.7;cursor:not-allowed}.login-page[data-v-2a850fa7]{background:linear-gradient(135deg,#eef6ff 0%,#f8fbff 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card[data-v-2a850fa7]{background:#fff;border-radius:20px;width:420px;padding:32px;box-shadow:0 20px 40px #0f172a14}.login-title[data-v-2a850fa7]{color:#0f172a;margin:0 0 8px;font-size:28px}.login-desc[data-v-2a850fa7]{color:#64748b;margin:0 0 24px;line-height:1.6}.login-field[data-v-2a850fa7]{color:#334155;flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.login-field input[data-v-2a850fa7]{border:1px solid #dbe5f1;border-radius:12px;outline:none;height:44px;padding:0 14px}.password-field[data-v-2a850fa7]{align-items:center;gap:8px;display:flex}.password-field input[data-v-2a850fa7]{flex:1}.password-toggle[data-v-2a850fa7]{color:#475569;cursor:pointer;background:#fff;border:1px solid #dbe5f1;border-radius:12px;min-width:64px;height:44px}.login-error[data-v-2a850fa7]{color:#dc2626;margin:0 0 16px}.login-button[data-v-2a850fa7]{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:12px;width:100%;height:46px;font-size:16px}.logout-secondary[data-v-2a850fa7]{color:#334155;cursor:pointer;background:#fff;border:1px solid #dbe5f1;border-radius:12px;width:100%;height:42px;margin-top:12px}.trend-range-tabs[data-v-680da5dd]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;gap:2px;padding:4px;display:flex}.trend-range-tabs button[data-v-680da5dd]{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:6px 16px;font-size:12px;font-weight:600}.trend-range-tabs button.active[data-v-680da5dd]{color:#2563eb;background:#fff;border-color:#f1f5f9;font-weight:700}.trend-hint[data-v-680da5dd]{color:#94a3b8;margin-bottom:12px;font-size:12px}.dashboard-checkin-chart[data-v-680da5dd]{width:100%;height:280px}.aprf[data-v-ea9584cf]{flex-direction:column;gap:14px;display:flex}.aprf-hint[data-v-ea9584cf]{color:#64748b;margin:0;font-size:12px;line-height:1.45}.aprf-day[data-v-ea9584cf]{background:#fafafa;border:1px solid #e2e8f0;border-radius:12px;padding:12px}.aprf-day-title[data-v-ea9584cf]{color:#1e40af;margin-bottom:10px;font-size:13px;font-weight:800}.aprf-day-inner[data-v-ea9584cf]{margin-bottom:8px}.aprf-block[data-v-ea9584cf]{flex-direction:column;gap:8px;display:flex}.aprf-label[data-v-ea9584cf]{color:#334155;font-size:12px;font-weight:600}.aprf-input[data-v-ea9584cf],.aprf-textarea[data-v-ea9584cf]{box-sizing:border-box;border:1px solid #e2e8f0;border-radius:10px;width:100%;padding:8px 10px;font-family:inherit;font-size:13px}.aprf-textarea[data-v-ea9584cf]{resize:vertical;min-height:72px}.aprf-muted[data-v-ea9584cf]{color:#94a3b8;font-size:11px}.aprf-muted.small[data-v-ea9584cf]{margin-top:4px;display:block}.aprf-hitlist[data-v-ea9584cf]{background:#fff;border:1px solid #f1f5f9;border-radius:10px;max-height:200px;margin:0;padding:0;list-style:none;overflow-y:auto}.aprf-hitlist-sm[data-v-ea9584cf]{max-height:140px}.aprf-hit[data-v-ea9584cf]{cursor:pointer;border-bottom:1px solid #f1f5f9;padding:8px 10px;font-size:13px}.aprf-hit[data-v-ea9584cf]:last-child{border-bottom:none}.aprf-hit[data-v-ea9584cf]:hover{background:#eff6ff}.aprf-hit.disabled[data-v-ea9584cf]{opacity:.45;cursor:not-allowed}.aprf-chip-row[data-v-ea9584cf],.aprf-chip-list[data-v-ea9584cf]{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.aprf-chip-wrap[data-v-ea9584cf]{align-items:center;gap:4px;display:flex}.aprf-chip[data-v-ea9584cf]{color:#1e40af;background:#eff6ff;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:600;display:inline-block}.aprf-chip-x[data-v-ea9584cf]{color:#64748b;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:11px;text-decoration:underline}.detail-page-wrap[data-v-71c1f87d]{grid-template-columns:280px 1fr;align-items:start;gap:24px;display:grid}.patient-profile-panel[data-v-71c1f87d]{background:#fff;border:1px solid #f1f5f9;border-radius:24px;position:sticky;top:0;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d}.profile-header[data-v-71c1f87d]{text-align:center;background:linear-gradient(135deg,#f8fafc 0%,#eff6ff 100%);border-bottom:1px solid #f1f5f9;padding:28px 20px 20px;position:relative}.avatar-wrap[data-v-71c1f87d]{border:3px solid #fff;border-radius:22px;width:88px;height:88px;margin:0 auto 16px;overflow:hidden;box-shadow:0 8px 24px #0000001f}.profile-avatar-img[data-v-71c1f87d]{object-fit:cover;width:100%;height:100%}.profile-avatar-fallback[data-v-71c1f87d]{color:#2563eb;background:#dbeafe;justify-content:center;align-items:center;width:100%;height:100%;font-size:36px;font-weight:800;display:flex}.profile-name[data-v-71c1f87d]{color:#1e293b;margin-bottom:4px;font-size:20px;font-weight:800}.profile-id[data-v-71c1f87d]{color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;font-size:10px;font-weight:700}.profile-tags[data-v-71c1f87d]{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.profile-tag[data-v-71c1f87d]{border-radius:999px;padding:3px 10px;font-size:10px;font-weight:700}.profile-tag-blue[data-v-71c1f87d]{color:#2563eb;background:#dbeafe;border:1px solid #bfdbfe}.profile-tag-green[data-v-71c1f87d]{color:#16a34a;background:#dcfce7;border:1px solid #bbf7d0}.primary-doctor-line[data-v-71c1f87d]{color:#64748b;margin:0 0 8px;font-size:13px}.primary-doctor-warn[data-v-71c1f87d]{color:#b45309;margin:0 0 8px;font-size:13px;font-weight:600}.primary-doctor-select[data-v-71c1f87d]{color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:10px;width:100%;padding:10px 12px;font-size:13px}.profile-section[data-v-71c1f87d]{border-bottom:1px solid #f8fafc;padding:16px 20px}.profile-section-title[data-v-71c1f87d]{color:#94a3b8;text-transform:uppercase;letter-spacing:.2em;margin-bottom:12px;font-size:9px;font-weight:700}.profile-vitals-grid[data-v-71c1f87d]{grid-template-columns:1fr 1fr;gap:8px;display:grid}.profile-vital-card[data-v-71c1f87d]{background:#f8fafc;border-radius:12px;padding:10px 12px}.profile-vital-wide[data-v-71c1f87d]{grid-column:1/-1}.vital-label[data-v-71c1f87d]{color:#94a3b8;text-transform:uppercase;margin-bottom:4px;font-size:9px;font-weight:700}.vital-value[data-v-71c1f87d]{color:#1e293b;font-size:18px;font-weight:800}.vital-unit[data-v-71c1f87d]{color:#94a3b8;font-size:10px;font-weight:400}.profile-action-btn[data-v-71c1f87d]{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 16px;font-size:13px;font-weight:700;transition:all .15s;display:flex}.profile-action-btn-primary[data-v-71c1f87d]{color:#fff;background:#2563eb;box-shadow:0 4px 12px #2563eb40}.profile-action-btn-outline[data-v-71c1f87d]{color:#2563eb;background:#fff;border:1px solid #bfdbfe}.profile-action-btn-ghost[data-v-71c1f87d]{color:#475569;background:#f8fafc}.detail-main[data-v-71c1f87d]{min-width:0}.pd-trend-hint[data-v-71c1f87d]{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:14px;padding:10px 14px;font-size:12px;line-height:1.55}.pd-trend-hint strong[data-v-71c1f87d]{color:#475569;font-weight:700}.pd-draft-delete-btn[data-v-71c1f87d]{color:#b91c1c;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:5px 12px;font-size:12px;font-weight:600}.pd-draft-delete-btn[data-v-71c1f87d]:disabled{opacity:.6;cursor:not-allowed}.pd-chart-card-body[data-v-71c1f87d]{min-height:0;padding-top:8px}.pd-chart[data-v-71c1f87d]{width:100%;height:260px}.pd-chart-tri[data-v-71c1f87d]{height:300px}.pd-energy-grid[data-v-71c1f87d]{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.pd-energy-cell[data-v-71c1f87d]{text-align:center;border-radius:12px;padding:10px 8px}.pd-energy-in[data-v-71c1f87d]{background:#dbeafe}.pd-energy-meta[data-v-71c1f87d]{background:#fef3c7}.pd-energy-ex[data-v-71c1f87d]{background:#dcfce7}.pd-energy-label[data-v-71c1f87d]{text-transform:uppercase;color:#475569;margin:0 0 4px;font-size:9px;font-weight:700}.pd-energy-val[data-v-71c1f87d]{color:#1e293b;margin:0;font-size:16px;font-weight:800}.pd-energy-unit[data-v-71c1f87d]{color:#64748b;font-size:11px;font-weight:400}.pd-energy-sub[data-v-71c1f87d]{color:#92400e;margin:4px 0 0;font-size:10px}.pd-energy-balance-row[data-v-71c1f87d]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;align-items:center;gap:4px;margin-bottom:8px;padding:10px 12px;display:flex}.pd-energy-balance-label[data-v-71c1f87d]{color:#64748b;font-size:11px;font-weight:600}.pd-energy-balance-val[data-v-71c1f87d]{font-size:18px;font-weight:800}.pd-energy-foot[data-v-71c1f87d]{color:#94a3b8;text-align:center;margin:0;font-size:10px;line-height:1.45}.plan-summary-grid[data-v-71c1f87d]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin-bottom:16px;display:grid}.version-switch-list[data-v-71c1f87d]{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.version-chip[data-v-71c1f87d]{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;align-items:center;gap:8px;height:34px;padding:0 12px;display:inline-flex}.version-chip-active[data-v-71c1f87d]{color:#1d4ed8;background:#eff6ff;border-color:#2563eb}.trend-grid[data-v-71c1f87d]{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.trend-card[data-v-71c1f87d]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:14px}.trend-title[data-v-71c1f87d]{color:#1e293b;margin-bottom:12px;font-weight:700}.trend-item[data-v-71c1f87d]{grid-template-columns:48px minmax(0,1fr) 72px;align-items:center;gap:10px;margin-bottom:10px;display:grid}.trend-label[data-v-71c1f87d],.trend-value[data-v-71c1f87d]{color:#64748b;font-size:12px}.trend-value[data-v-71c1f87d]{text-align:right}.trend-track[data-v-71c1f87d]{background:#e2e8f0;border-radius:999px;height:10px;overflow:hidden}.trend-fill[data-v-71c1f87d]{border-radius:999px;height:100%}.trend-fill-weight[data-v-71c1f87d]{background:linear-gradient(90deg,#2563eb,#60a5fa)}.trend-fill-bmi[data-v-71c1f87d]{background:linear-gradient(90deg,#7c3aed,#c084fc)}.trend-fill-water[data-v-71c1f87d]{background:linear-gradient(90deg,#0891b2,#67e8f9)}.trend-fill-sleep[data-v-71c1f87d]{background:linear-gradient(90deg,#0f766e,#5eead4)}.empty-text[data-v-71c1f87d]{color:#94a3b8;font-size:13px}.status-badge[data-v-71c1f87d]{border-radius:999px;padding:4px 10px;font-size:12px}.status-pending[data-v-71c1f87d]{color:#1d4ed8;background:#dbeafe}.status-draft[data-v-71c1f87d]{color:#92400e;background:#fef3c7}.status-done[data-v-71c1f87d]{color:#166534;background:#dcfce7}.doctor-reply[data-v-71c1f87d]{background:#eff6ff}.reply-textarea[data-v-71c1f87d]{box-sizing:border-box;resize:vertical;border:1px solid #dbe5f1;border-radius:10px;width:100%;min-height:120px;padding:10px 12px}.dialog-mask[data-v-71c1f87d]{background:#0f172a59;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog-card[data-v-71c1f87d]{background:#fff;border-radius:18px;width:720px;padding:24px}.dialog-card-wide[data-v-71c1f87d]{width:min(920px,100vw - 40px);max-height:calc(100vh - 48px);overflow-y:auto}.dialog-grid[data-v-71c1f87d]{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.dialog-grid label[data-v-71c1f87d]{color:#334155;flex-direction:column;gap:8px;display:flex}.dialog-grid input[data-v-71c1f87d],.dialog-grid select[data-v-71c1f87d],.dialog-grid textarea[data-v-71c1f87d]{resize:vertical;border:1px solid #dbe5f1;border-radius:10px;padding:10px 12px}.dialog-actions[data-v-71c1f87d]{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}.secondary-button[data-v-71c1f87d]{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;height:34px;padding:0 14px}.pd-milestone-bar[data-v-71c1f87d]{margin-bottom:4px;padding-top:22px;position:relative}.pd-milestone-current-tag[data-v-71c1f87d]{white-space:nowrap;color:#1d4ed8;pointer-events:none;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700;line-height:1.2;position:absolute;top:0;transform:translate(-50%)}.pd-milestone-pct[data-v-71c1f87d]{color:#64748b;text-align:center;margin:6px 0 0;font-size:11px;font-weight:600}.data-center-chart[data-v-0bc6221f]{width:100%;height:280px;min-height:280px}.data-center-chart-pie[data-v-0bc6221f]{height:300px;min-height:300px}.data-center-chart-hint[data-v-0bc6221f]{color:#94a3b8;margin:0 0 12px;font-size:12px;line-height:1.45}.rm-page[data-v-a2e49727]{max-width:1200px}.rm-header[data-v-a2e49727]{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.rm-title[data-v-a2e49727]{color:#1e293b;margin:0 0 6px;font-size:20px;font-weight:800}.rm-sub[data-v-a2e49727]{color:#94a3b8;margin:0;font-size:13px}.rm-header-right[data-v-a2e49727]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.rm-toast[data-v-a2e49727]{color:#2563eb;background:#eff6ff;border-radius:10px;max-width:360px;padding:8px 14px;font-size:12px;font-weight:600}.rm-btn-primary[data-v-a2e49727]{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:14px;align-items:center;gap:8px;padding:12px 20px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 4px 12px #2563eb40}.rm-tabs[data-v-a2e49727]{border-bottom:1px solid #e2e8f0;gap:8px;margin-bottom:20px;padding-bottom:2px;display:flex}.rm-tab[data-v-a2e49727]{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:10px 10px 0 0;padding:10px 18px;font-size:14px;font-weight:600}.rm-tab.active[data-v-a2e49727]{color:#2563eb;background:#eff6ff}.rm-tab-count[data-v-a2e49727]{color:#94a3b8;margin-left:6px;font-size:12px}.rm-tab.active .rm-tab-count[data-v-a2e49727]{color:#2563eb}.rm-cards[data-v-a2e49727]{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}@media (width<=1024px){.rm-cards[data-v-a2e49727]{grid-template-columns:repeat(2,minmax(0,1fr))}}.rm-cards-exercise[data-v-a2e49727]{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=1200px){.rm-cards-exercise[data-v-a2e49727]{grid-template-columns:repeat(2,minmax(0,1fr))}}.rm-exercise-intro[data-v-a2e49727]{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin:-4px 0 18px;padding:16px 18px;font-size:13px;line-height:1.65}.rm-exercise-intro-lead[data-v-a2e49727]{margin:0 0 10px}.rm-exercise-intro-formula[data-v-a2e49727]{background:#fff;border:1px dashed #cbd5e1;border-radius:10px;margin:0 0 8px;padding:10px 12px}.rm-exercise-intro-tip[data-v-a2e49727]{color:#64748b;margin:0;font-size:12px}.rm-intensity-bar[data-v-a2e49727]{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:12px;display:flex}.rm-intensity-bar-label[data-v-a2e49727]{color:#64748b;font-size:12px;font-weight:700}.rm-intensity-chips[data-v-a2e49727]{flex-wrap:wrap;gap:8px;display:flex}.rm-chip[data-v-a2e49727]{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}.rm-chip.on[data-v-a2e49727]{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.rm-desc-cell[data-v-a2e49727]{max-width:240px}.rm-card[data-v-a2e49727]{background:#fff;border:1px solid #f1f5f9;border-radius:16px;align-items:center;gap:14px;padding:18px 20px;display:flex;box-shadow:0 2px 8px #0f172a0a}.rm-card-icon[data-v-a2e49727]{background:#f8fafc;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;display:flex}.rm-card-icon.staple[data-v-a2e49727]{background:#dbeafe}.rm-card-icon.protein[data-v-a2e49727]{background:#ffedd5}.rm-card-icon.veg[data-v-a2e49727]{background:#dcfce7}.rm-card-icon.tag[data-v-a2e49727]{background:#ede9fe}.rm-card-label[data-v-a2e49727]{color:#94a3b8;font-size:12px;font-weight:600}.rm-card-value[data-v-a2e49727]{color:#1e293b;font-size:24px;font-weight:800;line-height:1.2}.rm-card-value small[data-v-a2e49727]{margin-left:2px;font-size:14px;font-weight:700}.rm-toolbar[data-v-a2e49727]{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.rm-search[data-v-a2e49727]{border:1px solid #e2e8f0;border-radius:12px;flex:1;min-width:220px;padding:12px 16px;font-size:14px}.rm-toolbar-actions[data-v-a2e49727]{align-items:center;gap:8px;display:flex}.rm-btn-outline[data-v-a2e49727]{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:600;display:inline-flex}.rm-btn-outline.sm[data-v-a2e49727]{padding:6px 12px;font-size:12px}.rm-btn-outline[data-v-a2e49727]:disabled{opacity:.45;cursor:not-allowed}.rm-btn-icon[data-v-a2e49727]{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.rm-btn-ghost.sm[data-v-a2e49727]{color:#64748b;cursor:pointer;background:0 0;border:none;padding:6px 10px;font-size:12px}.rm-filter-panel[data-v-a2e49727]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:16px;padding:14px 16px}.rm-filter-row[data-v-a2e49727]{color:#475569;align-items:center;gap:12px;margin-bottom:10px;font-size:13px;display:flex}.rm-select[data-v-a2e49727]{border:1px solid #cbd5e1;border-radius:8px;padding:8px 12px}.rm-filter-actions[data-v-a2e49727]{flex-wrap:wrap;gap:8px;display:flex}.rm-hidden-input[data-v-a2e49727]{display:none}.rm-table-wrap[data-v-a2e49727]{background:#fff;border:1px solid #f1f5f9;border-radius:16px;min-height:160px;overflow:hidden;box-shadow:0 2px 8px #0f172a0a}.rm-table[data-v-a2e49727]{border-collapse:collapse;width:100%;font-size:13px}.rm-table th[data-v-a2e49727]{text-align:left;color:#64748b;background:#f8fafc;border-bottom:1px solid #f1f5f9;padding:14px 16px;font-weight:700}.rm-table td[data-v-a2e49727]{vertical-align:middle;color:#334155;border-bottom:1px solid #f8fafc;padding:14px 16px}.rm-table.rm-mini th[data-v-a2e49727],.rm-table.rm-mini td[data-v-a2e49727]{padding:8px 10px;font-size:12px}.col-op[data-v-a2e49727]{text-align:right;width:100px}.rm-empty[data-v-a2e49727]{text-align:center;color:#94a3b8;padding:40px!important}.rm-cell-name[data-v-a2e49727]{align-items:flex-start;gap:10px;display:flex}.rm-dot[data-v-a2e49727]{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:5px}.dot-blue[data-v-a2e49727]{background:#3b82f6}.dot-orange[data-v-a2e49727]{background:#f97316}.dot-green[data-v-a2e49727]{background:#22c55e}.dot-slate[data-v-a2e49727]{background:#94a3b8}.rm-name[data-v-a2e49727]{color:#1e293b;font-weight:700}.rm-subline[data-v-a2e49727]{color:#94a3b8;margin-top:2px;font-size:12px}.rm-pill[data-v-a2e49727]{border-radius:999px;margin:2px 4px 2px 0;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.pill-blue[data-v-a2e49727]{color:#1d4ed8;background:#dbeafe}.pill-green[data-v-a2e49727]{color:#15803d;background:#dcfce7}.pill-purple[data-v-a2e49727]{color:#6d28d9;background:#ede9fe}.pill-orange[data-v-a2e49727]{color:#c2410c;background:#ffedd5}.rm-muted[data-v-a2e49727]{color:#94a3b8}.rm-clip[data-v-a2e49727]{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:360px;line-height:1.5;display:-webkit-box;overflow:hidden}.rm-icon-btn[data-v-a2e49727]{cursor:pointer;opacity:.75;background:0 0;border:none;margin-left:6px;font-size:16px}.rm-icon-btn.danger[data-v-a2e49727]{opacity:.85}.rm-pagination[data-v-a2e49727]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:16px 0 24px;display:flex}.rm-page-btns[data-v-a2e49727]{gap:8px;display:flex}.rm-logic-panel[data-v-a2e49727]{background:linear-gradient(135deg,#eff6ff 0%,#f0f9ff 100%);border:1px solid #bfdbfe;border-radius:16px;padding:20px 22px}.rm-logic-title[data-v-a2e49727]{color:#1e40af;margin-bottom:14px;font-size:14px;font-weight:800}.rm-logic-grid[data-v-a2e49727]{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}@media (width<=768px){.rm-logic-grid[data-v-a2e49727]{grid-template-columns:1fr}}.rm-logic-label[data-v-a2e49727]{color:#3b82f6;margin-bottom:6px;font-size:12px;font-weight:700}.rm-logic-formula[data-v-a2e49727]{color:#1e3a8a;font-size:13px;line-height:1.5}.dialog-mask[data-v-a2e49727]{z-index:1000;background:#0f172a59;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.dialog-card[data-v-a2e49727]{background:#fff;border-radius:18px;width:640px;max-height:90vh;padding:24px;overflow:auto}.dialog-card.wide[data-v-a2e49727]{width:760px}.panel-title[data-v-a2e49727]{color:#1e293b;margin:0 0 16px;font-size:17px;font-weight:800}.dialog-grid[data-v-a2e49727]{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.dialog-grid label[data-v-a2e49727]{color:#334155;flex-direction:column;gap:8px;font-size:13px;display:flex}.dialog-grid label.full[data-v-a2e49727]{grid-column:1/-1}.dialog-grid input[data-v-a2e49727],.dialog-grid select[data-v-a2e49727],.dialog-grid textarea[data-v-a2e49727]{resize:vertical;border:1px solid #dbe5f1;border-radius:10px;padding:10px 12px}.dialog-actions[data-v-a2e49727]{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}.secondary-button[data-v-a2e49727]{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;height:36px;padding:0 16px}.action-button[data-v-a2e49727]{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:10px;height:36px;padding:0 18px;font-weight:700}.action-button[data-v-a2e49727]:disabled{opacity:.5;cursor:not-allowed}.rm-tag-pick[data-v-a2e49727]{flex-wrap:wrap;gap:8px;display:flex}.rm-pick-chip[data-v-a2e49727]{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:6px 12px;font-size:12px}.rm-pick-chip.on[data-v-a2e49727]{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd;font-weight:700}.rm-text-btn[data-v-a2e49727]{color:#2563eb;cursor:pointer;background:0 0;border:none;margin-right:8px;font-size:12px}.rm-text-btn.danger[data-v-a2e49727]{color:#dc2626}.recipe-meal-block[data-v-a2e49727]{border-top:1px solid #e2e8f0;margin-top:12px;padding-top:14px}.recipe-meal-head[data-v-a2e49727]{color:#334155;margin-bottom:10px;font-size:13px;font-weight:700}.recipe-meal-pick[data-v-a2e49727]{align-items:center;gap:10px;margin-bottom:10px;display:flex}.recipe-meal-pick input[data-v-a2e49727]{border:1px solid #dbe5f1;border-radius:10px;flex:1;min-width:0;padding:10px 12px}.recipe-meal-pick-list[data-v-a2e49727]{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.recipe-meal-table[data-v-a2e49727]{margin-top:4px}.recipe-meal-empty[data-v-a2e49727]{margin:8px 0 0;font-size:13px}.recipe-meal-total[data-v-a2e49727]{color:#475569;margin:10px 0 0;font-size:13px}.recipe-meal-follow[data-v-a2e49727]{margin-top:12px}.recipe-inline-inp[data-v-a2e49727]{border:1px solid #dbe5f1;border-radius:8px;width:100%;max-width:110px;padding:6px 8px;font-size:13px}.pkg-input[data-v-e02b79b5]{box-sizing:border-box;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:6px;width:100%;min-width:0;padding:6px 10px;font-size:13px}.pkg-input[data-v-e02b79b5]:focus{border-color:#94a3b8;outline:none;box-shadow:0 0 0 1px #cbd5e1}.pkg-check[data-v-e02b79b5]{color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:13px;display:inline-flex}.rbac-user-av[data-v-9cebd34f]{object-fit:cover;vertical-align:middle;border:1px solid #e2e8f0;border-radius:50%;width:36px;height:36px}.rbac-page[data-v-9cebd34f]{max-width:1100px}.rbac-header[data-v-9cebd34f]{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.rbac-title[data-v-9cebd34f]{color:#1e293b;margin:0 0 6px;font-size:20px;font-weight:800}.rbac-sub[data-v-9cebd34f]{color:#94a3b8;margin:0;font-size:13px}.rbac-toast[data-v-9cebd34f]{color:#2563eb;background:#eff6ff;border-radius:10px;max-width:360px;padding:8px 14px;font-size:12px;font-weight:600}.rbac-tabs[data-v-9cebd34f]{border-bottom:1px solid #e2e8f0;gap:8px;margin-bottom:16px;display:flex}.rbac-tab[data-v-9cebd34f]{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:10px 10px 0 0;padding:10px 18px;font-size:14px;font-weight:600}.rbac-tab.active[data-v-9cebd34f]{color:#2563eb;background:#eff6ff}.rbac-toolbar[data-v-9cebd34f]{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.rbac-input[data-v-9cebd34f],.rbac-select[data-v-9cebd34f]{border:1px solid #cbd5e1;border-radius:8px;padding:8px 12px;font-size:13px}.rbac-btn[data-v-9cebd34f]{cursor:pointer;color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:8px 16px;font-size:13px;font-weight:600}.rbac-btn.primary[data-v-9cebd34f]{color:#fff;background:#2563eb;border-color:#2563eb}.rbac-btn.sm[data-v-9cebd34f]{padding:6px 12px;font-size:12px}.rbac-btn[data-v-9cebd34f]:disabled{opacity:.5;cursor:not-allowed}.rbac-table-wrap[data-v-9cebd34f]{background:#fff;border:1px solid #f1f5f9;border-radius:14px;overflow:auto}.rbac-table[data-v-9cebd34f]{border-collapse:collapse;width:100%;font-size:13px}.rbac-table th[data-v-9cebd34f],.rbac-table td[data-v-9cebd34f]{text-align:left;border-bottom:1px solid #f1f5f9;padding:12px 14px}.rbac-table th[data-v-9cebd34f]{color:#64748b;background:#f8fafc;font-weight:700}.rbac-actions .link[data-v-9cebd34f]{color:#2563eb;cursor:pointer;background:0 0;border:none;margin-right:10px;font-size:12px}.rbac-actions .link.danger[data-v-9cebd34f]{color:#dc2626}.rbac-pager[data-v-9cebd34f]{color:#64748b;align-items:center;gap:12px;margin-top:14px;font-size:13px;display:flex}.rbac-table-dim[data-v-9cebd34f],.rbac-dim[data-v-9cebd34f]{opacity:.65;pointer-events:none;transition:opacity .15s}.rbac-split[data-v-9cebd34f]{grid-template-columns:240px 1fr;gap:16px;min-height:420px;display:grid}.rbac-role-list[data-v-9cebd34f]{background:#fff;border:1px solid #f1f5f9;border-radius:14px;max-height:520px;padding:8px;overflow:auto}.role-item[data-v-9cebd34f]{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;flex-direction:column;align-items:flex-start;width:100%;padding:10px 12px;display:flex}.role-item[data-v-9cebd34f]:hover{background:#f8fafc}.role-item.active[data-v-9cebd34f]{background:#eff6ff}.role-name[data-v-9cebd34f]{color:#1e293b;font-size:13px;font-weight:700}.role-code[data-v-9cebd34f]{color:#94a3b8;font-size:11px}.rbac-role-detail[data-v-9cebd34f]{background:#fff;border:1px solid #f1f5f9;border-radius:14px;padding:16px 18px}.rbac-hint[data-v-9cebd34f]{color:#b45309;margin:0 0 12px;font-size:12px;font-weight:600}.meta-block[data-v-9cebd34f],.perm-block[data-v-9cebd34f]{margin-bottom:20px}.meta-block h3[data-v-9cebd34f],.perm-block h3[data-v-9cebd34f]{color:#334155;margin:0 0 10px;font-size:14px}.meta-row[data-v-9cebd34f]{align-items:center;gap:10px;margin-bottom:10px;display:flex}.meta-row.block[data-v-9cebd34f]{flex-direction:column;align-items:flex-start}.meta-row label[data-v-9cebd34f]{color:#64748b;flex-shrink:0;width:72px;font-size:12px}.meta-row.block label[data-v-9cebd34f]{width:auto}.menu-flat[data-v-9cebd34f]{border:1px solid #f1f5f9;border-radius:10px;max-height:320px;margin:0 0 14px;padding:0;list-style:none;overflow:auto}.menu-row[data-v-9cebd34f]{border-bottom:1px solid #f8fafc}.menu-check[data-v-9cebd34f]{cursor:pointer;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.perm-code[data-v-9cebd34f]{color:#94a3b8;font-size:11px}.role-chips[data-v-9cebd34f]{flex-wrap:wrap;gap:10px;display:flex}.chip[data-v-9cebd34f]{color:#475569;align-items:center;gap:6px;font-size:12px;display:inline-flex}.rbac-empty[data-v-9cebd34f]{color:#94a3b8;font-size:13px}.rbac-modal-mask[data-v-9cebd34f]{z-index:50;background:#0f172a59;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.rbac-modal[data-v-9cebd34f]{background:#fff;border-radius:16px;width:100%;max-width:440px;padding:20px 22px;box-shadow:0 20px 50px #0f172a26}.rbac-modal h3[data-v-9cebd34f]{margin:0 0 14px;font-size:16px}.modal-actions[data-v-9cebd34f]{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}@media (width<=768px){.rbac-split[data-v-9cebd34f]{grid-template-columns:1fr}}:root{color:#1e293b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8fafc;font-family:Inter,Microsoft YaHei,PingFang SC,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body{background:#f8fafc;min-width:1280px;min-height:100vh;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}#app{min-height:100vh}.admin-layout{height:100vh;display:flex;overflow:hidden}.admin-sidebar{z-index:20;background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;width:256px;height:100vh;display:flex;overflow-y:auto}.sidebar-brand{flex-shrink:0;align-items:center;gap:12px;padding:24px;display:flex}.sidebar-brand-icon{object-fit:cover;background:#f1f5f9;border-radius:12px;flex-shrink:0;width:40px;height:40px;box-shadow:0 4px 12px #2563eb40}.sidebar-brand-name{color:#1e293b;letter-spacing:-.02em;font-size:17px;font-weight:700}.sidebar-nav{flex:1;padding:8px 0 16px;overflow-y:auto}.nav-section-label{letter-spacing:.12em;text-transform:uppercase;color:#94a3b8;padding:16px 24px 8px;font-size:10px;font-weight:700}.nav-item{color:#475569;cursor:pointer;border-right:3px solid #0000;align-items:center;gap:12px;padding:12px 24px;font-size:14px;font-weight:500;transition:all .15s;display:flex}.nav-item:hover{color:#2563eb;background:#f8fafc}.nav-item.active{color:#2563eb;background:#eff6ff;border-right-color:#2563eb}.nav-item.active .nav-icon{color:#2563eb}.nav-icon{color:#94a3b8;flex-shrink:0;width:20px;height:20px;transition:color .15s}.nav-item:hover .nav-icon{color:#2563eb}.nav-badge{color:#ea580c;background:#fff7ed;border-radius:999px;flex-shrink:0;margin-left:auto;padding:2px 8px;font-size:10px;font-weight:700}.sidebar-footer-copy{text-align:center;flex-direction:column;flex-shrink:0;gap:4px;padding:8px 20px 0;display:flex}.sidebar-footer-line{color:#94a3b8;font-size:10px;font-weight:500;line-height:1.35}.sidebar-footer-line--sub{color:#cbd5e1;font-size:9px;font-weight:500}.sidebar-user{background:#f8fafc80;border-top:1px solid #f1f5f9;flex-shrink:0;margin-top:0;padding:10px 24px 16px}.sidebar-user-info{align-items:center;gap:10px;margin-bottom:14px;display:flex}.user-avatar-circle{color:#fff;object-fit:cover;background:linear-gradient(135deg,#2563eb,#7c3aed);border:2px solid #fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:15px;font-weight:700;display:flex;overflow:hidden;box-shadow:0 1px 4px #0000001f}.user-avatar-circle--img{background:#e2e8f0;padding:0;display:block}.user-name-text{color:#1e293b;font-size:14px;font-weight:700;line-height:1.3}.user-role-text{color:#94a3b8;margin-top:2px;font-size:11px}.logout-btn{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-content:center;align-items:center;gap:6px;width:100%;padding:8px 0;font-size:12px;font-weight:600;transition:all .15s;display:flex}.logout-btn:hover{background:#f8fafc;border-color:#cbd5e1}.admin-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.topbar{z-index:10;background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;height:64px;padding:0 32px;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:16px;display:flex}.topbar-title{color:#1e293b;font-size:18px;font-weight:700}.topbar-divider{background:#e2e8f0;width:1px;height:16px}.topbar-breadcrumb{color:#94a3b8;align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.topbar-breadcrumb a{color:#94a3b8;transition:color .15s}.topbar-breadcrumb a:hover{color:#2563eb}.topbar-breadcrumb-sep{font-size:10px}.topbar-right{align-items:center;gap:16px;display:flex}.topbar-search{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:8px;padding:6px 16px;display:flex}.topbar-search input{color:#475569;background:0 0;border:none;outline:none;width:180px;font-size:13px}.topbar-search input::placeholder{color:#94a3b8}.topbar-bell{cursor:pointer;color:#64748b;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s;display:flex;position:relative}.topbar-bell:hover{background:#f1f5f9}.topbar-bell-badge{color:#fff;background:#ef4444;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:9px;font-weight:700;display:flex;position:absolute;top:4px;right:4px}.topbar-bell-badge--wide{border-radius:999px;width:auto;min-width:16px;padding:0 4px}.topbar-bell--static{cursor:default}a.topbar-bell{color:inherit;text-decoration:none}.page-container{flex:1;padding:32px;overflow-y:auto}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-bottom:32px;display:grid}.stat-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-card{background:#fff;border:1px solid #f1f5f9;border-radius:20px;padding:24px;transition:box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #0000000a,0 2px 4px -2px #0000000a}.stat-card:hover{box-shadow:0 8px 16px -4px #00000014}.stat-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.stat-icon-badge{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.stat-icon-blue{color:#2563eb;background:#dbeafe}.stat-icon-green{color:#16a34a;background:#dcfce7}.stat-icon-purple{color:#7c3aed;background:#ede9fe}.stat-icon-orange{color:#ea580c;background:#fff7ed}.stat-icon-red{color:#dc2626;background:#fee2e2}.stat-trend-badge{border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700}.stat-trend-green{color:#16a34a;background:#dcfce7}.stat-trend-blue{color:#2563eb;background:#dbeafe}.stat-trend-orange{color:#ea580c;background:#fff7ed}.stat-trend-purple{color:#7c3aed;background:#ede9fe}.stat-trend-red{color:#dc2626;background:#fee2e2}.stat-trend-gray{color:#64748b;background:#f1f5f9}.stat-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px;font-size:10px;font-weight:700}.stat-value{color:#1e293b;letter-spacing:-.02em;font-size:32px;font-weight:700;line-height:1.1}.stat-value-orange{color:#ea580c}.stat-sub{color:#94a3b8;margin-top:8px;font-size:11px}.stat-deco{opacity:.5;border-radius:50%;width:80px;height:80px;transition:transform .4s;position:absolute;top:-10px;right:-10px}.stat-card:hover .stat-deco{transform:scale(1.3)}.stat-deco-blue{background:#dbeafe}.stat-deco-green{background:#dcfce7}.stat-deco-purple{background:#ede9fe}.stat-deco-orange{background:#fff7ed}.card{background:#fff;border:1px solid #f1f5f9;border-radius:24px;overflow:hidden;box-shadow:0 4px 6px -1px #0000000a,0 2px 4px -2px #0000000a}.card-sm{border-radius:16px}.card-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:24px 32px;display:flex}.card-title{color:#1e293b;align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.card-title-icon{color:#2563eb}.card-body{padding:24px 32px}.filter-bar{background:#fff;border:1px solid #f1f5f9;border-radius:24px;margin-bottom:24px;padding:24px;box-shadow:0 4px 6px -1px #0000000a,0 2px 4px -2px #0000000a}.filter-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.filter-search{flex:1;min-width:280px;position:relative}.filter-search-icon{color:#94a3b8;pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.filter-search input{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;outline:none;width:100%;padding:10px 14px 10px 42px;font-size:14px;transition:all .15s}.filter-search input:focus{background:#fff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.filter-search input::placeholder{color:#94a3b8}.filter-select{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:14px;outline:none;padding:10px 16px;font-size:14px;font-weight:500;transition:all .15s}.filter-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.filter-tags{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.filter-tag{border-radius:999px;align-items:center;gap:4px;padding:4px 12px;font-size:11px;font-weight:700;display:inline-flex}.filter-tag-blue{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe}.filter-tag-slate{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0}.data-table-card{background:#fff;border:1px solid #f1f5f9;border-radius:24px;margin-bottom:24px;overflow:hidden;box-shadow:0 4px 6px -1px #0000000a,0 2px 4px -2px #0000000a}.data-table-card table{border-collapse:collapse;text-align:left;width:100%}.data-table-card thead tr{background:#f8fafccc}.data-table-card thead th{color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid #f1f5f9;padding:16px 32px;font-size:10px;font-weight:700}.data-table-card tbody tr{border-bottom:1px solid #f8fafc;transition:background .15s}.data-table-card tbody tr:hover{background:#eff6ff4d}.data-table-card tbody tr:last-child{border-bottom:none}.data-table-card tbody td{color:#1e293b;vertical-align:middle;padding:18px 32px;font-size:14px}.patient-avatar{color:#2563eb;object-fit:cover;background:#dbeafe;border:2px solid #fff;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:16px;font-weight:700;display:flex;overflow:hidden;box-shadow:0 1px 4px #0000001a}.patient-avatar img{object-fit:cover;width:100%;height:100%}.patient-name{color:#1e293b;font-size:14px;font-weight:700}.patient-meta{color:#94a3b8;margin-top:2px;font-size:11px}.patient-type-tag{color:#2563eb;background:#eff6ff;border-radius:4px;margin-left:8px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-block}.bmi-dot{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.bmi-dot-orange{background:#f97316}.bmi-dot-red{background:#ef4444}.bmi-dot-green{background:#22c55e}.bmi-dot-blue{background:#3b82f6}.bmi-dot-gray{background:#cbd5e1}.weight-bold{color:#1e293b;font-weight:700}.weight-sub{color:#94a3b8;font-size:11px;font-weight:400}.bmi-warning{font-size:11px;font-weight:700}.bmi-orange{color:#ea580c}.bmi-red{color:#dc2626}.bmi-green{color:#16a34a}.bmi-blue{color:#2563eb}.progress-bar-wrap{flex-direction:column;gap:6px;min-width:160px;display:flex}.progress-meta{justify-content:space-between;font-size:10px;display:flex}.progress-track{background:#f1f5f9;border-radius:999px;height:6px;overflow:hidden}.progress-fill{background:#22c55e;border-radius:999px;height:100%;transition:width .6s}.checkin-pills{align-items:center;gap:12px;display:flex}.checkin-dots{display:flex}.checkin-dot{color:#fff;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;margin-left:-4px;font-size:8px;font-weight:700;display:flex}.checkin-dot:first-child{margin-left:0}.checkin-dot-food{background:#4ade80}.checkin-dot-sport{background:#60a5fa}.checkin-dot-weight{background:#c084fc}.checkin-rate{color:#16a34a;background:#dcfce7;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.status-tags{flex-wrap:wrap;gap:4px;display:flex}.status-tag{border-radius:6px;padding:3px 8px;font-size:10px;font-weight:700}.status-tag-slate{color:#475569;background:#f1f5f9}.status-tag-green{color:#16a34a;background:#dcfce7}.status-tag-blue{color:#2563eb;background:#dbeafe}.status-tag-orange{color:#ea580c;background:#fff7ed}.status-tag-red{color:#dc2626;background:#fee2e2}.status-tag-purple{color:#7c3aed;background:#ede9fe}.action-icon-btn{cursor:pointer;color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;margin-right:6px;transition:all .15s;display:inline-flex}.action-icon-btn:hover{color:#fff;background:#2563eb;border-color:#2563eb}.action-icon-btn.green:hover{background:#16a34a;border-color:#16a34a}.page-btn{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-content:center;align-items:center;min-width:36px;height:36px;padding:0 10px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.page-btn:hover:not(:disabled){color:#2563eb;background:#eff6ff;border-color:#bfdbfe}.page-btn.active{color:#fff;background:#2563eb;border-color:#2563eb}.page-btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{color:#fff;cursor:pointer;white-space:nowrap;background:#2563eb;border:none;border-radius:12px;align-items:center;gap:8px;height:38px;padding:0 20px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex;box-shadow:0 4px 12px #2563eb40}.btn-primary:hover{background:#1d4ed8;box-shadow:0 6px 16px #2563eb59}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{color:#475569;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:8px;height:38px;padding:0 16px;font-size:14px;font-weight:500;transition:all .15s;display:inline-flex}.btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-danger{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:12px;align-items:center;gap:8px;height:38px;padding:0 16px;font-size:14px;font-weight:500;transition:all .15s;display:inline-flex}.btn-danger:hover{background:#dc2626}.btn-text{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600;transition:opacity .15s}.btn-text:hover{opacity:.75}.btn-text-danger{color:#dc2626}.chart-placeholder{color:#2563eb;background:linear-gradient(135deg,#eff6ff,#f8fafc);border-radius:16px;justify-content:center;align-items:center;min-height:240px;font-size:14px;font-weight:700;display:flex}.msg-list{flex-direction:column;gap:12px;display:flex}.msg-item{color:#475569;background:#f8fafc;border:1px solid #f1f5f9;border-radius:14px;padding:14px 16px;font-size:13px}.dialog-mask{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog-card{background:#fff;border-radius:24px;width:680px;max-width:95vw;max-height:90vh;padding:32px;overflow-y:auto;box-shadow:0 24px 48px #0f172a26}.dialog-title{color:#1e293b;margin-bottom:24px;font-size:20px;font-weight:700}.dialog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.dialog-grid label{color:#374151;flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.dialog-grid input,.dialog-grid select,.dialog-grid textarea{color:#1e293b;resize:vertical;border:1px solid #e2e8f0;border-radius:10px;outline:none;padding:10px 12px;font-size:14px;transition:border-color .15s}.dialog-grid input:focus,.dialog-grid select:focus,.dialog-grid textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.badge{border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.badge-blue{color:#1d4ed8;background:#dbeafe}.badge-green{color:#16a34a;background:#dcfce7}.badge-orange{color:#ea580c;background:#fff7ed}.badge-red{color:#dc2626;background:#fee2e2}.badge-gray{color:#64748b;background:#f1f5f9}.badge-purple{color:#7c3aed;background:#ede9fe}.grid-2{grid-template-columns:1fr 1fr;gap:24px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.col-span-2{grid-column:span 2}.page-card{background:#fff;border:1px solid #f1f5f9;border-radius:20px;padding:24px;box-shadow:0 4px 6px -1px #0000000a,0 2px 4px -2px #0000000a}.page-card h3,.page-card h4,.page-card p{margin-top:0}.panel-title{color:#1e293b;margin-bottom:16px;font-size:16px;font-weight:700}.page-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.split-layout{grid-template-columns:1fr 1fr;gap:20px;display:grid}.chat-box{flex-direction:column;gap:10px;display:flex}.message-item{background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;padding:12px 14px;font-size:13px}.table-wrap{background:#fff;border:1px solid #f1f5f9;border-radius:16px;overflow:hidden}.table-wrap table{border-collapse:collapse;width:100%}.table-wrap th,.table-wrap td{text-align:left;border-bottom:1px solid #f8fafc;padding:14px 16px}.table-wrap th{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;background:#f8fafc;font-size:11px;font-weight:700}.tag{color:#2563eb;background:#eff6ff;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.action-button{color:#fff;cursor:pointer;white-space:nowrap;background:#2563eb;border:none;border-radius:10px;align-items:center;gap:6px;height:36px;padding:0 16px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.action-button:hover{background:#1d4ed8}.action-button:disabled{opacity:.6;cursor:not-allowed}.secondary-button{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:6px;height:36px;padding:0 14px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.secondary-button:hover{background:#f8fafc}.secondary-button:disabled{opacity:.5;cursor:not-allowed}.pagination-bar{color:#64748b;background:#fff;border:1px solid #f1f5f9;border-radius:14px;justify-content:space-between;align-items:center;padding:14px 20px;font-size:13px;display:flex;box-shadow:0 4px 6px -1px #0000000a}.pagination-actions{align-items:center;gap:8px;display:flex}.trend-list{flex-direction:column;gap:14px;display:flex}.trend-item{flex-direction:column;gap:8px;display:flex}.trend-meta{color:#475569;justify-content:space-between;gap:12px;font-size:13px;display:flex}.bar-track{background:#e2e8f0;border-radius:999px;height:8px;overflow:hidden}.bar-fill{background:linear-gradient(90deg,#2563eb,#60a5fa);border-radius:999px;height:100%}.bmi-track{background:#dcfce7}.bmi-fill{background:linear-gradient(90deg,#16a34a,#4ade80)}.status-badge{border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.status-pending{color:#ea580c;background:#fff7ed}.status-approved{color:#16a34a;background:#dcfce7}.status-rejected{color:#dc2626;background:#fee2e2}.status-done{color:#16a34a;background:#dcfce7}.status-draft{color:#64748b;background:#f1f5f9}.status-overdue{color:#dc2626;background:#fee2e2}.status-inprogress{color:#2563eb;background:#dbeafe}.version-switch-list{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.version-chip{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.version-chip:hover{color:#2563eb;border-color:#2563eb}.version-chip-active{color:#2563eb;background:#eff6ff;border-color:#2563eb}.trend-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.trend-card{background:#f8fafc;border-radius:14px;padding:16px}.trend-title{color:#64748b;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;font-size:12px;font-weight:700}.trend-track{background:#e2e8f0;border-radius:999px;flex:1;height:6px;overflow:hidden}.trend-fill{border-radius:999px;height:100%;transition:width .4s}.trend-fill-weight{background:linear-gradient(90deg,#2563eb,#60a5fa)}.trend-fill-bmi{background:linear-gradient(90deg,#7c3aed,#a78bfa)}.trend-fill-water{background:linear-gradient(90deg,#0891b2,#22d3ee)}.trend-fill-sleep{background:linear-gradient(90deg,#4f46e5,#818cf8)}.empty-text{color:#94a3b8;text-align:center;padding:16px 0;font-size:12px}.doctor-reply{border-left:3px solid #2563eb}.reply-textarea{resize:vertical;border:1px solid #e2e8f0;border-radius:12px;outline:none;width:100%;padding:12px;font-size:14px;transition:border-color .15s}.reply-textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.plan-summary-grid{color:#475569;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 0;font-size:13px;display:grid}.text-action-button{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:500}.danger-text{color:#dc2626}.filter-actions{gap:10px;margin-top:16px;display:flex}.session-list{border-right:1px solid #f1f5f9;padding-right:0;overflow-y:auto}.session-item{cursor:pointer;border-bottom:1px solid #f8fafc;padding:14px 20px;transition:background .15s}.session-item:hover{background:#f8fafc}.session-item.active{background:#eff6ff80;border-left:3px solid #2563eb}.session-badge{color:#fff;background:#ef4444;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:700}.chat-message{max-width:80%;margin-bottom:16px;font-size:13px}.chat-message.doctor{margin-left:auto}.chat-message-name{color:#94a3b8;margin-bottom:4px;font-size:11px;font-weight:600}.chat-message-time{color:#94a3b8;margin-top:4px;font-size:11px}.message-list{flex:1;padding:20px;overflow-y:auto}.message-panel-header{background:#fff;border-bottom:1px solid #f1f5f9;padding:16px 20px}.message-panel{flex-direction:column;display:flex}.message-editor{background:#fff;border-top:1px solid #f1f5f9;padding:16px 20px}.message-editor textarea{resize:vertical;border:1px solid #e2e8f0;border-radius:10px;outline:none;width:100%;padding:10px 12px;font-size:13px}.filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.filter-grid label{color:#374151;flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.filter-grid input,.filter-grid select{border:1px solid #e2e8f0;border-radius:10px;outline:none;padding:8px 12px;font-size:14px;transition:border-color .15s}.filter-grid input:focus,.filter-grid select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb14}.card-body-flush{padding:0}.btn-text{color:#2563eb;cursor:pointer;background:0 0;border:none;font-size:13px;font-weight:700}.chat-layout{grid-template-columns:280px 1fr;gap:16px;min-height:400px;display:grid}
